CN107147613B - 一种制造物联实时数据传输方法 - Google Patents

一种制造物联实时数据传输方法 Download PDF

Info

Publication number
CN107147613B
CN107147613B CN201710148985.6A CN201710148985A CN107147613B CN 107147613 B CN107147613 B CN 107147613B CN 201710148985 A CN201710148985 A CN 201710148985A CN 107147613 B CN107147613 B CN 107147613B
Authority
CN
China
Prior art keywords
data
packet
jumping
bytes
sending
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710148985.6A
Other languages
English (en)
Other versions
CN107147613A (zh
Inventor
张贵军
陈凯
赵策
段红超
钱诗宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University of Technology ZJUT
Original Assignee
Zhejiang University of Technology ZJUT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University of Technology ZJUT filed Critical Zhejiang University of Technology ZJUT
Priority to CN201710148985.6A priority Critical patent/CN107147613B/zh
Publication of CN107147613A publication Critical patent/CN107147613A/zh
Application granted granted Critical
Publication of CN107147613B publication Critical patent/CN107147613B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/26Special purpose or proprietary protocols or architectures

Abstract

一种制造物联实时数据传输方法,包括以下步骤:首先,将制造物联实时数据传输方法参数初始化;然后,根据数据包格式封装数据;其次,开启数据发送过程;再次,开启数据接收过程;最后,数据发送和数据接受交换数据。应用本发明的制造物联实时数据传输方法,不仅提高了数据传输的效率,而且保证了数据传输的准确性。

Description

一种制造物联实时数据传输方法
技术领域
本发明涉及控制科学、计算机科学、系统科学、电气工程、数据采集、工业物联网等应用领域,尤其涉及的是一种制造物联实时数据传输方法。
背景技术
传统制造业通常将业务管理信息化与生产设备的自动化视为两个独立的领域,不同的企业部门创建满足自身的一系列单一功能的信息系统,各部门的信息系统之间很难实现信息的同步与交换,从而造成信息孤岛和信息断层等信息阻断问题。受市场全球化的影响,各企业为了在日益激烈的市场竞争中占据优势,基于不同的业务需求采用适合自己的生产管理模式和先进信息技术,出现了工艺管理、仓储管理、设备管理维护、过程管理、生产管理等彼此独立的系统。这些系统之间相互独立、缺乏数据共享,从而导致功能重叠、数据矛盾等一系列信息孤岛问题,严重制约了制造业各系统之间的水平方向的协调发展。面对客户交货日期的苛刻要求、订单的不断调整、更多产品的改型,上层计划管理系统(ERP等)计划的制定和执行受市场和实际作业的影响越来越严重,适应性问题越来越突出。企业业务管理系统无法准确及时掌握生产现场的实际情况,上层计划制定的准确性和可行性难以得到保证。同时,现场人员和设备不能及时得到切实可行的生产计划和生产指示,一方面造成产品积压,库存量过多,资金占用过多,另一发面造成设备空闲,资源浪费,车间调度系统失去相应的调度作用。信息断层造成制造业各系统垂直方向的阻断,严重影响制造业上层计划管理系统和现场执行系统之间的集成。信息孤岛和信息断层严重阻碍了制造业的信息化发展,降低了制造业的整体水平,阻碍了制造业信息化的发展。
传统的实时数据传输的方法都是通过人工先从生产设备上读取数据,然后记录数据,再后将数值输入到电脑做数据统计分析。每个步骤都会花费时间,并且很有可能会产生误差,同时实时性很差,对工业生产现场的实时监控没有任何意义。如何将现场的执行系统和上层的管理分析系统有效的结合起来是目前制造业一个难题。如何将现场执行系统的数据传输到上层管理分析系统是其中的关键。
因此,目前的产品工序追踪技术存在着很多缺陷,需要我们改进。
发明内容
为了克服已有方法不能实时的将现场生产数据和上层管理分析系统关联起来的不足,本发明提供一种在保证数据传输真实可靠、数据实时性高的同时,能将生产现场和上层管理分析系统紧密结合起来的制造物联实时数据传输方法。
本发明解决其技术问题所采用的技术方案是:
一种制造物联实时数据传输方法,所述实时数据传输方法包括以下步骤:
1)参数初始化:
1.1)设置紧急数据包编号Anum=0,紧急数据包总数Acount=0;
1.2)设置超时计数count=0,最大允许超时次数SUM;
1.3)设置数据块编号dataBlock=0,数据优先级priority=0;
2)封装传输数据包:
2.1)封装数据请求包;
2.2)封装普通数据包;
2.3)封装数据块结束包;
2.4)封装数据结束包;
2.5)定义响应包;
3)数据发送过程;
4)数据接收过程。
进一步,所述步骤2.1)中,数据请求包的包格式如下:
2 3 2 4 1 1
ENQ Type Group Size NameLength Name 校验
其中,ENQ表示请求包的包标识,占用2个字节,值为0x05;Type表示请求包请求的数据包类型,占用2个字节,取值为0x00到0xFF区间的十六进制数,表示不同组别的数据;Group表示请求包的数据组成,占用2个字节,值为0x01到0x0F区间的十六进制数,表示同一种组别的不同类型的数据;Size表示传送文件的长度,占用4字节。NameLength表示数据名的长度,占用1字节;Name表示传送数据的名称,占用长度有文件名长度字节内容决定;校验占用1个字节,是从ENQ开始到校验前所有字节的异或运算和。
再进一步,所述步骤2.2)中,数据普通数据包的包格式如下:
2 2 1
STX DataType Priority Data 校验
其中,STX是普通数据包的包标识,占用2个字节,值为0x02;Type表示请求包的类型,占用2个字节,取值分别为0x01、0x02、0x04、0x08,其中0x01表示周期采样数据普通数据包,0x02表示事件触发信号普通数据包,0x04表示管理信息数据普通数据包,0x08表示其他类型普通数据包;Priority用于标识当前数据包在整个传输过程中的优先级,占用1字节;Data为传输的具体内容,占用1024个字节;校验占用1个字节,是从STX开始到校验前所有字节的异或运算和。
更进一步,所述步骤2.3)中,数据块结束包的包格式如下:
2 2 1
ETB Type Length Data 校验
其中,ETB是数据块结束包的包标识,占用1个字节,值为3;Type表示请求包的类型,占用2个字节,取值分别为0x01、0x02、0x04、0x08,其中0x01表示周期采样数据普通数据包,0x02表示事件触发信号普通数据包,0x04表示管理信息数据普通数据包,0x08表示其他类型普通数据包;Length表示数据包传送数据的长度,占用2个字节;Data表示传送的具体数据内容,长度由数据长度的值决定;校验占用1个字节,是从ETB开始到校验前所有字节的异或运算和。
进一步,所述步骤2.4)中,数据结束包的包格式如下:
2 2 1
ETX Quality Remark 校验
ETX是数据结束包包标识,占用2个字节,值为3;Quality表示整条数据的数据包传输品质,占用2个字节,取值分别为0x00、0x01、0x02,其中0x00表示数据包全部传输失败,0x01表示传输了部分数据包,0x02表示数据包全部传输成功;Remark表示整条数据的备注,长度不固定;校验占用1个字节,是从ETX开始到校验前所有字节的异或运算和。
进一步,所述步骤2.4)中,响应包的包格式如下:
Figure GDA0002384412700000031
Figure GDA0002384412700000041
再进一步,所述步骤3)中,数据发送方法如下:
3.1)阻塞等待有客户端连入,如果有客户端连入,与客户端创建数据交互通道,进入步骤3.2);
3.2)向客户端发送SOH响应,并开启监视事件;
3.3)判断是否有紧急数据向客户端发送,如果没有紧急数据,则进入步骤3.4),否则跳入步骤3.10);
3.4)监视客户端是否接收到新字符,如果有新字符,进入步骤3.5),否则进入步骤3.15);
3.5)解析接收到字符的包标识,如果是ENQ,进入步骤3.6);如果是NAK,跳入步骤3.7);如果是ACK,跳入步骤3.8);如果是EOT,跳入步骤3.9);
3.6)收到请求包,解析请求包,根据请求包封装数据,并向客户端发送ACK响应;
3.7)收到初次请求数据或者客户端要求数据重发,进入步骤3.17);
3.8)客户端成功收到数据,优先级priority=priority+1,跳入步骤3.17);
3.9)客户端发起关闭请求,传输完毕,关闭数据传输通道;
3.10)判断报警序号Anum是否为0,如果Anum等于0,则进入步骤3.11),否则跳入步骤3.12);
3.11)获取数据包包数Acount,判断Acount是否等于1,如果Acount等于1,则跳入步骤3.13),否则跳入步骤3.14);
3.12)判断Anum是否等于Acount,如果相等则进入步骤3.13),否则跳入步骤3.14);
3.13)发送数据块结束包,发送数据结束包,跳入步骤3.3);
3.14)发送紧急数据的普通数据包;
3.15)判断等待是否超时,如果没有超时,则跳入3.3),否则进入步骤3.10);
3.16)超时计数器count=count+1,判断超时计数是否达到允许超时总数SUM,如果count<SUM,向服务器发送NAK响应,请求重新发送指令或者数据,否则传输出错,关闭数据通道;
3.17)判断数据是否发送完毕,如果data不为空,进入步骤3.18),否则表示数据发送完毕,跳入步骤3.22);
3.18)判断数据块数据datadataBlock是否为最后一包数据,如果datadataBlock为最后一包数据,进入步骤3.19),否则跳入步骤3.20);
3.19)客户端发送数据块结束包,数据块序号dataBlock=dataBlock+1,优先级priority=0;
3.20)发送数据块datadataBlock中优先级为priority的数据
Figure GDA0002384412700000051
并进入步骤3.21);
3.21)判断超时计数器count是否大于0,如果count>0,将count置为0;
3.22)向客户端发送数据结束包,将数据块序号dataBlock置为0,优先级priority置为0。
更进一步,所述步骤4)中,数据接收方法如下:
4.1)与服务器创建连接,创建数据交互通道,开启监视事件;
4.2)监视客户端指令或数据接收情况;
4.3)判断是否有指令发送给服务器,如果有指令发送给服务器,向服务器发送指令包,否则进入4.4);
4.4)判断是否接收到新字符,如果接收到新字符进入4.5),否则跳入4.11);
4.5)解析接收到字符的包标识,如果是SOH,进入步骤4.6);如果是ACK,跳入步骤4.7);如果是STX,跳入步骤4.8);如果是ETB,跳入步骤4.9);如果是EOT,跳入步骤4.10);
4.6)向服务器发送数据请求包;
4.7)接收到数据,向服务器发送NAK响应包;
4.8)接收到普通数据包,跳入4.13);
4.9)接收到数据块结束包,跳入4.13);
4.10)接收到数据结束包,向服务器发送数据请求包;
4.11)判断等待是否超时,如果没有超时,则跳入4.1),否则进入步骤4.12);
4.12)超时计数器count=count+1,判断超时计数是否达到允许超时总数SUM,如果count<SUM,向服务器发送NAK响应,请求重新发送指令或者数据,否则传输出错,关闭数据通道;
4.13)校验数据包是否正确,如果数据正确,发送ACK响应包,否则发送NAK响应,向服务请求重新发送数据包。
本发明的技术构思为:首先,将制造物联实时数据传输方法参数初始化;然后,根据数据包格式封装数据;其次,开启数据发送过程;再次,开启数据接收过程;最后,数据发送和数据接受交换数据。应用制造物联实时数据传输方法,不仅提高了数据传输的效率,而且保证了数据传输的准确性。
本发明的有益效果为:在保证数据传输准确性的基础上,提高数据传输效率。
附图说明
图1是模块化柔性制造综合实训系统示意图。
图2是制造物联实时数据传输方法发送过程示意图。
图3是制造物联实时数据传输方法接收过程示意图。
具体实施方式
下面结合附图对本发明作进一步描述。
参照图1~图3,一种制造物联实时数据传输方法,所述实时数据传输方法包括以下步骤:
1)参数初始化:
1.1)设置紧急数据包编号Anum=0,紧急数据包总数Acount=0;
1.2)设置超时计数count=0,最大允许超时次数SUM;
1.3)设置数据块编号dataBlock=0,数据优先级priority=0;
2)封装传输数据包:
2.1)封装数据请求包;
2.2)封装普通数据包;
2.3)封装数据块结束包;
2.4)封装数据结束包;
2.5)定义响应包;
3)数据发送过程;
4)数据接收过程。
进一步,所述步骤2.1)中,数据请求包的包格式如下:
2 3 2 4 1 1
ENQ Type Group Size NameLength Name 校验
其中,ENQ表示请求包的包标识,占用2个字节,值为0x05;Type表示请求包请求的数据包类型,占用2个字节,取值为0x00到0xFF区间的十六进制数,表示不同组别的数据;Group表示请求包的数据组成,占用2个字节,值为0x01到0x0F区间的十六进制数,表示同一种组别的不同类型的数据;Size表示传送文件的长度,占用4字节。NameLength表示数据名的长度,占用1字节;Name表示传送数据的名称,占用长度有文件名长度字节内容决定;校验占用1个字节,是从ENQ开始到校验前所有字节的异或运算和。
进一步,所述步骤2.2)中,数据普通数据包的包格式如下:
2 2 1
STX DataType Priority Data 校验
其中,STX是普通数据包的包标识,占用2个字节,值为0x02;Type表示请求包的类型,占用2个字节,取值分别为0x01、0x02、0x04、0x08,其中0x01表示周期采样数据普通数据包,0x02表示事件触发信号普通数据包,0x04表示管理信息数据普通数据包,0x08表示其他类型普通数据包;Priority用于标识当前数据包在整个传输过程中的优先级,占用1字节;Data为传输的具体内容,占用1024个字节;校验占用1个字节,是从STX开始到校验前所有字节的异或运算和。
进一步,所述步骤2.3)中,数据块结束包的包格式如下:
2 2 1
ETB Type Length Data 校验
其中,ETB是数据块结束包的包标识,占用1个字节,值为3;Type表示请求包的类型,占用2个字节,取值分别为0x01、0x02、0x04、0x08,其中0x01表示周期采样数据普通数据包,0x02表示事件触发信号普通数据包,0x04表示管理信息数据普通数据包,0x08表示其他类型普通数据包;Length表示数据包传送数据的长度,占用2个字节;Data表示传送的具体数据内容,长度由数据长度的值决定;校验占用1个字节,是从ETB开始到校验前所有字节的异或运算和。
进一步,所述步骤2.4)中,数据结束包的包格式如下:
Figure GDA0002384412700000071
Figure GDA0002384412700000081
ETX是数据结束包包标识,占用2个字节,值为3;Quality表示整条数据的数据包传输品质,占用2个字节,取值分别为0x00、0x01、0x02,其中0x00表示数据包全部传输失败,0x01表示传输了部分数据包,0x02表示数据包全部传输成功;Remark表示整条数据的备注,长度不固定;校验占用1个字节,是从ETX开始到校验前所有字节的异或运算和。
进一步,所述步骤2.4)中,响应包的包格式如下:
名称 取值 含义
ACK 0x06 接收方收到的数据正确
NAK 0x15 接收方收到的数据有误,请求重发
CAN 0x18 接收方取消发送方的发送请求
SOH 0x01 发送方向接收方请求数据请求包
EOT 0x04 数据传输完毕,关闭传输通道
再进一步,所述步骤3)中,数据发送方法如下:
3.1)阻塞等待有客户端连入,如果有客户端连入,与客户端创建数据交互通道,进入步骤3.2);
3.2)向客户端发送SOH响应,并开启监视事件;
3.3)判断是否有紧急数据向客户端发送,如果没有紧急数据,则进入步骤3.4),否则跳入步骤3.10);
3.4)监视客户端是否接收到新字符,如果有新字符,进入步骤3.5),否则进入步骤3.15);
3.5)解析接收到字符的包标识,如果是ENQ,进入步骤3.6);如果是NAK,跳入步骤3.7);如果是ACK,跳入步骤3.8);如果是EOT,跳入步骤3.9);
3.6)收到请求包,解析请求包,根据请求包封装数据,并向客户端发送ACK响应;
3.7)收到初次请求数据或者客户端要求数据重发,进入步骤3.17);
3.8)客户端成功收到数据,优先级priority=priority+1,跳入步骤3.17);
3.9)客户端发起关闭请求,传输完毕,关闭数据传输通道;
3.10)判断报警序号Anum是否为0,如果Anum等于0,则进入步骤3.11),否则跳入步骤3.12);
3.11)获取数据包包数Acount,判断Acount是否等于1,如果Acount等于1,则跳入步骤3.13),否则跳入步骤3.14);
3.12)判断Anum是否等于Acount,如果相等则进入步骤3.13),否则跳入步骤3.14);
3.13)发送数据块结束包,发送数据结束包,跳入步骤3.3);
3.14)发送紧急数据的普通数据包;
3.15)判断等待是否超时,如果没有超时,则跳入3.3),否则进入步骤3.10);
3.16)超时计数器count=count+1,判断超时计数是否达到允许超时总数SUM,如果count<SUM,向服务器发送NAK响应,请求重新发送指令或者数据,否则传输出错,关闭数据通道;
3.17)判断数据是否发送完毕,如果data不为空,进入步骤3.18),否则表示数据发送完毕,跳入步骤3.22);
3.18)判断数据块数据datadataBlock是否为最后一包数据,如果datadataBlock为最后一包数据,进入步骤3.19),否则跳入步骤3.20);
3.19)客户端发送数据块结束包,数据块序号dataBlock=dataBlock+1,优先级priority=0;
3.20)发送数据块datadataBlock中优先级为priority的数据
Figure GDA0002384412700000091
并进入步骤3.21);
3.21)判断超时计数器count是否大于0,如果count>0,将count置为0;
3.22)向客户端发送数据结束包,将数据块序号dataBlock置为0,优先级priority置为0;
更进一步,所述步骤4)中,数据接收方法如下:
4.1)与服务器创建连接,创建数据交互通道,开启监视事件;
4.2)监视客户端指令或数据接收情况;
4.3)判断是否有指令发送给服务器,如果有指令发送给服务器,向服务器发送指令包,否则进入4.4);
4.4)判断是否接收到新字符,如果接收到新字符进入4.5),否则跳入4.11);
4.5)解析接收到字符的包标识,如果是SOH,进入步骤4.6);如果是ACK,跳入步骤4.7);如果是STX,跳入步骤4.8);如果是ETB,跳入步骤4.9);如果是EOT,跳入步骤4.10);
4.6)向服务器发送数据请求包;
4.7)接收到数据,向服务器发送NAK响应包;
4.8)接收到普通数据包,跳入4.13);
4.9)接收到数据块结束包,跳入4.13);
4.10)接收到数据结束包,向服务器发送数据请求包;
4.11)判断等待是否超时,如果没有超时,则跳入4.1),否则进入步骤4.12);
4.12)超时计数器count=count+1,判断超时计数是否达到允许超时总数SUM,如果count<SUM,向服务器发送NAK响应,请求重新发送指令或者数据,否则传输出错,关闭数据通道;
4.13)校验数据包是否正确,如果数据正确,发送ACK响应包,否则发送NAK响应,向服务请求重新发送数据包;
本实施例以模块化柔性制造综合实训系统为实施例,一种制造物联实时数据传输方法,其中包含以下步骤:
1)参数初始化:
1.1)设置紧急数据包编号Anum=0,紧急数据包总数Acount=0;
1.2)设置超时计数count=0,最大允许超时次数SUM;
1.3)设置数据块编号dataBlock=0,数据优先级priority=0;
2)封装传输数据包:
2.1)封装数据请求包;
2.2)封装普通数据包;
2.3)封装数据块结束包;
2.4)封装数据结束包;
2.5)定义响应包;
3)数据发送过程;
4)数据接收过程。
进一步,所述步骤2.1)中,数据请求包的包格式如下:
2 3 2 4 1 1
ENQ Type Group Size NameLength Name 校验
其中,ENQ表示请求包的包标识,占用2个字节,值为0x05;Type表示请求包请求的数据包类型,占用2个字节,取值为0x00到0xFF区间的十六进制数,表示不同组别的数据;Group表示请求包的数据组成,占用2个字节,值为0x01到0x0F区间的十六进制数,表示同一种组别的不同类型的数据;Size表示传送文件的长度,占用4字节。NameLength表示数据名的长度,占用1字节;Name表示传送数据的名称,占用长度有文件名长度字节内容决定;校验占用1个字节,是从ENQ开始到校验前所有字节的异或运算和。
进一步,所述步骤2.2)中,数据普通数据包的包格式如下:
2 2 1
STX DataType Priority Data 校验
其中,STX是普通数据包的包标识,占用2个字节,值为0x02;Type表示请求包的类型,占用2个字节,取值分别为0x01、0x02、0x04、0x08,其中0x01表示周期采样数据普通数据包,0x02表示事件触发信号普通数据包,0x04表示管理信息数据普通数据包,0x08表示其他类型普通数据包;Priority用于标识当前数据包在整个传输过程中的优先级,占用1字节;Data为传输的具体内容,占用1024个字节;校验占用1个字节,是从STX开始到校验前所有字节的异或运算和。
进一步,所述步骤2.3)中,数据块结束包的包格式如下:
2 2 1
ETB Type Length Data 校验
其中,ETB是数据块结束包的包标识,占用1个字节,值为3;Type表示请求包的类型,占用2个字节,取值分别为0x01、0x02、0x04、0x08,其中0x01表示周期采样数据普通数据包,0x02表示事件触发信号普通数据包,0x04表示管理信息数据普通数据包,0x08表示其他类型普通数据包;Length表示数据包传送数据的长度,占用2个字节;Data表示传送的具体数据内容,长度由数据长度的值决定;校验占用1个字节,是从ETB开始到校验前所有字节的异或运算和。
进一步,所述步骤2.4)中,数据结束包的包格式如下:
2 2 1
ETX Quality Remark 校验
ETX是数据结束包包标识,占用2个字节,值为3;Quality表示整条数据的数据包传输品质,占用2个字节,取值分别为0x00、0x01、0x02,其中0x00表示数据包全部传输失败,0x01表示传输了部分数据包,0x02表示数据包全部传输成功;Remark表示整条数据的备注,长度不固定;校验占用1个字节,是从ETX开始到校验前所有字节的异或运算和。
进一步,所述步骤2.4)中,响应包的包格式如下:
名称 取值 含义
ACK 0x06 接收方收到的数据正确
NAK 0x15 接收方收到的数据有误,请求重发
CAN 0x18 接收方取消发送方的发送请求
SOH 0x01 发送方向接收方请求数据请求包
EOT 0x04 数据传输完毕,关闭传输通道
再进一步,所述步骤3)中,数据发送方法如下:
3.1)阻塞等待有客户端连入,如果有客户端连入,与客户端创建数据交互通道,进入步骤3.2);
3.2)向客户端发送SOH响应,并开启监视事件;
3.3)判断是否有紧急数据向客户端发送,如果没有紧急数据,则进入步骤3.4),否则跳入步骤3.10);
3.4)监视客户端是否接收到新字符,如果有新字符,进入步骤3.5),否则进入步骤3.15);
3.5)解析接收到字符的包标识,如果是ENQ,进入步骤3.6);如果是NAK,跳入步骤3.7);如果是ACK,跳入步骤3.8);如果是EOT,跳入步骤3.9);
3.6)收到请求包,解析请求包,根据请求包封装数据,并向客户端发送ACK响应;
3.7)收到初次请求数据或者客户端要求数据重发,进入步骤3.17);
3.8)客户端成功收到数据,优先级priority=priority+1,跳入步骤3.17);
3.9)客户端发起关闭请求,传输完毕,关闭数据传输通道;
3.10)判断报警序号Anum是否为0,如果Anum等于0,则进入步骤3.11),否则跳入步骤3.12);
3.11)获取数据包包数Acount,判断Acount是否等于1,如果Acount等于1,则跳入步骤3.13),否则跳入步骤3.14);
3.12)判断Anum是否等于Acount,如果相等则进入步骤3.13),否则跳入步骤3.14);
3.13)发送数据块结束包,发送数据结束包,跳入步骤3.3);
3.14)发送紧急数据的普通数据包;
3.15)判断等待是否超时,如果没有超时,则跳入3.3),否则进入步骤3.10);
3.16)超时计数器count=count+1,判断超时计数是否达到允许超时总数SUM,如果count<SUM,向服务器发送NAK响应,请求重新发送指令或者数据,否则传输出错,关闭数据通道;
3.17)判断数据是否发送完毕,如果data不为空,进入步骤3.18),否则表示数据发送完毕,跳入步骤3.22);
3.18)判断数据块数据datadataBlock是否为最后一包数据,如果datadataBlock为最后一包数据,进入步骤3.19),否则跳入步骤3.20);
3.19)客户端发送数据块结束包,数据块序号dataBlock=dataBlock+1,优先级priority=0;
3.20)发送数据块datadataBlock中优先级为priority的数据
Figure GDA0002384412700000131
并进入步骤3.21);
3.21)判断超时计数器count是否大于0,如果count>0,将count置为0;
3.22)向客户端发送数据结束包,将数据块序号dataBlock置为0,优先级priority置为0。
更进一步,所述步骤4)中,数据接收方法如下:
4.1)与服务器创建连接,创建数据交互通道,开启监视事件;
4.2)监视客户端指令或数据接收情况;
4.3)判断是否有指令发送给服务器,如果有指令发送给服务器,向服务器发送指令包,否则进入4.4);
4.4)判断是否接收到新字符,如果接收到新字符进入4.5),否则跳入4.11);
4.5)解析接收到字符的包标识,如果是SOH,进入步骤4.6);如果是ACK,跳入步骤4.7);如果是STX,跳入步骤4.8);如果是ETB,跳入步骤4.9);如果是EOT,跳入步骤4.10);
4.6)向服务器发送数据请求包;
4.7)接收到数据,向服务器发送NAK响应包;
4.8)接收到普通数据包,跳入4.13);
4.9)接收到数据块结束包,跳入4.13);
4.10)接收到数据结束包,向服务器发送数据请求包;
4.11)判断等待是否超时,如果没有超时,则跳入4.1),否则进入步骤4.12);
4.12)超时计数器count=count+1,判断超时计数是否达到允许超时总数SUM,如果count<SUM,向服务器发送NAK响应,请求重新发送指令或者数据,否则传输出错,关闭数据通道;
4.13)校验数据包是否正确,如果数据正确,发送ACK响应包,否则发送NAK响应,向服务请求重新发送数据包。
以上阐述的是本发明给出的一个实施例表现出来的优良效果,显然本发明不仅适合上述实施例,在不偏离本发明基本精神及不超出本发明实质内容所涉及内容的前提下可对其做种种变化加以实施。

