一种基于多PLC互联的I/O设备远程控制方法及系统

文档序号:36267704发布日期:2023-12-06 14:50阅读:31来源:国知局
一种基于多

本发明涉及远程设备控制,特别是指一种基于多plc互联的i/o设备远程控制方法及系统。


背景技术:

1、传统的工业自动化系统通常采用分层架构,不同层级的设备和系统通过专门的通信协议和技术进行连接和数据交换。作为工业控制网络的核心的可编程逻辑控制器(plc),主要负责监控和控制与其直接连接的工业设备和传感器。plc使用专门的通信协议与这些设备通信,其主要功能是实现实时操作控制。然而,由于传统通信网络的限制,plc通常只能与直接相连的设备进行通信,与其他plc或设备进行通信需要配置特定的通信协议,但是现有的通信网络中,plc与底层i/o设备之间存在紧密耦合关系,plc仅能感知与自身相连接的i/o设备,无法获取系统中其他i/o设备的信息,要使plc和其他plc连接的i/o设备进行通信,必须经过多次数据传递和协议转换。这使得工业网络中,控制层和现场层难以高性能通信,从而无法实现工厂中所有设备的全要素互联。这导致数据共享和系统集成的效率受到限制。

2、但随着工业4.0趋势的兴起,通信和控制体系结构正朝着更分散、更灵活以及更具智能化的方向发展,以适应更复杂、高度互连和数据驱动的生产环境。工业4.0中更多地使用标准化通信协议,如opc ua,以促进不同设备之间的互操作性和数据共享。opc基金会提出了flc(field-level communication)现场级通信方案,这个方案允许不同的plc之间通过opc ua协议来实现c2c(controller to controller)通信。plc现在可以通过opc ua协议直接与其他plc进行通信,以实现数据共享和协同控制。

3、因此,为了实现工厂所有设备的全要素互联,解决控制层中plc和现场层i/o设备无法直接通信的难题,是实现现场级通信的关键挑战。


技术实现思路

1、本发明实施例提供了一种基于多plc互联的i/o设备远程控制方法及系统。所述技术方案如下:

2、一方面,提供了一种基于多plc互联的i/o设备远程控制方法,该方法由电子设备实现,该方法包括:

3、所述基于多plc互联的i/o设备远程控制方法由基于多plc互联的i/o设备远程控制系统实现,所述基于多plc互联的i/o设备远程控制系统包括多plc i/o调度器、数据库以及多个plc,所述多个plc中的每个plc与对应的i/o设备相连接,所述每个plc包括i/o变量处理模块以及i/o变量解析模块;所述数据库中存储有每个plc的序列号以及每个i/o设备的序列号和相关信息;

4、所述方法包括:

5、s1、当所述多plc i/o调度器接收到某个plc发出的请求信息后,所述多plc i/o调度器获取所述请求信息中的目标i/o设备的序列号;

6、s2、所述多plc i/o调度器根据目标i/o设备的序列号,在所述数据库中查找目标i/o设备是否存在,如果目标i/o设备存在,则将发出请求信息的plc标记为主plc,将与所述目标i/o设备相连接的plc设置为从plc,将所述目标i/o设备的相关信息发送给所述主plc;

7、s3、所述主plc与所述从plc建立连接;

8、s4、所述主plc基于i/o变量处理模块,向所述从plc发送第一数据帧;其中,所述第一数据帧包括目标i/o设备的相关信息;

9、s5、所述从plc接收第一数据帧,通过i/o变量解析模块对所述第一数据帧进行解析,获取目标i/o设备的相关信息,根据所述目标i/o设备的相关信息进行变量采集;

10、s6、所述从plc通过i/o变量处理模块将采集到的变量封装成第二数据帧,通过opcua协议发送给所述主plc;

11、s7、所述主plc接收第二数据帧,通过i/o变量解析模块对所述第二数据帧进行解析,得到目标i/o设备的数据,存储所述数据。

12、可选地,所述多plc i/o调度器包括多plc i/o调度模块、通信请求处理模块、plci/o数据管理模块以及plc网络拓扑管理模块。

