XP Vista
我用PLC型号是:K7M-DRT60U加一扩展是:G7E-DC08A。
其主机输入地址为:P00之P0F,P10之P1F,P20之P23。
扩展输入地址为:P80之P87。
现想将输入信号读入之M**区,为什么用GMOV指令只能读入主机输入信号,而扩展输入信号却无法读入?
GMOV P60 M30 8,此条指令正常。
GOMV P70 M30 8,此条指令就不正常,提示超出条栏!!也就是说用GMOV指令在P60之后就无法进行编写程序,也就无法将扩展输入读入M**区。
楼主最近还看过
robotH
GMOV是字指令,GMOV P60 M30 8中的P60是一个字,代表的位是P600-P60F。K120S的P区字从P0-P63共64个字,所以P70肯定超出范围了。
扩展输入实际是P8字,位是P80-P8F。你要将扩展输入读入M30-M3F,只需MOV P8 M3即可。
那请楼上的指点一下,如果我将P00之P0F,读入M0区?其指令是不是GMOV P0 M0 16?
读P10之P1F,读入M10区?其指令是不是GMOV P1 M10 16?
读P20之P23,读入M20区?其指令是不是GMOV P2 M20 4?
将P00之P0F,读入M0区用MOV P0 M0 即可
非要用GMOV 则是GMOV P0 M0 1
其实只要搞清楚一点就不会迷惑,即:地址是代表“字”还是“位”由指令决定,这与单片机汇编语言是一样的。
例如: SET P40 中P40代表P40位,因为SET是位指令;MOV P40 M0 中P40是字,用位表示是P400-P40F,因为MOV是字操作指令。
LS PLC中这种字和位地址没有区分的表示方法容易使初学者迷惑,建议能改成与西门子S7-200类似,用不同字符来区分。比如在S7-200中,位I0.0,字节IB0,字IW0,初学者就不容易混淆了。
mud_king
是啊!还是楼上说的完全正确!有时候真的被ls给搞糊涂了字、位分不清!