| 注冊| 產(chǎn)品展廳| 收藏該商鋪

行業(yè)產(chǎn)品

當(dāng)前位置:
西門子plc模塊代理商>>商機中心>>供應(yīng)列表>>西門子S7-200CNCPU224XP6ES7214-2BD23-0XB8
[供應(yīng)]西門子S7-200CNCPU224XP6ES7214-2BD23-0XB8
舉報
返回列表頁
  • 西門子S7-200CNCPU224XP6ES7214-2BD23-0XB8
貨物所在地:
上海上海市
更新時間:
2024-09-23 21:00:07
有效期:
2024年9月23日 -- 2025年3月23日
已獲點擊:
279
在線詢價 收藏產(chǎn)品

(聯(lián)系我們,請說明是在 化工儀器網(wǎng) 上看到的信息,謝謝?。?/p>

產(chǎn)品簡介

西門子S7-200CNCPU224XP6ES7214-2BD23-0XB8
S7-200CN CPU224XP,AC/DC/Rly,14輸入/10輸出(NPN輸出),集成2AI/1AO

詳細介紹

    高級業(yè)務(wù)顧問;竭誠為你服務(wù).
   本公司主營西門子S7-200S7-300,S7-400系列PLC,伺服電機,ET200系列產(chǎn)品 變頻器  西門子人機界面,觸摸屏,操作屏,西門子電線電纜,西門子網(wǎng)卡,西門子接頭,西門子維修等

S7-200做主站S7-300 CP341做從站的Modbus RTU通訊

1. 概述
在現(xiàn)場應(yīng)用中,很多儀表和設(shè)備僅支持Modbus RTU的通訊協(xié)議,第三方儀表可以做Modbus主站或從站,西門子的通訊模塊CP341 / CP441-2 通過Dongle(硬件狗)可以擴展該協(xié)議,S7-200 集成的口可以支持自由口通訊,通過指令庫也可以方便的實現(xiàn)Modbus RTU通訊。本文以S7-200作為Modbus 主站,CP341作為Modbus 從站,實現(xiàn)Modbus RTU通訊,闡述兩者在通訊方面的設(shè)置和注意事項。


2. 軟件環(huán)境

2.1 STEP7 V5.4 SP4
用于編寫 S7-300/400程序,此軟件需要從西門子購買,本文檔中的300的程序是使用Step7 V5.4 SP4的軟件編寫。

2.2 CP PTP Param V5.1 SP11
串行通訊模板的驅(qū)動程序,安裝此驅(qū)動后才能對PtP模板進行參數(shù)配置,并在Step7中集成通訊編程需要使用的功能塊。此驅(qū)動隨購買模板一起提供,也可以從以下的鏈接下載

2.3 CP PTP Modbus Sle V3.1 SP7
CP341或CP441-2用于Modbus從站時,需要安裝此驅(qū)動協(xié)議,但安裝之前必須先安裝PtP Driver,此驅(qū)動可以在購買Modbus Dongle時選擇購買,也可以從以下的鏈接下載

2.4 STEP7 Micro/WIN V4.0 SP6
用于S7-200編程的軟件,本文檔中的200的程序是使用Step7 Micro/win 的軟件編寫。此軟件可以從西門子下載中心免費下載,也可以從以下的鏈接下載。
 自動化系統(tǒng)>>S7-200>>軟件,文檔編號S0002。

2.5 Toolbox_V32-STEP 7-Micro WIN 32 Instruction Library
S7-200實現(xiàn)Modbus RTU功能,可以使用Modbus的指令庫,要使用西門子的標(biāo)準(zhǔn)指令庫,必須先安裝指令庫的軟件包 Instruction Library,安裝后,可以在Step 7-Micro/WIN軟件的庫中找到Modbus相關(guān)的指令,該軟件包可以從以下的鏈接下載。自動化系統(tǒng)>>S7-200>>軟件,文檔編號S0010。


3. 硬件列表和接線

3.1 硬件列表

S7-300從站CPU315-2DP6ES7 315-2AG10-0AB0
CP341 RS422/4856ES7 341-1CH01-0AE0
Dongle6ES7 870-1AB01-0YA0
PC 適配器(USB)6ES7 972-0CB20-0XA0
S7-200主站CPU 224XP6ES7 214-2BD23-0XB0

表1 硬件設(shè)備

3.2 硬件接線

3.2.1 接口定義
S7-200的通訊口為RS485物理口(9針口),CP341是RS422/485的接口類型(15針口),兩種設(shè)備的接口引腳的示意圖如下所示,更詳細的信息可以參考CP341及S7-200通信接口的手冊。


圖1 S7-200 CPU通信口引腳定義

 


圖2 S7-300 CP341 RS422/485 通訊口引腳定義

3.2.2 接線示意圖


圖3 硬件結(jié)構(gòu)和接線示意圖


4. 組態(tài)設(shè)置和編程

4.1 S7-200做Modbus主站的設(shè)置
S7-200 CPU上的通信口在電氣上是標(biāo)準(zhǔn)的RS-485半雙工串行通信口,此串行字符通信的格式:1個起始位;7/8位數(shù)據(jù)位;1位奇/偶/無校驗;1停止位。通信波特率可以設(shè)置為1200、2400、4800、9600、19200、38400、57600或112500,符合這些格式的串行通訊設(shè)備可以和S7-200進行自由口通訊,Modbus RTU指令庫就是使用自由口編程實現(xiàn)的。

4.1.1 Modbus RTU主站庫

使用Modbus 主站指令庫時需要注意的幾點:

  • 需要S7-200的編程軟件是 Micro/WIN V4.0 SP5及以上版本;
  • Modbus RTU 主站庫對CPU的版本有要求,CPU 的版本必須為 2.00 或者 2.01(即訂貨號為 6ES721*-***23-0BA*);
  • Modbus主站可讀/寫的大數(shù)據(jù)量為120個字(指每一個 MBUS_MSG 指令);
  • Modbus 主站庫支持Port0和Port1(從站庫只支持Port0口),本例中用Port0;
  • 使用Modbus 庫時必須對庫存儲區(qū)進行分配,見下圖設(shè)置,而且分配的空間不能和程序中其它空間沖突,否則編譯調(diào)用會報錯。


圖4 庫存儲區(qū)設(shè)置

  • Modbus主站庫支持的功能碼和地址對應(yīng)關(guān)系:
     
    Modbus 地址讀 / 寫Modbus 從站須支持的功能
    00001~09999功能1:讀輸出點
      數(shù)字量輸出功能5:寫單個輸出點
     功能15:寫多個輸出點
    10001~19999功能2:讀輸入點
      數(shù)字量輸入
    30001~39999功能4:讀輸入寄存器
      輸入寄存器
    40001~49999功能3:讀保持寄存器
      保持寄存器功能6:寫單個寄存器
     功能16:寫多個寄存器

    表2需要從站支持的功能

4.1.2 S7-200 Modbus主站編程
編程時,使用SM0.0調(diào)用MBUS_CTRL完成主站的參數(shù)初始化,詳細見下表,參數(shù)的說明也可以從子程序的局部變量表中找到。


圖5 Modbus RTU 主站初始化

圖中各參數(shù)含義如下

編號符號/含義說                   明
aEN / 使能必須保證每一掃描周期都被使能(使用SM0.0)。
bMode / 模式為1時使能為Modbus協(xié)議;為0時恢復(fù)為PPI協(xié)議。
cBaud / 波特率支持的通訊波特率為1200,2400,4800,9600,19200,38400,57600,115200。
dParity / 校驗校驗方式選擇:0=無校驗;1=奇校驗,2=偶校驗。
eTimeout / 超時主站等待從站響應(yīng)的時間,以毫秒為單位,典型的設(shè)置值為 1000毫秒,允許設(shè)置的范圍為1-32767。這個值必須設(shè)置足夠大以保證從站有時間響應(yīng)。
fDone / 完成位初始化完成,此位會自動置1。
gError / 錯誤位初始化錯誤代碼。

表3

調(diào)用 Modbus RTU 主站讀寫子程序MBUS_MSG,發(fā)送一個Modbus 請求。


圖6 調(diào)用Modbus RTU 主站讀寫子程序

圖中各參數(shù)含義如下

編號符號/含義說                   明
aEN / 使能同一時刻只能有一個讀寫功能使能。
bFirst / 讀寫請求位 每一個新的讀寫請求必須使用脈沖觸發(fā)。
cSle / 從站地址可選擇的范圍1–247。
dRW / 讀寫操作位0=讀, 1=寫。
eAddr / 讀寫從站的數(shù)據(jù)地址選擇讀寫的數(shù)據(jù)類型:
00001 至 0xxxx - 開關(guān)量輸出
10001 至 1xxxx - 開關(guān)量輸入
30001 至 3xxxx - 模擬量輸入
40001 至 4xxxx - 保持寄存器。
fCount / 數(shù)據(jù)的個數(shù)通訊的數(shù)據(jù)個數(shù)(位或字的個數(shù))。
gDaptPtr / 數(shù)據(jù)指針如果是讀指令,讀回的數(shù)據(jù)放到這個數(shù)據(jù)區(qū)中;
如果是寫指令,要寫出的數(shù)據(jù)放到這個數(shù)據(jù)區(qū)中。
hDone / 完成位讀寫功能完成位。
iError / 錯誤代碼只有在Done位為1時,錯誤代碼才有效。

表4

從上圖中可見,S7-200作為Modbus RTU主站,波特率9.6Kb/s,偶校驗,連接從站的站地址是3,數(shù)據(jù)存儲區(qū)為VB2000開始的區(qū)域。

4.2 CP341 做Modbus 從站的硬件組態(tài)

4.2.1 硬件組態(tài)


圖7 S7-300側(cè)硬件組態(tài)

4.2.2 設(shè)置Modbus參數(shù)


圖8 消息楨字符結(jié)構(gòu)

按照上述操作設(shè)置參數(shù),從上圖可以看出,本例中的傳輸波特率9.6Kb/s,1位起始位,8位數(shù)據(jù)位,偶校驗位,1位停止位,從站站地址是3,主從通訊設(shè)備的字符幀格式和波特率等參數(shù)設(shè)置需要*。


圖9 RS422/485 接口組態(tài)

RS422/485接口只能一個有效,接口的選擇只需要組態(tài)而不需要在硬件上短接。

 


圖10 Dongle時,需要CPU停機

 


圖11 從站驅(qū)動后結(jié)果

4.2.4 CP341做Modbus從站的編程
從Step7 軟件下的EXAMPLE目錄中,找到項目名“zXX21_05_PtP_Com_MODSL”的項目,打開,然后將Modbus通訊模塊FB80傳遞到用戶項目中,打開路徑如下所示。


圖12 Modbus Sle 例程打開路徑

OB1中調(diào)用FB80編程如下:


圖13 FB80程序塊調(diào)用

CP卡初始化正常后,CP_START,CP_START_FM和CP_START_OK為1信號,否則CP_START_ERROR為1,同時可以從ERROR_NR察看錯誤信息,也可以在硬件組態(tài)中在線后的CP341的診斷緩沖區(qū)察看詳細的錯誤信息,錯誤信息對照和處理方式可以參考
《S7-300以用于PtP CP Modbus 協(xié)議RTU格式S7的可裝載驅(qū)動程序為從站》的手冊。

FB80的各參數(shù)含義如下

LADDR硬件組態(tài)中CP341的起始邏輯地址,本例中為256
START_TIMER初始化超時定時器,本例中為T120
START_TIME初始化定時器時間,本例中為5S
OB_MASKI/O訪問錯誤屏蔽位,本例中為True(I/O訪問錯誤已屏蔽)
CP_STARTFB初始化使能位,本例中為M0.0
CP_START_FMCP_START 初始化的上升沿位,本例中為M0.1
CP_NDR從CP卡寫操作位,本例中為m0.2
CP_START_OK初始化完成且無錯誤,本例中為M0.3
CP_START_ERROR初始化完成,但有錯誤,本例中為M0.4
ERROR_NR錯誤號,本例中為MW2
ERROR_INFO錯誤信息,本例中為MW4

表5


5. 通訊測試
Modbus RTU格式通信協(xié)議是以主從的方式進行數(shù)據(jù)傳輸?shù)?,在傳輸?shù)倪^程中主站是主動方,即主站發(fā)送數(shù)據(jù)請求報文到從站,從站返回響應(yīng)報文。Modbus 系統(tǒng)間的數(shù)據(jù)交換是通過功能碼來控制的,以下對現(xiàn)場常用的功能碼進行分類測試,關(guān)于功能碼的詳細信息請參考手冊。