13、可选地,所述s1的当所述多plc i/o调度器接收到某个plc发出的请求信息后,所述多plc i/o调度器获取所述请求信息中的目标i/o设备的序列号,包括:

14、s11、所述多plc i/o调度模块根据预设周期对所有plc的通信请求进行扫描;

15、s12、当所述多plc i/o调度模块扫描到某个plc的通信请求时,通过所述通信请求处理模块接收所述plc发出的请求信息;

16、s13、所述通信请求处理模块对所述请求信息进行解析,获取所述请求信息中携带的目标i/o设备的序列号。

17、可选地,所述s2的所述多plc i/o调度器根据目标i/o设备的序列号,在所述数据库中查找目标i/o设备是否存在,包括:

18、s21、所述plc i/o数据管理模块向所述数据库发送携带有目标i/o设备的序列号的查询请求;

19、s22、所述数据库根据查询请求中的目标i/o设备的序列号进行查询;

20、s23、如果数据库查询到所述目标i/o设备的相关信息,则所述数据库将所述目标i/o设备的相关信息发送至所述plc i/o数据管理模块,如果数据库没有查询到所述目标i/o设备的相关信息,则所述数据库向所述plc i/o数据管理模块发送查询失败通知。

21、可选地,所述s3的所述主plc与所述从plc建立连接,包括:

22、s31、所述多plc i/o调度模块通过plc网络拓扑管理模块查询主plc以及从plc的通信状况是否正常;

23、s32a、如果通信状态正常,则将所述主plc作为opc ua客户端,将所述从plc作为opc ua服务端,使所述主plc与所述从plc之间建立基于opc ua协议的连接;

24、s32b、如果通信状态异常,则所述多plc i/o调度模块对所述主plc与所述从plc之间的通信任务分配相应的优先级,按照优先级调度所述主plc与所述从plc之间的通信任务。

25、可选地,所述目标i/o设备的相关信息,包括:目标i/o设备的序列号,目标i/o设备采用的通信协议,以及目标i/o设备的变量名称、变量地址和变量值。

26、可选地,所述s4的所述主plc基于i/o变量处理模块,向所述从plc发送第一数据帧,包括:

27、所述主plc通过i/o变量处理模块将所述主plc的序列号、从plc的序列号、目标i/o设备的序列号,目标i/o设备采用的通信协议、以及目标i/o设备的变量名称、变量地址和变量值封装成第一数据帧,通过opc ua协议发送给所述从plc。

28、另一方面,提供了一种基于多plc互联的i/o设备远程控制系统,所述基于多plc互联的i/o设备远程控制系统用于实现基于多plc互联的i/o设备远程控制方法,所述基于多plc互联的i/o设备远程控制系统包括多plc i/o调度器、数据库以及多个plc,所述多个plc中的每个plc与对应的i/o设备相连接,所述每个plc包括i/o变量处理模块以及i/o变量解析模块;所述数据库中存储有每个plc的序列号以及每个i/o设备的序列号和相关信息;

29、其中:

30、所述多plc i/o调度器,用于接收到某个plc发出的请求信息,获取所述请求信息中的目标i/o设备的序列号;根据目标i/o设备的序列号,在所述数据库中查找目标i/o设备是否存在,如果目标i/o设备存在,则将发出请求信息的plc标记为主plc,将与所述目标i/o设备相连接的plc设置为从plc,将所述目标i/o设备的相关信息发送给所述主plc;

31、所述主plc,用于与所述从plc建立连接,基于i/o变量处理模块,向所述从plc发送第一数据帧;其中,所述第一数据帧包括目标i/o设备的相关信息;接收第二数据帧,通过i/o变量解析模块对所述第二数据帧进行解析,得到目标i/o设备的数据,存储所述数据;

32、所述从plc,用于与所述主plc建立连接,接收第一数据帧,通过i/o变量解析模块对所述第一数据帧进行解析,获取目标i/o设备的相关信息,根据所述目标i/o设备的相关信息进行变量采集;所述从plc通过i/o变量处理模块将采集到的变量封装成第二数据帧,通过opc ua协议发送给所述主plc。

