发布于 2003-08-14 12:42:03
0楼
在装入的时候,如果被装入的数太短,达不到4BYTE(大多情况这样),则在装入的时候,会自动填0
而在取出的时候,如果目标是4BYTE,则全盘复制,如果短了,就只复制需要的长度,另外的就被抛弃了,其实被抛弃的部分一般是0的,编程时候需要知道的。
比如L L#16#01020304,这是一个32位的DWORD
然后T MW0,
长出的部分被丢掉,最终MW0的内容为16#0304
除非有意这样做,否则做之前是要保证数据没有溢出的。否则计算就乱套了。
反过来,L 16#FFFE (INT -2)
T MD0
则MD0的值为 L#16#0000FFFE (DINT 65534)
数据虽然没有溢出,但数据格式不能继承了。
这种时候,分别需要DTI 和ITD命令进行转换。
至于200里面的MOVB,MOVW,MOVD等的命令,我想,在300里面它是自动的,根据目标数的尺寸,自动实现不同的MOVE功能,与200对应。
微信公众号:PLC标准化编程,ZHO6371995