5.1 FC01/05/15功能碼
CP341從站的通訊區(qū)域配置


圖14 FC01/05/15 參數(shù)組態(tài)界面

FC01、FC05、FC15對應(yīng)的數(shù)據(jù)區(qū)為位輸出,數(shù)據(jù)的傳遞以位為單位,可以讀寫操作,用戶地址區(qū)為0xxxx,Modbus地址在信息傳遞中從0開始。如上圖,左邊為信息傳遞地址(地址區(qū)不能沖突),右邊對應(yīng)的是S7-300的數(shù)據(jù)區(qū)。例如左邊信息傳遞地址從0 ~ 7對應(yīng)用戶地址區(qū)為00001 ~ 00008,對應(yīng)S7-300的M10.0 ~ M10.7,并且以此為例說明FC01功能碼的通訊。
S7-200主站程序調(diào)用


圖15 功能碼FC01使用

S7-200主站,用功能碼FC01讀取從站8點數(shù)字量輸出,接收的數(shù)據(jù)存放在VB2000開始的區(qū)域,測試截圖結(jié)果如下。


圖16 FC01功能碼數(shù)據(jù)交換

5.2 FC02功能碼
CP341從站的通訊區(qū)域配置


圖17 FC02 參數(shù)組態(tài)界面

FC02對應(yīng)的數(shù)據(jù)區(qū)為位輸出,數(shù)據(jù)的傳遞以位為單位,只讀操作,用戶地址區(qū)為1xxxx,Modbus地址在信息傳遞中從0開始,如上圖,左邊為信息傳遞地址(地址區(qū)不能沖突),右邊對應(yīng)的是S7-300的數(shù)據(jù)區(qū)。例如左邊信息傳遞地址從0 ~ 7對應(yīng)用戶地址區(qū)為10001 ~ 10008,對應(yīng)S7-300的M20.0 ~ M20.7,并且以此為例說明FC02功能碼的通訊。
S7-200主站程序調(diào)用


