商鋪名稱:上海斌勤電氣技術有限公司
聯系人:康奎(先生)
聯系手機:
固定電話:
企業郵箱:192061030@qq.com
聯系地址:上海市松江區三新北路1800弄(松江電子商務園區)
郵編:201501
聯系我時,請說是在線纜網上看到的,謝謝!
西門子S7-200CN EM235
S7-200CN, EM235 模擬量輸入輸出模塊,4輸入/1輸出
SIEMENS西門子希殿電氣技術有限公司
聯系人:康奎 電話:021-60571249
傳真:021-60541249 郵箱:192061030@qq.com
工作QQ:192061030 手機:186-2106-1383
1.概述
2.硬件需求
•® S7-1214C AC/DC/RLY
•® S7-1200編程軟件 STEP 7 Basic V10.5
4.組態
4. 1 S7-1200 配置
•® 添加S7-1200 設備 CPU1214C;
4. 2 S7-1200 PLC 編程
•® 打開全局DB2,輸入2個數組類型數據,每個數組有16 個元素;
•® 創建兩個Watch table(Watch table_1, Watch table_2) 用來觀察DB2的實時狀態;
4. 3 S7-200 配置
•® 設置模塊位置,可以使用“讀取模塊”來自動識別;
•® 設置模塊CP243-1 IT 的IP地址192.168.0.8和子網掩碼255.255.255.0;
•® 設置模塊的連接數1 ,最多只能設置8個,也就是說S7-200可同時與最多 8 個 S7 通訊伙伴進行通訊;
•® 建立客戶端連接 Connection_1,設置服務器傳輸層服務接入點 TSAP 03.01和服務器IP地址 192.168.0.18 , TSAP 由 2 個字節組成。第一個字節為連接資源。第二個字節為通訊模板的機架號和插槽號;
•® 創建讀取數據傳輸 PeerMessage_1, 讀取服務器 16字節 DB2.DBB0~ DB2.DBB15 到VB0~VB15;
•® 創建讀取數據傳輸 PeerMessage_2, 將 16字節VB16~VB31寫入服務器DB2.DBB16~ DB2.DBB31 ;
•® 為配置分配存儲區;
4. 4 S7-200 PLC 編程
其中CP_Ready 為CP 243-1 IT 的狀態(0 未準備就緒,1 準備就緒),CH_Ready 為每個通道或 IT 服務的狀態(0通道 ,值為256):Error 為出錯或報文代碼;
•® 這樣以后就可以通過以太網接口進行下載,將PG/PC接口設為TCP/IP連接;
•® 在STEP 7-MicroWIN 中主程序中,調用子程序ETH0_XFR寫入服務器數據,指定相應的連接通道和數據;
•® 將程序下載到S7-200 CPU 中;
4. 5 檢測 S7-1200 與S7-200 PLC 通信結果
•® 從S7-200 程序中可知,在M11.0 從0變為1時,將S7-200的數據VB16~VB31 寫入S7-1200 的DB2.DBB16~DB2.DBB31中;
注意:
1 系統配置
1.1軟硬件配置
在進行PLC編程之前,請確認USS協議庫已經安裝,如圖1-1。
2.2 S7-200與控制單元間的接線
CU240E-2的控制端子排如圖1-2,從控制單元底部看,共有5個接線端子,其中2號端子為RS485P,3號端子為RS485N,用于通信數據的發送和接收。
S7-200作為USS通信主站,其通信端口和變頻器從站的接線如圖1-3。在通信網絡的首、末端需要使用終端電阻。
2.1 地址設置
2.2 參數設置
表2-1
3.1使用USS協議的初始化模塊初始化S7-200的PORT0端口
功能塊說明:
注: 此處以及下文的“功能塊說明”僅介紹了功能塊內的主要管腳
輸入:
3.2 使用USS_CTRL功能塊控制變頻器的運行
3.2.1 USS_CTRL功能塊編程
功能塊說明:
輸入:
EN:通常情況總是激活。
輸出:
Error:錯誤代碼。有關錯誤代碼說明,請參考表3-1。
表3-1
3.2.2 分配庫存儲區,編譯,下載。
分配庫存儲區之后,編譯并下載。
3.2.3 控制變頻器運行。
3.3.1 使用USS_RPM_R功能塊讀取浮點型參數
功能塊說明:
編譯、下載之后,打開狀態表監控,如圖3-7。把M6.0,從0強制為1后,VD560返回值為0.33。即r27=0.33。
3.3.2 使用USS_WPM_R功能塊修改浮點型參數
功能塊說明:
編譯、下載之后,打開狀態表監控,如圖3-9。把M7.0,從0強制為1后,VD630的當前值15.0將會寫入參數P1120的下標0中,即P1120.0=15.0。
3.3.3 使用USS_RPM_W功能塊讀取U16(無符號16位)類型參數
功能塊說明:
編譯、下載之后,打開狀態表監控,如圖3-11。把M2.0,從0強制為1后,VDW160返回值為440。即P210=440。
3.3.4 使用USS_WPM_W功能塊修改U16(無符號16位)類型參數
功能塊說明:
編譯、下載之后,打開狀態表監控,如圖3-13。把M3.0,從0強制為1后,VW230的當前值2將會寫入參數P1211的下標0中,即P1211=2。
3.3.5 使用USS_RPM_D功能塊讀取U32(無符號32位)類型參數
SIEMENS西門子希殿電氣技術有限公司
聯系人:康奎 電話:021-60571249
傳真:021-60541249 郵箱:192061030@qq.com
工作QQ:192061030 手機:186-2106-1383
通過以太網可以實現S7-1200與S7-200連接通信。S7-200可以使用 模塊(CP243-1或CP 243-1 IT)連接到以太網上,該模塊提供S7 通信的功能,既可作為客戶機,也可以作為服務器,可以同時與最多8個S7 通信伙伴進行通信;S7-1200 集成以太接口,提供S7 通信的功能,只能作為服務器,可以同時建立3 個通信連接。
下面會用一個實例來描述S7-200 如何與S7-1200建立通信連接。
圖1: 實例網絡拓撲圖
•® CPU 224 XP CN DC/DC/DC
•® CP243-1 IT
•® SCALANCE X204-2
•® PG/PC(使用編程電纜)
3.軟件需求
•® S7-200 編程軟件 STEP 7 –MicroWIN V4.0 SP6
•® 使用STEP 7 Basic 創建項目“comS7200”;
圖2: 創建項目
圖3: 添加PLC設備
•® 在Program blocks 下,添加程序塊(DB1,DB2,DB3),其中DB1和DB3為符號DB(選擇 Symbolic access only),DB3為絕對地址DB(不選擇 Symbolic access only) , S7 通信只支持絕對地址DB 尋址通信;
圖4: 創建絕對地址DB2
圖5: 在DB2中添加數據
•® 將程序下載到PLC CPU1214C 中。
使用STEP 7-MicroWIN 中以太網向導將CP243-1 IT 配置為 S7 客戶端。
•® 通過菜單打開以太網向導工具;
圖6: 以太網向導
圖7: 模塊位置設置
圖8: 設置IP 地址
圖9: 設置模塊連接數;
圖10: 配置連接
圖11: 配置數據傳輸0
圖12: 配置數據傳輸1
圖13: 分配存儲區
•® 在STEP 7-MicroWIN 中主程序中,調用子程序ETH0_CTRL;
圖14: 調用ETH0_CTRL
•® 程序建立后,需通過PPI連接 將程序塊和數據塊下載到S7-200 CPU中;
圖15: 設置 PG/PC 接口CP5611(PPI)
•® 在STEP 7-MicroWIN 中主程序中,調用子程序ETH0_XFR讀取服務器數據,指定相應的連接通道和數據;
圖16:調用ETH0_XFR 讀取服務器
圖17:調用ETH0_XFR 寫入服務器
•® 從S7-200 程序中可知,在M10.0 從0變為1時,讀取S7-1200的數據DB2.DBB0~DB2.DBB15 到VB0~VB15中;
圖18:S7-1200 DB2.DBB0~DBB15
圖19:S7-200 VB0~VB15
圖20:S7-200 VB16~VB31
圖21:S7-1200 DB2.DBB16~DBB31
5.總結
S7 1200 與 S7-200 通過 S7通信的基本原理如下圖所示:
圖22:S7-200與S7-1200 通信原理
CP 243-1 IT 可支持一個或多個遠程通訊伙伴的最多 8 個 S7 通訊通道到客戶機(最多212 字節)或服務器。CP 243-1 IT 可以根據客戶機/服務器原理在每個通道運行。每個通道,每次只能接收、處理或響應(主動響應或被動響應)一個請求。只有在發送響應后,CP 243-1 IT 通訊處理器才能接受其它請求。
(1)配備支持USS通信功能控制單元G120變頻器,異步電機。本例中,使用的控制單元是CU240E-2,固件版本V4.5。
(2)S7-200 PLC,與PC的連接電纜。本例中,使用的是CPU224 XP CN,連接電纜使用CP5512。
(3)安裝了Step7 Micro-Win V4.0軟件和USS協議庫的PC機。本例中,使用的是Step7 Micro-Win V4.0 SP6,USS協議庫為2.3版本。
西門子標準庫指令(包含USS協議庫)下載地址:http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=S0010
圖1-1
圖1-2
圖1-3
對于S7-200,需要在通信端口端子3和8之間,連接一阻值為120歐姆的電阻。
對于變頻器,把通信網絡末端的CU240E-2終端電阻撥碼開關撥到ON位置即可(位置在圖1-1中,標號⑨);中間位置的CU240E-2,終端電阻撥碼開關必須撥到OFF位置。
本例中,S7-200(CPU224 XP CN)使用通信端口Port 0和變頻器進行通信。
2 變頻器設置
變頻器的USS通信地址可以通過控制單元上的總線地址撥碼開關(位置在圖1-1中,標號⑤)進行設置。當地址撥碼開關的位置都為OFF時,也可用過參數P2021進行設置。
除了設置地址之外,還需要對變頻器一些基本的通信參數進行設置,才可以進行USS通信,如表2-1所示:
參數
描述
P0015 = 21
變頻器宏程序。
15:通過現場總線控制
設置方法:P10=1 → P15=21 → P10=0
p2030 = 1
現場總線協議選擇
1:USS協議
p2020
現場總線波特率
設置范圍是 4800 bit/s … 187500 bit/s,出廠為 19200 bit/s
本例使用:6(9600)
P2021
USS地址(在地址撥碼開關都為OFF時,才有效)
本例使用:3
p2040
過程數據監控時間
指沒有收到過程數據時發出報警的延時。
注:必須根據從站數量、總線波特率加以調整,出廠設置為 100 ms。
3 PLC編程
圖3-1
功能,未說明的管腳功能,請參考Step7 Micro-Win V4.0軟件的
幫助文件。
EN:使能。每次改變通訊狀態都應該執行一次初始化指令,EN信號應該通過脈沖激活。本例中,Port 0端口一直作為USS通信端口使用,因此使用SM0.1初始化一次即可。
Mode:1——為端口0指定USS協議,并啟用該協議。
Baud:波特率,應與變頻器定義的波特率一致。本例中,使用9600。
Active:激活驅動器地址,參考圖3-2。本例中,使用2#1000,即激活驅動器地址3。
圖3-2 激活驅動器地址3和5
圖3-3
RUN:啟動變頻器。0-停止;1-啟動。
OFF2:自由停車。0-正常;1-自由停車。
OFF3:快速停止。0-正常;1-快速停止。
F _ACK:故障復位。通過上升沿對變頻器進行故障復位。
DIR:運行方向。0-正轉;1-反轉
Drive:變頻器USS地址,0-31。本例使用3。
Speed~:速度設定值,通過百分比進行設定,范圍 -200.0~~200.0%。
Status:變頻器返回的狀態字。有關G120變頻器狀態字,請參考《參數手冊》有關r52參數的說明。
Speed:變頻器返回的速度實際值的百分比。
Run_EN:變頻器運行狀態。0-停止;1-運行。
D_Dir:變頻器運行方向。0-正轉;1-反轉。
Inhibit:變頻器禁止位狀態。0-正常;1-禁止。
Fault:變頻器故障狀態。0-正常;1-故障。
錯誤代碼
說明
0
無錯。
1
驅動器不應答。
2
檢測到來自驅動器的應答中檢驗和錯誤。
3
檢測到來自驅動器的應答中校驗錯誤。
4
來自用戶程序的干擾造成錯誤。
5
嘗試非法命令。
6
提供非法驅動器地址。
7
未為USS協議設置通訊端口。
8
通訊端口正在忙于處理指令。
9
驅動器速度輸入超出范圍。
10
驅動器應答長度不正確。
11
驅動器應答第一個字符不正確。
12
驅動器應答中的字符長度不受USS指令支持。
13
錯誤的驅動器應答。
14
提供的DB_Ptr地址不正確。
15
提供的參數號不正確。
16
選擇了無效協議。
17
USS激活,不允許改動。
18
指定了非法波特率。
19
無通訊:驅動器未設為激活。
20
驅動器應答中的參數或數值不正確或包含錯誤代碼。
21
返回一個雙字數值,而不是請求的字數值。
22
返回一個字數值,而不是請求的雙字數值。
在編譯程序之前,選擇 “程序塊” ->“ 庫”, 右鍵點擊,選擇“庫存儲區”。在彈出的對話框中點擊 “建議地址” 選擇V存儲區的地址后點擊 “OK”退出。如圖3-4。
圖3-4
此時,即可通過USS通信,控制變頻器的運行。
例,
打開狀態表監控,如圖3-5。
M1.0為變頻器的啟?刂莆唬跏贾禐0,從0強制為1后,變頻器即可運行。
VD30為變頻器的速度設定值,強制為20.0后,變頻器將以20%的速度運行。
VW20,VD22分別為變頻器返回的狀態字和速度實際值。
圖3-5
3.3 讀寫參數
根據參數的不同數據類型,需要使用不同的功能塊進行變頻器參數的讀寫。下文中,將通過舉例進行介紹。
注:目前,USS協議庫的參數讀寫功能塊,僅適用于讀寫參數號在3999以下的參數。對于參數號在4000以上的參數,如果要進行讀寫,可參考《操作說明》,7.4.2.4節,使用自由口編程的方式進行讀寫,在此不作介紹。
G120《操作說明》下載地址:30563628
圖3-6
輸入:
EN:需要讀取參數時激活。
XMT_~:操作請求。使用上升沿激活。
Drive:變頻器USS地址。本例中,使用3。
Param:要讀取的參數號。本例中,讀取參數r27(輸出電流實際值)。
Index:參數下標。本例中,r27無下標,必須定義為下標0。
輸出:
Value:返回的參數值。
圖3-7
西門子S7-200CN EM235
圖3-8
輸入:
EN:需要修改參數時激活。
XMT_~:操作請求。使用上升沿激活。
EEPR~:寫入EEPROM存儲器。(注:對CU240B/E-2無效)
Drive:變頻器USS地址。本例中,使用3。
Param:要修改的參數號。本例中,修改參數P1120(斜坡上升時間)。
Index:參數下標。本例中,修改下標0。
Value:要寫入的參數值。
圖3-9
圖3-10
輸入:
EN:需要讀取參數時激活。
XMT_~:操作請求。使用上升沿激活。
Drive:變頻器USS地址。本例中,使用3。
Param:要讀取的參數號。本例中,讀取參數P210(電源電壓)。
Index:參數下標。本例中,P210無下標,必須定義為下標0。
輸出:
Value:返回的參數值。
圖3-11
圖3-12
輸入:
EN:需要修改參數時激活。
XMT_~:操作請求。使用上升沿激活。
EEPR~:寫入EEPROM存儲器。(注:對CU240B/E-2無效)
Drive:變頻器USS地址。本例中,使用3。
Param:要修改的參數號。本例中,修改參數P1211(自動重啟嘗試次數)。
Index:參數下標。P1211無下標,必須定義為下標0。
Value:要寫入的參數值。
圖3-13
圖3-14
功能塊說明:
輸入:
EN:需要讀取參數時激活。
XMT_~:操作請求。使用上升沿激活。
Drive:變頻器USS地址。本例中,使用3。
Param:要讀取的參數號。本例中,讀取參數P730(DO0功能)。
Index:參數下標。本例中,P730無下標,必須定義為下標0。
輸出:
Value:返回的參數值。
編譯、下載之后,打開狀態表監控,如圖3-15。把M4.0,從0強制為1后,VD360返回值為16#0034FC03。即P730=52.3。
圖3-15
注:16#0034FC03到52.3的轉換說明
當使用讀寫參數的功能塊時,類似于P730=52.3這樣的BICO連接參數,需要經過如下轉換:
高字,0034(16進制)= 52(十進制);
低字中的高字節,對于CU240B/E-2,規定為FC(16進制);
低字中的低字節,03(16進制)= 3(十進制)。
所以, 0034FC03(16進制)= 52.3(十進制)
3.3.6 使用USS_WPM_D功能塊修改U32(無符號32位)類型參數
圖3-16
功能塊說明:
輸入:
EN:需要修改參數時激活。
XMT_~:操作請求。使用上升沿激活。
EEPR~:寫入EEPROM存儲器。(注:對CU240B/E-2無效)
Drive:變頻器USS地址。本例中,使用3。
Param:要修改的參數號。本例中,修改參數P731(DO1功能)。
Index:參數下標。本例中,P731無下標,必須定義為下標0。
Value:要寫入的參數值。
編譯、下載之后,打開狀態表監控,如圖3-17。把M5.0,從0強制為1后,VD430的當前值16#0034FC0C將會寫入參數P731中,即P731=52.12。有關0034FC0C(16進制)到52.12的轉換,請參考3.5.1節中的注釋。
圖3-17
1.S7-200和S7-300進行MPI通信
S7-200 PLC與S7-300 PLC之間采用MPI通訊方式時,S7-200 PLC中不需要編寫任何與通訊有關的程序,只需要將要交換的數據整理到一個連續的V 存儲區當中即可,而S7-300 PLC中需要在組織塊OB1(或是定時中斷組織塊OB35)當中調用系統功能X_GET(SFC67)和X_PUT(SFC68),以實現S7-200 PLC與S7-300 PLC之間的通訊。調用SFC67和SFC68時VAR_ADDR參數填寫S7-200的數據地址區,由于S7-200的數據區為v區,這里需填寫 P#DB1.DBX×× BYTE n 對應的就是S7200 V存儲區當中VB××到VB(××+n)的數據區。例如交換的數據存在S7-200中VB50到VB59這10個字節當中,VAR_ADDR參數應為 P#DB1.DBX50.0 BYTE 10.
首先根據S7-300的硬件配置,在STEP7當中組態S7-300站并且下載,注意S7-200和S7-300出廠默認的MPI地址都是2,所以必須修 改其中一個PLC的站地址,例子程序當中將S7-300 MPI地址設定為2,S7-200地址設定3,另外要分別將S7-300和S7-200的通訊速率設定一致,可設為9.6K,19.2K,187.5K三 種波特率,例子程序當中選用了19.2K的速率。
S7-200 PLC修改MPI地址可以參考下圖:
圖1 S7-200 設置MPI地址
S7-300 PLC修改MPI地址可以參考下圖:
圖2 S7-300 設置MPI地址
例子程序在OB1當中調用數據讀寫功能塊:SFC67和SFC68,如下圖:
圖3 程序編寫
分別在STEP7 MicroWin32 和STEP7當中監視S7-200和S7-300 PLC當中的數據,數據監視界面如下:
圖4 S7-200監控結果
圖5 S7-300監控結果
通過CP5611,STEP7 MicroWin32, Set PG/PC Interface可以讀取S7200和S7300的站地址,如下圖:
圖6 CP5611診斷結果(站地址0為進行編程的計算機)
圖7 使用STEP7 MicroWin32診斷結果
2.S7-200和S7-300進行PROFIBUS通信
S7-300與S7-200通過EM277進行 PROFIBUS DP通訊,需要在STEP7中進行S7-300站組態,在S7-200系統中不需要對通訊進行組態和編程,只需要將要進行通訊的數據整理存放在V 存儲區,并且S7-300組態EM277從站時設置正確的地址即可。
插入一個S7-300的站:
圖8 S7-300組態
選中STEP7的硬件組態窗口中的菜單 Option® Install new GSD(GSD 文件下載:113652)
導入SIEM089D.GSD文件,安裝EM277從站配置文件,如下圖:
圖9 安裝GSD
在SIMATIC文件夾中有EM277的GSD文件:
圖10 安裝GSD
導入GSD文件后,在右側的設備選擇列表中找到EM277從站,PROFIBUS DP®Additional Field Devices®PLC®SIMATIC®EM277,并且根據通訊字節數,選擇一種配置,本例選擇8字節入/8字節出的方式,如下圖:
圖11 通信區域組態
根據EM277上的撥位開關設定以上EM277從站的站地址。
圖12組態DP通信地址
組態完系統的硬件配置后,將編譯下載到S7-300的PLC當中。S7-300的硬件下載完成后,將EM277的撥位開關撥到與以上硬件組 態的設定值一致,在S7-200中編寫程序將進行交換的數據存放在VB0-VB15,對應S7-300的PQB0-PQB7和PIB0-PIB7,打開 STEP7中的變量表和STEP7 MicroWin32的狀態表進行監控,它們的數據交換結果如下圖:
圖13 通信數據監控
圖14 通信數據監控
注意:VB0-VB7是S7-300寫到S7-200的數據,VB8-VB15是S7-300從S7-200讀取的值。EM277上撥位開 關的位置一定要和S7-300中組態的地址值一致。如果使用的S7-200通信區域不從VB0開始,則需要設置地址偏移,在S7-300硬件組態中雙擊 EM277,修改數值0為實際使用的數值即可,如下圖所示:
圖15 地址區域偏移設置
3.S7-200和S7-300進行以太網通信
可以把S7-200的以太網模塊CP243-1配置為CLIENT,使用STEP 7 Micro/WIN32中的向導進行通信的配置即可。在命令菜單中選擇工具--> 以太網向導。
圖16 打開以太網向導
第一步是對以太網通信的描述.點擊下一步開始以太網配置。
圖17 向導介紹
在此處選擇模塊的位置,在線的情況下,您也可以用讀取模塊按鈕搜尋在線的CP243-1模塊。點擊下一步;
圖18 讀取模塊
在此處填寫IP地址和子網掩碼。點擊下一步;
圖19 地址設置
需要填寫模塊的連接數目,如只和CP343-1通信則在此處填寫1,點擊下一步。
圖20 模塊占用地址設置
選擇此為客戶機連接,遠程屬性TSAP (Transport Service Access Point)填寫為03.02,輸入343-1的IP地址.,點擊數據傳輸按鈕進入數據交換的定義。
圖21 連接設置
點擊新傳輸按鈕進入設置:選擇是讀取數據還是寫入數據。填寫通訊數據的字節個數,填寫發送數據區和接收數據區的起始地址,本例中為從S7-300的MB200開始讀取8個字節到vb1000開始的8個字節的區域中。
點擊確認按鈕:
圖22 數據區域設置
選擇CRC校驗,使用缺省的時間間隔30秒,點擊下一步按鈕。
圖23 使用CRC
填寫模塊所占用的V存儲區的起始地址。你也可以通過Suggest Address按鈕來獲得系統建議的V存儲區的起始地址, 點擊下一步按鈕。
圖24 配置存儲區
完成以太網向導配置后需要在程序中調用以太網向導所生成的ETHx_CTRL和ETH0_XFR, 然后,將整個項目下載到作CLIENT的S7-200 CPU上。
圖25 程序編寫