ruyashewa
級別: 探索解密
|
新手,看不懂用CCD指令,請教高手指點為什么數據傳送指令都要奇偶校驗? 手冊的例子我看了很久,就是不懂,CCD指令到底是做什么的?校驗碼是事先寫入的嗎?高低各8位總各我算了,怎么和手冊上的例子不一樣呢! 請教高手! 謝謝老鳥的無私,我就是看到那個帶多個變頻器的程序,看到CCD指令時卡住了,看手冊怎么也看不懂,例如:CCD,D100,D0,K10 手冊上說的水平校驗碼1000,0101怎么來的?是事先把這個數裝進去的嗎? 還有我算了總和,100+111+100+98+123+66+100+95+210+88的確是BCD1091,但是D0存的數為什么是0000,0100,0100,0011,,而不是BCD碼1091----0001,0000,1001,0001呢? 高手,你的意思是不是說這個指令就只是求和,(16位操作模式)把D100到D104的高低位值求和后存到D0中, 還有,FLT, BIN整數,轉換成二進制浮點,不懂了,BIN不就是二進制數嗎?還轉換什么?,浮點是什么? 還有BFM 讀出,寫入指令FROM ,,TO也不理解,例如:TO,,K1,,K12,,H19,,K1,,手冊的例子第三位不是十六進制數啊,這個高手寫的指令是個十六位的19,怎么才能把NO。1存儲器的#12 寫入可編程控制器的H19里, 還有DECO ,ENCO指令,解碼和編碼更難理解,求容易的解釋謝謝! [ 此帖被ruyashewa在2012-12-21 21:36重新編輯 ] |
---|---|
|
magicbroom
級別: 探索解密
|
百度一下:奇偶校驗就知道了...CCD指令我沒用過。你可以再百度關于數據傳輸的具體內容么 |
---|---|
|
wangk0
人都有點過去~
級別: 工控俠客
|
CCD就是一個為通訊而準備的方便指令,自動求和求水平校驗碼(奇偶校驗),方便編程人員求得校驗碼,也不是所有通訊都用到CCD。具體要看你要通訊的那個東西怎么規定的通信幀,像我上次跟一打印機通訊,就什么校驗都不需要,自然也用不到CCD指令。 |
---|---|
|
wangk0
人都有點過去~
級別: 工控俠客
|
我寫了一個485通訊變頻器里,講到了通信數據格式。比如,我要跟變頻器通訊,而變頻器自己規定了數據格式里面有個總和校驗,自然有個CCD指令要比你自己一個數據一個數據的求和要好很多啊。 |
---|---|
|
ruyashewa
級別: 探索解密
|
謝謝老鳥的無私,我就是看到那個帶多個變頻器的程序,看到CCD指令時卡住了,看手冊怎么也看不懂,例如:CCD,D100,D0,K10 手冊上說的水平校驗碼1000,0101怎么來的?是事先把這個數裝進去的嗎? 還有我算了總和,100+111+100+98+123+66+100+95+210+88的確是BCD1091,但是D0存的數為什么是0000,0100,0100,0011,,而不是BCD碼1091----0001,0000,1001,0001呢? 高手,你的意思是不是說這個指令就只是求和,(16位操作模式)把D100到D104的高低位值求和后存到D0中, 還有,FLT, BIN整數,轉換成二進制浮點,不懂了,BIN不就是二進制數嗎?還轉換什么?,浮點是什么? 還有BFM 讀出,寫入指令FROM ,,TO也不理解,例如:TO,,K1,,K12,,H19,,K1,,手冊的例子第三位不是十六進制數啊,這個高手寫的指令是個十六位的19,怎么才能把NO。1存儲器的#12 寫入可編程控制器的H19里, 還有DECO ,ENCO指令,解碼和編碼更難理解,求容易的解釋謝謝! |
---|---|
|
aojianyun121
級別: 家園常客
|
是的校驗值是預支的,就和舉例子一樣。D0是數據加的數據,D1是校驗和。(數幾個1奇數個為1偶數為零) BCD是為了好記好理解,在PLC里面二進制數據對它來說好理解。 至于浮點數運算就更好理解了,計算機不認識小數,他只認得整數,所以要想個辦法變成他認識就可以了。所以才變來變去的!! 最后一個問題我還沒用到幫不了哈!! [ 此帖被aojianyun121在2012-12-27 10:28重新編輯 ] |
---|---|
|
tkggtdkjpl
工欲善其事,必先利其器!
級別: 網絡英雄
|
modbus ascii模式下要用到 |
|
---|---|---|
|