工业控制系统通讯总线的多数据传输方法与流程

文档序号:16510544发布日期:2019-01-05 09:18阅读:326来源:国知局
工业控制系统通讯总线的多数据传输方法与流程

本发明涉及一种工业控制系统通讯总线的多数据传输方法。



背景技术:

目前在工业控制中的通讯中常常因为线路噪声干扰、系统延迟等等,导致通讯数据丢失、错误、错位等等故障,对于异步通讯中多组数据的传输尤为严重。现有的校验技术均为基于单组数据传输时的奇偶校验、crc校验等。但对于多组数据的传输还没有较为简单实用的传输和校验方式。



技术实现要素:

本发明的目的是提供一种工业控制系统通讯总线的多数据传输方法,能够在工业控制通讯中实现多组数据更为精准的传输,避免出现多组数据传输中的数据丢失、错位、错误等故障。

一种工业控制系统通讯总线的多数据传输方法,其特别之处在于,包括如下步骤:

(1)由a主机向b主机发送数据,通讯总线每帧传输8位数据,设每组数据共计n帧,n为大于1的自然数,以每组数据m秒的传输频率传输数据,m>0,首先给n帧数据编号为1~n,数据位于数组之中;

(2)在a主机中,在程序中定义一个变量i,i为正整数,使用循环的方式逐个发送每帧数据,起始发送有效数据之前i=0,并在i=0的循环中发送一组校验数据,从i=1开始发送来自数组中第一列数据,定义为第一帧,发送一帧数据结束后使i=i+1,直至发送完第n帧数据后令i=0,延时m秒再次循环发送;

(3)在b主机中,同样程序定义一个变量j,j与前述的变量i相等,每次接收到数据时先进行判断,判断是否为校验数据,如是,令j=1,则下一组接收到的数据存入数组的第j列之中,存储数据之后令j=j+1,以此类推,直到所有数据接收完毕,当再次接收到校验数据后,重复上述流程继续进行下一组数据的接收。

其中校验数据为“0xff”。

经过试用证明,通过运用本发明方法可以在工业控制通讯中实现多组数据更为精准的传输,避免出现多组数据传输中的数据丢失、错位、错误等故障。本发明方法使得工业控制中数据通讯更为可靠和无误,且程序运行更为高效,经过实际产品实验达到了预期的效果,有效避免了出现多组数据传输中的数据丢失、错位、错误等故障。

附图说明

附图1为本发明中a主机的控制流程图;

附图2为本发明中b主机的控制流程图。

具体实施方式

实施例1:

在工业控制中常常通过总线通讯的方式传输多组数据,在此以uart为例,由a主机向b主机发送10组动态数据,通讯总线每帧传输8位数据。设每组数据共计10帧,以每组数据一(m=1)秒的传输频率传输数据。为使数据帧发送和接收一一对应,给10帧数据编号为1~10,数据位于数组之中。在a主机中,在程序中定义一个变量i(i为正整数),使用循环的方式逐个发送每帧数据,起始发送有效数据之前i=0,并在i=0的循环中发送一组校验数据“0xff”(当然也可以采用“0xff”以外的其它校验数据,例如字符型变量“a”,但需注意取值尽量避免与发送的数据内容相冲突),从i=1开始发送来自数组中第一列数据,定义为第一帧。发送一帧数据结束后使i=i+1,直至发送完第十帧数据后令i=0。延时一秒再次循环发送。

在b主机中,同样程序定义一个变量j(j=i),每次接收到数据时先进行判断,判断是否为“0xff”(或者采用“0xff”以外的其它校验数据,只要与a主机一致即可),如是,令j=1,则下一组接收到的数据存入数组的第j列之中,存储数据之后令j=j+1,以此类推,直到十组数据接收完毕。当再次接收到“0xff”后,重复上述流程继续进行下一组数据的接收。

现有的多组数据传输方式多为队列或栈的方式,在通讯过程中一旦产生数据丢失,就会产生数据错位等现象,造成所有数据传输不正常。而本发明方案中每发送完所有帧数据以后都会通过一个校验数据再次进行数据校验,即使有出现数据丢失的情况导致数据错误,也会在继续传输完所有帧的数据后立即修正刷新。所以该方案相比于传统的数据传输方法更为精准可靠。



技术特征:

技术总结
本发明涉及一种工业控制系统通讯总线的多数据传输方法。其特点是,包括如下步骤:(1)由A主机向B主机发送数据,通讯总线每帧传输8位数据,设每组数据共计N帧,N为大于1的自然数,以每组数据M秒的传输频率传输数据,M>0,首先给N帧数据编号为1~N,数据位于数组之中;(2)在A主机中,在程序中定义一个变量i,i为正整数,使用循环的方式逐个发送每帧数据,起始发送有效数据之前i=0,并在i=0的循环中发送一组校验数据,从i=1开始发送来自数组中第一列数据,定义为第一帧,发送一帧数据结束后使i=i+1,发送完第N帧数据后令i=0,再次循环。运用本发明方法可以在工业控制通讯中实现多组数据更为精准的传输。

技术研发人员:黄鑫;马廷宏;杜瑞
受保护的技术使用者:宁夏凯晨电气集团有限公司
技术研发日:2018.08.30
技术公布日:2019.01.04
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1