圖18 功能碼FC02使用

S7-200主站,用功能碼FC02讀取從站8點數(shù)字量輸入,接收的數(shù)據(jù)存放在VB2000開始的區(qū)域,測試截圖結(jié)果如下。


圖19 FC02功能碼數(shù)據(jù)交換

5.3 FC03/06/16 功能碼
CP341從站的通訊區(qū)域配置


圖20 FC03/06/16參數(shù)組態(tài)界面

FC03/06/16 對應(yīng)的數(shù)據(jù)區(qū)為寄存器,數(shù)據(jù)的傳遞以字為單位,可以讀寫操作,用戶地址區(qū)為4xxxx,Modbus地址在信息傳遞中從0開始。如上圖,左邊為信息傳遞地址,右邊對應(yīng)的是S7-300的數(shù)據(jù)區(qū),左邊傳輸?shù)刂凡豢筛模疫呏粚?yīng)一個數(shù)據(jù)區(qū)。例如用戶地址
區(qū)為40001 ~ 40004,對應(yīng)S7-300數(shù)據(jù)區(qū)為DB1.DBW0 ~ DB1.DBW6,并且以此為例說明
FC03功能碼的通訊。
S7-200主站程序調(diào)用


圖21功能碼FC03使用

S7-200主站,用功能碼FC03讀取從站4個字寄存器,接收的數(shù)據(jù)存放在VB2000開始的區(qū)域,測試截圖結(jié)果如下。