33、可选地,所述多plc i/o调度器包括多plc i/o调度模块、通信请求处理模块、plci/o数据管理模块以及plc网络拓扑管理模块。

34、可选地,所述多plc i/o调度器,进一步用于:

35、s11、所述多plc i/o调度模块根据预设周期对所有plc的通信请求进行扫描;

36、s12、当所述多plc i/o调度模块扫描到某个plc的通信请求时,通过所述通信请求处理模块接收所述plc发出的请求信息;

37、s13、所述通信请求处理模块对所述请求信息进行解析,获取所述请求信息中携带的目标i/o设备的序列号。

38、可选地,所述多plc i/o调度器,进一步用于:

39、s21、所述plc i/o数据管理模块向所述数据库发送携带有目标i/o设备的序列号的查询请求;

40、s22、所述数据库根据查询请求中的目标i/o设备的序列号进行查询;

41、s23、如果数据库查询到所述目标i/o设备的相关信息,则所述数据库将所述目标i/o设备的相关信息发送至所述plc i/o数据管理模块,如果数据库没有查询到所述目标i/o设备的相关信息,则所述数据库向所述plc i/o数据管理模块发送查询失败通知。

42、可选地,所述多plc i/o调度模块,进一步用于:

43、s31、所述多plc i/o调度模块通过plc网络拓扑管理模块查询主plc以及从plc的通信状况是否正常;

44、s32a、如果通信状态正常,则将所述主plc作为opc ua客户端,将所述从plc作为opc ua服务端,使所述主plc与所述从plc之间建立基于opc ua协议的连接;

45、s32b、如果通信状态异常,则所述多plc i/o调度模块对所述主plc与所述从plc之间的通信任务分配相应的优先级,按照优先级调度所述主plc与所述从plc之间的通信任务。

46、可选地,所述目标i/o设备的相关信息,包括:目标i/o设备的序列号,目标i/o设备采用的通信协议,以及目标i/o设备的变量名称、变量地址和变量值。

47、可选地,所述主plc,进一步用于:

48、所述主plc通过i/o变量处理模块将所述主plc的序列号、从plc的序列号、目标i/o设备的序列号,目标i/o设备采用的通信协议、以及目标i/o设备的变量名称、变量地址和变量值封装成第一数据帧,通过opc ua协议发送给所述从plc。

49、另一方面,提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现上述基于多plc互联的i/o设备远程控制方法。

50、另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现上述基于多plc互联的i/o设备远程控制方法。

51、本发明实施例提供的技术方案带来的有益效果至少包括:

52、本发明实施例中,当多plc i/o调度器接收到某个plc发出的请求信息后,多plci/o调度器获取请求信息中的目标i/o设备的序列号;多plc i/o调度器根据目标i/o设备的序列号,在数据库中查找目标i/o设备是否存在,如果目标i/o设备存在,则将plc标记为主plc,将与目标i/o设备相连接的plc设置为从plc,将目标i/o设备的相关信息发送给主plc;主plc与从plc建立连接;主plc基于i/o变量处理模块,向从plc发送第一数据帧;其中,第一数据帧包括目标i/o设备的相关信息;从plc接收第一数据帧,通过i/o变量解析模块对第一数据帧进行解析,获取目标i/o设备的相关信息,根据目标i/o设备的相关信息进行变量采集;从plc通过i/o变量处理模块将采集到的变量封装成第二数据帧,通过opc ua协议发送给主plc;主plc接收第二数据帧,通过i/o变量解析模块对第二数据帧进行解析,得到目标i/o设备的数据,存储数据。采用本发明,将工业现场中的控制层的plc和设备层i/o设备解耦合,实现plc可以高效访问系统中任意i/o设备。在现有通信网络中增加一种调度器设备,实时获取系统中每一个plc的通信请求,根据请求高效定位i/o设备及其所连接的plc的地址,并根据相应调度算法使两个plc基于opc ua通信协议建立client/server连接。同时设计在plc中增加i/o数据处理模块和i/o数据解析模块,实现主plc和其他从plc连接的i/o设备间高效通信。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1