朝天一棍
級別: *
|
歐姆龍PLC中的move指令是一個傳送指令,可以將一個通道中的數據傳送到另一個通道中,也可以傳送一個常數,這個常數是十六進制還是十進制的?另外假如我把#0001這個常數傳送到200通道中,而200通道有十六位,這個常數如何分配?如果“1”占據了200 00這個位,那么這個位是不是置1了呢,也就是說200 00這個內輔繼電器吸合了?還有我能不能直接就把常數0001傳送到200 00這個位中去呢? |
---|---|
|
ymmfa
不想大江大河,不想浪起潮落,只愿一灣小湖,靜待歲月安好。
級別: 管理員
|
歐姆龍我不太清楚。。。 三菱里面 有MOV指令 16位用MOV MOV D0 D1 就是D0到D1 32位用DMOV DMOV D0 D2 就是D0,D1到D2,D3 |
|
---|---|---|
|
ymmfa
不想大江大河,不想浪起潮落,只愿一灣小湖,靜待歲月安好。
級別: 管理員
|
16位和十進制不是一個概念。 位只能存儲0,1兩種關系。越多的位就可以存儲越高精度的數值 16位的意思就是說最大可以存儲2的16次方,32位的意思就是2的32次方。 2的1次方= 2 2的2次方------4 2的3次方------8 2的4次方------16 2的5次方------32 2的6次方-------64 2的7次方-------128 2的8次方-------256 2的9次方-------512 2的10次方-----1024 2的11次方-----2048 2的12次方-----4096 2的13次方-----8182 2的14次方-----16364 2的15次方-----32728 2的16次方-----65456 因此,一個16位的存儲元件,只能存儲65456種變化。 大部分PLC的存儲元件都是16位的,加上0以及負數,所以一般只能存儲上限到正的三萬多和負的三萬多,或者是0到正的六萬多。 如果要更大范圍的數值,就是32位的,這樣算下去應該上億了。 如果你傳送的數值已經超過了16位的范圍,就需要兩個存儲器D來存儲。 |
|
---|---|---|
|
hxl202319
工資就像大姨媽,一月一次,一周就沒了
級別: 網絡英雄
|
有move指令嗎,我怎么就知道mov,movb,movd? |
|
---|---|---|
|
konev
級別: *
|
樓上怎么把這么舊的帖子也翻出來了:) 在OMRON里,MOV指令只支持2進制常數,#0001代表2進制的1(類似于三菱的H0001),MOV #0001 200,就是將2進制的1寫入200通道,即200.00置位,其他15位復位。 沒有"0001"這種寫法,如果是不帶符號十進制數的話,應當是"&0001";帶符號的十進制數是"+0001"或"-0001"。BCD碼也是以#開頭,僅在某些指令中支持。 |
---|---|
|