三菱PLC中LRC校驗碼程序編寫方法圖解
三菱中的LRC校驗碼程序的編寫(xie) ,在PLC與(yu) 設備進行通訊時采用MODBUS協議時,一般會(hui) 有兩(liang) 種數據模式,1是RTU模式,2是ASCII碼模式。RTU的數據傳(chuan) 輸采用CRC校驗,而ASCII碼則采用LRC校驗值。LRC值校驗涵蓋從(cong) 從(cong) 機地址到數據的信息部分,校驗和等於(yu) 所有參與(yu) 校驗數據的字符和的補碼。
我們(men) 先說下具體(ti) 的校驗碼怎麽(me) 計算,然後說三菱plc的LRC校驗碼程序的編寫(xie) 。
例子1
采用ASCII碼模式控製變頻器指令:01 03 21 00 00 01,這條指令中01一般是站號,03是讀取命令,2100是參數地址(例如運行頻率),00 01代表數據的個(ge) 數。那麽(me) 它的LRC校驗碼怎麽(me) 計算:指令的數據是16進製的,和為(wei) :0x01+0x03+0x21+0x01=0x26,對0x25取2的補碼就是DA,具體(ti) 計算就是取反加1,如:0x26=B0010,0110,取反後得到B1101,1001,加1得到B11011010=0xDA,那麽(me) LRC校驗碼就是DA。
例子2
同樣的控製變頻器指令:03 06 00 03 27 10, 和為(wei) 0x43,取反加1為(wei) 0xBD,LRC校驗值就是BD。明白了它的計算過程接下來我們(men) 在PLC編寫(xie) 它的算法,我們(men) 知道在PLC的運算中都是十進製的,為(wei) 了方便轉換和計算,可采取另外一種方法(原理一樣),我們(men) 知道ASCII碼是2位的16進製數,取反過程可看做0xFF減去檢驗總和如上述的0x26、0x43,加1就變成0x100減去檢驗總和,轉換成10進製的就是256(D)-和(D),再經過ASCI指令轉換成ACIIS碼就可以了。以下麵梯形圖進行說明:
使用RS指令向變頻器發送命令,01 03 33 03 00 01,轉換成16進製01 03 21 03 00 01這是一個(ge) 讀取頻率的指令,LRC校驗碼的運算梯形圖:
使用一個(ge) 變址寄存器Z0對數據D201到D206進行累加求和D40,最後用K256減去41就是LRC校驗碼215,通過ASCI指令轉換成ASCII碼,通過查看擴展ASCII碼表:
215的16進製為(wei) D7,與(yu) 01+03 +21+ 03+ 00 +01=0x29=B00101001,取反加1得到11010111=0x(D7),結果一致。
上述就是關(guan) 於(yu) 三菱PLC中LRC校驗碼程序編寫(xie) 方法圖解的全部內(nei) 容了,更多三菱PLC程序編寫(xie) 請到海藍機電網站閱讀。海藍機電三菱特級分銷商,提供三菱PLC、三菱變頻器、三菱觸摸屏、伟德登录地址等自動化產(chan) 品的銷售,並為(wei) 產(chan) 品提供技術服務支持、機器人視覺、上位機軟件、自動化開發、機電設備維修等服務。
海藍機電為(wei) 你提供機器人視覺、上位機軟件、自動化開發、機電設備維修等技術服務。
伟德betapp(www.mdcgfw.com)專(zhuan) 業(ye) 經營:三菱PLC、伟德登录地址、三菱變頻器、三菱觸摸屏等工控自動化產(chan) 品的批發和代理工作。
電話:0755-88356296(10線) 吳經理:13823726967
本文原創自:深圳海藍機電設備有限公司,轉載請注明出處:https://www.mdcgfw.com/article/832.html.
評論信息