Claims (7)

1.一种制造物联实时数据传输方法,其特征在于:所述制造物联实时数据传输方法包括以下步骤:
1)参数初始化:
1.1)设置紧急数据包编号Anum=0,紧急数据包总数Acount=0;
1.2)设置超时计数count=0,最大允许超时次数SUM;
1.3)设置数据块编号dataBlock=0,数据优先级priority=0;
2)封装传输数据包:
2.1)封装数据请求包;
2.2)封装普通数据包;
2.3)封装数据块结束包;
2.4)封装数据结束包;
2.5)定义响应包;
3)数据发送过程;
数据发送方法如下:
3.1)阻塞等待有客户端连入,如果有客户端连入,与客户端创建数据交互通道,进入步骤3.2);
3.2)向客户端发送SOH响应,并开启监视事件;
3.3)判断是否有紧急数据向客户端发送,如果没有紧急数据,则进入步骤3.4),否则跳入步骤3.10);
3.4)监视客户端是否接收到新字符,如果有新字符,进入步骤3.5),否则进入步骤3.15);
3.5)解析接收到字符的包标识,如果是ENQ,进入步骤3.6);如果是NAK,跳入步骤3.7);如果是ACK,跳入步骤3.8);如果是EOT,跳入步骤3.9);
3.6)收到请求包,解析请求包,根据请求包封装数据,并向客户端发送ACK响应;
3.7)收到初次请求数据或者客户端要求数据重发,进入步骤3.17);
3.8)客户端成功收到数据,优先级priority=priority+1,跳入步骤3.17);
3.9)客户端发起关闭请求,传输完毕,关闭数据传输通道;
3.10)判断报警序号Anum是否为0,如果Anum等于0,则进入步骤3.11),否则跳入步骤3.12);
3.11)获取数据包包数Acount,判断Acount是否等于1,如果Acount等于1,则跳入步骤3.13),否则跳入步骤3.14);
3.12)判断Anum是否等于Acount,如果相等则进入步骤3.13),否则跳入步骤3.14);
3.13)发送数据块结束包,发送数据结束包,跳入步骤3.3);
3.14)发送紧急数据的普通数据包;
3.15)判断等待是否超时,如果没有超时,则跳入3.3),否则进入步骤3.10);
3.16)超时计数器count=count+1,判断超时计数是否达到允许超时总数SUM,如果count<SUM,向服务器发送NAK响应,请求重新发送指令或者数据,否则传输出错,关闭数据通道;
3.17)判断数据是否发送完毕,如果data不为空,进入步骤3.18),否则表示数据发送完毕,跳入步骤3.22);
3.18)判断数据块数据datadataBlock是否为最后一包数据,如果datadataBlock为最后一包数据,进入步骤3.19),否则跳入步骤3.20);
3.19)客户端发送数据块结束包,数据块序号dataBlock=dataBlock+1,优先级priority=0;
3.20)发送数据块datadataBlock中优先级为priority的数据
Figure FDA0002384412690000021
并进入步骤3.21);
3.21)判断超时计数器count是否大于0,如果count>0,将count置为0;
3.22)向客户端发送数据结束包,将数据块序号dataBlock置为0,优先级priority置为0;
4)数据接收过程。
2.如权利要求1所述一种制造物联实时数据传输方法,其特征在于:所述步骤2.1)中,数据请求包的包格式如下:
2 3 2 4 1 1 ENQ Type Group Size NameLength Name 校验
其中,ENQ表示请求包的包标识,占用2个字节,值为0x05;Type表示请求包请求的数据包类型,占用2个字节,取值为0x00到0xFF区间的十六进制数,表示不同组别的数据;Group表示请求包的数据组成,占用2个字节,值为0x01到0x0F区间的十六进制数,表示同一种组别的不同类型的数据;Size表示传送文件的长度,占用4字节;NameLength表示数据名的长度,占用1字节;Name表示传送数据的名称,占用长度有文件名长度字节内容决定;校验占用1个字节,是从ENQ开始到校验前所有字节的异或运算和。
3.如权利要求1或2所述一种制造物联实时数据传输方法,其特征在于:所述步骤2.2)中,数据普通数据包的包格式如下:
2 2 1 STX DataType Priority Data 校验
其中,STX是普通数据包的包标识,占用2个字节,值为0x02;Type表示请求包的类型,占用2个字节,取值分别为0x01、0x02、0x04、0x08,其中0x01表示周期采样数据普通数据包,0x02表示事件触发信号普通数据包,0x04表示管理信息数据普通数据包,0x08表示其他类型普通数据包;Priority用于标识当前数据包在整个传输过程中的优先级,占用1字节;Data为传输的具体内容,占用1024个字节;校验占用1个字节,是从STX开始到校验前所有字节的异或运算和。
4.如权利要求1或2所述一种制造物联实时数据传输方法,其特征在于:所述步骤2.3)中,数据块结束包的包格式如下:
2 2 1 ETB Type Length Data 校验
其中,ETB是数据块结束包的包标识,占用1个字节,值为3;Type表示请求包的类型,占用2个字节,取值分别为0x01、0x02、0x04、0x08,其中0x01表示周期采样数据普通数据包,0x02表示事件触发信号普通数据包,0x04表示管理信息数据普通数据包,0x08表示其他类型普通数据包;Length表示数据包传送数据的长度,占用2个字节;Data表示传送的具体数据内容,长度由数据长度的值决定;校验占用1个字节,是从ETB开始到校验前所有字节的异或运算和。
5.如权利要求1或2所述一种制造物联实时数据传输方法,其特征在于:所述步骤2.4)中,数据结束包的包格式如下:
2 2 1 ETX Quality Remark 校验
ETX是数据结束包包标识,占用2个字节,值为3;Quality表示整条数据的数据包传输品质,占用2个字节,取值分别为0x00、0x01、0x02,其中0x00表示数据包全部传输失败,0x01表示传输了部分数据包,0x02表示数据包全部传输成功;Remark表示整条数据的备注,长度不固定;校验占用1个字节,是从ETX开始到校验前所有字节的异或运算和。
6.如权利要求1或2所述一种制造物联实时数据传输方法,其特征在于:所述步骤2.4)中,响应包的包格式如下:
名称 取值 含义 ACK 0x06 接收方收到的数据正确 NAK 0x15 接收方收到的数据有误,请求重发 CAN 0x18 接收方取消发送方的发送请求 SOH 0x01 发送方向接收方请求数据请求包 EOT 0x04 数据传输完毕,关闭传输通道
7.如权利要求1或2所述一种制造物联实时数据传输方法,其特征在于:所述步骤4)中,数据接收方法如下:
4.1)与服务器创建连接,创建数据交互通道,开启监视事件;
4.2)监视客户端指令或数据接收情况;
4.3)判断是否有指令发送给服务器,如果有指令发送给服务器,向服务器发送指令包,否则进入4.4);
4.4)判断是否接收到新字符,如果接收到新字符进入4.5),否则跳入4.11);
4.5)解析接收到字符的包标识,如果是SOH,进入步骤4.6);如果是ACK,跳入步骤4.7);如果是STX,跳入步骤4.8);如果是ETB,跳入步骤4.9);如果是EOT,跳入步骤4.10);
4.6)向服务器发送数据请求包;
4.7)接收到数据,向服务器发送NAK响应包;
4.8)接收到普通数据包,跳入4.13);
4.9)接收到数据块结束包,跳入4.13);
4.10)接收到数据结束包,向服务器发送数据请求包;
4.11)判断等待是否超时,如果没有超时,则跳入4.1),否则进入步骤4.12);
4.12)超时计数器count=count+1,判断超时计数是否达到允许超时总数SUM,如果count<SUM,向服务器发送NAK响应,请求重新发送指令或者数据,否则传输出错,关闭数据通道;
4.13)校验数据包是否正确,如果数据正确,发送ACK响应包,否则发送NAK响应,向服务请求重新发送数据包。
CN201710148985.6A 2017-03-14 2017-03-14 一种制造物联实时数据传输方法 Active CN107147613B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710148985.6A CN107147613B (zh) 2017-03-14 2017-03-14 一种制造物联实时数据传输方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710148985.6A CN107147613B (zh) 2017-03-14 2017-03-14 一种制造物联实时数据传输方法

