[发明专利]一种可编程序控制器与上位机之间的数据通讯方法有效
申请号: | 201110301552.2 | 申请日: | 2011-10-08 |
公开(公告)号: | CN102508465A | 公开(公告)日: | 2012-06-20 |
发明(设计)人: | 谭建平;陈晖;舒招强 | 申请(专利权)人: | 中南大学 |
主分类号: | G05B19/418 | 分类号: | G05B19/418 |
代理公司: | 长沙市融智专利事务所 43114 | 代理人: | 黄美成 |
地址: | 410083 湖南*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 程序 控制器 上位 之间 数据通讯 方法 | ||
技术领域
本发明涉及一种可编程序控制器与上位机之间的数据通讯方法。
背景技术
上位机软件WinCC和可编程序控制器广泛运用于工业控制领域。虽然可编程序控制器的数据存储周期可达1ms,但WinCC的最短数据归档周期却为500ms,对于需要高速采集的数据,WinCC无法满足要求。目前,解决此问题的方法主要是选用更高档次的可编程序控制器,或是编写独立的数据处理软件,导致成本提高,开发复杂。
发明内容
本发明的所要解决的技术问题是提供一种可编程序控制器与上位机之间的数据通讯方法,该可编程序控制器与上位机之间的数据通讯方法采用最简便的方法低成本地实现高速通信。
为解决上述技术问题,本发明所采用的技术方案为:
一种可编程序控制器与上位机之间的数据通讯方法,在可编程序控制器中,将现场实时数据每隔时间T1存放于可编程序控制器的数据块中,通过工业现场总线将该存放的现场实时数据以数据包的形式传输至上位机;
其中T1小于可编程序控制器与上位机之间的默认数据通讯周期;
在上位机端,对接收到的数据包进行解包,并将解包后的数据进行处理;完成可编程序控制器与上位机之间的数据通讯。
在可编程序控制器中,采用定时中断方式对现场实时数据进行存储。
所述的处理为存储,或者直接将解包后的数据进行显示、绘图或查询。
所述的数据包的形成过程即数据打包过程为:在数据块中建立长度为2N字节的整型数组变量,其中前2N-2个字节用来存储实时工业现场数据即整形数据,最后两个字节用来存储最新存入数据的位置编号;每一次数据存储时,更新位置编号和实时工业现 场数据,N为建立的数据块所能存放整型数据的个数。
数据包进行解包即数据解包的过程为:在上位机软件中定义一种原始数据变量,将其地址和大小设置成与可编程序控制器里的数据块相一致,再建立一个总长度为2N字节的整型变量数组;在上位机软件中设置全局脚本的触发周期为T2,将可编程控制器中的数据块采集到上位机中,将获取的数据赋给所述的整形变量数组。
所述的上位机软件为WinCC软件,WinCC软件通过调用系统支持的GetTagRaw函数,将可编程控制器中的数据块采集到WinCC中,并把GetTagRaw函数的返回值即解包后的数据赋给建立好的变量数组;且T1=M*T2;M为T2时间的采样次数;M和N满足关系式:M<N-1。
WinCC以原始数据变量的形式一次从可编程序控制器采集一批数据,这样就获取了完整的高速数据,间接地实现了高速通信。
在WinCC全局脚本中,数据解包后通过比较本次位置编号变量值A和上次数据解包得到的并已存在上位机中的位置编号变量值B,得出两次采集时间间隔内的有效数据的位置区间;如果A大于B,则在上位机中只存储解包后数组中第B到第A个数据,如果A小于B,则在上位机中只存储第B到N-1个、第1到第A个数据;建立文本文档数据文件,根据系统日期以年月日的格式命名文件,数据每次存储都按“当前时间--时:分:秒:毫秒/换行/第一个数据/换行/第二个数据/换行/……最后一个数据/换行”的格式存储。
在WinCC中组态数据显示画面,添加函数功能控件,调用SetProp函数设置函数功能控件的标题、横纵坐标范围、线条颜色。通过修改“data X”、“data Y”属性,将获得的数据用描点连线的方式在控件中显示出来。
在WinCC中组态输入输出域,用来接收用户的输入的查询条件,即数据起始查询时间、查询的数据长度。组态查询按钮,用来触发C语言查询脚本。在脚本中读入查询条件,通过fseek函数浏览相应数据文件,将浏览到的时间与查询起始时间比较,如果不满足查询条件,则继续往下浏览,如果满足查询条件,则开始将所查询数据取出赋给指针变量,利用函数功能控件进行显示。
T1和T2满足如下关系式:T1×M=T2,T1≥1ms,T2≥250ms,T1≤T2。其中,T1为可编程序控制器中循环中断组织块的中断周期,T2为WinCC上位机软件全局脚本的触发周期,M为T2时间内PLC所采集到的新数据的个数,T1、M、T2均为整数,
M和N满足如下关系式:M<N-1。其中,M为WinCC上位机软件全局脚本的触发周期内PLC所采集到的新数据的个数,N为建立的数据块所能存放整型数据的个数。
本发明的有益效果:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中南大学,未经中南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110301552.2/2.html,转载请声明来源钻瓜专利网。