服務熱線
86-132-17430013
品牌 | 其他品牌 |
---|
西門子代理商 西門子6ES7214-1AD23-OXB8 西門子6ES7214-1AD23-OXB8
致力于符合道德規范的、負責任的行為
西門子努力一切法律和道德要求,并且,只要可能,我們還努力超越這些要求。我們的責任是按照的職業和道德和慣例來開展業務:公司絕不容忍任何不合規的行為。
我們在“勇擔責任”方面的原則堪稱我們制定業務決策的指南針。我們還必須鼓勵我們的商業伙伴、供應商和其他利益相關者遵循同樣高的道德。
追求
取得的業績和成果
追求,是我們在每個業務都將盡力實現的目標。我們根據公司愿景制定這一遠大目標,并在其指引下提供優異的及超越客戶需求的解決方案。一直如此。
追求還意味著吸引市場上的人才。我們將幫助這些人才成功所需的各種技能,給他們提供發揮潛力的機會。我們致力于一種高績效企業文化。
追求不僅僅關系到我們所做的一切,它還要求我們找到一條的道路。這需要我們靈活、積極地迎接變革,從而確保我們能夠牢牢把握新的機遇。
矢志創新
敢于創新,創造可的價值
創新已成為西門子業務成功的基石。研發是西門子發展戰略的基本動力。作為關鍵的持有者,無論是已經成熟的工藝,還是正在發展的技術,我們都是客戶強的合作伙伴。我們的目標是,在所涉足的眾多業務,都占據技術地位。
我們是創新惠及全球的企業公民。我們用客戶是否成功來衡量我們的創新是否成功。我們不斷業務組合,以便為全人類共同面臨的嚴峻的挑戰提供解決方案,從而使我們得以創造可的價值。
通過用戶程序中的特殊寄存器區來訪問CPU的模擬電位器。
S7-200 類型 | 模擬電位器 1 | 模擬電位器 2 |
CPU 221 | SMB 28 | 不存在 |
CPU 222 | SMB 28 | 不存在 |
CPU 224 | SMB 28 | SMB 29 |
CPU 226 | SMB 28 | SMB 29 |
CPU 226XM | SMB 28 | SMB 29 |
在現場應用中,很多儀表和設備僅支持Modbus RTU的通訊協議,第三方儀表可以做Modbus主站或從站,西門子的通訊模塊CP341 / CP441-2 通過Dongle(硬件狗)可以擴展該協議,S7-200 集成的口可以支持口通訊,通過指令庫也可以方便的實現Modbus RTU通訊。本文以S7-200作為Modbus 主站,CP341作為Modbus 從站,實現Modbus RTU通訊,闡述兩者在通訊方面的設置和注意事項。
:
STEP7 V5.4 SP4
用于編寫 S7-300/400程序,此需要從西門子購買,本文檔中的300的程序是使用Step7 V5.4 SP4的編寫。
CP PTP Param V5.1 SP11
串行通訊模板的驅動程序,安裝此驅動后才能對PtP模板進行參數配置,并在Step7中集成通訊編程需要使用的功能塊。
CP PTP Modbus Sle V3.1 SP7
CP341或CP441-2用于Modbus從站時,需要安裝此驅動協議,但安裝之前必須先安裝PtP Driver,此驅動可以在購買Modbus Dongle時選擇購買。
STEP7 Micro/WIN V4.0 SP6
用于S7-200編程的,本文檔中的200的程序是使用Step7 Micro/win 的編寫。此可以從西門子下載中心免費下載。
Toolbox_V32-STEP 7-Micro WIN 32 Instruction Library
S7-200實現Modbus RTU功能,可以使用Modbus的指令庫,要使用西門子的指令庫,必須先安裝指令庫的包 Instruction Library,安裝后,可以在Step 7-Micro/WIN的庫中找到Modbus相關的指令,該包可以從以下的鏈接下載。
硬件列表和接線:
S7-300從站 | CPU315-2DP | 6ES7 315-2AG10-0AB0 |
CP341 RS422/485 | 6ES7 341-1CH01-0AE0 | |
Dongle | 6ES7 870-1AB01-0YA0 | |
PC 適配器(USB) | 6ES7 972-0CB20-0xA0 | |
S7-200主站 | CPU 224XP | 6ES7 214-2BD23-0xB0 |
表1 硬件設備
3.2 硬件接線
3.2.1 接口定義
S7-200的通訊口為RS485物理口(9針口),CP341是RS422/485的接口類型(15針口),兩種設備的接口引腳的示意圖如下所示,更詳細的信息可以參考CP341及S7-200通信接口的手冊。
圖1 S7-200 CPU通信口引腳定義
圖2 S7-300 CP341 RS422/485 通訊口引腳定義
3.2.2 接線示意圖
圖3 硬件結構和接線示意圖
4. 組態設置和編程
4.1 S7-200做Modbus主站的設置
S7-200 CPU上的通信口在電氣上是的RS-485半雙工串行通信口,此串行字符通信的格式:1個起始位;7/8位數據位;1位奇/偶/無校驗;1停止位。通信波特率可以設置為1200、2400、4800、9600、19200、38400、57600或112500,符合這些格式的串行通訊設備可以和S7-200進行口通訊,Modbus RTU指令庫就是使用口編程實現的。
4.1.1 Modbus RTU主站庫
使用Modbus 主站指令庫時需要注意的幾點:
圖4 庫存儲區設置
Modbus 地址 | 讀 / 寫 | Modbus 從站須支持的功能 |
00001~09999 | 讀 | 功能1:讀輸出點 |
數字量輸出 | 寫 | 功能5:寫單個輸出點 |
功能15:寫多個輸出點 | ||
10001~19999 | 讀 | 功能2:讀輸入點 |
數字量輸入 | ||
30001~39999 | 讀 | 功能4:讀輸入寄存器 |
輸入寄存器 | ||
40001~49999 | 讀 | 功能3:讀保持寄存器 |
保持寄存器 | 寫 | 功能6:寫單個寄存器 |
功能16:寫多個寄存器 |
表2需要從站支持的功能
4.1.2 S7-200 Modbus主站編程
編程時,使用SM0.0調用MBUS_CTRL完成主站的參數初始化,詳細見下表,參數的說明也可以從子程序的局部變量表中找到。
圖5 Modbus RTU 主站初始化
圖中各參數含義如下
編號 | 符號/含義 | 說 明 |
a | EN / 使能 | 必須保證每一掃描周期都被使能(使用SM0.0)。 |
b | Mode / | 為1時使能為Modbus協議;為0時恢復為PPI協議。 |
c | Baud / 波特率 | 支持的通訊波特率為1200,2400,4800,9600,19200,38400,57600,115200。 |
d | Parity / 校驗 | 校驗選擇:0=無校驗;1=奇校驗,2=偶校驗。 |
e | Timeout / 超時 | 主站等待從站響應的時間,以毫秒為單位,典型的設置值為 1000毫秒,允許設置的范圍為1-32767。這個值必須設置足夠大以保證從站有時間響應。 |
f | Done / 完成位 | 初始化完成,此位會自動置1。 |
g | Error / 錯誤位 | 初始化錯誤代碼。 |
表3
調用 Modbus RTU 主站讀寫子程序MBUS_MSG,發送一個Modbus 請求。
圖6 調用Modbus RTU 主站讀寫子程序
圖中各參數含義如下
編號 | 符號/含義 | 說 明 |
a | EN / 使能 | 同一時刻只能有一個讀寫功能使能。 |
b | First / 讀寫請求位 | 每一個新的讀寫請求必須使用脈沖觸發。 |
c | Sle / 從站地址 | 可選擇的范圍1–247。 |
d | RW / 讀寫操作位 | 0=讀, 1=寫。 |
e | Addr / 讀寫從站的數據地址 | 選擇讀寫的數據類型: |
00001 至 0xxxx - 開關量輸出 | ||
10001 至 1xxxx - 開關量輸入 | ||
30001 至 3xxxx - 模擬量輸入 | ||
40001 至 4xxxx - 保持寄存器。 | ||
f | Count / 數據的個數 | 通訊的數據個數(位或字的個數)。 |
g | DaptPtr / 數據指針 | 如果是讀指令,讀回的數據放到這個數據區中; |
如果是寫指令,要寫出的數據放到這個數據區中。 | ||
h | Done / 完成位 | 讀寫功能完成位。 |
i | Error / 錯誤代碼 | 只有在Done位為1時,錯誤代碼才有效。 |