readfile读取串口数据_西门子PLC-1200-串口Modbus RTU通讯实例
西門子PLC-1200的基于232串口的Modbus RTU通訊實例
這里先講一下Modbus和232,232和485串口是一種串口接法,這種接法實際能實現十幾種的協議通訊,有基于串口的Modbus RTU,Modbus+,有基于以太網接口的Modbus tcp/ip和Modbus通訊協議,我們這邊說的只是基于232串口通訊的Modbus RTU通信
這里要講的是一個簡單的Modbus RTU通訊的小實例,就是對通過232串口,對一個稱重傳感器實時讀取參數,從而判斷是否需要加料
1.0 直接上圖,如下圖就是一個通訊設置的指令MB_COMM_LOAD,簡單說下這個指令的參數
2.0 如下圖
REQ:上升沿觸發通訊連接,這里我們設置PLC上電就觸發上升沿,連接通訊
PORT: 對于1200/1500這里是填入組態的通信模塊的硬件標識符,如果是300/400這里就應該填地址
BAUD:波特率,一般都是9600吧
下面幾個沒什么特別要求直接默認,不過也講下:
PARITY:奇偶校驗,0就是不校驗
FLOW_CTRL:選擇流控制
RTS_ON_DLY:RTS接通延時設置
RTS_OFF_DLY:RTS斷開延時設置
RESP_TO:等待從站響應的時間設置,如果設置時間內沒有響應,會重復請求直至報錯
MB_DB:引用Modbus_Master或Modbus_Slave的背景數據塊
DONE:當請求完成后,會置1一個周期
ERROR:當請求出現錯誤后,也會保持一個周期
STATUS:當ERROR=1時,會保持一個周期
以上3個狀態,需要及時鎖存住
3.0 在程序中加入Modbus_Master作為主站通信,如下圖,這邊是循環一直讀取狀態
3.1 這里講下具體Modbus_Master的具體參數
REQ:當為0時無請求,當為1時,請求向Modbus從站發送數據,這里不是上升沿觸發,為1就是一直處于請求狀態
MB_ADDR:Modbus RTU站地址
MODE:模式選擇,0為讀取,1為寫入還有診斷什么的,具體看下面的功能表
DATA_ADDR:指定在Modbus從站中訪問的數據的起始地址,MODE和DATA_ADDR這兩個參數配合來選擇Modbus功能代碼,如下
DATA_LEN:從Modbus從站讀取的數據長度,這里寫的是4,這三個參數組合起來,就是讀取從站從40001開始的4個字節的寄存器數據
DATA_PTR:數據指針,指向要進行數據寫入或讀取的標記或者數據塊地址,這里當然是讀取數據的存儲位置咯
DONE:如果上一個請求完成的話,就會置位1個周期
BUSY:0為無激活的命令,1為命令執行中
ERROR:錯誤報警
STATUS:錯誤代碼,也只會存在一個周期
總結
以上是生活随笔為你收集整理的readfile读取串口数据_西门子PLC-1200-串口Modbus RTU通讯实例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 耳软骨做鼻尖会挛缩吗
- 下一篇: 做牙齿矫正手术大概需要多少钱