三菱plc程序中,我们经常看到类似于k4m100,k7m500,k1x0,k2y0等等写法,很多人不懂是什么意思,这里给大家做个解说。
knm是指以m开始的连续4n个位。比如k4m100就是以m100开头的连续4*4=16个位址,也就是代表m100到m115。这16个位刚好是一个字的长度,如果是k7m500,则代表以m500打头的连续7*4=28个位,大于16位,小雨32位,所以程序中出现时要使用双字指令。
这些一般用于传送指令和比较指令,使用格式一般有如下几种:
=
k4m100
k0
16位接点比较指令,m100-m115共16个位全部off,该接点接通。
<>
k4m100
k50
16位接点比较指令,m100-m115共16个位组成的字所代表数值不等于50时,该接点接通
d=
k7m500
k0
32位接点比较指令,m500-m527共28个位全部off,该接点接通
mov
k0
k1y0
16位传送指令,y0-y3共4个位全部复位
mov
k2x0
d0
16位传送指令,x0-x3共8个位代表的数值传送到d0中。
dmov
k6m50
d50
32位传送指令,m50-m523共24个位代表的数值传送到d50中
cmp
k1x0
k1y0
m10
16位比较指令,x0-x3组成的数据和y0-y3组成的数据进行比较,前者大于后者,m10=1,
前者=后者,m11=1,前者小雨后者,m12=1。
dcmp
k5x0
k5m0
m100
32位比较指令,x0-x23组成的数据和m0-m23组成的数据进行比较,前者大于后者,m100=1,
前者=后者,m101=1,前者小雨后者,m102=1。
以上,等等
MOV K2X0 D0 16位传送指令,X0-X3共8个位代表的数值传送到D0中。
KnM是指以M开始的连续4n个位。比如K4M100就是以M100开头的连续4*4=16个位址,也就是代表M100到M115。这16个位刚好是一个字的长度,如果是K7M500,则代表以M500打头的连续7*4=28个位,大于16位,小雨32位,所以程序中出现时要使用双字指令。
传送从mo至m7的数据(即各自的o/1或者说是OFF/ON状态)给y0至y7,其中K代表4,Kn即4的n倍数,16位时n最大为4,32位时n最大为8(32位特殊指令可用,如DMOⅤ),后面的Mn/Yn即开始位,此处的n可为任意数(当然得和实际结合)