CN117148781A - 一种基于多plc互联的i/o设备远程控制方法及系统 - Google Patents

一种基于多plc互联的i/o设备远程控制方法及系统 Download PDF

Info

Publication number
CN117148781A
CN117148781A CN202311436776.3A CN202311436776A CN117148781A CN 117148781 A CN117148781 A CN 117148781A CN 202311436776 A CN202311436776 A CN 202311436776A CN 117148781 A CN117148781 A CN 117148781A
Authority
CN
China
Prior art keywords
plc
target
equipment
data frame
master
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.)
Granted
Application number
CN202311436776.3A
Other languages
English (en)
Other versions
CN117148781B (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.)
University of Science and Technology Beijing USTB
Original Assignee
University of Science and Technology Beijing USTB
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 University of Science and Technology Beijing USTB filed Critical University of Science and Technology Beijing USTB
Priority to CN202311436776.3A priority Critical patent/CN117148781B/zh
Publication of CN117148781A publication Critical patent/CN117148781A/zh
Application granted granted Critical
Publication of CN117148781B publication Critical patent/CN117148781B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/054Input/output
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/12Plc mp multi processor system
    • G05B2219/1204Multiprocessing, several plc's, distributed logic control

Abstract

本发明涉及远程设备控制技术领域,特别是指一种基于多PLC互联的I/O设备远程控制方法及系统,方法包括:当多PLC I/O调度器接收到某个PLC发出的请求信息后,获取目标I/O设备的序列号,将PLC标记为主PLC,将与目标I/O设备相连接的PLC设置为从PLC,将目标I/O设备的相关信息发送给主PLC;主PLC与从PLC建立连接;主PLC基于I/O变量处理模块,向从PLC发送第一数据帧;从PLC接收第一数据帧,通过I/O变量解析模块对第一数据帧进行解析,进行变量采集,通过I/O变量处理模块将采集到的变量封装成第二数据帧发送给主PLC;主PLC接收第二数据帧,通过I/O变量解析模块对第二数据帧进行解析,得到目标I/O设备的数据。采用本发明,可以提高工厂中PLC与I/O设备数据交换的高效性和准确性。

Description

