CN114791723B - 一种大型plc系统及其数据压缩方法 - Google Patents
一种大型plc系统及其数据压缩方法 Download PDFInfo
- Publication number
- CN114791723B CN114791723B CN202210512128.0A CN202210512128A CN114791723B CN 114791723 B CN114791723 B CN 114791723B CN 202210512128 A CN202210512128 A CN 202210512128A CN 114791723 B CN114791723 B CN 114791723B
- Authority
- CN
- China
- Prior art keywords
- data
- module
- bottom plate
- communication module
- message
- 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
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/054—Input/output
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/11—Plc I-O input output
- G05B2219/1103—Special, intelligent I-O processor, also plc can only access via processor
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明提出了一种大型PLC系统,包括主站模块和从站模块,主站模块包括CPU模块和主站通信模块、从站模块包括IO模块和从站通信模块,本发明的大型PLC系统,能够减少从站模块和主站模块的上重复冗余数据传输,提升大型PLC系统的工作效率。本发明还提供了一种大型PLC系统数据压缩方法,通过在报文中打上特定重复数据标识,压缩通信过程中传输的冗余数据,来降低实际数据传输吞吐率,从而起到提升系统有效数据处理性能的目的,节约更多的资源成本。
Description
技术领域
本发明涉及PLC数据处理技术领域,特别涉及一种大型PLC系统及其数据压缩方法。
背景技术
可编程逻辑控制器(Programmable Logic Controller,PLC),是一种具有微处理器的用于自动化控制的数字运算控制器,可以将控制指令随时载入内存进行储存与执行。
可编程控制器由CPU模块、通信模块、IO模块、电源模块等功能单元组成。其中,处理器单元(CPU),是PLC的控制中枢,也是PLC的核心部件,它解释输入、执行存储在内存中的控制程序并发送输出信号。
随着集成电路与通信技术发展,以及工业自动化要求的不断提高,逐渐演化出CPU模块和IO模块之间通过各级通信模块相连的中大型PLC形态,一个CPU模块可扩展出上万个IO点进行逻辑控制,极大拓展了PLC的适用范围。
在大型IO系统中传输的数据,分为周期数据和非周期数据:周期数据一般是状态数据,如I/O点的状态,而非周期数据一般是指令数据,如上位机进行了重新配置,需要将参数下发至IO模块。
以从站共有4块背板,每块背板上插8块DI/DO、2块AI/AO的典型大型PLC系统应用场景为例,DI/DO模块周期数据长度len=12B(报文头+数据),AI/AO模块周期数据长度len=40B(报文头+数据),若各从站通信模块扫描周期为t1=10ms,各主站通信模块扫描周期为t2=20ms。
在大型PLC系统实际运行过程中,因为需要周期传输大量I/O点位状态数据,这些数据本身变化速率和系统扫描周期(10~20ms)相比较慢,例如,继电器输出型DO点,动作频率一般在10次/分钟以下,因此大多数情况下,从站背板模块和主站通信总线,周期传输的都是重复冗余数据。大量的重复冗余的数据传输,造成数据传输的较大负担,浪费了更多的资源,降低了PLC系统的整体性能。
发明内容
本发明的目的旨在至少解决所述技术缺陷之一。
为此,本发明的一个目的在于提出一种大型PLC系统,以解决背景技术中所提到的问题,克服现有技术中存在的不足。
为了实现上述目的,本发明一方面的实施例提供一种大型PLC系统,包括主站模块和从站模块,主站模块包括CPU模块和主站通信模块,从站模块包括IO模块和从站通信模块;
CPU模块用于从主站通信模块读取数据并进行逻辑运算处理;主站通信模块用于与从站通信模块交互第一通信数据;从站通信模块用于与IO模块交互第二通信数据;IO模块用于接收或输出数据。
从站通信模块与IO模块交互第二通信数据过程中,对第二通信数据进行重复性判断和标记,第二通信数据包括多个第二报文,从站通信模块对第二通信数据进行重复性判断和标记具体为:首先,在每个第二报文中添加1Byte数据变化标识,其次,判断当前传输的第二报文是否与上一次传输的第二报文相同,如果相同,则将当前传输的第二报文中的数据变化标识标记为无效数据,如果不相同,则将当前传输的第二报文中的数据变化标识标记为有效数据。
优选的是,从站通信模块还包括用于在与主站通信模块交互第一通信数据过程中,对第一通信数据进行重复性判断和标记,通过添加码位表,对第一通信数据的有效数据进行标记。
在上述任一方案中优选的是,第一通信数据包括多个第一报文,从站通信模块对第一通信数据进行重复性判断和标记具体为:首先,在每个第一报文中添加8Byte数据变化标识码位表,其次,判断当前交互的第一报文上的码位表中的槽位的数据与上一次交互的第一报文上的码位表中对应的槽位的数据是否相同,如果相同,则将当前交互的第一报文中码位表槽位标记为无效数据不进行传输,如果不相同,则将当前交互的第一报文中码位表上的不相同的槽位的数据,标记为有效数据进行传输。
在上述任一方案中优选的是,码位表包括第一底板、第二底板、第三底板和第四底板;第一底板、第二底板、第三底板和第四底板按照顺序纵向排列,第一底板、第二底板、第三底板和第四底板分别包括16个槽位。
本发明还提供了一种大型PLC系统数据压缩方法,包括:
步骤S1:在从站通信模块和IO模块交互的每个第二报文中,分别添加1Byte数据变化标识。
步骤S2:判断当前交互的第二报文与上一次交互的第二报文是否相同;如果相同,则将当前交互的第二报文标记为无效数据,如果不同,则将当前交互的第二报文标记为有效数据并进行传输。
优选的是,还包括:
步骤S3:在主站通信模块和从站通信模块交互的每个第一报文中,分别添加8Byte数据变化标识码位表;
步骤S4:判断当前交互的第一报文上的码位表中的槽位的数据与上一次交互的第一报文上的码位表中对应的槽位的数据是否相同,如果相同,则将当前交互的第一报文中码位表槽位标记为无效数据不进行传输,如果不相同,则将当前交互的第一报文中码位表上的不相同的槽位的数据,标记为有效数据进行传输。
在上述任一方案中优选的是,码位表包括第一底板、第二底板、第三底板和第四底板;第一底板、第二底板、第三底板和第四底板按照顺序纵向排列,第一底板、第二底板、第三底板和第四底板分别包括16个槽位。
与现有技术相比,本发明所具有的优点和有益效果为:
1、本发明的一种大型PLC系统减少从站模块和主站模块的上重复冗余数据传输,通过在报文中打上特定重复数据标识,压缩通信过程中传输的冗余数据,来降低实际数据传输吞吐率,从而起到提升系统有效数据处理性能的目的,提升大型PLC系统的工作效率。
2、本发明的一种大型PLC系统与传统方案相比,从站通信模块底板周期数据传输吞吐率、主站总线周期数据传输吞吐率都有大幅改善,降低了各从站模块以及各主站模块的数据传输负荷。
3、本发明的一种大型PLC系统数据压缩方法,通过在报文中打上特定重复数据标识,压缩通信过程中传输的冗余数据,来降低实际数据传输吞吐率,将重复数据在各从站就完成过滤,无需送到CPU进行分析、处理,降低了CPU处理无效数据的消耗,提升了大型PLC系统的整体性能。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明实施例一种大型PLC系统的结构框图;
图2为根据本发明实施例一种大型PLC系统从站通信模块与IO模块交互数据的结构框图;
图3为根据本发明实施例一种大型PLC系统主站通信模块与从站模块交互数据的结构框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
如图1所示,本发明实施例的一种大型PLC系统,包括主站模块、从站模块,主站模块包括CPU模块和主站通信模块,从站模块包括IO模块和从站通信模块。
CPU模块用于从主站通信模块读取数据并进行逻辑运算处理;主站通信模块用于与从站通信模块交互第一通信数据;从站通信模块用于与IO模块交互第二通信数据;IO模块用于接收或输出数据。IO模块包括DI(数字量输入)、DO(数字量输出)、AI(模拟量输入)、AO(模拟量输出)。
如图2所示,从站通信模块与IO模块交互第二通信数据过程中,即从站通信模块在向IO模块传输数据的过程中,对第二通信数据进行重复性判断和标记,第二通信数据包括多个第二报文,从站通信模块对第二通信数据进行重复性判断和标记具体为:首先,在每个第二报文中添加1Byte数据变化标识,其次,判断当前传输的第二报文是否与上一次传输的第二报文相同,如果相同,则将当前传输的第二报文中的数据变化标识标记为无效数据,如果不相同,则将当前传输的第二报文中的数据变化标识标记为有效数据。
当IO模块在于从站通信模块交互的第二通信数据过程中,即IO模块在向从站通信模块传输数据的过程中,对第二通信数据进行重复性判断和标记,第二通信数据包括多个第二报文,IO模块对第二通信数据进行重复性判断和标记具体为:首先,在每个第二报文中添加1Byte数据变化标识,其次,判断当前传输的第二报文是否与上一次传输的第二报文相同,如果相同,则将当前传输的第二报文中的数据变化标识标记为无效数据,如果不相同,则将当前传输的第二报文中的数据变化标识标记为有效数据。
本发明的一种大型PLC系统减少从站模块和主站模块的上重复冗余数据传输,通过在报文中打上特定重复数据标识,压缩通信过程中传输的冗余数据,来降低实际数据传输吞吐率,从而起到提升系统有效数据处理性能的目的,提升大型PLC系统的工作效率。
具体的,从站通信模块还包括用于在与主站通信模块交互第一通信数据过程中,即从站通信模块向主站通信模块发送数据的时候,对第一通信数据进行重复性判断和标记,通过添加码位表,对第一通信数据的有效数据进行标记。
可选的,如图3所示,第一通信数据包括多个第一报文,从站通信模块对第一通信数据进行重复性判断和标记具体为:首先,在每个第一报文中添加8Byte数据变化标识码位表,其次,判断当前交互的第一报文上的码位表中的槽位的数据与上一次交互的第一报文上的码位表中对应的槽位的数据是否相同,如果相同,则将当前交互的第一报文中码位表槽位标记为无效数据不进行传输,如果不相同,则将当前交互的第一报文中码位表上的不相同的槽位的数据,标记为有效数据进行传输。码位表包括第一底板、第二底板、第三底板和第四底板;第一底板、第二底板、第三底板和第四底板按照顺序纵向排列,第一底板、第二底板、第三底板和第四底板分别包括16个槽位。
主站通信模块在与从站通信模块交互第一通信数据过程中,即主站通信模块向从站通信模块发送数据的时候,对第一通信数据进行重复性判断和标记,通过添加码位表,对第一通信数据的有效数据进行标记。
第一通信数据包括多个第一报文,主站通信模块对第一通信数据进行重复性判断和标记具体为:首先,在每个第一报文中添加8Byte数据变化标识码位表,其次,判断当前交互的第一报文上的码位表中的槽位的数据与上一次交互的第一报文上的码位表中对应的槽位的数据是否相同,如果相同,则将当前交互的第一报文中码位表槽位标记为无效数据不进行传输,如果不相同,则将当前交互的第一报文中码位表上的不相同的槽位的数据,标记为有效数据进行传输。码位表包括第一底板、第二底板、第三底板和第四底板;第一底板、第二底板、第三底板和第四底板按照顺序纵向排列,第一底板、第二底板、第三底板和第四底板分别包括16个槽位。
在现有技术中的大型PLC系统中时刻传输着大量的周期数据,以数据从IO模块数据传输到CPU模块这一方向的过程为例,首先,由IO模块周期性进行采样,采样输入输出点数据,并保存至缓冲区,其次,从站通信模块通过背板,周期性的从IO模块缓冲区读取数据,并保存至本从站模块缓冲区;其次,主站通信模块周期通过通信总线,如以太网总线,从从站通信模块缓冲区读取数据,并保存至主站通信模块缓冲区;最后,CPU模块通过背板,周期性从主站通信模块缓冲区读取数据,进行逻辑运算处理。主站模块和从站模块可以为多个。
在IO模块与从站通信模块交互数据的过程中,从站通信模块吞吐率计算公式为:
其中各参数含义:
x:从站上背板数量。
i:从站编号。
k:从站上所配置IO模块编号。
n:从站上所配置IO模块数量。
lenk:从站上IO模块k通过背板周期传输数据长度Byte。
t1:从站通信模块扫描周期。
通过计算,以上场景各从站通信模块与IO模块数据传输吞吐率为:
主站通信模块和从站通信模块数据交互中,主站通信模块吞吐率计算公式为:
其中各参数含义:
i:从站编号。
m:主站通信总线上所接从站数量。
leni:从站通过通信总线先主站周期传输的数据长度Byte。
t2:主站通信模块扫描周期。
以共有50个同以上架构的从站模块组成的大型PLC系统为例,通过计算,以上场景各主站通信模块与所有从站模块数据传输吞吐率为:
在以上大型PLC系统实际运行过程中,因为需要周期传输大量I/O点位状态数据,这些数据本身变化速率和系统扫描周期为10—20ms相比较慢,例如,输出型DO点,动作频率一般在10次/分钟以下,因此大多数情况下,从站模块和主站模块的交互数据,周期传输的大部分都是重复冗余数据。
在本发明的大型PLC系统的实施例中,假设应用场景中,每个IO模块周期传输的数据每1s变化一次,传输周期为10ms,也即:1s内传输了100次数据,其中99次为重复数据,1次为有效数据。在一个从站上,从站通信模块与IO模块在数据交互中,一个AI数字输入和该从站1s内传输100次数据为例,本发明的大型PLC系统采用一种1B报文头来标识各从站IO模块数据是否变化,标记为“1”表示标识数据发生变化,标记为“1”表示标识数据发生变化,传输标记为“1”标识的有效数据,标记为“0”表示标识数据未发生变化,不传输数据:基于以上假设的各从站通信模块吞吐率计算公式变为:
其中各参数含义:
i:从站编号。
m:主站通信总线上所接从站数量。
lenk:从站上IO模块k通过背板周期传输无效数据长度Byte。
lenV:从站上IO模块k通过背板周期传输有效数据长度Byte。
1:1s内传输了1个变化有效数据。
99:1s内传输了99个未变化无效数据。
通过计算,同一应用场景下,本发明所述方案从站通信模块与IO模块数据传输吞吐率为:
对于传输的数字量数据的重复判断:主要判断的是数据点位有没有发生变化,如果点位从0-1变换或点位从1-0变换,即判断为点位发生了变化,则将报文头标记为“1”;如果点位没有发生变化,则将报文头标记为“0”。
对于传输的模拟量数据的重复判断:通过设置一个阀值条件;例如设置码值变化范围0-20000;设置阀值条件为20;如果模拟量的码值从10000变化到10010,变化量为10,变化值小于设置的阀值,即判断为没有发生变化,将报文头标记为“0”。如果模拟量码值从10000变化到10030,变化量为30,变化值大于设置的阀值,即判断发生变化,将报文头标记为“1”。
本发明方案中在主站通信模块和从站通信模块交互的第一报文中插入64位8B码位表来标识各从站上数据是否变化,从站通信模块根据IO模块发过来的数据判断,此IO模块在本扫描周期数据是否发生变化。如果发生了变化,则传输变化的数据,如果没有发生变化,则不传输。码位表包括第一底板、第二底板、第三底板和第四底板;第一底板、第二底板、第三底板和第四底板按照从上到下的顺序纵向排列,第一底板、第二底板、第三底板和第四底板分别包括16个槽位。
对于传输的数字量数据的重复判断:主要判断的是数据点位有没有发生变化,如果点位从0-1变换或点位从1-0变换,即判断为点位发生了变化,则将与点位相对应的槽位标记为“1”,仅传输与槽位标记为“1”的相对应的数据。如果点位没有发生变化,则将没有变化点位相对应的槽位标记为“0”,不传输数据。
对于传输的模拟量数据的重复判断:通过设置一个阀值条件;例如设置码值变化范围0-20000;设置阀值条件为20;如果模拟量的码值从10000变化到10010,变化量为10,变化值小于设置的阀值,即判断为没有发生变化,将与码值相对应的槽位标记为“0”,不传输数据。如果模拟量的码值从10000变化到10030,变化量为30,变化值大于设置的阀值,即判断为发生变化,将与码值相对应的槽位标记为“1”,仅传输与槽位标记为“1”的相对应的数据。
作为本发明的大型PLC系统的一实施例,假设应用场景中,每个从站通信模块周期传输的数据每1s变化一次,传输周期为10ms,也即:1s内传输了100次数据,其中99次为重复数据,1次为有效数据。基于以上假设主站通信模块和从站通信模块数据传输吞吐率计算公式变为:
其中各参数含义:
i:从站编号。
m:主站通信总线上所接从站数量。
leni:从站通过通信总线和主站周期传输的无效数据长度Byte。
lenV:从站通过通信总线和主站周期传输的有效数据长度Byte。
1:1s内传输了1个变化有效数据。
49:1s内传输了49个未变化无效数据。
通过计算,同一应用场景下,本发明所述方案主站通信模块和从站通信模块之间周期数据传输吞吐率为:
相对于传统方案和本发明方案大型PLC系统中,从站通信模块与IO模块之间周期数据传输吞吐率,即从站通信模块底板周期数据传输吞吐率为BW1、主站通信模块与从站模块数据传输吞吐率,即主站总线周期数据传输吞吐率为BW2的改善进行了对比:
吞吐率 | BW1(kbps) | BW2(kbps) |
传统方案 | 563.2 | 7840 |
本发明方案 | 31.8 | 473.6 |
提升比例 | 94% | 94% |
表1
如表1中对比所示,和传统方案相比,本发明方案大型PLC系统的从站通信模块底板周期数据传输吞吐率、主站总线周期数据传输吞吐率都有大幅改善,提升比例均达到了94%,降低了各从站底板以及各主站总线的数据传输负荷。
并且,重复数据在各从站就完成过滤,无需送到CPU进行分析、处理,降低了CPU处理无效数据的消耗,提升了大型PLC系统的整体性能。
本发明一种大型PLC系统在从站通信模块和从站IO模块交互的报文中,添加1Byte数据变化有效标识,若此标识为1,表示此IO模块存在有效数据传递给从站通信模块。在主站通信模块和从站通信模块交互的报文中,添加4Byte数据变化标识码位表,此码位表中某位置1,表示对应底板、对应槽位上的IO模块存在有效数据传递给主站通信模块。
本发明的一种大型PLC系统工作原理为:CPU模块与主站通信模块收发数据,主站通信模块通过与从站通信模块收发数据,在主站通信模块与从站通信模块交互数据时,通过向数据中的报文添加马位表来判断报文中的数据是否有变化,如果报文中数据相对于上一次的数据没有变化,则不传输数据,如果报文中的数据相对于上一次发送的数据发生了变化,则对码位表中的变化的数据对应的槽位进行标记,主站通信模块与从站通信模块只传输标记了变化的数据,从站通信模块与IO模块进行数据交互,在数据交互的过程中,通过添加数据变化标识来对数据报文进行标记,如果此次传输的报文相对于上次传输的报文发生了变化,则对变化的报文进行标记,从而从站通信模块与IO模块只传输变化的报文,没有变化的报文不用传输。
本发明一种大型PLC系统处理数据效率高,能够大大减轻CPU运行负担,提高PLC系统的运行效率。
本发明的另一实施例的一种大型PLC系统数据压缩方法,包括:
步骤S1:在从站通信模块和IO模块交互的每个第二报文中,分别添加1Byte数据变化标识;
步骤S2:判断当前交互的第二报文与上一次交互的第二报文是否相同;如果相同,则将当前交互的第二报文标记为无效数据,如果不同,则将当前交互的第二报文标记为有效数据并进行传输。
具体的,一种大型PLC系统数据压缩方法,还包括:
步骤S3:在主站通信模块和从站通信模块交互的每个第一报文中,分别添加8Byte数据变化标识码位表;
步骤S4:判断当前交互的第一报文上的码位表中的槽位的数据与上一次交互的第一报文上的码位表中对应的槽位的数据是否相同,如果相同,则将当前交互的第一报文中码位表槽位标记为无效数据不进行传输,如果不相同,则将当前交互的第一报文中码位表上的不相同的槽位的数据,标记为有效数据进行传输。
大型PLC系统中时刻传输着大量的周期数据,以数据从IO模块数据传输到CPU模块这一方向的过程为例,IO模块包括DI(数字量输入)、DO(数字量输出)、AI(模拟量输入)、AO(模拟量输出);首先,由IO模块周期性进行采样,采样输入输出点数据,并保存至缓冲区,其次,从站通信模块通过背板,周期性的从IO模块缓冲区读取数据,并保存至本从站模块缓冲区;其次,主站通信模块周期通过通信总线,如以太网总线,从从站通信模块缓冲区读取数据,并保存至主站通信模块缓冲区;最后,CPU模块通过背板,周期性从主站通信模块缓冲区读取数据,进行逻辑运算处理。主站模块和从站模块可以为多个。
在IO模块与从站通信模块交互数据的过程中,从站通信模块吞吐率计算公式为:
其中各参数含义:
x:从站上背板数量。
i:从站编号。
k:从站上所配置IO模块编号。
n:从站上所配置IO模块数量。
lenk:从站上IO模块k通过背板周期传输数据长度Byte。
t1:从站通信模块扫描周期。
通过计算,以上场景各从站通信模块与IO模块数据传输吞吐率为:
主站通信模块和从站通信模块数据交互中,主站通信模块吞吐率计算公式为:
其中各参数含义:
i:从站编号。
m:主站通信总线上所接从站数量。
leni:从站通过通信总线先主站周期传输的数据长度Byte。
t2:主站通信模块扫描周期。
以共有50个同以上架构的从站模块组成的大型PLC系统为例,通过计算,以上场景各主站通信模块与所有从站模块数据传输吞吐率为:
在以上大型PLC系统实际运行过程中,因为需要周期传输大量I/O点位状态数据,这些数据本身变化速率和系统扫描周期为10—20ms相比较慢,例如,输出型DO点,动作频率一般在10次/分钟以下,因此大多数情况下,从站模块和主站模块的交互数据,周期传输的大部分都是重复冗余数据。
作为本发明的一种大型PLC系统数据压缩方法,假设应用场景中,每个IO模块周期传输的数据每1s变化一次,传输周期为10ms,也即:1s内传输了100次数据,其中99次为重复数据,1次为有效数据。在一个从站上,从站通信模块与IO模块在数据交互中,一个AI数字输入和该从站1s内传输100次数据为例,本发明采用一种1B报文头来标识各从站IO模块数据是否变化,标记为“1”表示标识数据发生变化,传输标记为“1”标识的有效数据,标记为“0”表示标识数据未发生变化,不传输数据:基于以上假设的各从站通信模块吞吐率计算公式变为:
其中各参数含义:
i:从站编号。
m:主站通信总线上所接从站数量。
lenk:从站上IO模块k通过背板周期传输无效数据长度Byte。
lenV:从站上IO模块k通过背板周期传输有效数据长度Byte。
1:1s内传输了1个变化有效数据。
99:1s内传输了99个未变化无效数据。
通过计算,同一应用场景下,本发明所述方案从站通信模块与IO模块数据传输吞吐率为:
对于传输的数字量数据的重复判断:主要判断的是数据点位有没有发生变化,如果点位从0-1变换或点位从1-0变换,即判断为点位发生了变化,则将与点位相对应的槽位标记为“1”,仅传输与槽位标记为“1”的相对应的数据。如果点位没有发生变化,则将没有变化点位相对应的槽位标记为“0”,不传输数据槽位为“0”对应的数据。
对于传输的模拟量数据的重复判断:通过设置一个阀值条件;例如设置码值变化范围0-20000;设置阀值条件为20;如果模拟量的码值从10000变化到10010,变化量为10,变化值小于设置的阀值,即判断为没有发生变化,将与码值相对应的槽位标记为“0”,不传输数据槽位为“0”对应的数据。如果模拟量的码值从10000变化到10030,变化量为30,变化值大于设置的阀值,即判断为发生变化,将与码值相对应的槽位标记为“1”,仅传输与槽位标记为“1”的相对应的数据。
本发明在主站通信模块和从站通信模块交互的第一报文中插入64位8B码位表来标识各从站上数据是否变化,从站通信模块根据IO模块发过来的数据判断,此IO模块在本扫描周期数据是否发生变化。码位表包括第一底板、第二底板、第三底板和第四底板;第一底板、第二底板、第三底板和第四底板按照从上到下的顺序纵向排列,第一底板、第二底板、第三底板和第四底板分别包括16个槽位。
对于传输的数字量数据的重复判断:主要判断的是数据点位有没有发生变化,如果点位从0-1变换或点位从1-0变换,即判断为点位发生了变化,则将与点位相对应的槽位标记为“1”。如果点位没有发生变化,则将没有变化点位相对应的槽位标记为“0”。
对于传输的模拟量数据的重复判断:通过设置一个阀值条件;例如设置码值变化范围0-20000;设置阀值条件为20;如果模拟量的码值从10000变化到10010,变化量为10,变化值小于设置的阀值,即判断为没有发生变化,将与码值相对应的槽位标记为“0”。如果模拟量的码值从10000变化到10030,变化量为30,变化值大于设置的阀值,即判断为发生变化,将与码值相对应的槽位标记为“1”。
作为本发明的一种大型PLC系统数据压缩方法的一实施例,假设应用场景中,每个从站通信模块周期传输的数据每1s变化一次,传输周期为10ms,也即:1s内传输了100次数据,其中99次为重复数据,1次为有效数据。基于以上假设主站通信模块和从站通信模块数据传输吞吐率计算公式变为:
其中各参数含义:
i:从站编号。
m:主站通信总线上所接从站数量。
leni:从站通过通信总线和主站周期传输的无效数据长度Byte。
lenV:从站通过通信总线和主站周期传输的有效数据长度Byte。
1:1s内传输了1个变化有效数据。
49:1s内传输了49个未变化无效数据。
通过计算,同一应用场景下,本发明所述方案主站通信模块和从站通信模块之间周期数据传输吞吐率为:
相对于传统方案和本发明方案中,从站通信模块与IO模块之间周期数据传输吞吐率,即从站通信模块底板周期数据传输吞吐率为BW1、主站通信模块与从站模块数据传输吞吐率,即主站总线周期数据传输吞吐率为BW2的改善进行了对比:
吞吐率 | BW1(kbps) | BW2(kbps) |
传统方案 | 563.2 | 7840 |
本发明方案 | 31.8 | 473.6 |
提升比例 | 94% | 94% |
表2
如表2中对比所示,和传统方案相比,本发明一种大型PLC系统数据压缩方法方案的从站通信模块底板周期数据传输吞吐率、主站总线周期数据传输吞吐率都有大幅改善,提升比例均达到了94%,降低了各从站底板以及各主站总线的数据传输负荷。
并且,重复数据在各从站就完成过滤,无需送到CPU进行分析、处理,降低了CPU处理无效数据的消耗,提升了大型PLC系统的整体性能。
本发明一种大型PLC系统数据压缩方法通过对重复数据的压缩,只传输有效数据,节省更多的资源,避免无效数据的传输,节约更多的成本。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。本发明的范围由所附权利要求及其等同限定。
Claims (7)
1.一种大型PLC系统,其特征在于,包括主站模块和从站模块,所述主站模块包括CPU模块和主站通信模块,所述从站模块包括IO模块和从站通信模块;
所述CPU模块用于从所述主站通信模块读取数据并进行逻辑运算处理;所述主站通信模块用于与所述从站通信模块交互第一通信数据;所述从站通信模块用于与所述IO模块交互第二通信数据;所述IO模块用于接收或输出数据;
所述从站通信模块与IO模块交互第二通信数据过程中,对所述第二通信数据进行重复性判断和标记,所述第二通信数据包括多个第二报文,所述从站通信模块对所述第二通信数据进行重复性判断和标记具体为:首先,在每个所述第二报文中添加1Byte数据变化标识,其次,判断当前传输的第二报文是否与上一次传输的第二报文相同,如果相同,则将当前传输的第二报文中的数据变化标识标记为无效数据,如果不相同,则将当前传输的第二报文中的数据变化标识标记为有效数据。
2.如权利要求1所述的一种大型PLC系统,其特征在于,所述从站通信模块还包括用于在与主站通信模块交互第一通信数据过程中,对所述第一通信数据进行重复性判断和标记,通过添加码位表,对第一通信数据的有效数据进行标记。
3.如权利要求2所述的一种大型PLC系统,其特征在于,所述第一通信数据包括多个第一报文,所述从站通信模块对所述第一通信数据进行重复性判断和标记具体为:首先,在每个所述第一报文中添加8Byte数据变化标识码位表,其次,判断当前交互的第一报文上的码位表中的槽位的数据与上一次交互的第一报文上的码位表中对应的槽位的数据是否相同,如果相同,则将当前交互的第一报文中码位表槽位标记为无效数据不进行传输,如果不相同,则将当前交互的第一报文中码位表上的不相同的槽位的数据,标记为有效数据进行传输。
4.如权利要求3所述的一种大型PLC系统,其特征在于,所述码位表包括第一底板、第二底板、第三底板和第四底板;所述第一底板、所述第二底板、所述第三底板和所述第四底板按照顺序纵向排列,所述第一底板、所述第二底板、所述第三底板和所述第四底板分别包括16个槽位。
5.一种大型PLC系统数据压缩方法,其特征在于,包括:
步骤S1:在从站通信模块和IO模块交互的每个第二报文中,分别添加1Byte数据变化标识;
步骤S2:判断当前交互的第二报文与上一次交互的第二报文是否相同;如果相同,则将当前交互的第二报文标记为无效数据,如果不同,则将当前交互的第二报文标记为有效数据并进行传输。
6.如权利要求5所述的一种大型PLC系统数据压缩方法,其特征在于,一种大型PLC系统数据压缩方法,其特征在于,还包括:
步骤S3:在主站通信模块和从站通信模块交互的每个所述第一报文中,分别添加8Byte数据变化标识码位表;
步骤S4:判断当前交互的第一报文上的码位表中的槽位的数据与上一次交互的第一报文上的码位表中对应的槽位的数据是否相同,如果相同,则将当前交互的第一报文中码位表槽位标记为无效数据不进行传输,如果不相同,则将当前交互的第一报文中码位表上的不相同的槽位的数据,标记为有效数据进行传输。
7.如权利要求6所述的一种大型PLC系统数据压缩方法,其特征在于,所述码位表包括第一底板、第二底板、第三底板和第四底板;所述第一底板、所述第二底板、所述第三底板和所述第四底板按照顺序纵向排列,所述第一底板、所述第二底板、所述第三底板和所述第四底板分别包括16个槽位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210512128.0A CN114791723B (zh) | 2022-05-11 | 2022-05-11 | 一种大型plc系统及其数据压缩方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210512128.0A CN114791723B (zh) | 2022-05-11 | 2022-05-11 | 一种大型plc系统及其数据压缩方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114791723A CN114791723A (zh) | 2022-07-26 |
CN114791723B true CN114791723B (zh) | 2023-09-29 |
Family
ID=82463815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210512128.0A Active CN114791723B (zh) | 2022-05-11 | 2022-05-11 | 一种大型plc系统及其数据压缩方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114791723B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19980074206A (ko) * | 1997-03-22 | 1998-11-05 | 이종수 | 피엘씨 리모트 이중화 시스템 및 제어방법 |
CN103716219A (zh) * | 2013-09-25 | 2014-04-09 | 华中科技大学 | 一种基于rs485协议的现场总线通信系统 |
CN105450489A (zh) * | 2015-12-02 | 2016-03-30 | 大连理工计算机控制工程有限公司 | 输出优先实现最短报文的HEBus高效现场总线系统及通信方法 |
CN111665778A (zh) * | 2020-05-29 | 2020-09-15 | 国电南瑞科技股份有限公司 | 一种plc控制器与上位机快速通讯传输和数据处理的方法 |
CN114443136A (zh) * | 2021-12-28 | 2022-05-06 | 上海繁易信息科技股份有限公司 | 一种上位机与plc的数据传输方法、系统、设备及存储介质 |
-
2022
- 2022-05-11 CN CN202210512128.0A patent/CN114791723B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19980074206A (ko) * | 1997-03-22 | 1998-11-05 | 이종수 | 피엘씨 리모트 이중화 시스템 및 제어방법 |
CN103716219A (zh) * | 2013-09-25 | 2014-04-09 | 华中科技大学 | 一种基于rs485协议的现场总线通信系统 |
CN105450489A (zh) * | 2015-12-02 | 2016-03-30 | 大连理工计算机控制工程有限公司 | 输出优先实现最短报文的HEBus高效现场总线系统及通信方法 |
CN111665778A (zh) * | 2020-05-29 | 2020-09-15 | 国电南瑞科技股份有限公司 | 一种plc控制器与上位机快速通讯传输和数据处理的方法 |
CN114443136A (zh) * | 2021-12-28 | 2022-05-06 | 上海繁易信息科技股份有限公司 | 一种上位机与plc的数据传输方法、系统、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114791723A (zh) | 2022-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8423657B2 (en) | Time slot allocation method for reducing consumption of energy in wireless sensor network | |
CN111104272B (zh) | 一种基于rx和tx的can总线控制器测试方法 | |
CN110941218A (zh) | 一种can总线控制器测试方法 | |
US6430218B1 (en) | Communication control apparatus | |
CN111917753B (zh) | 一种基于位域的Modbus TCP报文解析方法 | |
CN100385427C (zh) | 通信控制器和转换信息的方法 | |
CN102255687A (zh) | 速率匹配方法与装置 | |
CN114791723B (zh) | 一种大型plc系统及其数据压缩方法 | |
CN113938351A (zh) | 数据采集方法、系统及计算机可读存储介质 | |
CN107222379A (zh) | 一种串口通信的方法和装置 | |
CN110442442B (zh) | 核电厂dcs平台工程师站软件维护网络通讯方法 | |
CN209765325U (zh) | 一种工业互联网控制采集系统 | |
CN112994998A (zh) | 一种通讯节点、通讯方法、装置及电子设备 | |
CN113702850A (zh) | 基于工步流程发送can报文的电池检测方法 | |
CN102013918B (zh) | 一种传输数据的方法、系统和装置 | |
CN110909055A (zh) | 数据处理方法、装置、电子设备以及存储介质 | |
CN117743446B (zh) | 一种基于多数据传输链路聚合的数据转换方法和系统 | |
CN113329098B (zh) | 一种基于局域网高效组网通讯方法 | |
CN100342358C (zh) | 一种通信接口操作的控制方法 | |
CN113726840B (zh) | 一种调度一体化平台数据回流与增量同步的系统和方法 | |
CN114584630B (zh) | 一种基于现场总线协议的通信方法及设备 | |
CN116069456A (zh) | 读取工业设备数据的方法和系统 | |
CN217506545U (zh) | 一种方便实现节点地址分配的总线网络 | |
CN210294851U (zh) | 一种EtherCAT总线多轴从站系统 | |
CN112596478B (zh) | Wcs仓库控制系统架构及实现方法 |
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 |