跟我一起玩200 smart PLC 关于数据的采集

已锁定

WWCWWC

西门子1847工业学习平台

  • 帖子

    8041
  • 精华

    145
  • 被关注

    1336

论坛等级:至圣

注册时间:2008-07-26

钻石 钻石 如何晋级?

跟我一起玩200 smart PLC 关于数据的采集

5642

11

2017-05-17 08:06:29

star star star

跟我一起玩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次数据采集所覆盖了新值,本程序仅仅是我理解网友提问后自己的思路,若有出入,望那位网友看到后指出,并加以修改。


跟我一起玩200 smart PLC 关于数据的采集 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有7567条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。