一种基于多PLC互联的I/O设备远程控制方法及系统
技术领域
本发明涉及远程设备控制技术领域,特别是指一种基于多PLC互联的I/O设备远程控制方法及系统。
背景技术
传统的工业自动化系统通常采用分层架构,不同层级的设备和系统通过专门的通信协议和技术进行连接和数据交换。作为工业控制网络的核心的可编程逻辑控制器(PLC),主要负责监控和控制与其直接连接的工业设备和传感器。PLC使用专门的通信协议与这些设备通信,其主要功能是实现实时操作控制。然而,由于传统通信网络的限制,PLC通常只能与直接相连的设备进行通信,与其他PLC或设备进行通信需要配置特定的通信协议,但是现有的通信网络中,PLC与底层I/O设备之间存在紧密耦合关系,PLC仅能感知与自身相连接的I/O设备,无法获取系统中其他I/O设备的信息,要使PLC和其他PLC连接的I/O设备进行通信,必须经过多次数据传递和协议转换。这使得工业网络中,控制层和现场层难以高性能通信,从而无法实现工厂中所有设备的全要素互联。这导致数据共享和系统集成的效率受到限制。
但随着工业4.0趋势的兴起,通信和控制体系结构正朝着更分散、更灵活以及更具智能化的方向发展,以适应更复杂、高度互连和数据驱动的生产环境。工业4.0中更多地使用标准化通信协议,如OPC UA,以促进不同设备之间的互操作性和数据共享。OPC基金会提出了FLC(Field-Level Communication)现场级通信方案,这个方案允许不同的PLC之间通过OPC UA协议来实现C2C(Controller to Controller)通信。PLC现在可以通过OPC UA协议直接与其他PLC进行通信,以实现数据共享和协同控制。
因此,为了实现工厂所有设备的全要素互联,解决控制层中PLC和现场层I/O设备无法直接通信的难题,是实现现场级通信的关键挑战。
发明内容
本发明实施例提供了一种基于多PLC互联的I/O设备远程控制方法及系统。所述技术方案如下:
一方面,提供了一种基于多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设备的序列号和相关信息;
所述方法包括:
S1、当所述多PLC I/O调度器接收到某个PLC发出的请求信息后,所述多PLC I/O调度器获取所述请求信息中的目标I/O设备的序列号;
S2、所述多PLC I/O调度器根据目标I/O设备的序列号,在所述数据库中查找目标I/O设备是否存在,如果目标I/O设备存在,则将发出请求信息的PLC标记为主PLC,将与所述目标I/O设备相连接的PLC设置为从PLC,将所述目标I/O设备的相关信息发送给所述主PLC;
S3、所述主PLC与所述从PLC建立连接;
S4、所述主PLC基于I/O变量处理模块,向所述从PLC发送第一数据帧;其中,所述第一数据帧包括目标I/O设备的相关信息;
S5、所述从PLC接收第一数据帧,通过I/O变量解析模块对所述第一数据帧进行解析,获取目标I/O设备的相关信息,根据所述目标I/O设备的相关信息进行变量采集;
S6、所述从PLC通过I/O变量处理模块将采集到的变量封装成第二数据帧,通过OPCUA协议发送给所述主PLC;
S7、所述主PLC接收第二数据帧,通过I/O变量解析模块对所述第二数据帧进行解析,得到目标I/O设备的数据,存储所述数据。
可选地,所述多PLC I/O调度器包括多PLC I/O调度模块、通信请求处理模块、PLCI/O数据管理模块以及PLC网络拓扑管理模块。
可选地,所述S1的当所述多PLC I/O调度器接收到某个PLC发出的请求信息后,所述多PLC I/O调度器获取所述请求信息中的目标I/O设备的序列号,包括:
S11、所述多PLC I/O调度模块根据预设周期对所有PLC的通信请求进行扫描;
S12、当所述多PLC I/O调度模块扫描到某个PLC的通信请求时,通过所述通信请求处理模块接收所述PLC发出的请求信息;
S13、所述通信请求处理模块对所述请求信息进行解析,获取所述请求信息中携带的目标I/O设备的序列号。
可选地,所述S2的所述多PLC I/O调度器根据目标I/O设备的序列号,在所述数据库中查找目标I/O设备是否存在,包括:
S21、所述PLC I/O数据管理模块向所述数据库发送携带有目标I/O设备的序列号的查询请求;
S22、所述数据库根据查询请求中的目标I/O设备的序列号进行查询;
S23、如果数据库查询到所述目标I/O设备的相关信息,则所述数据库将所述目标I/O设备的相关信息发送至所述PLC I/O数据管理模块,如果数据库没有查询到所述目标I/O设备的相关信息,则所述数据库向所述PLC I/O数据管理模块发送查询失败通知。
可选地,所述S3的所述主PLC与所述从PLC建立连接,包括:
S31、所述多PLC I/O调度模块通过PLC网络拓扑管理模块查询主PLC以及从PLC的通信状况是否正常;
S32a、如果通信状态正常,则将所述主PLC作为OPC UA客户端,将所述从PLC作为OPC UA服务端,使所述主PLC与所述从PLC之间建立基于OPC UA协议的连接;
S32b、如果通信状态异常,则所述多PLC I/O调度模块对所述主PLC与所述从PLC之间的通信任务分配相应的优先级,按照优先级调度所述主PLC与所述从PLC之间的通信任务。
可选地,所述目标I/O设备的相关信息,包括:目标I/O设备的序列号,目标I/O设备采用的通信协议,以及目标I/O设备的变量名称、变量地址和变量值。
可选地,所述S4的所述主PLC基于I/O变量处理模块,向所述从PLC发送第一数据帧,包括:
所述主PLC通过I/O变量处理模块将所述主PLC的序列号、从PLC的序列号、目标I/O设备的序列号,目标I/O设备采用的通信协议、以及目标I/O设备的变量名称、变量地址和变量值封装成第一数据帧,通过OPC UA协议发送给所述从PLC。
另一方面,提供了一种基于多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设备的序列号和相关信息;
其中:
所述多PLC I/O调度器,用于接收到某个PLC发出的请求信息,获取所述请求信息中的目标I/O设备的序列号;根据目标I/O设备的序列号,在所述数据库中查找目标I/O设备是否存在,如果目标I/O设备存在,则将发出请求信息的PLC标记为主PLC,将与所述目标I/O设备相连接的PLC设置为从PLC,将所述目标I/O设备的相关信息发送给所述主PLC;
所述主PLC,用于与所述从PLC建立连接,基于I/O变量处理模块,向所述从PLC发送第一数据帧;其中,所述第一数据帧包括目标I/O设备的相关信息;接收第二数据帧,通过I/O变量解析模块对所述第二数据帧进行解析,得到目标I/O设备的数据,存储所述数据;
所述从PLC,用于与所述主PLC建立连接,接收第一数据帧,通过I/O变量解析模块对所述第一数据帧进行解析,获取目标I/O设备的相关信息,根据所述目标I/O设备的相关信息进行变量采集;所述从PLC通过I/O变量处理模块将采集到的变量封装成第二数据帧,通过OPC UA协议发送给所述主PLC。
可选地,所述多PLC I/O调度器包括多PLC I/O调度模块、通信请求处理模块、PLCI/O数据管理模块以及PLC网络拓扑管理模块。
可选地,所述多PLC I/O调度器,进一步用于:
S11、所述多PLC I/O调度模块根据预设周期对所有PLC的通信请求进行扫描;
S12、当所述多PLC I/O调度模块扫描到某个PLC的通信请求时,通过所述通信请求处理模块接收所述PLC发出的请求信息;
S13、所述通信请求处理模块对所述请求信息进行解析,获取所述请求信息中携带的目标I/O设备的序列号。
可选地,所述多PLC I/O调度器,进一步用于:
S21、所述PLC I/O数据管理模块向所述数据库发送携带有目标I/O设备的序列号的查询请求;
S22、所述数据库根据查询请求中的目标I/O设备的序列号进行查询;
S23、如果数据库查询到所述目标I/O设备的相关信息,则所述数据库将所述目标I/O设备的相关信息发送至所述PLC I/O数据管理模块,如果数据库没有查询到所述目标I/O设备的相关信息,则所述数据库向所述PLC I/O数据管理模块发送查询失败通知。
可选地,所述多PLC I/O调度模块,进一步用于:
S31、所述多PLC I/O调度模块通过PLC网络拓扑管理模块查询主PLC以及从PLC的通信状况是否正常;
S32a、如果通信状态正常,则将所述主PLC作为OPC UA客户端,将所述从PLC作为OPC UA服务端,使所述主PLC与所述从PLC之间建立基于OPC UA协议的连接;
S32b、如果通信状态异常,则所述多PLC I/O调度模块对所述主PLC与所述从PLC之间的通信任务分配相应的优先级,按照优先级调度所述主PLC与所述从PLC之间的通信任务。
可选地,所述目标I/O设备的相关信息,包括:目标I/O设备的序列号,目标I/O设备采用的通信协议,以及目标I/O设备的变量名称、变量地址和变量值。
可选地,所述主PLC,进一步用于:
所述主PLC通过I/O变量处理模块将所述主PLC的序列号、从PLC的序列号、目标I/O设备的序列号,目标I/O设备采用的通信协议、以及目标I/O设备的变量名称、变量地址和变量值封装成第一数据帧,通过OPC UA协议发送给所述从PLC。
另一方面,提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现上述基于多PLC互联的I/O设备远程控制方法。
另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现上述基于多PLC互联的I/O设备远程控制方法。
本发明实施例提供的技术方案带来的有益效果至少包括:
本发明实施例中,当多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是本发明实施例提供的一种基于多PLC互联的I/O设备远程控制方法流程图;
图2a是本发明实施例提供的一种基于多PLC互联的I/O设备远程控制方法流程图;
如图2b是本发明实施例提供的一种多PLC I/O调度器与多个PLC之间的信令图;
如图2c是本发明实施例提供的一种主PLC与从PLC之间的信令图;
图3是本发明实施例提供的一种主PLC的数据包封装流程框图;
图4是本发明实施例提供的一种I/O变量解析模块的流程框图;
图5是本发明实施例提供的一种从PLC的数据包封装流程框图;
图6是本发明实施例提供的一种基于多PLC互联的I/O设备远程控制系统框图;
图7是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明实施例提供了一种基于多PLC互联的I/O设备远程控制方法,该方法可以由基于多PLC互联的I/O设备远程控制系统实现,该系统至少包括多PLC I/O调度器、数据库以及多个PLC,多个PLC中的每个PLC与对应的I/O设备相连接,每个PLC包括I/O变量处理模块以及I/O变量解析模块;数据库中存储有每个PLC的序列号以及每个I/O设备的序列号和相关信息。
如图1所示的基于多PLC互联的I/O设备远程控制方法流程图,该方法的处理流程可以包括如下的步骤:
S11、当多PLC I/O调度器接收到某个PLC发出的请求信息后,多PLC I/O调度器获取请求信息中的目标I/O设备的序列号;
S12、多PLC I/O调度器根据目标I/O设备的序列号,在数据库中查找目标I/O设备是否存在,如果目标I/O设备存在,则将发出请求信息的PLC标记为主PLC,将与目标I/O设备相连接的PLC设置为从PLC,将目标I/O设备的相关信息发送给主PLC;
S13、主PLC与从PLC建立连接;
S14、主PLC基于I/O变量处理模块,向从PLC发送第一数据帧;其中,第一数据帧包括目标I/O设备的相关信息;
S15、从PLC接收第一数据帧,通过I/O变量解析模块对第一数据帧进行解析,获取目标I/O设备的相关信息,根据目标I/O设备的相关信息进行变量采集;
S16、从PLC通过I/O变量处理模块将采集到的变量封装成第二数据帧,通过OPC UA协议发送给主PLC;
S17、主PLC接收第二数据帧,通过I/O变量解析模块对第二数据帧进行解析,得到目标I/O设备的数据,存储数据。
本发明实施例提供了一种基于多PLC互联的I/O设备远程控制方法,该方法可以由基于多PLC互联的I/O设备远程控制系统实现,该系统至少包括多PLC I/O调度器、数据库以及多个PLC。其中:
多PLC I/O调度器至少包括多PLC I/O调度模块、通信请求处理模块、PLC I/O数据管理模块以及PLC网络拓扑管理模块;
多个PLC中的每个PLC与对应的I/O设备相连接,每个PLC包括I/O变量处理模块以及I/O变量解析模块;
数据库中存储有每个PLC的序列号以及每个I/O设备的序列号和相关信息,其中,目标I/O设备的相关信息包括:目标I/O设备的序列号,目标I/O设备采用的通信协议,以及目标I/O设备的变量名称、变量地址和变量值。
如图2a所示的基于多PLC互联的I/O设备远程控制方法流程图,如图2
b所示的多PLC I/O调度器与多个PLC之间的信令图,如图2c所示的主PLC与从PLC之间的信令图,该方法的处理流程可以包括如下的步骤:
S21、当多PLC I/O调度器接收到某个PLC发出的请求信息后,多PLC I/O调度器获取请求信息中的目标I/O设备的序列号。
其中,PLC(Programmable Logic Controller,可编程逻辑控制器)是一种可编程的存储器,在其内部存储由执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,通过数字式或模拟式的输入输出来控制各种类型的机械设备或生产过程。
一种可行的实施方式中,本发明实施例在通信网络中引入一个多PLC I/O调度器,多PLC I/O调度器能够实时监听系统中PLC的通信请求,并以高效方式查找到目标I/O设备和其连接的PLC的信息,并建立这两个PLC间基于OPC UA通信协议建立C/S连接。另外,多PLCI/O调度器对多个PLC之间的通信拓扑进行智能化管理的功能,包括但不限于配置、维护及调度PLC之间的通信关系、通信方向以及通信频率。
PLC网络拓扑管理模块包含了系统的通信拓扑。通信拓扑的具体内容包括确定通信网络中各个PLC和其他设备之间的物理或逻辑连接方式和关系。这涵盖了通信状态、连接方式、物理布局、通信通道、PLC标识和型号、以及通信需求等信息。通信拓扑关系以XML文件格式进行描述,以结构化方式存储上述关键数据。多PLC I/O调度模块根据该模块了解系统中各个PLC的通信情况,当需要在两个PLC之间建立连接时,调度器通过该模块查询系统的通信拓扑,判断当前情况下,是否可以在两个PLC间建立连接,将判断结果发送至通信请求处理模块。
可选地,S21的具体操作可以包括以下步骤S211-S213:
S211、多PLC I/O调度模块根据预设周期对所有PLC的通信请求进行扫描。
一种可行的实施方式中,多PLC I/O调度模块采纳高效的任务调度算法,以确保系统内所有通信任务得以有效管理。该算法周期性地扫描任务清单,以捕获各PLC的通信需求,并根据通信拓扑和需求情况,智能地决策出每个PLC需与哪些PLC建立通信连接,同时规划通信的时序。通过巧妙的通信任务分配,综合调度器模块可保障通信按预定频率和时间顺序得以实施。任务被划分为不同的优先级,任务调度算法根据优先级动态安排任务的执行,若优先级相同,则按提交顺序进行调度。
S212、当多PLC I/O调度模块扫描到某个PLC的通信请求时,通过通信请求处理模块接收PLC发出的请求信息。
S213、通信请求处理模块对请求信息进行解析,获取请求信息中携带的目标I/O设备的序列号。
S22、多PLC I/O调度器根据目标I/O设备的序列号,通过PLC I/O数据管理模块在数据库中查找目标I/O设备是否存在,如果目标I/O设备存在,则将发出请求信息的PLC标记为主PLC,将与目标I/O设备相连接的PLC设置为从PLC,将目标I/O设备的相关信息发送给主PLC。
一种可行的实施方式中,数据库中存储了系统中所有I/O设备的信息包括I/O设备所连接的PLC,I/O设备序列号,I/O设备与PLC通信的通信协议,I/O设备内部各个变量名,I/O设备变量的地址,以供多PLC I/O调度器中的PLC I/O数据管理模块对其进行查询。
调度器模块与各PLC之间的连接构建基于TCP协议。当接收到PLC请求时,综合调度器模块将请求发起PLC标记为主PLC,并通过socket建立连接。在接收相关PLC请求后,调度模块查询数据库中存储的系统所有I/O设备信息,以获取目标I/O设备的详细数据。若数据库中存在目标I/O设备信息,综合调度器模块将目标I/O设备的连接PLC标示为从PLC,并与从PLC建立socket连接。综合调度器模块通过socket传输方式,将目标I/O设备序列号、主PLC序列号、从PLC序列号及从PLC中的OPC UA服务器地址传输给通信双方PLC。
可选地,S22的具体操作可以包括以下步骤S221-S223:
S221、PLC I/O数据管理模块向数据库发送携带有目标I/O设备的序列号的查询请求;
S222、数据库根据查询请求中的目标I/O设备的序列号进行查询;
S223、如果数据库查询到目标I/O设备的相关信息,则数据库将目标I/O设备的相关信息发送至PLC I/O数据管理模块,如果数据库没有查询到目标I/O设备的相关信息,则数据库向PLC I/O数据管理模块发送查询失败通知。
S23、主PLC与从PLC建立连接。
一种可行的实施方式中,通信任务建立后,调度器模块引导主PLC充当OPC UA客户端,而从PLC则作为OPC UA服务器。双方可通过客户端-服务器(C/S)模式开展通信,确保数据交换的高效性和准确性。
可选地,S23的具体操作可以如下:
S231、多PLC I/O调度模块通过PLC网络拓扑管理模块查询主PLC以及从PLC的通信状况是否正常;
S232a、如果通信状态正常,则将主PLC作为OPC UA客户端,将从PLC作为OPC UA服务端,使主PLC与从PLC之间建立基于OPC UA协议的连接;
S232b、如果通信状态异常,则多PLC I/O调度模块对主PLC与从PLC之间的通信任务分配相应的优先级,按照优先级调度主PLC与从PLC之间的通信任务。
S24、主PLC通过I/O变量处理模块将主PLC的序列号、从PLC的序列号、目标I/O设备的序列号,目标I/O设备采用的通信协议、以及目标I/O设备的变量名称、变量地址和变量值封装成第一数据帧,通过OPC UA协议发送给从PLC。
一种可行的实施方式中,在每个PLC内部构建I/O变量处理模块和I/O设备解析模块。I/O变量处理模块负责根据不同通信协议将PLC和目标I/O设备的相关信息进行打包,生成统一的数据帧结构,以便向发送至其他PLC。而I/O变量解析模块能够有效解析数据包,提取所需的数据。
I/O变量处理模块负责建立I/O变量与数据帧的映射关系。参照图3,具体工作流程为:当主从PLC建立连接后,按照一定格式将主从PLC序列号、I/O设备的序列号(或节点标识符)、I/O设备采用的通信协议、目标I/O设备的变量名称、变量地址、以及变量值,封装成以太网帧(可称为第一数据帧),以太网帧通过OPC UA的C/S方式发送至已建立连接的PLC,实现C2C通信。主PLC的I/O变量处理模块封装的数据帧中,目标I/O设备的目标变量值为0;从PLC的I/O变量处理模块封装的数据帧中,包含目标I/O设备的相关变量值。
S25、从PLC接收第一数据帧,通过I/O变量解析模块对第一数据帧进行解析,获取目标I/O设备的相关信息,根据目标I/O设备的相关信息进行变量采集。
一种可行的实施方式中,如图4所示,从PLC通过I/O变量解析模块收到主PLC发来的以太网帧,读取数据帧中的I/O设备的序列号、I/O设备采用的通信协议、目标I/O设备的变量名称、变量地址以及变量值,明确目标I/O设备的地址和目标I/O设备中相关的变量名称、变量地址、以及变量值,定位到目标I/O设备上,实时采集相关变量信息。
S26、从PLC通过I/O变量处理模块将采集到的变量封装成第二数据帧,通过OPC UA协议发送给主PLC。
一种可行的实施方式中,如图5所示,从PLC的I/O变量处理模块将采集到的数据,依照不同通信协议按照统一格式封装成同一类型的数据帧(即第二数据帧),数据帧其中包含了主PLC序列号,从PLC序列号,I/O设备的序列号(或节点标识符),I/O设备采用的通信协议,目标变量名称,目标变量实时数据值。数据包通过之前建立的OPC UA连接将转发给主PLC。
S27、主PLC接收第二数据帧,通过I/O变量解析模块对第二数据帧进行解析,得到目标I/O设备的数据,存储数据。
一种可行的实施方式中,主PLC通过自身的I/O变量解析模块解析从PLC转发的数据包,获得目标I/O设备的变量值,把变量值写入PLC运行时系统的内存空间。完成一次完整的数据通信流程。
通信流程采用了OPC UA C/S模式,而I/O变量处理模块和I/O设备解析模块则构成了数据传输的核心引擎。通信完成后,主PLC会断开与从PLC的连接,并通过通知多PLC I/O调度器,将双方PLC置于空闲状态。
主PLC获取目标I/O设备完成后,主动断开OPC UA 连接,同时通过连接管理器通知调度器双方PLC都处于空闲状态。
本方案通过这种方式实现了通信系统中控制面和设备面的解耦合,满足了FLC中C2D的基本要求,实现工业现场中所有PLC均能和系统中任意I/O设备建立通信连接。
本发明实施例中,当多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设备间高效通信。
图6是根据一示例性实施例示出的一种基于多PLC互联的I/O设备远程控制系统框图,该系统用于实现基于多PLC互联的I/O设备远程控制方法。参照图6,该基于多PLC互联的I/O设备远程控制系统包括多PLC I/O调度器、数据库以及多个PLC,所述多个PLC中的每个PLC与对应的I/O设备相连接,所述每个PLC包括I/O变量处理模块以及I/O变量解析模块;所述数据库中存储有每个PLC的序列号以及每个I/O设备的序列号和相关信息;
其中:
所述多PLC I/O调度器,用于接收到某个PLC发出的请求信息,获取所述请求信息中的目标I/O设备的序列号;根据目标I/O设备的序列号,在所述数据库中查找目标I/O设备是否存在,如果目标I/O设备存在,则将发出请求信息的PLC标记为主PLC,将与所述目标I/O设备相连接的PLC设置为从PLC,将所述目标I/O设备的相关信息发送给所述主PLC;
所述主PLC,用于与所述从PLC建立连接,基于I/O变量处理模块,向所述从PLC发送第一数据帧;其中,所述第一数据帧包括目标I/O设备的相关信息;接收第二数据帧,通过I/O变量解析模块对所述第二数据帧进行解析,得到目标I/O设备的数据,存储所述数据;
所述从PLC,用于与所述主PLC建立连接,接收第一数据帧,通过I/O变量解析模块对所述第一数据帧进行解析,获取目标I/O设备的相关信息,根据所述目标I/O设备的相关信息进行变量采集;所述从PLC通过I/O变量处理模块将采集到的变量封装成第二数据帧,通过OPC UA协议发送给所述主PLC。
可选地,所述多PLC I/O调度器包括多PLC I/O调度模块、通信请求处理模块、PLCI/O数据管理模块以及PLC网络拓扑管理模块。
可选地,所述多PLC I/O调度器,进一步用于:
S11、所述多PLC I/O调度模块根据预设周期对所有PLC的通信请求进行扫描;
S12、当所述多PLC I/O调度模块扫描到某个PLC的通信请求时,通过所述通信请求处理模块接收所述PLC发出的请求信息;
S13、所述通信请求处理模块对所述请求信息进行解析,获取所述请求信息中携带的目标I/O设备的序列号。
可选地,所述多PLC I/O调度器,进一步用于:
S21、所述PLC I/O数据管理模块向所述数据库发送携带有目标I/O设备的序列号的查询请求;
S22、所述数据库根据查询请求中的目标I/O设备的序列号进行查询;
S23、如果数据库查询到所述目标I/O设备的相关信息,则所述数据库将所述目标I/O设备的相关信息发送至所述PLC I/O数据管理模块,如果数据库没有查询到所述目标I/O设备的相关信息,则所述数据库向所述PLC I/O数据管理模块发送查询失败通知。
可选地,所述多PLC I/O调度模块,进一步用于:
S31、所述多PLC I/O调度模块通过PLC网络拓扑管理模块查询主PLC以及从PLC的通信状况是否正常;
S32a、如果通信状态正常,则将所述主PLC作为OPC UA客户端,将所述从PLC作为OPC UA服务端,使所述主PLC与所述从PLC之间建立基于OPC UA协议的连接;
S32b、如果通信状态异常,则所述多PLC I/O调度模块对所述主PLC与所述从PLC之间的通信任务分配相应的优先级,按照优先级调度所述主PLC与所述从PLC之间的通信任务。
可选地,所述目标I/O设备的相关信息,包括:目标I/O设备的序列号,目标I/O设备采用的通信协议,以及目标I/O设备的变量名称、变量地址和变量值。
可选地,所述主PLC,进一步用于:
所述主PLC通过I/O变量处理模块将所述主PLC的序列号、从PLC的序列号、目标I/O设备的序列号,目标I/O设备采用的通信协议、以及目标I/O设备的变量名称、变量地址和变量值封装成第一数据帧,通过OPC UA协议发送给所述从PLC。
本发明实施例中,当多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设备间高效通信。
图7是本发明实施例提供的一种电子设备700的结构示意图,该电子设备可以是多PLC I/O调度器、主PLC或从PLC。该电子设备700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)701和一个或一个以上的存储器702,其中,所述存储器702中存储有至少一条指令,所述至少一条指令由所述处理器701加载并执行以实现上述中文文本拼写检查方法的步骤。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成上述中文文本拼写检查方法。例如,所述计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于多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设备的序列号和相关信息;
所述方法包括:
S1、当所述多PLC I/O调度器接收到某个PLC发出的请求信息后,所述多PLC I/O调度器获取所述请求信息中的目标I/O设备的序列号;
S2、所述多PLC I/O调度器根据目标I/O设备的序列号,在所述数据库中查找目标I/O设备是否存在,如果目标I/O设备存在,则将发出请求信息的PLC标记为主PLC,将与所述目标I/O设备相连接的PLC设置为从PLC,将所述目标I/O设备的相关信息发送给所述主PLC;
S3、所述主PLC与所述从PLC建立连接;
S4、所述主PLC基于I/O变量处理模块,向所述从PLC发送第一数据帧;其中,所述第一数据帧包括目标I/O设备的相关信息;
S5、所述从PLC接收第一数据帧,通过I/O变量解析模块对所述第一数据帧进行解析,获取目标I/O设备的相关信息,根据所述目标I/O设备的相关信息进行变量采集;
S6、所述从PLC通过I/O变量处理模块将采集到的变量封装成第二数据帧,通过OPC UA协议发送给所述主PLC;
S7、所述主PLC接收第二数据帧,通过I/O变量解析模块对所述第二数据帧进行解析,得到目标I/O设备的数据,存储所述数据。
2.根据权利要求1所述的方法,其特征在于,所述多PLC I/O调度器包括多PLC I/O调度模块、通信请求处理模块、PLC I/O数据管理模块以及PLC网络拓扑管理模块。
3.根据权利要求2所述的方法,其特征在于,所述S1的当所述多PLC I/O调度器接收到某个PLC发出的请求信息后,所述多PLC I/O调度器获取所述请求信息中的目标I/O设备的序列号,包括:
S11、所述多PLC I/O调度模块根据预设周期对所有PLC的通信请求进行扫描;
S12、当所述多PLC I/O调度模块扫描到某个PLC的通信请求时,通过所述通信请求处理模块接收所述PLC发出的请求信息;
S13、所述通信请求处理模块对所述请求信息进行解析,获取所述请求信息中携带的目标I/O设备的序列号。
4.根据权利要求2所述的方法,其特征在于,所述S2的所述多PLC I/O调度器根据目标I/O设备的序列号,在所述数据库中查找目标I/O设备是否存在,包括:
S21、所述PLC I/O数据管理模块向所述数据库发送携带有目标I/O设备的序列号的查询请求;
S22、所述数据库根据查询请求中的目标I/O设备的序列号进行查询;
S23、如果数据库查询到所述目标I/O设备的相关信息,则所述数据库将所述目标I/O设备的相关信息发送至所述PLC I/O数据管理模块,如果数据库没有查询到所述目标I/O设备的相关信息,则所述数据库向所述PLC I/O数据管理模块发送查询失败通知。
5.根据权利要求2所述的方法,其特征在于,所述S3的所述主PLC与所述从PLC建立连接,包括:
S31、所述多PLC I/O调度模块通过PLC网络拓扑管理模块查询主PLC以及从PLC的通信状况是否正常;
S32a、如果通信状态正常,则将所述主PLC作为OPC UA客户端,将所述从PLC作为OPC UA服务端,使所述主PLC与所述从PLC之间建立基于OPC UA协议的连接;
S32b、如果通信状态异常,则所述多PLC I/O调度模块对所述主PLC与所述从PLC之间的通信任务分配相应的优先级,按照优先级调度所述主PLC与所述从PLC之间的通信任务。
6.根据权利要求1所述的方法,其特征在于,所述目标I/O设备的相关信息,包括:目标I/O设备的序列号,目标I/O设备采用的通信协议,以及目标I/O设备的变量名称、变量地址和变量值。
7.根据权利要求6所述的方法,其特征在于,所述S4的所述主PLC基于I/O变量处理模块,向所述从PLC发送第一数据帧,包括:
所述主PLC通过I/O变量处理模块将所述主PLC的序列号、从PLC的序列号、目标I/O设备的序列号,目标I/O设备采用的通信协议、以及目标I/O设备的变量名称、变量地址和变量值封装成第一数据帧,通过OPC UA协议发送给所述从PLC。
8.一种基于多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设备的序列号和相关信息;
其中:
所述多PLC I/O调度器,用于接收到某个PLC发出的请求信息,获取所述请求信息中的目标I/O设备的序列号;根据目标I/O设备的序列号,在所述数据库中查找目标I/O设备是否存在,如果目标I/O设备存在,则将发出请求信息的PLC标记为主PLC,将与所述目标I/O设备相连接的PLC设置为从PLC,将所述目标I/O设备的相关信息发送给所述主PLC;
所述主PLC,用于与所述从PLC建立连接,基于I/O变量处理模块,向所述从PLC发送第一数据帧;其中,所述第一数据帧包括目标I/O设备的相关信息;接收第二数据帧,通过I/O变量解析模块对所述第二数据帧进行解析,得到目标I/O设备的数据,存储所述数据;
所述从PLC,用于与所述主PLC建立连接,接收第一数据帧,通过I/O变量解析模块对所述第一数据帧进行解析,获取目标I/O设备的相关信息,根据所述目标I/O设备的相关信息进行变量采集;所述从PLC通过I/O变量处理模块将采集到的变量封装成第二数据帧,通过OPC UA协议发送给所述主PLC。
9.根据权利要求8所述的系统,其特征在于,所述多PLC I/O调度器包括多PLC I/O调度模块、通信请求处理模块、PLC I/O数据管理模块以及PLC网络拓扑管理模块。
10.根据权利要求9所述的系统,其特征在于,所述多PLC I/O调度器,进一步用于:
S11、所述多PLC I/O调度模块根据预设周期对所有PLC的通信请求进行扫描;
S12、当所述多PLC I/O调度模块扫描到某个PLC的通信请求时,通过所述通信请求处理模块接收所述PLC发出的请求信息;
S13、所述通信请求处理模块对所述请求信息进行解析,获取所述请求信息中携带的目标I/O设备的序列号。
CN202311436776.3A 2023-11-01 2023-11-01 一种基于多plc互联的i/o设备远程控制方法及系统 Active CN117148781B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311436776.3A CN117148781B (zh) 2023-11-01 2023-11-01 一种基于多plc互联的i/o设备远程控制方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311436776.3A CN117148781B (zh) 2023-11-01 2023-11-01 一种基于多plc互联的i/o设备远程控制方法及系统

