西門子全國授權一級代理商
上海潯之漫智控技術公司在經營活動中精益求精,具備如下業務優勢:
SIEMENS可編程控制器
長期低價銷售西門子PLC,200,300,400,1200,西門子PLC附件,西門子電機,西門子人機界面,西門子變頻器,西門子數控伺服,西門子總線電纜現貨供應,歡迎來電咨詢系列產品,折扣低,貨期準時,并且備有大量庫存.長期有效
歡迎您前來詢價.100分的服務.100分的質量.100分的售后.100分的發貨速度
您的選擇您的支持是我的動力! ————致我親愛的客戶!
價格波動,請來電咨詢
Modbus RTU Master 協議指令庫使通信口工作在自由口模式下,此時不能與 Micro/WIN 軟件通信。要在切換回 PPI 協議,可以:
將 MBUS_CTRL 指令的 Mode 輸入端設置為邏輯"0"
將 CPU 的允許模式選擇開關置為 STOP 位置
Modbus RTU Master 協議庫的執行時間:
Modbus RTU Master 協議庫的 MBUS_CTRL 指令不需要很長的執行時間。MBUS_需要 1.11 ms 用于初始化,在后續的每個掃描周期中只占用 0.41 ms。
調用 MBUS_MSG 子程序會加長處理時間。大部分時間都用于 CRC 校驗的計算。每讀、寫一個字的數據就需要 1.85 ms 掃描時間。數據多的情況下(讀、寫 120 字的數據),掃描時間大概會擴增加 222 ms。讀操作的時間主要消耗在接收數據上;寫操作的時間主要消耗在發送數據上。
Modbus 地址
通常 Modbus 地址由 5 位數字組成,包括起始的數據類型代號,以及后面的偏移地址。Modbus Master 協議庫把標準的 Modbus 地址映射為所謂 Modbus 功能號,讀寫從站的數據。Modbus Master 協議庫支持如下地址:
00001 - 09999:數字量輸出( 線圈)
10001 - 19999:數字量輸入(觸點)
30001 - 39999:輸入數據寄存器(通常為模擬量輸入)
:數據保持寄存器
Modbus Master 協議庫支持的功能
為了支持上述 Modbus 地址的讀寫,Modbus Master 協議庫需要從站支持下列功能:
表 1. 需要從站支持的功能
讀 | 功能 1 |
寫 | 功能 5:寫單輸出點 功能 15:寫多輸出點 |
讀 | 功能 2 |
寫 | - |
讀 | 功能 4 |
寫 | - |
讀 | 功能 3 |
寫 | 功能 6:寫單寄存器單元 功能 16:寫多寄存器單元 |
6ES7954-8LP03-0AA0
Modbus 地址和 S7-200 存儲區地址的映射
S7-200 通過 Modbus Master 和 Slave 協議庫通信時,Modbus 地址和 S7-200 內存儲區地址的 映射關系都類似。
Modbus 保持寄存器地址映射舉例:
Modbus 數字量地址映射舉例:
位地址(0xxxx 和 1xxxx)數據總是以字節為單位打包讀寫。個字節中的低有效位對應 Modbus 地址的起始地址。如下圖所示:
圖 4. 數字量地址映射舉例
1.4 Modbus RTU 主站例程為了更好地理解 Modbus 主站的編程,可參考下面的例程。
例子程序1: 多個MBUS_MSG指令輪詢執行,
注意
1. 該例程使用 Micro/WIN V4.0 SP5 保存。
2. 該例程僅訪問一個從站,若訪問不同的從站,可通過改變從站地址來實現。
Modbus RTU 主站指令庫應用例程
例子程序2:反復激活單個MBUS_MSG指令:
Modbus RTU 主站變址方式輪詢訪問應用例程
注意:此指令庫/程序的作者和擁有者對于該軟件的功能性和兼容性不負任何責任。使用該軟件的風險*由用戶自行承擔。由于它是免費的,所以不提供任何擔保,錯誤糾正和熱線支持,用戶不必為 此聯系西門子技術支持與服務部門。
1.5 Modbus RTU 主站常問問題Modbus RTU 主站庫對 CPU 的版本是否有要求,為什么編譯例子程序時,會遇到 4 個錯誤?
Modbus RTU 主站庫對 CPU 的版本確實有要求,CPU 的版本必須為 2.00 或者 2.01(即訂貨號為6ES721*-***23-0BA*),1.22 版本之前(包括 1.22 版本)的 S7-200 CPU 不支持。
Modbus 指令庫啟動后,如何通過同一個通信端口進行 CPU 監控?
Modbus 指令庫使用的是 CPU 的自由口通信功能,工作在自由口模式下的通訊口不能使用 Micro/WIN 的 PPI 編程通信監控。如果通信口都已經被占用,可以考慮:
加一個通信模塊(如 EM 277、CP 243-1、EM 241 等)擴展出一個編程通信口
中止自由口模式,可以將 CPU 上的模式開關從 RUN 撥到 STOP;或者保持處于 RUN 狀態,用程序停止指令庫的 Modbus 模式(參見指令庫應用)
如何理解 Modbus 地址與功能碼的區別?
Modbus 地址與 Modbus 的功能碼是兩個層次的概念。
根據 Modbus 通信協議,Modbus 數據的地址使用 0xxxx、1xxxx、3xxxx 和 4xxxx 的形式,分別表示數字量輸出、數字量輸入、模擬量輸入等數據地址。在使用 S7-200 的指令庫時,Modbus 數據地址與 S7-200 的 I/O 和數據存儲區地址間有特定的對應關系。
有些設備表明它支持 Modbus RTU 通信協議,但也詳細提供了讀寫數據的詳細通信幀格式,其中包括如何 Modbus 站的地址,需要讀寫數據類型、長度等等。數據幀有特定字節指出此指令讀寫的數據類型和地址,此字節的數據內容即所謂"功能碼",如功能 1 讀取單個/多個數字量輸出點的值。
支持 Modbus 協議的設備或軟件,使用時用戶直接設置或看到的應當是 Modbus 數據地址。Modbus 地址所訪問的數據,是通過各種"功能"讀寫而來。功能碼是 Modbus 地址的底層。如果 Modbus 通信的一方提供的所謂 Modbus 協議只有功能碼,則需要注意了解此功能號與 Modbus 地址間的對應關系。
如何訪問大于 9999 的保持寄存器地址?
通常 Modbus 協議的保持寄存器地址范圍在 之間。對于多數應用來說已經夠了。但有些 Modbus 從站把地址映射到保持寄存器區的地址超過 9999 的部分。
Modbus Master 協議庫支持超過 9999 的保持寄存器地址。地址范圍為 36。只需在調用 MBUS_MSG 子程序時給 Addr 參數賦相應的值即可,如 416768。
Modubs Master 擴展地址模式僅支持保持寄存器區,不支持其他地址類型。
S7-200 作為 Modbus 主站方接收上來的數據格式與第三方設備不一樣怎么辦?
西門子PLC數據的存儲格式為高位低存方式。舉例:VD200中包含VW200和VW202,其中VW202是低字,VW200是高字。若第三方設備與西門子數據存儲格式不同,是低位低存的方式,那么通信上來的數據就會存在錯誤,需要進行轉換才能使用。編程的方式比較多樣,針對雙字中高低字的交換可以使用SWAP(字交換)指令,若是字節交換可以考慮循環移位指令。
S7-200 是否支持如 Modbus TCP 等其它協議?
不支持。S7-200自身的通信端口或其通信擴展模塊均不支持 Modbus TCP、CANopen、DeviceNet 以及 BACnet 通信協議。
為什么 S7-200 作 Modbus 主站時 MBUS_MSG 指令報6號錯誤?
引起6號錯誤主要有兩方面的原因:1.多個 MBUS_MSG 指令同時使能執行;2. Modbus庫存儲區中分配的建議地址區與編程中已使用的V存儲區有重疊。
西門子全國授權一級代理商
- 西門子全國一級代理商 2024-11-22
- 西門子可編程序模塊代理商 2024-11-22
- 西門子SITOP電源模塊代理廠家 2024-11-22
- 西門子G120XA變頻器中國代理商 2024-11-22
- 西門子工控配件代理商 2024-11-22
- 西安西門子授權代理 2024-11-22
- 陜西西門子授權代理 2024-11-22
- 阿里西門子授權代理 2024-11-22
- 那曲西門子授權代理 2024-11-22
- 日喀則西門子授權代理 2024-11-22
- 山南西門子授權代理 2024-11-22
- 昌都西門子授權代理 2024-11-22
- 拉薩西門子授權代理 2024-11-22
- 西藏西門子授權代理 2024-11-22
- 迪慶州西門子授權代理 2024-11-22
聯系方式
- 電 話:18717946324
- 聯系人:占雪芬
- 手 機:18717946324
- 微 信:18717946324