【技术实现步骤摘要】
一种PLC内部数据监控系统的实现方法
[0001]本专利技术属于工业控制领域,更具体地,涉及一种PLC内部数据监控系统的实现方法。
技术介绍
[0002]现代自动化系统在许多工业领域具有效率高和应用广泛的特点,但由于网络化和分布式的发展,其复杂性也呈现不断增加的趋势。一些可编程逻辑控制器(PLC)仍采用低级语言进行编程,使用这些平台的开发软件比较容易出错。因此在软件开发的过程中可以随时对内部数据进行监控是必不可少的。随着PLC应用场景中对系统实时性的要求不断提高,在自动化系统的整个生命周期中,内部数据获取的速率对排除故障、优化监控过程和提高编程效率也变得越来越重要。
[0003]虽然期间已经公开了多种PLC内部数据监控系统方案,但是依然无法实质性解决监控速率较低、通信次数过多的技术问题。
[0004]中国专利CN114995280A文献公开了一种提高PLC数据采集效率的方法,包括:读缓冲区和写缓冲区,其数据类型包括:开关量I/O、模拟量I/O和控制参数;上位机中设置有与每一个PLC对应的读缓冲区和写缓冲区;上位机发送数据读取指令;以使每一个PLC根据读取指令,从对应的读缓冲区中确认对应的数据;上位机读取该PLC对应的数据;上位机发送数据写指令;以使每一个PLC根据写指令,从对应的写缓冲区中确认需要输出的数据;上位机将需要输出的数据写入该PLC对应的写缓冲区。通过将PLC在地址分散的开关量IO、模拟量IO和其他数据集中到读写缓冲区,上位机通过一条读指令和一条写指令即可完成与PLC的通信,简化了上位机通信 ...
【技术保护点】
【技术特征摘要】
1.一种PLC内部数据监控系统的实现方法,其特征在于,包括;S1、上位机发送监控请求至通信模块,经通信模块处理后输出一个原数据包到数据压缩模块;S2、数据压缩模块接收到原数据包后,根据压缩阈值判断是否需要压缩;若需要压缩,则将经过数据压缩后的压缩数据包输出到下数据解析模块;若不需要压缩,则直接输出原数据包到下数据解析模块;S3、若下数据解析模块接收到压缩数据包则进行数据解压和数据解析并传输至下位机;若下数据解析模块接收到原数据包则进行数据解析并传输至下位机;S4、下位机执行监控命令并返回响应监控请求至通信模块,通信模块将响应监控请求通过DTC通信协议和数据打包单元打包后输出一个返程数据包到数据压缩模块;S5、数据压缩模块接收到原数据包后,根据压缩阈值判断是否需要压缩;若需要压缩,则将经过数据压缩后的压缩返程数据包输出到上数据解析模块;若不需要压缩,则直接输出返程数据包到上数据解析模块;S6、若上数据解析模块接收到压缩返程数据包则进行数据解压和数据解析并传输至上位机;若上数据解析模块接收到返程数据包则进行数据解析并传输至上位机。2.根据权利要求1所述的一种PLC内部数据监控系统的实现方法,其特征在于,所述通信模块包括DTC通信协议和数据打包单元;所述DTC通信协议规定了DTC通信报文,包括终端地址、命令码、数据地址、数据类型、数据长度、CRC校验或数据;所述DTC通信协议将连续或离散的变量以离散变量组的形式合并到一条DTC通信报文中;所述数据打包单元具有将报文整合成数据包的功能,负责将终端地址、命令码、数据地址、数据类型、数据长度、CRC校验或数据打包成一个数据包后发送至数据压缩模块。3.根据权利要求2所述的一种PLC内部数据监控系统的实现方法,其特征在于,所述离散变量组包括数据地址、数据类型、数据长度或/和数据;当读取数据时,所述离散变量组包括数据地址、数据类型和数据长度;当写入数据时,所述离散变量组包括数据地址、数据类型、数据长度和数据;所述离散变量组中变量的数据类型相同且数据地址连续。4.根据权利要求1所述的一种PLC内部数据监控系统的实现方法,其特征在于,所述数据压缩模块采用改进的lzw压缩算法,所述S2具体包括以下步骤:S21、设置压缩阈值:大于等于压缩阈值的数据包进行压缩,继续以下步骤;小于压缩阈值的数据包不需要压缩直接传输到下数据解析模块;S22、初始化字典,将0
‑
F添加到字典树中,编码对应为0
‑
15:S23、将data[i]赋值给curent,初始i为0,将data[i+1]赋值给next;S24、若当前的current在字典中存在,则将current与next组合在一起形成新的字符数组后,赋值给current;i的值加1后,将data[i+1]赋值给next;重复此操作直至current不存于字典中;
若不存在,则直接进行下一步;S25、将current在字典中对应的编码处存放到data_code中;S26、更新字典并将current加入到字典中:将data[i]赋值给next,将current与next组合在一起形成新的字符数组后赋值给current,然后把current添加到字典树中,编码加1;S27、重复S24、S25、S26步骤,直到待压缩数据全部压缩完成;以上步骤出现的变量含义如下:data表示待压缩数据,类型是字符数组;data_code表示压缩后的数据,类型是整型数组;current表示当前正在压缩的字符数组,类型是字符数组;next表示current的下一个字符,类型是字符变量。5.根据权利要求4所述的一种PLC内部数据监控系统的实现方法,其特征在于,所述改进的lzw压缩算法采用tire算法优化字典查找速率:(1)将字典以字典树的方式进行存储,字典树中的每个节点都存储一个字符且每个字符只能为0
‑
F;(2)根据所查找字符串的第一个字符,查找根节点的子节点中对应的字符与所查找字符是否匹配;若不匹配,则直接将此字符串插入到字典树中;若匹配,则查找此节点的子节点是否匹配字符串中的下一个字符:若不匹配,则此字符串的后续字符插入到字典树中,结束;若匹配,则继续查找下一个字符对应的下一个子节点是否匹配,直到字符串所有字符查找结束。6.根据权利要求2所述的一种PLC内部数据监控系统的实现方法,其特征在于,所述DTC通信协议每字节具体为:终端地址:对应下位机PLC的地址,大小为1byte;命令码:根据命令码下位机执行不同的操作;当命令码为0时,代表上位机向下位机读数据;当命令码为1时,代表上位机向下位机写数据,大小为1byte;数据地址:表示需要读取或写入数据的地址,大小为2byte;数据类型:表示需要读取或写入数据的类型,包括位变量0、短整型1、整型2、单精度浮点型3和双精度浮点型4,大小为1byte;数据长度:表示需要读取或写入数据的个数,大小为2byte;数据:表示需要读取或写入数据的值;CRC校验:表示DTC通信报文经过CRC校验后的结果,大小为...
【专利技术属性】
技术研发人员:王振硕,程广河,孙瑞瑞,孔志刚,张让勇,郝凤琦,郝慧娟,丁文康,万众,马宗军,
申请(专利权)人:齐鲁工业大学山东省科学院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。