本人刚接触s7-200,现在要做个东西,需要存储数据,问题是这样的。我用一个触发指令去存数,比方说用I0.0触发后,将一组数据存储到VD0中,下一次I0.0导通后将另一个数据存储到VD4中,依次向下存,要存100条,这100条是要日后读取的,即我随便查其中的一条都能显示出对应当初存的数据,这段程序我无从下手,FOR循环和间接寻址我能大概开明白,但是还是不会用,忘请高手能编写一段例程让我参考下,样本啊,链接啥的就不用发了。谢谢
最佳答案
用间接寻址的方法,假设原始数据放在VD200中
LD SM0.1
MOVB 0, MB1
MOVD &VB0, MD10 //将VD0的地址存入MD10
LD SM0.0
AB< MB1, 100 //判断存储次数
= M0.0
LD I0.0
EU
A M0.0
MOVD MD10, AC1
MOVD VD200, *AC1 //间接寻址,将VD200的数据存储到AC1所指的地址里
INCB MB1 //存储次数+1
+D 4, MD10 //存储地址递增,因为是双字,所以要加4
提问者对于答案的评价:
十分感谢,基于您的程序稍加改动已经完成了存储功能了。。。。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc308462.html