圖22 FC03功能碼數(shù)據(jù)交換


5.4 FC04 功能碼
CP341從站的通訊區(qū)域配置


圖23 FC04參數(shù)組態(tài)界面

FC04對應(yīng)的數(shù)據(jù)區(qū)為寄存器輸入,數(shù)據(jù)的傳遞也以字為單位,只讀操作,用戶地址區(qū)3xxxx,Modbus地址在信息傳送中從0開始。如上圖,左邊為信息傳遞地址,右邊對應(yīng)的是S7-300的數(shù)據(jù)區(qū),左邊傳輸?shù)刂凡豢筛模疫呏粚?yīng)一個數(shù)據(jù)區(qū)。例如用戶地址區(qū)為30001 ~ 30004,對應(yīng)S7-300數(shù)據(jù)區(qū)為DB1.DBW0 ~ DB1.DBW6,并且以此為例說明FC04功能碼的通訊。
S7-200主站程序調(diào)用


圖24功能碼FC04使用

S7-200主站,用功能碼FC04讀取從站4個字輸入寄存器,接收的數(shù)據(jù)存放在VB2000開始的區(qū)域,測試截圖結(jié)果如下。


圖25 FC04功能碼數(shù)據(jù)交換

5.5 Limits 欄


圖26 Limits 參數(shù)組態(tài)界面

