化工塑料网

当前位置:首页
>>
>>
正文

西门子200smartPLC数据的采集

西门子200 smart PLC数据的采集

昨天晚上,看到一个网友的提问:“说需要将一个变化了的数据,按规定的定时时间有规律存放到一个连续的数据寄存器地址中、、、、、、”。类似处理这样的程序虽然有很多种编程方法,但我想了想,认为这样的方法可以测试一下。编程思路:1) 既然是定时存放数据,那做一个定时中断正好符合要求。新建一个定时中断,SMB34该定时中断时间以1mS为最小单位(最大255mS),按网友要求设置为1000mS = 1秒需要10次中断后再采集郑州军海医院客服电话一次数据。2) 因为需要将这个变化了的数据,按每秒钟时间逐个存放,使用启用指针编程方法又比较合适。假设,将采集的数癫痫如何诊断据依次逐个存放到指针的起始首地址VD100中,并存放为30个数据。3) 当数据存放个数到达第31个时,第一个存放的数据将被覆盖新数据值,如此循环。编程:1) 在子程序中调用定时中断,SMB34 = 100(mS),中断事件号10,郑州的癫痫医院哪几家比较好开中断2) 在主程序初始该子程序3) 在中断程序中比较数据采集定义定时中断子程序:

在主程序中调用定义定时中断子程序:

在中断子程序编辑数据采集:VB0存放定时中断次数;VB1存放采集数据个数

将上述程序编译、保存后下载到cpu,新建“状态图表”,启用监控,为方面VD6的数据输入一些随机数据编辑一个小程序在主程序中,这样VD6的数据以每北京治癫痫公立医院秒1.2递增,当数据大于25.0时,重新返回到1.2开始重复过程。图示:

从状态图表中可以看到VD100的数据已经被第2次数据采集所覆盖了新值,本程序仅仅是我理解网友提问后自己的思路,若有出入,望那位网友看到后指出,并加以修改。