Publications (2)

Publication Number Publication Date
CN107147613A CN107147613A (zh) 2017-09-08
CN107147613B true CN107147613B (zh) 2020-06-02

Family

ID=59783810

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710148985.6A Active CN107147613B (zh) 2017-03-14 2017-03-14 一种制造物联实时数据传输方法

Country Status (1)

Country Link
CN (1) CN107147613B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110545266B (zh) * 2019-08-20 2022-04-05 浙江工业大学 基于gis系统的有连接的优先级可变的数据传输方法
US11201801B2 (en) 2019-10-24 2021-12-14 Dell Products L.P. Machine learning-based determinations of lifespan information for devices in an internet of things environment
US11245545B2 (en) * 2019-10-24 2022-02-08 Dell Products L.P. Implementation of internet of things-enabled connectivity devices for processing operation information of devices lacking network connectivity
CN112104629A (zh) * 2020-09-04 2020-12-18 南昌大学 一种远程监护系统的实时数据传输方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101621779A (zh) * 2009-07-30 2010-01-06 华为技术有限公司 一种紧急呼叫方法、装置及系统
CN101815065A (zh) * 2010-01-21 2010-08-25 清华大学 基于IPv6网SIP协议的远程医疗实时信息交互方法
US8717911B2 (en) * 2006-06-30 2014-05-06 Centurylink Intellectual Property Llc System and method for collecting network performance information
CN106357707A (zh) * 2015-07-13 2017-01-25 腾讯科技(深圳)有限公司 一种信息处理方法、服务器、终端、车载终端及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102833436A (zh) * 2012-08-31 2012-12-19 电子科技大学 实现voip代理的方法以及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8717911B2 (en) * 2006-06-30 2014-05-06 Centurylink Intellectual Property Llc System and method for collecting network performance information
CN101621779A (zh) * 2009-07-30 2010-01-06 华为技术有限公司 一种紧急呼叫方法、装置及系统
CN101815065A (zh) * 2010-01-21 2010-08-25 清华大学 基于IPv6网SIP协议的远程医疗实时信息交互方法
CN106357707A (zh) * 2015-07-13 2017-01-25 腾讯科技(深圳)有限公司 一种信息处理方法、服务器、终端、车载终端及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《面向模具制造过程的制造物联数据采集方法》;刘德仿等;《盐城工学院学报》;20160930;全文 *

