工业控制系统通讯总线的多数据传输方法技术方案

技术编号:20013163 阅读:25 留言:0更新日期:2019-01-05 21:53
本发明专利技术涉及一种工业控制系统通讯总线的多数据传输方法。其特点是,包括如下步骤:(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,再次循环。运用本发明专利技术方法可以在工业控制通讯中实现多组数据更为精准的传输。

Multi-data transmission method of communication bus in industrial control system

The invention relates to a multi-data transmission method for communication bus of industrial control system. Its characteristics include the following steps: (1) sending data from A host to B host, transmitting 8 bits of data per frame by communication bus, setting a total of N frames for each group of data, N as a natural number greater than 1, transmitting data at the transmission frequency of M seconds for each group of data, M > 0, first giving N frame data number 1-N, data in the array; (2) defining a variable i, I as an integral variable in the program of A host. Number: Send each frame data one by one in a circular way, i=0 before sending valid data, and send a set of check data in a circle of i=0. Send data from the first column of the array from i=1, which is defined as the first frame. After sending a frame data, make i=i+1, after sending the N frame data, make i=0, and cycle again. The method of the invention can realize more accurate transmission of multiple sets of data in industrial control communication.

【技术实现步骤摘要】
工业控制系统通讯总线的多数据传输方法
本专利技术涉及一种工业控制系统通讯总线的多数据传输方法。
技术介绍
目前在工业控制中的通讯中常常因为线路噪声干扰、系统延迟等等,导致通讯数据丢失、错误、错位等等故障,对于异步通讯中多组数据的传输尤为严重。现有的校验技术均为基于单组数据传输时的奇偶校验、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.一种工业控制系统通讯总线的多数据传输方法,其特征在于,包括如下步骤:(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,以此类推,直到所有数据接收完毕,当再次接收到校验数据后,重复上述流程继续进行下一组数据的接收。

【技术特征摘要】
1.一种工业控制系统通讯总线的多数据传输方法,其特征在于,包括如下步骤:(1)由A主机向B主机发送数据,通讯总线每帧传输8位数据,设每组数据共计N帧,N为大于1的自然数,以每组数据M秒的传输频率传输数据,M>0,首先给N帧数据编号为1~N,数据位于数组之中;(2)在A主机中,在程序中定义一个变量i,i为正整数,使用循环的方式逐个发送每帧数据,起始发送有效数据之前i=0,并在i=0的循环中发送一组校验数据,从i=1开始发送来自数组中第一列数据,定义为第一帧,发送一帧...

【专利技术属性】
技术研发人员:黄鑫马廷宏杜瑞
申请(专利权)人:宁夏凯晨电气集团有限公司
类型:发明
国别省市:宁夏,64

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1