對于寫功能碼FC05、06、15、16,可以禁用或限制訪問相關(guān)S7-300存儲區(qū),即使用這些功能碼時,S7-300存儲區(qū)需要在設(shè)定的小和大的范圍之間,如果訪問的區(qū)域超出這個范圍,則訪問會被拒絕,同時輸出報錯誤信息。


6. 總結(jié)
本文檔以S7-200為主站和CP341為從站簡單介紹了Modbus RTU通訊,關(guān)于通訊的組態(tài)設(shè)置,編程以及常用功能碼的使用,其具體的使用可以作為西門子串行通訊模塊與第三方的儀表、設(shè)備等進行串行通信的參考

門子S7-200 PLC接型編碼器問題

*文檔: 西門子工程師*本文檔!

  • 文檔

  •  
  • 涉及產(chǎn)品

問題1:S7-200 PLC可以連接型編碼器嗎?
解答:S7-200 PLC可以連接型編碼器,但應(yīng)注意以下幾點:
(1)S7-200 PLC可連接并行輸出的型編碼器。串行輸出、總線型輸出、變送一體型輸出等型編碼器需PLC具有相應(yīng)的接口或組態(tài)能力,不能與西門子S7-200 PLC 直接連接。
(2)接入S7-200 PLC 的型編碼器信號輸出是格雷碼。如是純二進制碼,在數(shù)據(jù)刷新時可能有多位變化,讀數(shù)會在短時間里造成錯碼。
(3)型編碼器在每圈的每個位置都有編碼,由于 PLC數(shù)據(jù)更新受程序掃描周期的影響,因此經(jīng)PLC讀取并換算后的編碼器位置值相對于編碼器當(dāng)前位置值存在一定的誤差。
(4)對型編碼器進行接線時,必須確保其與PLC輸入點連接好。如有個別連接不良點,該點電位始終是0,將會造成錯碼而無法判斷。


問題2:S7-200 PLC與型編碼器怎樣接線?
解答:并行輸出的型編碼器輸出有多少位就要占用PLC的多少位接點,以S7-200 PLC CPU224 為例,如使用12位輸出的單圈型編碼器(PNP集電極開路輸出) ,需要占用CPU224的12位輸入點。型編碼器的12位信號輸出線L0—L11依次接入CPU224 的I0.0—I0.7,I1.0—I1.3。如圖1所示:


圖1 CPU224輸入端與型編碼器接線圖


問題3:怎樣處理格雷碼碼值?
解答:西門子S7-200 PLC的寄存器中地址越高,字節(jié)位越低。如在輸入寄存器中IW0 的
IB0 是高字節(jié),IB1是低字節(jié),因此必須將IW0 中的格雷碼值左循環(huán)8 次,將高、低位字節(jié)調(diào)換一次位置得到正確排序的格雷碼值存入VW0中。如圖2所示:



圖2 字循環(huán)左移8次

而且,由于接入12位輸出的單圈型編碼器,需屏蔽掉IW0字內(nèi)的I1.4—I1.7,將需要的格雷碼數(shù)據(jù)存入VW2中。如圖3所示:



圖3 邏輯與運算

在實際應(yīng)用中,為了計算編碼器轉(zhuǎn)過的角度或位置,需使用格雷碼指令GRAY_BIN_W功能塊將格雷碼解碼為字類型的標(biāo)準(zhǔn)二進制碼,對應(yīng)放到VW4中。如圖4所示:

收藏該商鋪

登錄 后再收藏

提示

您的留言已提交成功!我們將在第一時間回復(fù)您~
二維碼 意見反饋
在線留言