Also Published As

Publication number Publication date
CN107147613A (zh) 2017-09-08

Similar Documents

Publication Publication Date Title
CN107147613B (zh) 一种制造物联实时数据传输方法
CN109408337B (zh) 一种接口运维的方法及装置
US20130006949A1 (en) Systems and methods for data integrity checking
CN106502874A (zh) 一种调用链跟踪方法
CN104462562B (zh) 一种基于数据仓库自动化的数据迁移系统及方法
CN110569988B (zh) 一种支付机具故障处理系统及处理方法
CN111126530A (zh) 一种基于微信的安灯控制系统
CN106131085A (zh) 远程智控系统的通信方法
CN107273276A (zh) 一种基于虚拟化的全流程跟踪方法及装置
CN111080269A (zh) 一种数字化网络后台信息内容管理系统
CN102480383B (zh) 一种日志消息报文处理方法及装置
CN112965463A (zh) 远程诊断系统及远程诊断方法
CN115660791B (zh) 一种差旅服务的订单处理方法及系统
CN108833436B (zh) 一种实现设备通信互联的通信控制方法
CN209375934U (zh) 一种基于nfc技术的轨道交通精益化作业系统
CN105281929A (zh) 一种服务网口状态检测和容错的装置及其方法
CN113848834B (zh) 一种基于边云协同的车间设备接入系统及方法
JP5961161B2 (ja) 通信方法及び株主総会議決権集計システム
CN109462669A (zh) 规范终端设备命名的系统平台及规范终端设备命名的方法
CN113965447A (zh) 一种在线云诊断方法、装置、系统、设备及存储介质
TW202215350A (zh) 工站產能的資訊監控系統
CN106788917A (zh) 一种基于停车场业务数据的上传方法
CN202290766U (zh) 用于热连轧自动化过程控制系统通讯状态的声音报警装置
CN107633348A (zh) 离线巡检数据处理方法及系统
CN113919798A (zh) 一种保险业务审核专用系统及其审核方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20170908

Assignee: ZHEJIANG XINJING AIR CONDITIONING EQUIPMENT CO.,LTD.

Assignor: JIANG University OF TECHNOLOGY

Contract record no.: X2023980037342

Denomination of invention: A Real Time Data Transmission Method for Manufacturing IoT

Granted publication date: 20200602

License type: Common License

Record date: 20230703

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20170908

Assignee: Zhejiang Tiankun Furniture Technology Co.,Ltd.

Assignor: JIANG University OF TECHNOLOGY

Contract record no.: X2023980041707

Denomination of invention: A Real Time Data Transmission Method for Manufacturing IoT

Granted publication date: 20200602

License type: Common License

Record date: 20230914

Application publication date: 20170908

Assignee: Huzhou Bodian Network Technology Co.,Ltd.

Assignor: JIANG University OF TECHNOLOGY

Contract record no.: X2023980041703

Denomination of invention: A Real Time Data Transmission Method for Manufacturing IoT

Granted publication date: 20200602

License type: Common License

Record date: 20230914