1 硬件列表
表1 實驗所需硬件列表
設備名稱 | 設備型號 |
CPU 1518-4PN/DP | 6ES7 518-4AP00-0AB0 |
S7-1500 存儲卡 | 6ES7 954-8LF03-0AA0 |
ET200S 接口模塊 | 6ES7 151-3AA23-0AB0 |
ET200S PM-E電源模塊 | 6ES7 138-4CA01-0AA0 |
ET200S 1SI串口模塊 | 6ES7 138-4DF11-0AB0 |
功率模塊的終端模塊 | 6ES7 193-4CC20-0AA0 |
1 SI模塊的終端模塊 | 6ES7 193-4CA40-0AA0 |
2 組態(tài)和配置
1、打開軟件TIA PORTAL STEP7 V16,點擊項目->新建...創(chuàng)建一新項目,項目名稱為S7-1500_ET200S_ModbusMaster。
圖1 新建項目
2、用鼠標點擊“添加新設備”,選擇SIMATIC S7-1500->CPU->CPU 1518-4 PN/DP->6ES7 518-4AP00-0AB0。
圖2 添加站點CPU 1518-4PN/DP
3、雙擊“設備組態(tài)”進入設備視圖。雙擊以太網接口,進入以太網接口屬性界面,新建一個子網“PN/IE_1”,并分配IP地址。
圖3 組態(tài)硬件
4、點擊菜單欄"在線"->"硬件檢測"->"網絡中的PROFINET設備",在線檢測所連接的ET200S站點,如圖4所示。
圖4 在線檢測ET200S站
在彈出的"PROFINET 設備的硬件檢測"窗口內勾選搜索到的ET200S站點,并點擊添加設備。
圖5 添加ET200S站
5、設備添加成功后,在"網絡視圖"內,可以看到新添加的ET200S站。另外,用戶也可以從選件目錄中找到正確的ET200S接口模塊型號,將它拖拽到網絡視圖中,添加模塊時需要注意組態(tài)的模塊版本應與實際一致。
圖6 添加ET200S站法二
6、點擊ET200S站左側“未分配”,選擇IO控制器“PLC_1.PROFINET接口_1”,為ET200S分配好IO控制器。
圖7 Profinet網絡配置
同時為ET200S的以太網接口分配好IP地址,注:此時給ET200S分配了一個設備名稱為"im151-3pn"(該名稱不唯一,以實際項目為準),確保離線和在線的設備名稱一致。
下面介紹如何修改設備名稱。如需離線修改該設備名稱,可以進入ET200S模塊的屬性-〉以太網地址。
圖8 離線修改ET200S的設備名稱
下面介紹如何在線分配IO設備名稱。如ET200S的實際設備名稱與組態(tài)設置的不一致,也可以在線修改。右擊網絡“PN/IE_1”,點擊“分配設備名稱”,在線修改ET200S的設備名稱。
圖9 分配設備名稱
確保ET200S的設備名稱的狀態(tài)是“確定”,如果出現不一致的情況,選擇問題站點后點擊“分配名稱”,確保該站點最后的狀態(tài)是“確定”,如下圖所示。
圖10 確認ET200S設備名稱在線與離線一致
7、雙擊“im151-3pn”,進入ET200S組態(tài)界面,(自動檢測已經將電源模塊PM-E和ET200S 1SI串口模塊組態(tài)到1、2槽;手動組態(tài)時需要用戶手動從選件目錄中拖拽添加),雙擊1SI_1串口通信模塊,進入屬性框,協(xié)議選擇"Modbus Master",波特率為9600,地址區(qū)為32字節(jié)。
圖11 1SI_1選擇協(xié)議
8、點擊“報文”,進行報文設置,停止位:1,奇偶校驗:無。
圖12 報文設置
9、點擊“接口”,接口選擇“半雙工(RS-485兩線制模式)”,接收線路初始狀態(tài)選擇“信號R(A)0V/信號R(B)5V”。
圖13 接口設置
3 編寫通信程序
1、雙擊"添加新塊",創(chuàng)建發(fā)送數據塊DB10和接收數據塊DB11,發(fā)送數據塊的名稱為Send,接收數據塊的名稱為Rev;如下圖所示,發(fā)送數據塊中新建幾個變量,從站地址為2,功能碼為3,起始地址為0,讀4個寄存器數據,具體功能碼3 的使用參見手冊"Simatic ET200S 串行接口模塊" 3.5章節(jié)的說明。
圖14 新建發(fā)送數據塊
如下圖所示,接收數據塊中新建1個數據類型Array的變量,數組元素的數據類型為Word,數量為101。
圖15 新建接收數據塊
1.注意以上兩個DB塊,右鍵其屬性對話框,一定要確保"優(yōu)化的塊訪問"參數未勾選。
2、進入主程序OB1,從通信->通信處理器->ET200S串行接口,調用發(fā)送功能塊S_SEND和接收功能塊S_RCV。S_END的背景數據塊為DB3,S_RCV的背景數據塊為DB4。
圖16 調用發(fā)送接收功能塊
1SI串口模塊的發(fā)送與接收功能塊的參數設置見以下表格。
表2 發(fā)送功能塊S_SEND 參數表
管腳 | 解釋描述 |
REQ | 發(fā)送數據觸發(fā)位,上升沿觸發(fā),本例中為M10.5(M10.5為1Hz的時鐘脈沖,具體設置見圖17)。 |
R | 取消通訊,本例中不用。 |
LADDR | 模塊的硬件標識符,本例中為264,具體查找方法見常見問題2。 |
DB_NO | 發(fā)送數據塊號,本例中為10(DB10)。 |
DBB_NO | 發(fā)送數據的起始地址,本例中為0(DB10.DBB0)。 |
LEN | 發(fā)送數據的長度,本例中為MW2,本例中MW2賦值為6。 |
COM_RST | 如果為1,重新啟動FB,本例中為M0.2。 |
DONE | 發(fā)送完成位,發(fā)送完成且沒有錯誤時為TRUE。 |
ERROR | 錯誤位,為TRUE說明有錯誤。 |
STATUS | 狀態(tài)字,標識錯誤代碼,查看ET200S串行模塊手冊獲得相應的說明。 |
表3 接收功能塊S_RCV 參數表
管腳 | 解釋描述 |
EN_R | 使能接收位,本例中為M1.0,常閉點, 始終保持接收狀態(tài)。 |
R | 取消通訊,本例中不用。 |
LADDR | 模塊的硬件標識符,本例中為264,具體查找方法見常見問題2。 |
DB_NO | 接收數據塊號,本例中為11(DB11)。 |
DBB_NO | 接收數據的起始地址,本例中為0(DB11.DBB0)。 |
LEN | 接收數據的長度,本例中為MW6,只顯示一個掃描周期,即:只有在接收到數據的當前周期,此值不為0。 |
COM_RST | 如果為1,重新啟動FB,本例中為M1.2。 |
NDR | 接收完成位,接收完成并沒有錯誤為TRUE。 |
ERROR | 錯誤位,為TRUE說明有錯誤。 |
STATUS | 狀態(tài)字,標識錯誤代碼,查看ET200S串行模塊手冊獲得相應的說明。 |
打開設備視圖->CPU屬性->系統(tǒng)和時鐘存儲器,可以設置M10.5的時鐘脈沖,具體參考以下截圖。
圖17 CPU時鐘存儲器設置
4 設備連接
以RS485的方式接線為例說明,ET200S 1SI 模塊按照RS485的接線方式連接到電腦的USB口,連接示意圖如下。
圖18 硬件結構和接線示意圖
5 通信測試
前面使用 TIA Step7 軟件已經將通信ET200S的通信工作做完,下面進行通信測試。這里使用串口通訊測試軟件ModSim32軟件來測試ET200S和計算機的通信,步驟如下:
1、雙擊ModSim32軟件圖標,新建項目,點擊Port1,進入端口1做設置,本例計算機只有一個端口,所以就對端口1做設置,如果計算機有多個端口,要注意所選端口。
圖19 測試軟件新建測試項目
2、進入Port1設置界面,設置波特率、數據位、奇偶校驗等參數,要和ET200S的參數相同。
圖20 設置從站端口
3、點擊"OK",選擇軟件的03功能碼界面,本例設置03功能碼的10個數據,其中前4個數據分別設置成1—4。
圖21 從站03功能碼設置數據
4、1SI串口模塊發(fā)送數據到SSCOM32。
(1).將硬件配置和程序下載到CPU1518-4PN/DP中
(2).設置需要發(fā)送的數據長度MW2=6(字節(jié))
(3).將DB10中前6個字節(jié)以默認值設置,如圖22所示
(4).當M10.5從FALSE置成TRUE時,1SI串口模塊將發(fā)送請求數據
圖22 ET200S的03功能碼發(fā)送數據
5、M1.0為常閉點,程序下載完成,CPU運行后,就始終處于接收狀態(tài)。在STEP7中打開接收數據塊DB11監(jiān)控接收到的數據,從站響應的2個寄存器數據被正確的接收。
圖23 ET200S 1SI接收到的從站響應的結果
常見問題
1.為什么程序下載后,CPU突然不能正常啟動,并報錯“編程錯誤(OB啟動事件)”和“FB97中的區(qū)域長度錯誤”?
如下圖所示,CPU切換為STOP模式,報錯“編程錯誤(OB啟動事件)”和“FB97中的區(qū)域長度錯誤”。
圖24 ET200S 調試軟件發(fā)送數據1SI接收數據測試結果
可能的原因是:發(fā)送或者接收的數據塊(例中DB10或者DB11)是優(yōu)化的DB塊,那么在執(zhí)行發(fā)送或者接收操作時會報以上錯誤,并且CPU停機,所以務必注意該DB塊的屬性必須是非優(yōu)化的,如圖15。
2.為什么發(fā)送或者接收指令塊報錯"16#1E0E"?
可能的原因是:發(fā)送或者接收功能塊的“LADDR”管腳設置錯誤,正確的應該設置該模塊的硬件標識符,而不是模塊的I/O起始地址,具體查找步驟參考下表。
表4 模塊硬件標識符查找方法
方法一 | 方法二 |
審核編輯:湯梓紅
-
cpu
+關注
關注
68文章
10854瀏覽量
211573 -
通信
+關注
關注
18文章
6024瀏覽量
135949 -
MODBUS
+關注
關注
28文章
1799瀏覽量
76947 -
ET200S
+關注
關注
0文章
5瀏覽量
6636 -
S7-1500
+關注
關注
3文章
300瀏覽量
6392
原文標題:S7-1500系統(tǒng)內使用ET200S 1SI模塊實現Modbus 主站通信
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論