fhy0410
級別: 略有小成
|
圖片:
圖片:
圖片:
[說得對。 不明白的地方多向前輩們請教。 在請教下程序中幾處地方:CRC校驗后,把D291的高低位分另傳入另兩個繼存器的作用是什么? 設定值這步MOV D203 D221------CRCP D200 D291 K9 這段程序的作用。能講解一下嗎?? [ 此帖被fhy0410在2019-06-17 12:31重新編輯 ] |
---|---|
|
anlyl2014
大吉大利
級別: 網(wǎng)絡英雄
|
你還是要看回變頻器手冊 [ 此帖被anlyl2014在2019-06-17 15:27重新編輯 ] |
|
---|---|---|
|
叫我點哥
級別: 探索解密
|
三菱在這方面確實挺麻煩的,要解決實際應用的話,換個國產(chǎn)PLC或者屏,很簡單就實現(xiàn)了 |
---|---|
|
叫我點哥
級別: 探索解密
|
MODBUS通訊你可以簡單理解成這樣的數(shù)據(jù)格式:站號 功能碼 地址 數(shù)據(jù) 數(shù)據(jù)長度 校驗 ,實際上用觸摸屏的話你只需要關心哪個站號,用那個功能碼,對應數(shù)據(jù)地址是什么,其他的校驗這些不用操心 |
---|---|
|
anlyl2014
大吉大利
級別: 網(wǎng)絡英雄
|
上面手冊的例子為10命令,批量寫入; 01 10 00 11 00 02 04 13 88 0F A0 B2 49 代碼意思是:01站號地址,10批寫入命令;0011從0011H開始寫;0002共2筆;04數(shù)據(jù)量,這時是要寫入2筆,每筆2個,所以,數(shù)據(jù)量為4; 13 88 為第一寄存器11H要寫入的數(shù)據(jù);0F A0為第二筆要寫入到12H的數(shù)據(jù);B2 49為CRC碼 這里要做CRC計算的總數(shù)為:11個;為何我的例子為K9呢? [ 此帖被anlyl2014在2019-06-17 16:51重新編輯 ] |
|
---|---|---|
|
anlyl2014
大吉大利
級別: 網(wǎng)絡英雄
|
我例子中也是用命令10,批量寫入,但是,我不寫多筆,僅寫1筆數(shù)據(jù)到2001H而已; 按上面講法, 01 10 00 11 00 02 04 13 88 0F A0 B2 49 發(fā)送的東西變成: 01 10 00 11 00 01 02 13 88 后面的0F A0就沒有,CRC碼當然不同,這里暫用XXXX代;看看,前面是不是9個?K9就這樣來的,明白沒? 當然,也可以用單個寫入命令06來寫,你自行看手冊. |
|
---|---|---|
|
anlyl2014
大吉大利
級別: 網(wǎng)絡英雄
|
請教下程序中幾處地方:CRC校驗后,把D291的高低位分另傳入另兩個繼存器的作用是什么? 這里也是要看手冊MODBUS RTU規(guī)范,簡單點看13樓示例,算出的CRC碼低位要先放進要發(fā)送的D219中,CRC碼的高位要放進D220中,才給RS指令發(fā)送; D210===站號 D211===命令 D212===訪問地址 D213===訪問地址 D214===寫入數(shù)1 D215===寫入數(shù)2 D216===數(shù)據(jù)量 D217===寫入數(shù)據(jù)1 D218===寫入數(shù)據(jù)2 *********共9個******** D219===CRC碼 D220===CRC碼 *********以上才組成一串MODBUS RTU碼****** 這樣說明白了嗎? [ 此帖被anlyl2014在2019-06-17 16:53重新編輯 ] |
|
---|---|---|
|
anlyl2014
大吉大利
級別: 網(wǎng)絡英雄
|
說得對,用HMI做MODBUS RTU通訊,超簡單,這跟三菱沒什么關系,大多數(shù)人機界面都可以做. |
|
---|---|---|
|
fhy0410
級別: 略有小成
|
anlyl2014:大師你好,經(jīng)過你詳細的講解我借鑒你的例子照寫了一個程序。請看一下。有錯的地方嗎? 請指點。謝謝 |
---|---|
|
anlyl2014
大吉大利
級別: 網(wǎng)絡英雄
|
小數(shù)點運算那里沒必要,可用HMI來做,可參考我發(fā)的例子,臺達HMI的話,直接設顯示小數(shù)點位數(shù)即可; 行不行,你下到PLC實物驗證一下就明白了。 |
|
---|---|---|
|