Publications (2)

Publication Number Publication Date
CN117148781A true CN117148781A (zh) 2023-12-01
CN117148781B CN117148781B (zh) 2024-02-27

Family

ID=88899247

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311436776.3A Active CN117148781B (zh) 2023-11-01 2023-11-01 一种基于多plc互联的i/o设备远程控制方法及系统

Country Status (1)

Country Link
CN (1) CN117148781B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102541038A (zh) * 2012-02-28 2012-07-04 华电新疆发电有限公司乌鲁木齐热电厂 基于rs485串行通讯网络的多台异种变频器控制方法
US20180225135A1 (en) * 2017-02-09 2018-08-09 Kyland Technology Co.,Ltd. Heterogeneous field devices control management system based on industrial internet operating system
CN108628267A (zh) * 2018-04-26 2018-10-09 北京大学 一种物方扫描成像系统的分离式、分布式操控方法
CN112290674A (zh) * 2020-10-07 2021-01-29 刘文祥 一种采用互联网自动控制的智能电网
CN113625654A (zh) * 2021-08-13 2021-11-09 杭州航民达美染整有限公司 基于plc的工业设备远程控制方法及装置
CN116382189A (zh) * 2023-04-25 2023-07-04 河钢数字技术股份有限公司 Plc控制系统、方法及io分集合并装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102541038A (zh) * 2012-02-28 2012-07-04 华电新疆发电有限公司乌鲁木齐热电厂 基于rs485串行通讯网络的多台异种变频器控制方法
US20180225135A1 (en) * 2017-02-09 2018-08-09 Kyland Technology Co.,Ltd. Heterogeneous field devices control management system based on industrial internet operating system
CN108628267A (zh) * 2018-04-26 2018-10-09 北京大学 一种物方扫描成像系统的分离式、分布式操控方法
CN112290674A (zh) * 2020-10-07 2021-01-29 刘文祥 一种采用互联网自动控制的智能电网
CN113625654A (zh) * 2021-08-13 2021-11-09 杭州航民达美染整有限公司 基于plc的工业设备远程控制方法及装置
CN116382189A (zh) * 2023-04-25 2023-07-04 河钢数字技术股份有限公司 Plc控制系统、方法及io分集合并装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
许祁玉: "基于OPC的远程多PLC实时监测系统的设计与实现", 山东煤炭科技, no. 02, pages 123 - 125 *

