CN104660627B - 一种上位机与下位机的通信方法和系统 - Google Patents
一种上位机与下位机的通信方法和系统 Download PDFInfo
- Publication number
- CN104660627B CN104660627B CN201310579208.9A CN201310579208A CN104660627B CN 104660627 B CN104660627 B CN 104660627B CN 201310579208 A CN201310579208 A CN 201310579208A CN 104660627 B CN104660627 B CN 104660627B
- Authority
- CN
- China
- Prior art keywords
- process data
- host computer
- remote
- slave computer
- rate
- 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
Links
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供了一种上位机与下位机的通信方法和装置,所述下位机与所述上位机通过网络通信引擎ICE中间件相连;所述网络通信引擎ICE中间件用于在上位机侧建立第一远程对象,在下位机侧建立与所述第一远程对象对应的第一远程代理,所述下位机与生产线设备相连;所述方法,所述方法包括:所述下位机收集所述生产线设备产生的工艺数据;将所述工艺数据传输到所述上位机,具体包括:计算所述工艺数据的变化速率;本发明降低了数据重传的概率,降低了网络资源的占用;降低了在网络中数据传输的网络拥堵情况和时延,降低了网络连接中断的概率,提高了数据传输的实时性;提高了工艺数据传输的效率;降低了工艺数据传输过程中的工艺数据丢失率。
Description
技术领域
本发明涉及设备工艺控制领域,特别是涉及一种上位机与下位机的通信方法,一种上位机与下位机的通信装置和一种通讯系统。
背景技术
在设备工艺控制领域中,例如刻蚀、太阳能、LED(发光二极管Light EmittingDiode)领域,工艺控制的软件架构包括下位机控制软件和上位机控制软件两部分。下位机控制软件的主要作用是直接控制机台设备的硬件。
上位机软件包括CTC(集群控制器Cluster Controller)软件和APC(控创系统Automatic Position Control)软件,为用户提供友好的界面操作,显示机台设备的硬件参数和状态等信息以及通过与下位机软件通信,实现控制指令的下传和工艺数据的上传,来达到控制机台设备的目的。
通常,为了实现上、下位机之间的通信以及对分布式子系统的控制,需要用到中间件,中间件是连接两个独立应用程序或者独立系统的软件,如图1所示。ICE(网络通信引擎Internet Communications Engine)中间件是一个适于异构环境使用,面向对象,支持广泛领域下实现分布式应用开发的中间件平台。
现有技术中基于ICE技术,上、下位机在其通信层的传输层上采用TCP(传输控制协议Transmission Control Protocol)完成下位机的数据采集和控制命令的下传。
TCP协议是传输层一种面向连接的通信协议,提供可靠的数据传输,其特点是完成流量控制和差错检验的任务,保证可靠的数据传输。但是TCP协议在传输数据之前要求上位机侧和下位机侧进行三次信息交互以保证数据的准确可靠的传输,其过程为:
1.主机A通过向主机B发送一个含有同步序列号的标志位的数据段给主机B,向主机B请求建立连接;
2.主机B收到主机A的请求后,用一个带有确认应答(ACK)和同步序列号(SYN)标志位的数据段响应主机A;
3.主机A收到这个数据段后,再发送一个确认应答,确认已收到主机B的数据段,开始传输实际数据了。
在实际生产中,数据传输一般需要满足实时性和准确性的要求。利用TCP协议这种可靠性传输方式能够满足准确性的要求;然而采用TCP协议在建立连接前必须等待接收方响应,传输信息过程必须确认信息是否到达。当传输的数据变化速率快,需要多次采用TCP协议建立连接,每一次采用TCP协议建立连接需要三次信息交互以保证数据的准确可靠的传输,一方面,如果等待确认信息超时,则需要请求重传,并且断开连接时需要发出响应信号,增加了网络资源开销;另一方面,当传输时发生数据错误需要重传时,增加了网络中的数据量,导致数据传输的实时性下降。
发明内容
本发明实施例所提供一种上位机与下位机的通信方法,以提高上位机与下位机的通信性能。
本发明还提供了一种上位机与下位机的通信装置和一种通讯系统,用以保证上述方法的实现及应用。
为了解决上述问题,本发明实施例公开了一种上位机与下位机的通信方法,所述下位机与所述上位机通过网络通信引擎ICE中间件相连;所述网络通信引擎ICE中间件用于在上位机侧建立第一远程对象,在下位机侧建立与所述第一远程对象对应的第一远程代理,所述下位机与生产线设备相连;
所述方法包括:
所述下位机收集所述生产线设备产生的工艺数据;
将所述工艺数据传输到所述上位机,具体包括:
计算所述工艺数据的变化速率;
当所述变化速率大于或等于预设阈值时,调用所述第一远程代理,采用UDP协议将所述工艺数据通过所述第一远程代理传输到所述第一远程对象;所述上位机用于在监听到所述下位机调用所述第一远程代理时,通过所述第一远程对象采用UDP协议接收所述工艺数据。
优选地,所述网络通信引擎ICE中间件还用于在上位机侧建立第二远程对象,在下位机侧建立与所述第二远程对象对应的第二远程代理;
所述将工艺数据传输到所述上位机的步骤还包括:
当所述变化速率小于预设阈值时,调用所述第二远程代理,采用TCP协议将所述工艺数据通过所述第二远程代理传输到所述第二远程对象;所述上位机用于在监听到所述下位机调用所述第二远程代理时,通过所述第二远程对象采用TCP协议接收所述工艺数据。
优选地,所述将工艺数据传输到所述上位机的步骤还包括:
判断当前工艺数据是否传输成功;若否,则重新将当前工艺数据传输到所述上位机。
优选地,所述判断当前工艺数据是否传输成功的步骤包括:
调用所述上位机与当前工艺数据对应的回调函数;
判断所述回调函数是否执行完成;若是,则判断当前工艺数据传输成功;否则,判断当前工艺数据传输失败。
优选地,所述变化速率为所述工艺数据在预设时间段的变化次数与所述预设时间段的比值。
优选地,所述预设阈值为采集所述工艺数据的最大速率的2/3。
本发明实施例还公开了一种上位机与下位机的通信装置,所述下位机与所述上位机通过网络通信引擎ICE中间件相连;所述网络通信引擎ICE中间件用于在上位机侧建立第一远程对象,在下位机侧建立与所述第一远程对象对应的第一远程代理,所述下位机与生产线设备相连;
所述装置包括:
工艺数据收集单元,用于所述下位机收集所述生产线设备产生的工艺数据;
工艺数据传输单元,用于将所述工艺数据传输到所述上位机;
所述工艺数据传输单元包括:
变化速率计算模块,用于计算所述工艺数据的变化速率;
第一工艺数据传输模块,用于在所述变化速率大于或等于预设阈值时,调用所述第一远程代理,采用UDP协议将所述工艺数据通过所述第一远程代理传输到所述第一远程对象;所述上位机用于在监听到所述下位机调用所述第一远程代理时,通过所述第一远程对象采用UDP协议接收所述工艺数据。
优选地,所述网络通信引擎ICE中间件还用于在上位机侧建立第二远程对象,在下位机侧建立与所述第二远程对象对应的第二远程代理;
所述工艺数据传输单元还包括:
第二工艺数据传输模块,用于在所述变化速率小于预设阈值时,调用所述第二远程代理,采用TCP协议将所述工艺数据通过所述第二远程代理传输到所述第二远程对象;所述上位机用于在监听到所述下位机调用所述第二远程代理时,通过所述第二远程对象采用TCP协议接收所述工艺数据。
优选地,所述工艺数据传输单元还包括:
传输判断模块,用于判断当前工艺数据是否传输成功;若否,则调用重传模块;
重传模块,用于重新将当前工艺数据传输到所述上位机。
优选地,所述上位机具有回调函数,所述传输判断模块包括:
回调函数调用子模块,用于调用所述上位机与当前工艺数据对应的回调函数;
回调函数判断子模块,用于判断所述回调函数是否执行完成;若是,则调用第一判断子模块;否则,调用第二判断子模块;
第一判断子模块,用于判断当前工艺数据传输成功;
第二判断子模块,用于判断当前工艺数据传输失败。
优选地,所述变化速率为所述工艺数据在预设时间段的变化次数与所述预设时间段的比值。
优选地,所述预设阈值为收集所述工艺数据的最大速率的2/3。
本发明实施例还公开了一种通信系统,所述通信系统包括上位机、下位机和网络通信引擎ICE中间件;所述下位机与所述上位机通过网络通信引擎ICE中间件相连;所述下位机与生产线设备相连;
所述网络通信引擎ICE中间件包括:
第一远程对象建立单元,用于在上位机侧建立第一远程对象;
第一远程代理建立单元,用于在下位机侧建立第一远程代理;
所述下位机包括:
工艺数据收集单元,用于所述下位机收集所述生产线设备产生的工艺数据;
工艺数据传输单元,用于将所述工艺数据传输到所述上位机;
所述工艺数据传输单元包括:
变化速率计算模块,用于计算所述工艺数据的变化速率;
第一工艺数据传输模块,用于在所述变化速率大于或等于预设阈值时,调用所述第一远程代理,采用UDP协议将所述工艺数据通过所述第一远程代理传输到所述第一远程对象;
所述上位机包括:
第一工艺数据接收单元,用于在监听到所述下位机调用第一远程代理时,调用所述第一远程代理对应的第一远程对象,采用TCP协议接收所述工艺数据。
优选地,所述网络通信引擎ICE中间件还包括:
第二远程对象建立单元,用于在上位机侧建立第二远程对象;
第二远程代理建立单元,用于在下位机侧建立第二远程代理;
所述工艺数据传输单元还包括:
第二工艺数据传输模块,用于在所述变化速率小于预设阈值时,调用所述第二远程代理,采用TCP协议将所述工艺数据通过所述第二远程代理传输到所述第二远程对象;
所述上位机还包括:
第二工艺数据接收单元,用于在监听到所述下位机调用第二远程代理时,调用所述第二远程代理对应的第二远程对象,按照TCP协议接收所述工艺数据。
优选地,所述工艺数据传输单元还包括:
传输判断模块,用于判断当前工艺数据是否传输成功;若否,调用重传模块;
重传模块,用于重新将当前工艺数据传输到所述上位机。
优选地,所述上位机具有回调函数,所述传输判断模块包括:
回调函数调用子模块,用于调用所述上位机与当前工艺数据对应的回调函数;
回调函数判断子模块,用于判断所述回调函数是否执行完成;若是,调用第一判断子模块;否则,调用第二判断子模块;
第一判断子模块,用于判断当前工艺数据传输成功;
第二判断子模块,用于判断当前工艺数据传输失败。
优选地,所述变化速率为所述工艺数据在预设时间段的变化次数与所述预设时间段的比值。
优选地,所述预设阈值为收集所述工艺数据的最大速率的2/3。
与背景技术相比,本发明包括以下优点:
本发明基于ICE技术通过计算工艺数据变化速率来控制上位机与下位机间通信采用的通信协议,当工艺数据变化速率超过预设阈值时采用UDP协议将所述工艺数据发送到上位机,利用UDP协议无需等待确认信息的特点,降低数据需要重传的概率,网络断开时也无需发送响应信号,降低了网络资源的占用;并且利用UDP协议传输的数据包中数据少的特点,降低了在网络中数据传输量大的时候的网络拥堵情况和网络中数据传输的时延,降低网络连接中断的概率,提高了数据传输的实时性。
本发明通过采用TCP协议与UDP协议相结合的方法,当网络中数据量少的时候采用准确性高的TCP协议,当网络中数据量大的时候采用实时性高的UDP协议,可以充分利用网络带宽资源,提高工艺数据传输的效率。
本发明通过调用回调函数来确定工艺数据传输是否成功,当工艺传输不成功时,重新进行传输,以保证工艺数据传输的准确性,降低工艺数据传输过程中因传输不成功产生的工艺数据丢失率。
附图说明
图1是基于ICE中间件的上位机、下位机和生产线设备之间的通信流程示意图;
图2是本发明实施例的一种上位机与下位机的通信方法实施例的步骤流程图;
图3是本发明实施例的一种上位机与下位机的通信装置实施例的结构框图。
具体实施方式
为使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明实施例作进一步详细的说明。
在生产线设备的工艺控制过程中,当硬件设备的工艺数据变化频繁时,下位机与上位机之间传输该工艺数据的通信也会相应频繁,在这个过程中工艺数据传输的高效率和实时性变得非常关键。由于工艺数据变化较快,这时上位机界面上显示的数据变化也会相应较快,即使个别数据出错,会很快被后来的数据刷新掉,不会影响显示效果。为了解决工艺数据传输的高效性和实时性的问题,本发明实施例可以采用ICE技术支持的UDP(用户数据报协议User Datagram Protocol)协议。
UDP协议通信过程为:首先,UDP协议是一个无连接协议,传输数据之前源端A和终端B不建立连接,当源端A需要传送数据时,获取来自应用程序的数据,并尽可能快地把数据传送到网络上。在源端A,UDP协议传送数据的速度仅仅受该程序生成数据的速度、计算机的能力和传输带宽的限制;其次,在终端B,按照UDP协议把数据段放在队列中,应用程序每次从队列中读一个数据段。
UDP协议通信特点包括:1、UDP协议数据包比TCP协议数据包小许多,只包括长度和校验信息,而TCP协议还包括序号、确认信号、数据偏移、控制标准、窗口、紧急指针、选项等信息,相对而言,UDP协议具有更小的负载和更高效的通信能力;2、UDP协议将数据发送出去后,不用通讯双方确认,可以进一步降低网络上的数据负载,提高网络带宽的利用率。
本发明实施例的核心构思之一在于,根据工艺数据变化速率动态切换上位机和下位机之间的通信传输协议,在网络中数据量少的时候采用准确性高的TCP协议,在网络中数据量大的时候采用实时性高的UDP协议,充分利用了网络资源,提高了上位机与下位机的通信性能。
参照图2,示出了本发明实施例的一种上位机与下位机的通信方法实施例的步骤流程图,所述下位机与所述上位机通过网络通信引擎ICE中间件相连;所述网络通信引擎ICE中间件用于在上位机侧建立第一远程对象,在下位机侧建立与所述第一远程对象对应的第一远程代理,所述下位机与生产线设备相连;
所述上位机与下位机的通信方法,具体包括以下步骤:
步骤201,所述下位机收集所述生产线设备产生的工艺数据;
网络通信引擎ICE中间件在上位机侧建立第一远程对象,包括建立第一远程对象对应的通信标识、UDP协议、端口和通信地址等等,并将第一远程对象添加到通信环境中,建立适用于UDP协议的远程对象的通信环境。网络通信引擎ICE中间件在下位机侧建立第一远程代理,包括获取第一远程对象的通信标识、UDP协议、端口和通信地址的信息等等。
在实际生产中,生产线设备产生的工艺数据可以包括一种或多种工艺数据。需要说明的是,本发明实施例可以为不同的工艺数据建立对应的适用于UDP协议的第一远程对象和第一远程代理。
由于每种工艺数据其数据变化速率不尽相同,本发明实施例可以只监听变化速率比较快的工艺数据,例如刻蚀工艺中的气体流量,功率等工艺数据;对于工艺数据变化速率比较慢的工艺数据,本发明实施例可以不监听,可以通过采用默认的通信协议将此类工艺数据从下位机传输到上位机,优选的是该通信协议为TCP协议,但是本发明实施例也可以采用其他协议,本发明实施例对此不加以限制。
步骤202,将所述工艺数据传输到所述上位机。
在本发明实施例中,在启动上位机和下位机,采集到工艺数据之后,可以采用TCP协议将工艺数据传输到上位机。当然,本发明实施例也可以采用UDP协议将工艺数据传输到上位机,本发明实施例对此不加以限制。
当生产线设备正常运行之后,工艺数据变化较大,为了避免工艺数据传输出现堵塞,需要监控工艺数据的变化速率。
所述步骤202具体包括如下子步骤:
子步骤S11,计算所述工艺数据的变化速率;
生产线设备的I/O数据通道都有一个独立的线程去监控生产数据的变化,采集当前工艺数据的数值,如果与前一次上传的工艺数据的数值不同,则认为是工艺数据发生了变化。
作为本发明的一种优选实施例,所述变化速率为所述工艺数据在预设时间段的变化次数与所述预设时间段的比值。
在实际应用中,是在通信传输的应用层上来衡量工艺数据的变化速率,通过监听I/O数据通道的工艺数据在预设时间段内的变化次数来确定。为使本领域技术人员能更好地理解本发明实施例,通过以下一个具体实例加以说明:
在预设时间段为30s时,下位机监控到I/O数据通道内传输的工艺数据在30s内变化了1000次,则该通道的工艺数据变化速率为:1000/30=33.3。
需要说明的是,预设时间可以由本领域技术人员根据实际情况进行设定,本发明实施例对此不加以限制。
作为本发明的一种优选实施例,所述预设阈值为采集所述工艺数据的最大速率的2/3。
不同设备采集工艺数据的最大速率不尽相同,其对应的预设阈值亦不尽相同;当然,预设阈值也可以由本领域技术人员根据情况进行设定,本发明实施例对此不加以限制。
子步骤S12,当所述变化速率大于或等于预设阈值时,调用所述第一远程代理,采用UDP协议将所述工艺数据通过所述第一远程代理传输到所述第一远程对象;所述上位机用于在监听到所述下位机调用所述第一远程代理时,通过所述第一远程对象采用UDP协议接收所述工艺数据。
当下位机调用第一远程代理时,采用UDP协议将数据传输到第一远程对象对应的通信标识、端口和通信地址,即将数据传输到第一远程对象,上位机则对应接收工艺数据。
在本发明实施例中,通过在所述变化速率大于或等于预设阈值时,采用UDP协议将所述工艺数据通过所述第一远程代理传输到所述第一远程对象,利用UDP协议无需等待确认信息的特点,降低数据需要重传的概率,网络断开时也无需发送响应信号,降低了网络资源的占用;并且利用UDP协议传输的数据包中数据少的特点,降低了在网络中数据传输量大的时候的网络拥堵情况和网络中数据传输的时延,降低网络连接中断的概率,提高了数据传输的实时性。
作为本发明的一种优选实施例,所述网络通信引擎ICE中间件还可以用于在上位机侧建立第二远程对象,在下位机侧建立与所述第二远程对象对应的第二远程代理;
在具体实现中,网络通信引擎ICE中间件在上位机侧建立第二远程对象,包括建立第二远程对象对应的通信标识、TCP协议、端口和通信地址,并将第一远程对象添加到通信环境中,建立适用于UDP协议的远程对象的通信环境。网络通信引擎ICE中间件在下位机侧建立第二远程代理,包括获取第二远程对象的通信标识、TCP协议、端口和通信地址的信息。当下位机调用第二远程代理时,采用TCP协议将数据传输到第二远程对象对应的通信标识、端口和通信地址,即将数据传输到第二远程对象。
为使本领域技术人员能更好地理解本发明实施例,通过以下一个具体代码实例对远程对象和远程代理的建立加以说明:
在本发明的一种优选实施例中,所述步骤202具体还可以包括如下子步骤:
子步骤S13,当所述变化速率小于预设阈值时,调用所述第二远程代理,采用TCP协议将所述工艺数据通过所述第二远程代理传输到所述第二远程对象;所述上位机用于在监听到所述下位机调用所述第二远程代理时,通过所述第二远程对象采用TCP协议接收所述工艺数据。
上位机在通信环境建立好后,监听远程对象,远程对象有两个,一个是TCP协议的(即第二远程对象),另一个是UDP协议的(即第一远程对象)。当下位机端调用第一远程的代理或者第二远程代理,上位机端监听到后,就调用相应的远程对象,实现了不同通讯协议的转换。
基于ICE中间件,远程对象都在远端而不是本地。即下位机调用不同协议的远程对象,这个对象在上位机侧,当下位机调用远程对象时,该远程对象是通过远程代理与上位机建立联系的,实际上该远程对象是在上位机端。
在本发明实施例中,当工艺数据变化速率大于或等于预设阈值时所述下位机采用UDP协议将所述工艺数据发送到上位机,当工艺数据变化速率小于预设阈值时所述下位机采用TCP协议将所述工艺数据发送到上位机,通过采用TCP协议与UDP协议相结合的方法,当网络中数据量少的时候采用准确性高的TCP协议,当网络中数据量大的时候采用实时性高的UDP协议,动态的选择通信协议进行数据传输,可以充分利用网络带宽资源,提高工艺数据传输的效率。
作为本发明的一种优选实施例,步骤202具体还可以包括如下子步骤:
子步骤S14,判断当前工艺数据是否传输成功;若否,则执行子步骤S15;
子步骤S15,重新将当前工艺数据传输到所述上位机。
需要说明的是,生产线设备进行工艺处理时,可以持续一段时间,对应产生一段时间的工艺数据,当前工艺数据为正在进行通信传输的一部分工艺数据。
作为本发明的一种优选实施例,所述上位机具有回调函数,所述子步骤S14进一步可以包括如下子步骤:
子步骤S21,调用所述上位机与当前工艺数据对应的回调函数;
子步骤S22,判断所述回调函数是否执行完成;若是,则判断当前工艺数据传输成功;否则,判断当前工艺数据传输失败。
在本发明实施例的一种优选示例中,如果该当前工艺数据经预设次数传输仍未传输成功,则可以放弃该工艺数据的传输,以便不阻碍后续工艺数据的传输。其中预设次数可以由本领域技术人员根据实际情况进行设定,本发明实施例对此不加以限制。
本发明实施例通过采用调用回调函数的方式确定工艺数据的传输是否成功,并通过重传所述工艺数据,来保证工艺数据传输的准确性,降低工艺数据传输过程中因传输不成功产生的工艺数据丢失率。
参照图3,示出了本发明实施例的一种上位机与下位机的通信装置的结构框图,如图3所示,所述下位机与所述上位机通过网络通信引擎ICE中间件相连;所述网络通信引擎ICE中间件用于在上位机侧建立第一远程对象,在下位机侧建立与所述第一远程对象对应的第一远程代理,所述下位机与生产线设备相连;
所述装置可以包括如下单元:
工艺数据收集单元301,用于所述下位机收集所述生产线设备产生的工艺数据;
工艺数据传输单元302,用于将所述工艺数据传输到所述上位机;
所述工艺数据传输单元可以包括如下模块:
变化速率计算模块,用于计算所述工艺数据的变化速率;
第一工艺数据传输模块,用于当所述变化速率大于或等于预设阈值时,调用所述第一远程代理,采用UDP协议将所述工艺数据通过所述第一远程代理传输到所述第一远程对象;所述上位机用于在监听到所述下位机调用所述第一远程代理时,通过所述第一远程对象采用UDP协议接收所述工艺数据。
作为本发明的一种优选实施例,所述网络通信引擎ICE中间件还用于在上位机侧建立第二远程对象,在下位机侧建立与所述第二远程对象对应的第二远程代理;
所述工艺数据传输单元302还可以包括如下模块:
第二工艺数据传输模块,用于当所述变化速率小于预设阈值时,调用所述第二远程代理,采用TCP协议将所述工艺数据通过所述第二远程代理传输到所述第二远程对象;所述上位机用于在监听到所述下位机调用所述第二远程代理时,通过所述第二远程对象按照采用TCP协议接收所述工艺数据。
作为本发明的一种优选实施例,所述工艺数据传输单元302还包括如下模块:
传输判断模块,用于判断当前工艺数据是否传输成功;若否,则调用重传模块;
重传模块,用于重新将当前工艺数据传输到所述上位机。
作为本发明的一种优选实施例,所述上位机具有回调函数,所述传输判断模块还包括:
回调函数调用子模块,用于调用所述上位机与当前工艺数据对应的回调函数;
回调函数判断子模块,用于判断所述回调函数是否执行完成;若是,调用第一判断子模块;否则,调用第二判断子模块;
第一判断子模块,用于判断当前工艺数据传输成功;
第二判断子模块,用于判断当前工艺数据传输失败。
作为本发明的一种优选实施例,所述变化速率可以为所述工艺数据在预设时间段的变化次数与所述预设时间段的比值。
作为本发明的一种优选实施例,所述预设阈值可以为收集所述工艺数据的最大速率的2/3。
在本发明实施例中,当变化速率计算模块判断工艺数据变化速率大的时候,采用UDP协议进行上位机与下位机的通信传输,第一工艺数据传输模块利用UDP协议无需等待确认信息的特点,采用UDP协议进行上位机与下位机之间的通信传输,降低数据需要重传的概率,网络断开时也无需发送响应信号,降低了网络资源的占用;并且利用UDP协议传输的数据包中数据少的特点,降低了在网络中数据传输量大的时候的网络拥堵情况,降低网络中数据传输的时延,降低网络连接中断的概率,提高了数据传输的实时性。
更进一步地,通过变化速率计算模块实时判断工艺数据变化速率,工艺数据传输单元302采用TCP协议与UDP协议相结合的方法,当网络中数据量少的时候第二工艺数据传输模块采用准确性高的TCP协议,当网络中数据量大的时候第一工艺数据传输模块采用实时性高的UDP协议,动态的选择通信协议进行数据传输,可以充分利用网络带宽资源,提高工艺数据传输的效率。
并且通过传输判断模块调用回调函数来确定工艺数据传输是否成功,当工艺传输不成功时,重新进行传输,以保证工艺数据传输的准确性,降低工艺数据传输过程中因传输不成功产生的工艺数据丢失率。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供一种通信系统,所述通信系统包括上位机与下位机和网络通信引擎ICE中间件;所述下位机与所述上位机通过网络通信引擎ICE中间件相连;所述下位机与生产线设备相连;
所述网络通信引擎ICE中间件可以包括以下单元:
第一远程对象建立单元,用于在上位机侧建立第一远程对象;
第一远程代理建立单元,用于在下位机侧建立第一远程代理;
所述下位机可以包括以下单元:
工艺数据收集单元,用于所述下位机收集所述生产线设备产生的工艺数据;
工艺数据传输单元,用于将所述工艺数据传输到所述上位机;
所述工艺数据传输单元可以包括以下模块:
变化速率计算模块,用于计算所述工艺数据的变化速率;
第一工艺数据传输模块,用于在所述变化速率大于或等于预设阈值时,调用所述第一远程代理,采用UDP协议将所述工艺数据通过所述第一远程代理传输到所述第一远程对象;
所述上位机可以包括以下单元:
第一工艺数据接收单元,用于在监听到所述下位机调用第一远程代理时,调用所述第一远程代理对应的第一远程对象,采用TCP协议接收所述工艺数据。
作为本发明的一种优选实施例,所述网络通信引擎ICE中间件还包括以下单元:
第二远程对象建立单元,用于在上位机侧建立第二远程对象;
第二远程代理建立单元,用于在下位机侧建立第二远程代理;
所述工艺数据传输单元还可以包括如下模块:
第二工艺数据传输模块,用于当所述变化速率小于预设阈值时,调用所述第二远程代理,采用TCP协议将所述工艺数据通过所述第二远程代理传输到所述第二远程对象;
所述上位机还可以包括如下单元:
第二工艺数据接收单元,用于在监听到所述下位机调用第二远程代理时,调用所述第二远程代理对应的第二远程对象,采用TCP协议接收所述工艺数据。
作为本发明的一种优选实施例,所述工艺数据传输单元还可以包括如下模块:
传输判断模块,用于判断当前工艺数据是否传输成功;若否,则调用重传模块;
重传模块,用于重新将当前工艺数据传输到所述上位机。
作为本发明的一种优选实施例,所述上位机具有回调函数,所述传输判断模块可以包括如下子模块:
回调函数调用子模块,用于调用所述上位机与当前工艺数据对应的回调函数;
回调函数判断子模块,用于判断所述回调函数是否执行完成;若是,则调用第一判断子模块;否则,调用第二判断子模块;
第一判断子模块,用于判断当前工艺数据传输成功;
第二判断子模块,用于判断当前工艺数据传输失败。
作为本发明的一种优选实施例,所述变化速率为所述工艺数据在预设时间段的变化次数与所述预设时间段的比值。
作为本发明的一种优选实施例,所述预设阈值为收集所述工艺数据的最大速率的2/3。
对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者移动设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者移动设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者移动设备中还存在另外的相同要素。
以上对本发明实施例所提供的一种上位机与下位机的通信方法,一种上位机与下位机的通信装置和一种通讯系统,进行了详细介绍,本文中应用了具体个例对本发明实施例的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明实施例的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明实施例的限制。
Claims (15)
1.一种上位机与下位机的通信方法,其特征在于,所述下位机与所述上位机通过网络通信引擎ICE中间件相连;所述网络通信引擎ICE中间件用于在上位机侧建立第一远程对象,在下位机侧建立与所述第一远程对象对应的第一远程代理,所述下位机与生产线设备相连;
所述方法包括:
所述下位机收集所述生产线设备产生的工艺数据;
将所述工艺数据传输到所述上位机,具体包括:
计算所述工艺数据的变化速率;
当所述变化速率大于或等于预设阈值时,调用所述第一远程代理,采用UDP协议将所述工艺数据通过所述第一远程代理传输到所述第一远程对象;所述上位机用于在监听到所述下位机调用所述第一远程代理时,通过所述第一远程对象采用UDP协议接收所述工艺数据;
其中,所述网络通信引擎ICE中间件还用于在上位机侧建立第二远程对象,在下位机侧建立与所述第二远程对象对应的第二远程代理;
则所述将工艺数据传输到所述上位机的步骤还包括:
当所述变化速率小于预设阈值时,调用所述第二远程代理,采用TCP协议将所述工艺数据通过所述第二远程代理传输到所述第二远程对象;所述上位机用于在监听到所述下位机调用所述第二远程代理时,通过所述第二远程对象采用TCP协议接收所述工艺数据。
2.根据权利要求1所述的上位机与下位机的通信方法,其特征在于,所述将工艺数据传输到所述上位机的步骤还包括:
判断当前工艺数据是否传输成功;若否,则重新将当前工艺数据传输到所述上位机。
3.根据权利要求2所述的上位机与下位机的通信方法,其特征在于,所述上位机具有回调函数,所述判断当前工艺数据是否传输成功的步骤包括:
调用所述上位机与当前工艺数据对应的回调函数;
判断所述回调函数是否执行完成;若是,则判断当前工艺数据传输成功;否则,判断当前工艺数据传输失败。
4.根据权利要求1所述的上位机与下位机的通信方法,其特征在于,所述变化速率为所述工艺数据在预设时间段的变化次数与所述预设时间段的比值。
5.根据权利要求1所述的上位机与下位机的通信方法,其特征在于,所述预设阈值为采集所述工艺数据的最大速率的2/3。
6.一种上位机与下位机的通信装置,其特征在于,所述下位机与所述上位机通过网络通信引擎ICE中间件相连;所述网络通信引擎ICE中间件用于在上位机侧建立第一远程对象,在下位机侧建立与所述第一远程对象对应的第一远程代理,所述下位机与生产线设备相连;
所述装置包括:
工艺数据收集单元,用于所述下位机收集所述生产线设备产生的工艺数据;
工艺数据传输单元,用于将所述工艺数据传输到所述上位机;
所述工艺数据传输单元包括:
变化速率计算模块,用于计算所述工艺数据的变化速率;
第一工艺数据传输模块,用于在所述变化速率大于或等于预设阈值时,调用所述第一远程代理,采用UDP协议将所述工艺数据通过所述第一远程代理传输到所述第一远程对象;所述上位机用于在监听到所述下位机调用所述第一远程代理时,通过所述第一远程对象采用UDP协议接收所述工艺数据;
其中,所述网络通信引擎ICE中间件还用于在上位机侧建立第二远程对象,在下位机侧建立与所述第二远程对象对应的第二远程代理;
则所述工艺数据传输单元还包括:
第二工艺数据传输模块,用于在所述变化速率小于预设阈值时,调用所述第二远程代理,采用TCP协议将所述工艺数据通过所述第二远程代理传输到所述第二远程对象;所述上位机用于在监听到所述下位机调用所述第二远程代理时,通过所述第二远程对象采用TCP协议接收所述工艺数据。
7.根据权利要求6所述的上位机与下位机的通信装置,其特征在于,所述工艺数据传输单元还包括:
传输判断模块,用于判断当前工艺数据是否传输成功;若否,则调用重传模块;
重传模块,用于重新将当前工艺数据传输到所述上位机。
8.根据权利要求7所述的上位机与下位机的通信装置,其特征在于,所述上位机具有回调函数,所述传输判断模块包括:
回调函数调用子模块,用于调用所述上位机与当前工艺数据对应的回调函数;
回调函数判断子模块,用于判断所述回调函数是否执行完成;若是,则调用第一判断子模块;否则,调用第二判断子模块;
第一判断子模块,用于判断当前工艺数据传输成功;
第二判断子模块,用于判断当前工艺数据传输失败。
9.根据权利要求6所述的上位机与下位机的通信装置,其特征在于,所述变化速率为所述工艺数据在预设时间段的变化次数与所述预设时间段的比值。
10.根据权利要求6所述的上位机与下位机的通信装置,其特征在于,所述预设阈值为收集所述工艺数据的最大速率的2/3。
11.一种通信系统,其特征在于,所述通信系统包括上位机、下位机和网络通信引擎ICE中间件;所述下位机与所述上位机通过网络通信引擎ICE中间件相连;所述下位机与生产线设备相连;
所述网络通信引擎ICE中间件包括:
第一远程对象建立单元,用于在上位机侧建立第一远程对象;
第一远程代理建立单元,用于在下位机侧建立第一远程代理;
所述下位机包括:
工艺数据收集单元,用于所述下位机收集所述生产线设备产生的工艺数据;
工艺数据传输单元,用于将所述工艺数据传输到所述上位机;
所述工艺数据传输单元包括:
变化速率计算模块,用于计算所述工艺数据的变化速率;
第一工艺数据传输模块,用于在所述变化速率大于或等于预设阈值时,调用所述第一远程代理,采用UDP协议将所述工艺数据通过所述第一远程代理传输到所述第一远程对象;
所述上位机包括:
第一工艺数据接收单元,用于在监听到所述下位机调用第一远程代理时,调用所述第一远程代理对应的第一远程对象,采用UDP协议接收所述工艺数据;
其中,所述网络通信引擎ICE中间件还包括:
第二远程对象建立单元,用于在上位机侧建立第二远程对象;
第二远程代理建立单元,用于在下位机侧建立第二远程代理;
则所述工艺数据传输单元还包括:
第二工艺数据传输模块,用于在所述变化速率小于预设阈值时,调用所述第二远程代理,采用TCP协议将所述工艺数据通过所述第二远程代理传输到所述第二远程对象;
所述上位机还包括:
第二工艺数据接收单元,用于在监听到所述下位机调用第二远程代理时,调用所述第二远程代理对应的第二远程对象,按照TCP协议接收所述工艺数据。
12.根据权利要求11所述的通信系统,其特征在于,所述工艺数据传输单元还包括:
传输判断模块,用于判断当前工艺数据是否传输成功;若否,调用重传模块;
重传模块,用于重新将当前工艺数据传输到所述上位机。
13.根据权利要求12所述的通信系统,其特征在于,所述上位机具有回调函数,所述传输判断模块包括:
回调函数调用子模块,用于调用所述上位机与当前工艺数据对应的回调函数;
回调函数判断子模块,用于判断所述回调函数是否执行完成;若是,调用第一判断子模块;否则,调用第二判断子模块;
第一判断子模块,用于判断当前工艺数据传输成功;
第二判断子模块,用于判断当前工艺数据传输失败。
14.根据权利要求11所述的通信系统,其特征在于,所述变化速率为所述工艺数据在预设时间段的变化次数与所述预设时间段的比值。
15.根据权利要求11所述的通信系统,其特征在于,所述预设阈值为收集所述工艺数据的最大速率的2/3。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310579208.9A CN104660627B (zh) | 2013-11-18 | 2013-11-18 | 一种上位机与下位机的通信方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310579208.9A CN104660627B (zh) | 2013-11-18 | 2013-11-18 | 一种上位机与下位机的通信方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104660627A CN104660627A (zh) | 2015-05-27 |
CN104660627B true CN104660627B (zh) | 2018-08-24 |
Family
ID=53251328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310579208.9A Active CN104660627B (zh) | 2013-11-18 | 2013-11-18 | 一种上位机与下位机的通信方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104660627B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106953714B (zh) * | 2017-02-13 | 2020-09-22 | 北京光年无限科技有限公司 | 一种用于智能机器人的下位机反馈数据获取方法及装置 |
CN109426170B (zh) * | 2017-09-01 | 2022-04-22 | 北京北方华创微电子装备有限公司 | 更新显示实时数据的方法和更新显示实时数据的系统 |
CN108196529A (zh) * | 2018-01-19 | 2018-06-22 | 京东方科技集团股份有限公司 | 数据处理方法及其装置、数据处理系统 |
CN110412947B (zh) * | 2018-04-28 | 2021-01-08 | 北京北方华创微电子装备有限公司 | 工业设备控制方法及其系统、存储设备 |
CN110765476B (zh) * | 2019-10-25 | 2023-05-26 | 苏州悦谱半导体有限公司 | 一种应用于光刻机上位机向下位机传输数据的方法 |
CN111103532A (zh) * | 2019-12-13 | 2020-05-05 | 青岛海信智慧家居系统股份有限公司 | 一种智能按键面板检测触点的方法及装置 |
CN112311641B (zh) * | 2020-12-30 | 2021-04-06 | 深圳市法拉第电驱动有限公司 | 基于can通讯的上位机与下位机的通信方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1085725A1 (fr) * | 1999-08-12 | 2001-03-21 | Alcatel | Procédé pour faire communiquer un utilisateur avec au moins une base de données. |
CN101042796A (zh) * | 2006-03-23 | 2007-09-26 | 上海宝信软件股份有限公司 | 工业现场设备的过程数据采集方法 |
CN102255898A (zh) * | 2011-07-05 | 2011-11-23 | 上海悠络客电子科技有限公司 | 一种通过tcp与udp双模式通讯保障大数据流稳定性的方法 |
CN202798801U (zh) * | 2012-08-17 | 2013-03-13 | 民航成都物流技术有限公司 | 一种用于实现分布式数据交互的通用性通讯系统 |
CN103078831A (zh) * | 2011-10-26 | 2013-05-01 | 新太科技股份有限公司 | 一种流媒体支持tcp和udp传送的自适应的方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8488447B2 (en) * | 2006-06-30 | 2013-07-16 | Centurylink Intellectual Property Llc | System and method for adjusting code speed in a transmission path during call set-up due to reduced transmission performance |
FR2919778A1 (fr) * | 2007-07-30 | 2009-02-06 | Canon Kk | Procede de transmission de paquets de donnees dans un tunnel, produit programme d'ordinateur, moyen de stockage et tete de tunnel correspondants |
KR101178570B1 (ko) * | 2010-10-28 | 2012-08-30 | 삼성에스디에스 주식회사 | 이더넷 환경에서 udp 데이터 전송의 공정성 확보장치 및 방법 |
-
2013
- 2013-11-18 CN CN201310579208.9A patent/CN104660627B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1085725A1 (fr) * | 1999-08-12 | 2001-03-21 | Alcatel | Procédé pour faire communiquer un utilisateur avec au moins une base de données. |
CN101042796A (zh) * | 2006-03-23 | 2007-09-26 | 上海宝信软件股份有限公司 | 工业现场设备的过程数据采集方法 |
CN102255898A (zh) * | 2011-07-05 | 2011-11-23 | 上海悠络客电子科技有限公司 | 一种通过tcp与udp双模式通讯保障大数据流稳定性的方法 |
CN103078831A (zh) * | 2011-10-26 | 2013-05-01 | 新太科技股份有限公司 | 一种流媒体支持tcp和udp传送的自适应的方法 |
CN202798801U (zh) * | 2012-08-17 | 2013-03-13 | 民航成都物流技术有限公司 | 一种用于实现分布式数据交互的通用性通讯系统 |
Non-Patent Citations (1)
Title |
---|
面向对象的ICE中间件系统设计;陈增孝,等;《电子元器件应用》;20080815;第10卷(第8期);第16-21页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104660627A (zh) | 2015-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104660627B (zh) | 一种上位机与下位机的通信方法和系统 | |
US11064330B2 (en) | Methods for enabling delay-awareness in the constrained application protocol (CoAP) | |
CN104811459A (zh) | 用于消息服务的处理方法、装置及系统、消息服务系统 | |
CN102946376B (zh) | 一种异步通讯的实现方法 | |
CN103248452A (zh) | 数据发送装置、数据接收装置、终端和数据传输方法 | |
EP3873067A1 (en) | Data transmission method and apparatus | |
CN103200116B (zh) | 非面向连接的可靠udp传输协议及数据传输方法 | |
CN112491842B (zh) | 一种面向智慧工地的多协议物联网网关 | |
CN103516673A (zh) | 一种网络数据通信方法、系统及客户端和服务器 | |
CN112566282B (zh) | 一种物联网信息传递方法及平台 | |
CN111711680A (zh) | 基于udp协议的文件断点续传方法及装置 | |
CN102571912A (zh) | 一种实现基于多核处理器和混合操作系统的卸载协议栈的方法 | |
CN101741747B (zh) | 面向udp协议的nfs流控方法 | |
CN101605128A (zh) | Linux主从设备通过以太网接口进行通信的方法 | |
CN102811451B (zh) | 一种Capwap隧道连接控制方法及装置 | |
EP3038312A1 (en) | Data transmission method, user equipment and proxy equipment | |
CN101547134A (zh) | 一种udp连接和tcp连接相互转化的方法、系统及中转服务器 | |
CN102932820A (zh) | 一种链路处理方法、装置和系统 | |
CN102546659B (zh) | 面向远过程调用的持久tcp连接方法 | |
CN104429009B (zh) | 用于在数据包的双向传输情况下传输数据包的方法 | |
CN114640703A (zh) | 一种数据通信的方法、装置、电子设备及存储介质 | |
Fang et al. | Design and implementation of embedded rudp | |
CN113672545B (zh) | 双处理器间电力数据的传输方法和装置 | |
CN114039881B (zh) | 一种通信连接监控方法 | |
JP2012090148A (ja) | メディアアダプタ装置とルータ装置の自動設定システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 100176 Beijing economic and Technological Development Zone, Wenchang Road, No. 8, No. Applicant after: Beijing North China microelectronics equipment Co Ltd Address before: 100176 Beijing economic and Technological Development Zone, Beijing, Wenchang Road, No. 8, No. Applicant before: Beifang Microelectronic Base Equipment Proces Research Center Co., Ltd., Beijing |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |