[发明专利]一种PLC控制器与上位机快速通讯传输和数据处理的方法有效
| 申请号: | 202010473249.X | 申请日: | 2020-05-29 | 
| 公开(公告)号: | CN111665778B | 公开(公告)日: | 2022-05-24 | 
| 发明(设计)人: | 李钢;金辉;曲小平;郝明明;张伟峰 | 申请(专利权)人: | 国电南瑞科技股份有限公司 | 
| 主分类号: | G05B19/05 | 分类号: | G05B19/05 | 
| 代理公司: | 南京苏高专利商标事务所(普通合伙) 32204 | 代理人: | 张弛 | 
| 地址: | 211106 江*** | 国省代码: | 江苏;32 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 一种 plc 控制器 上位 快速 通讯 传输 数据处理 方法 | ||
1.一种PLC控制器与上位机快速通讯传输和数据处理的方法,其特征在于:
将PLC总体分为两类,分别为PLC控制器和远程IO模块;
远程IO模块带有模拟量和数字量的输入和输出功能,用于测量和控制,远程IO模块还带有与子系统PLC进行通讯功能;
PLC控制器带有通讯功能和数据处理功能;
PLC控制器的通讯功能,用于完成各种通讯任务,包括与上位机通讯和与下位机通讯,这些通讯任务不受PLC控制器的用户程序控制,PLC通讯配置完成后,自主通讯,通讯的数据存取在PLC控制器中供通讯用的寄存器中;
前述上位机包括作为PLC控制器上级的计算机、服务器,以及通讯控制器,上位机通过通讯从PLC控制器获取数据和下发命令;
前述下位机包括远程IO模块、子系统PLC、子系统通讯模块,PLC控制器从下位机获取数据和向下位机下发命令;
PLC控制器的数据处理功能,由用户程序控制,对通讯功能读取到供通讯用的寄存器中的数据,进行逻辑判断,作出决策,再写入供通讯用的寄存器中,由PLC控制器的通讯功能进行通讯,以达到控制的目的;
前述PLC控制器的供通讯用的寄存器,按照与通讯对侧设备约定的点表进行填写,通讯对侧设备包括上位机和下位机;
前述PLC控制器与上位机进行通讯,数据存储在若干个通讯数据包中,通讯数据包长度受限于与上位机通讯的报文长度的限制,通讯数据包分为三类,分别为数字量数据包、表示数字的模拟量数据包、纯模拟量数据包,数字量数据包放入数字量、表示数字的模拟量数据包放入表示数字的模拟量、纯模拟量数据包放入纯模拟量数据;每个通讯数据包的表示为数字量、表示数字的模拟量、纯模拟量三种通讯数据包中的一种的设置变量保存在PLC控制器中和上位机中;
前述数字量,是指外部触点的开关量,有接通和断开两种状态,分别以0和1表示;
前述表示数字的模拟量,是指用于计数的数据,表现为模拟量,但当作数字量进行处理;
前述纯模拟量,是指测量的包括电压、电流、温度、湿度的会波动的数值;
前述数字量和表示数字的模拟量,合称为非纯模拟量;
前述通讯数据包由若干个数据寄存器组成,称为通讯寄存器;
每个通讯数据包包括多个远程IO模块的输入数据、或者包括多个子系统的输入数据;
前述PLC控制器与上位机通讯的通讯数据包,分别占用若干个数据寄存器作为状态寄存器,用于存放向上位机传递包含本身通讯数据包在内的所有通讯数据包“PLC控制器数据包有变化数据标志位”的相同信息,即当某个通讯数据包“PLC控制器数据包有变化数据标志位”发生变位,则对所有通讯数据包的状态寄存器对应的位进行相同的变位操作;
前述“PLC控制器数据包有变化数据标志位”的定义:通过其数据的变化来分别对应表示其对应的PLC控制器存储的通讯数据包中至少有一个数据发生变化;从“0”到“1”或者从“1”到“0”都表示有变化数据,始终保持“1”或者“0”都表示没有变化数据;
在PLC控制器中开辟存储空间,用于存放通讯数据包的暂存数据包,其内部的数据寄存器称为暂存寄存器,暂存数据包中的每个暂存寄存器与前述用于与上位机通讯的通讯数据包中对应的通讯寄存器的定义完全一致,与暂存数据包对应的前述用于与上位机通讯的通讯数据包,称为对应的通讯数据包;与暂存寄存器对应的前述用于与上位机通讯的通讯数据包中的通讯寄存器,称为对应的通讯寄存器;
PLC控制器初始化时,依次进行如下操作:把每个通讯数据包对应的通讯获得的下位机存储在下位机寄存器中的数据,复制到每个通讯数据包对应的通讯寄存器中;把所有通讯数据包“PLC控制器数据包有变化数据标志位”置“1”;
PLC控制器开始正常处理流程时,把每个通讯数据包对应的通讯获得的下位机存储在下位机寄存器中的数据,复制到每个通讯数据包对应的暂存数据包对应的暂存寄存器中;“PLC控制器当前数据包处理编号”变量置“1”,此“PLC控制器当前数据包处理编号”变量设置在PLC控制器中,用于表示PLC控制器程序当前正在处理的通讯数据包的编号;
下面进入通讯数据包的处理流程:“PLC控制器当前数据包寄存器处理编号”变量置“1”,此“PLC控制器当前数据包寄存器处理编号”变量设置在PLC控制器中,用于表示PLC控制器程序当前正在处理的通讯数据包中的通讯寄存器的编号;
PLC控制器依次对于每个通讯数据包,分别按照纯模拟量数据包和非纯模拟量数据包分别逐个进行暂存数据包与对应的通讯数据包有无变化数据的比较和处理;
当发现当前通讯数据包有通讯寄存器存在变化数据后,此通讯数据包后续的数据不再比较,把当前暂存数据包中的暂存寄存器中的所有数据,复制到对应的通讯数据包对应的通讯寄存器,完成复制操作后,把当前通讯数据包“PLC控制器数据包有变化数据标志位”取反,把“PLC控制器当前数据包处理编号”加1,进入下一个循环,直到比较完成所有通讯数据包的数据;
当比较完成当前通讯数据包,没有发现有变化的数据后,对于纯模拟量数据包,把当前暂存数据包中的暂存寄存器中的所有数据,复制到对应的通讯数据包对应的通讯寄存器,对于非纯模拟量数据包,不进行此复制操作;再把“PLC控制器当前数据包处理编号”加1,进入下一个循环,直到比较完成所有通讯数据包的数据;
前述对通讯数据寄存器逐个比较,判断是否有变化,包括对纯模拟量数据包和非纯模拟量数据包的比较;
前述对非纯模拟量数据包的比较,即对数字量或者表示数字的模拟量的比较是指,把暂存寄存器与对应的通讯寄存器逐一比较,当不一致时,则认为当前的暂存寄存器是变化数据;
前述对纯模拟量的比较是指,在PLC控制器中配置对应于纯模拟量的变量,用于设置各个纯模拟量对应的变化阈值和幅值阈值,对纯模拟量的暂存寄存器的数值与对应的通讯寄存器数值逐一进行相减比较,当超过变化阈值,则认为当前的暂存寄存器是变化数据;对纯模拟量的暂存寄存器的数值与对应的幅值阈值逐一进行比较,当超过幅值阈值,也认为当前的暂存寄存器是变化数据;
前述通讯数据包“PLC控制器数据包有变化数据标志位”数据没有变化,意味着通讯数据包没有变化数据,对于数字量数据包或者表示数字的模拟量数据包而言,是每个暂存寄存器与对应的通讯寄存器数值相同,即没有变化;对于纯模拟量数据包而言,是每个暂存寄存器数值没有超过设定的变化阈值和幅值阈值;
在上位机中,设置“上位机当前数据包读取编号”变量,用于记录当前上位机处理的通讯数据包的编号;
上位机初始化时,把每个通讯数据包“上位机保存的PLC控制器数据包有变化数据标志位”变量置“0”;把“上位机当前数据包读取编号”置“1”;
上位机对PLC的数据读取,位于上位机最高优先级进程中,进入进程,依次进行如下操作:读取和预处理当前通讯数据包所有数据;当读取的所有通讯数据包“PLC控制器数据包有变化数据标志位”与“上位机保存的PLC控制器数据包有变化数据标志位”相同,即没有任何一个有变化数据的通讯数据包时,把“上位机当前数据包读取编号”加1;当“上位机当前数据包读取编号”不大于通讯数据包数量,则离开进程;当“上位机当前数据包读取编号”大于通讯数据包数量,则“上位机当前数据包读取编号” 置“1”,再离开进程;当读取的所有通讯数据包“PLC控制器数据包有变化数据标志位”与“上位机保存的PLC控制器数据包有变化数据标志位”不相同,即至少存在一个有变化数据的通讯数据包时,则依次读取和预处理有变化数据的通讯数据包的所有数据,并把所有通讯数据包“上位机保存的PLC控制器数据包有变化数据标志位”变量赋给“上位机原始保存的PLC控制器数据包有变化数据原始标志位”;把“PLC控制器数据包有变化数据标志位”变量赋给“上位机保存的PLC控制器数据包有变化数据标志位”;把最后一个有变化数据的通讯数据包编号赋给“上位机当前数据包读取编号”,触发次高优先级进程;把“上位机当前数据包读取编号”加1;当“上位机当前数据包读取编号”不大于通讯数据包数量,则离开进程;当“上位机当前数据包读取编号”大于通讯数据包数量,则“上位机当前通讯数据包读取编号” 置“1”,再离开进程;
上位机处理“上位机保存的PLC控制器数据包有变化数据标志位”与“上位机原始保存的PLC控制器数据包有变化数据标志位”不相等的位对应的所有有变化数据的通讯数据包,位于上位机次高优先级进程;
前述把最后一个有变化数据的通讯数据包编号赋给“上位机当前数据包读取编号”,把“上位机当前数据包读取编号”加1,使得上位机下一次从最后一个有变化数据的通讯数据包之后的通讯数据包开始读取;
前述通讯数据包“上位机保存的PLC控制器数据包有变化数据标志位”变量,在上位机中设置,与通讯获得的“PLC控制器数据包有变化数据标志位”变量一一对应,用于在上位机进行比较,比较发现不同的标志位,对应表示有需要通讯传输的有变化数据的通讯数据包;
前述通讯数据包“上位机原始保存的PLC控制器数据包有变化数据标志位”变量,在上位机中设置,与上位机保存的“上位机保存的PLC控制器数据包有变化数据标志位”变量一一对应,用于在上位机进行比较,比较发现不同的标志位,对应表示有变化数据的通讯数据包。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国电南瑞科技股份有限公司,未经国电南瑞科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010473249.X/1.html,转载请声明来源钻瓜专利网。





