西門子河北PLC維修|西門子變頻器代理商
| 更新時間 2024-12-02 08:00:00 價格 請來電詢價 PLC觸摸屏代理商 西門子代理商 伺服電機驅動電纜 西門子一級代理商 變頻器直流調速器 西門子一級總代理商 聯系電話 13922889745 聯系手機 18475208684 聯系人 向小姐 立即詢價 |
1 | 題目
編寫一個狀態機實現兩臺西門子PLC的Modbus TCP通信,包含讀和寫功能。Modbus TCP Server在前面章節已經設計過,本章節不再敘述。
2 | 設計分析
使用多分支選擇CASE語句設計一個狀態機,設置一個步驟變量作為Modbus TCP通信輪詢跳轉表達式,初始為0即第0步等待通信連接建立成功,然后跳轉到下一步觸發第一個Modbus TCP讀寫通信,該步驟完成后自動跳轉到下一步觸發第二個Modbus TCP讀寫通信,以此類推,直到Zui后一個Modbus TCP讀寫通信,將返回到第1步并繼續循環執行Modbus TCP通信。
3 | 創建功能或功能塊
創建功能塊FB,命名為“MbTcpClient”。
4 | 定義接口變量
具體接口變量定義見下圖:
定義布爾型靜態變量statReq:通信請求;
定義無符號短整型靜態變量statMode:讀寫模式;
定義整型靜態變量statStep:狀態步;
定義無符號整型靜態變量statLen:通信單元長度;
定義無符號長整型靜態變量statAddr:數據緩存地址;
定義了字節型一維數組靜態變量statRead1…statRead3:讀數據緩存;
定義了字節型一維數組靜態變量statWrite1:寫數據緩存;
定義多重背景變量statConn:Modbus TCP連接參數。
5 | 程序代碼
編寫程序代碼。如下圖:
以上為用多分支選擇CASE語句設計的典型的狀態機的模板,適用于于順控和輪詢。注意只定義了一個MB_CLIENT的背景實例并注意其調用的位置。
6 | 代碼測試
在循環OB中調用FB-“MbTcpClient”,調用時會自動創建背景數據塊,命名為“InstMbTcpClient”,該背景數據塊可以用來監視和修改數據。轉至在線并監控程序。如下圖:
以上為讀線圈輸出。
以上為讀映象輸入。
以上為讀保持型寄存器。
以上為寫保持型寄存器。
聯系方式
- 電 話:13922889745
- 經理:向小姐
- 手 機:18475208684
- 微 信:18475208684