西門子代理商-PLC伺服電機驅動變頻器代理-廈門市一級代理商
| 更新時間 2024-12-02 08:00:00 價格 請來電詢價 西門子變頻器 西門子觸摸屏 西門子伺服電機 西門子PLC 西門子直流調速器 西門子電纜 聯系電話 13922889745 聯系手機 18475208684 聯系人 向小姐 立即詢價 |
R-C
一 | s7=200 smart Modbus 通訊簡介 |
在上期Modbus主站通訊通知中,介紹了Modbus相關介紹,本篇不過多關注Modbus本身,主要講如何將S7-200 samrt作為從站使用的相關配置。
s7-200 samrt 通常情況下是用作主站使用,來采集現場儀表、傳感器等的485信號,但西門子s7-200 samrt 同時又支持作為從站使用(通信板和COM1口,同一時間僅支持作為主站或從站),多用于作為數據轉發站點存在,隨著越來越多的MES、I4.0項目上線,s7-200 smart 作為從站的需求也越來越多。本期內容教你如何使用西門子標準庫組態配置Modbus從站;
二 | s7-200 Modbus RTU 從站指令庫 |
西門子在 STEP 7-Micro/WIN SMART 中已經集成了 Modbus RTU 從站協議庫(西門子標準庫指令)庫中應當包括MBUS_INIT和MBUS_SLAVE兩個子程序。使用 Modbus RTU 從站指令庫,可以將PLC內數據以Modbus 協議形式傳輸至上位機系統。
image-202403
三 | s7-200 Modbus RTU 從站配置步驟 |
1. 從站指令初始化
使用SM0.1調用子程序MBUS_INIT進行從站參數初始化,注意:SM0.1僅在第一個掃描周期執行,因此Modbus RTU 從站參數無法在線修改,每次修改完成必須重啟CPU;
image-202403
各參數意義:
Mode | 模式選擇 | 啟動/停止Modbus,1=啟動;0=停止 |
Addr | 從站地址 | Modbus從站地址,取值1~247 |
Baud | 波特率 | 可選1200,2400,4800,9600,19200,38400,57600,115200 |
Parity | 奇偶校驗 | 0=無校驗; 1=奇校驗; 2=偶校驗 |
Port | 端口 | 0=CPU中集成的 RS-485 1=可選信號板上的RS-485 或 RS-232。 |
Delay | 延時 | 附加字符間延時,缺省值為0 |
MaxIQ | Zui大I/Q位 | 參與通信的Zui大I/O點數,S7-200 SMART 的I/O映像區為256/256(但目前只能Zui多連接4個擴展模塊,因此目前Zui多I/O點數為188/188) |
MaxAI | Zui大AI字數 | 參與通信的Zui大AI通道數,Zui多56個 |
MaxHold | Zui大保持寄存器區 | 參與通信的V存儲區字(VW) |
HoldStart | 保持寄存器區起始地址 | 以&VBx指定(間接尋址方式) |
Done | 初始化完成標志 | 成功初始化后置1 |
Error | 初始化錯誤代碼 | 0=無錯誤 1=存儲器范圍錯誤 2=波特率或奇偶校驗非法 3=從站地址非法 4=Modbus參數值非法 5=保持寄存器與Modbus從站符號重疊6=收到奇偶校驗錯誤 7=收到CRC錯誤 8=功能請求非法 9=請求中的存儲器地址非法 10=從站功能未啟用 11=端口無效 12=信號板端口1缺失或未組態 |
2.調用從站指令初
使用SM0.0調用MBUS_SLAVE指,由于Modbus通訊從站不能主動發起數據傳輸,只有等待主站輪詢,因此需要使用SM0.0一直執行;
image-202403
各參數意義:
Done | 從站指令響應狀態 | 當 MBUS_SLAVE 指令響應 Modbus 請求時,“完成”(Done) 輸出接通。 如果未處理任何請求,“完成”(Done) 輸出關閉。 |
Error | 輸出包含指令的執行結果 | 僅當“完成”(Done) 接通時,該輸出才有效。如果“完成”(Done) 關閉,則錯誤參數不會改變。 |
四 | 在CPU的V數據區中分配庫指令數據塊 |
Modbus Slave 指令庫需要一個781個字節的全局 V 存儲區。
調用STEP 7 - Mciro/WIN SMART Instruction Library(指令庫)需要分配庫指令數據區(Library Memory)。庫指令數據區是相應庫的子程序和中斷程序所要用到的變量存儲空間。
如果在編程時不分配庫指令數據區,編譯時會產生許多相同的錯誤。
操作步驟:
在指令樹的Project(項目)中,以鼠標右鍵單擊Program Block(程序塊),在彈出的快捷菜單中選擇Library Memory。
image-202403在彈出的選項卡中設置庫指令數據區,可以自己填地址,也可選擇建議地址自動分配;注意:分配后的地址,不能再用在其他程序中;
image-202403配置結束,下載程序即可進行通訊測試;
五 | Modbus RTU 從站指令庫支持的 Modbus 功能碼 |
1 | 讀取單個/多個線圈(離散量輸出點)狀態。 功能 1 返回任意個數輸出點(Q)的 ON/OFF 狀態。 |
2 | 讀取單個/多個觸點(離散量輸入點)狀態。 功能 2 返回任意個數輸入點(I)的 ON/OFF 狀態。 |
3 | 讀取單個/多個保持寄存器。功能 3 返回 V 存儲區的內容。在 Modbus 協議下保持寄存器都是“字”值,在一次請求中可以讀取Zui多 120 個字的數據。 |
4 | 讀取單個/多個輸入寄存器。功能 4 返回 S7-200 SMART CPU 的模擬量數據值。 |
5 | 寫單個線圈(離散量輸出點)。功能 5 用于將離散量輸出點設置為指定的值。這個點不是被強制的,用戶程序可以覆蓋 Modbus 通信請求寫入的值。 |
6 | 寫單個保持寄存器。功能 6 寫一個值到 S7-200 SMART 的 V 存儲區的保持寄存器中。 |
15 | 寫多個線圈(離散量輸出點)。功能 15 把多個離散量輸出點的值寫到 S7-200 SMART CPU 的輸出映像寄存器(Q 區)。輸出點的地址必須以字節邊界起始(如 Q0.0 或 Q2.0),并且輸出點的數目必須是 8 的整數倍。這是此 Modbus RTU 從站指令庫的限制。些點不是被強制的,用戶程序可以覆蓋 Modbus 通信請求寫入的值。 |
16 | 些多個保持寄存器。功能 16 寫多個值到 S7-200 SMART CPU 的 V 存儲區的保持寄存器中。在一次請求中可以寫Zui多 120 個字的數據。 |
聯系方式
- 電 話:13922889745
- 經理:向小姐
- 手 機:18475208684
- 微 信:18475208684