现在西门子200的PLC连接着上位机组态王软件,PLC采集现场的模拟量10ms采集一次,由于组态王和西门子PLC通信延时的问题,PLC10ms采集的数据不能实时的显示到组态王的曲线上。
做实验得知PLC可以采集10ms模拟量的变化,就是组态王不能显示10ms曲线模拟量的变化,组态王曲线最小采集时间是55ms,也就是说组态王最短也得55ms取一下PLC的值,这样的话曲线显示的就不准确了。
问题就是PLC可以10ms采集一次,组态王显示不出来10ms的变化。
现场一个模拟量的变化是600ms,我用PLC进行10ms一次的数据采集,能采集60次,那么这60个数据我该怎么写程序取出来呢?然后将这采集的60个数据显示到组态曲线上,(组态王不用实时显示曲线)这样是不是就可以让组态王延时一下显示出来曲线,这样就能从曲线看出10ms数据的变化呢?
大家看有什么好的方案可以让PLC采集60个10MS的数据,然后缓冲一下,显示到组态王曲线上?
请大家指教。谢谢
问题补充:
问题是组态王怎么读这60个数据,60个不同的寄存器,而组态王是一个数据点。怎么对应上?
最佳答案
在组态王程序中设置一个已读取的开关,例如M10.0,在M10.0=0时读取数据,然后,给M10.0置位。
PLC程序则在M10.0=1时,开始将测量数据每隔10mS(可以用中断实现)存入一个连续区域(可用数组)。并在数据记满数据区后,给M10.0复位。
提问者对于答案的评价:
谢谢
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc307353.html