485通讯的校验和_三菱FX3U与变频器通讯程序如何编写
前面我們講了如何用串口調試工具通訊變頻器,也學習了Modbus的報文格式。今天老馮教你們怎么用PLC寫通訊程序。
首先看我們要準備的硬件:
1.三菱FX3U
2.三菱FX3U-485BD板
3.臺達VFD-M變頻器
4.臺達變頻器通訊水晶頭(RJ11)
首先是接線,RDA和SDA接到485+,RDB和SDB接到485-,也就是半雙工模式。這里解釋一下什么是半雙工,什么是全雙工。
半雙工:同一時間只能發送或者接收數據,接收和發送不能同時進行。
全雙工:接收發送可以同時進行,互不影響。
接完線我們需要定義兩邊的通訊參數一致。我們以Modbus RTU為例。設置變頻器站號為01,波特率為9600,8個數據位,1個停止位,偶校驗。那PLC這邊如何定義呢?看下圖的實例程序。
圖1
首先我們要置位特殊繼電器M8161,M8161=ON時,這樣是為了把所有數據都存放到數據寄存器的低八位。然后D8120為通訊格式寄存器,具體如何設置可以參考圖2。最后利用RS指令配置發送區和接收區,發送區為D0開始的8個數據寄存器,此例只講解如何發送報文,不需要接收數據,所以后面是K0。
圖2
通過前面的學習我們已經知道正轉啟動的報文為01 06 20 00 00 12 02 07。我們依次把報文賦值到發送區,程序如圖3-圖5。
圖3
圖4
圖5
接下來是計算CRC校驗碼,上期已經講了三菱有自己的CRC指令,所以可以直接利用D0-D5里面的值計算出校驗碼,因為是低八位模式,所以校驗碼依次存放到D6和D7的低八位。到此我們的報文已經全部賦值到發送區,也就是D0-D7。我們只需要set M8122就可以把報文發送給變頻器了。
圖6
特別說明一下,置位M8122后不需要手動對其復位,PLC在檢測到數據發送完成以后,會自行復位。
以上便是如何利用PLC給變頻器發送報文的案例程序。下期我們講如何接收,接收到的數據如何處理。沒看明白的朋友可以私信我交流討論。感謝支持!
總結
以上是生活随笔為你收集整理的485通讯的校验和_三菱FX3U与变频器通讯程序如何编写的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python贪吃蛇代码
- 下一篇: PS去除白色背景