手册上说SMB31跟SMW32配合可以将V区存储器中的字节、字、双字写入永久存储器。当我要保存32位的数据(双字)时,用MOV_W显然是不可以的,只能选择MOV_DW,这样的话OUT输入SMW32是报错的,输入SMD32就不会报错,我的问题是用MOV_DW指令,OUT为SMD32时,能否继续配合SMB31实现将双字数据保存至永久存储器的功能。另外SMB31 MOV_B指令的IN到底代表什么意义,具体指哪个数据?所有的例子用的都是1。本人刚接触200系列,还望诸位前辈不吝赐教!谢谢!
专家建议
yozie 您好:
首先,不可能将DW 送至SMW,因为数据类型不匹配,分别是双字和字。SMW32中所存放的内容是所存数据的V存储器地址,该值是相对于V0的偏移量。当执行存储命令时,把该数
据存到永久存储器中相应的位置。注意这只是一个地址,而不是您要存的数据。
SMB31中只有前两位和最后一位有意义,SM31.0和SM31.1定义数据的大小,SM31.7为保存命令位。
建议您可以参考S7-200系统手册中“特殊存储器S M标志位”部分。
提问者对于答案的评价:
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc296995.html