Also Published As

Publication number Publication date
CN117148781B (zh) 2024-02-27

Similar Documents

Publication Publication Date Title
CN108400917B (zh) 一种面向智能制造的边缘计算网关及系统
Wang et al. An integrated industrial ethernet solution for the implementation of smart factory
US8943188B2 (en) Automation network comprising network components that produce status messages
CN101784968B (zh) 控制节点网络规划装置及具此规划装置的系统
CN106549864B (zh) 一种云网关的通信实现方法
CN113055478A (zh) 一种设备数据的处理方法、装置、设备及介质
Theiss et al. Software agents in industry: A customized framework in theory and praxis
CN111314371A (zh) 基于智能网关技术的边缘设备接入系统及接入方法
JP2002023812A (ja) 自動制御システムおよび自動制御方法
Lam et al. Dynamical orchestration and configuration services in industrial iot systems: An autonomic approach
CN113766026B (zh) 一种应用于能源工业网的数据处理方法及系统
CN117148781B (zh) 一种基于多plc互联的i/o设备远程控制方法及系统
CN111077851A (zh) 一种基于气相色谱雾计算框架的化工过程故障诊断系统
Cavalieri Meeting real-time constraints in CAN
CN116016579A (zh) 一种自动化设备的数据采集系统
CN116743886A (zh) 基于物联网的工业控制设备数据采集系统
CN115086403A (zh) 一种针对泛在异构接入的边缘计算网关微服务架构
Lv et al. Edge asset management based on administration shell in industrial cyber-physical systems
CN114760318A (zh) 一种边缘计算管理方法及系统
WO2013121572A1 (ja) 分散システムにおける異種システムデータ提供方法
CN115037639B (zh) 边缘数据平台接口信息的处理方法、装置、设备及介质
WO2020012896A1 (ja) 制御システム、検索装置および検索プログラム
KR20210066595A (ko) 이기종 레거시 프로토콜과의 연동을 위한 스마트공장 엣지디바이스
Dadji et al. A communication architecture for distributed real-time robot control
Wang et al. Information-centric industrial Internet of Things: Service model

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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Ma Zhangchao

Inventor after: Wang Jianquan

Inventor after: Yang Jintao

Inventor after: Chen Le

Inventor after: Dong Pi

Inventor after: Li Wei

Inventor after: Shi Yuchen

Inventor before: Ma Zhangchao

Inventor before: Wang Jianquan

Inventor before: Yang Jintao

Inventor before: Chen Le

Inventor before: Dong Pi

Inventor before: Li Wei

Inventor before: Shi Yuchen

GR01 Patent grant
GR01 Patent grant