S7-200 一个寄存器里的数值作为下一个数据的存储地址

各位高手好!请问在S7-200 224CN这个PLC里如何实现以下功能。记过计算得到一个数值,比如3004,这是一个数据实数VD1030马上需要存储的地方。线板3004这个数值放在VD1050里。那么问题来了,怎么把VD1030这个实数存到VD1050这个寄存器里数值为3004也就是VD3004里?

问题补充:
我的VD1050里面存的数据(地址)是不停变化的。对应的内存地址为VD3000-VD6000。这次是3004,下次就是另外的值了,所以不能直接写&VB3004啊

最佳答案

&VB3000+4n  (n=0,1,2,3,4...)的值送给VD1500,下次使用*VD1500即可

提问者对于答案的评价:
现在是按你说的这么计划的,把指针指向需要存储数据的地址。只是这个地址有点难算啊。我是1-12个月,每个月按31天计算,每天存2个实数,即占用8个字节。我得先按月份计算一次,再按天数计算一次,最后才能得到我要存数据的地址。

最佳答案作者回复:
你说12个月按天存数的话,我建议按月份分区域,不要整年的数据存在一起,那样的话要考虑平年和闰年,还要考虑当月是28天还是30天,31天,比较麻烦
当然,PLC来算平年,闰年是没问题的,查表算每个月的实际天数也没问题,不过要写相当长一个子程序。

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc364725.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 下午1:25
下一篇 2021年7月5日

相关推荐

发表回复

登录后才能评论