1 硬件列表
表1 實(shí)驗(yàn)所需硬件列表
| 設(shè)備名稱 | 設(shè)備型號(hào) |
| CPU 1518-4PN/DP | 6ES7 518-4AP00-0AB0 |
| S7-1500 存儲(chǔ)卡 | 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、打開(kāi)軟件TIA PORTAL STEP7 V16,點(diǎn)擊項(xiàng)目->新建...創(chuàng)建一新項(xiàng)目,項(xiàng)目名稱為S7-1500_ET200S_ModbusMaster。

圖1 新建項(xiàng)目
2、用鼠標(biāo)點(diǎn)擊“添加新設(shè)備”,選擇SIMATIC S7-1500->CPU->CPU 1518-4 PN/DP->6ES7 518-4AP00-0AB0。

圖2 添加站點(diǎn)CPU 1518-4PN/DP
3、雙擊“設(shè)備組態(tài)”進(jìn)入設(shè)備視圖。雙擊以太網(wǎng)接口,進(jìn)入以太網(wǎng)接口屬性界面,新建一個(gè)子網(wǎng)“PN/IE_1”,并分配IP地址。

圖3 組態(tài)硬件
4、點(diǎn)擊菜單欄"在線"->"硬件檢測(cè)"->"網(wǎng)絡(luò)中的PROFINET設(shè)備",在線檢測(cè)所連接的ET200S站點(diǎn),如圖4所示。

圖4 在線檢測(cè)ET200S站
在彈出的"PROFINET 設(shè)備的硬件檢測(cè)"窗口內(nèi)勾選搜索到的ET200S站點(diǎn),并點(diǎn)擊添加設(shè)備。

圖5 添加ET200S站
5、設(shè)備添加成功后,在"網(wǎng)絡(luò)視圖"內(nèi),可以看到新添加的ET200S站。另外,用戶也可以從選件目錄中找到正確的ET200S接口模塊型號(hào),將它拖拽到網(wǎng)絡(luò)視圖中,添加模塊時(shí)需要注意組態(tài)的模塊版本應(yīng)與實(shí)際一致。

圖6 添加ET200S站法二
6、點(diǎn)擊ET200S站左側(cè)“未分配”,選擇IO控制器“PLC_1.PROFINET接口_1”,為ET200S分配好IO控制器。

圖7 Profinet網(wǎng)絡(luò)配置
同時(shí)為ET200S的以太網(wǎng)接口分配好IP地址,注:此時(shí)給ET200S分配了一個(gè)設(shè)備名稱為"im151-3pn"(該名稱不唯一,以實(shí)際項(xiàng)目為準(zhǔn)),確保離線和在線的設(shè)備名稱一致。
下面介紹如何修改設(shè)備名稱。如需離線修改該設(shè)備名稱,可以進(jìn)入ET200S模塊的屬性-〉以太網(wǎng)地址。

圖8 離線修改ET200S的設(shè)備名稱
下面介紹如何在線分配IO設(shè)備名稱。如ET200S的實(shí)際設(shè)備名稱與組態(tài)設(shè)置的不一致,也可以在線修改。右擊網(wǎng)絡(luò)“PN/IE_1”,點(diǎn)擊“分配設(shè)備名稱”,在線修改ET200S的設(shè)備名稱。

圖9 分配設(shè)備名稱
確保ET200S的設(shè)備名稱的狀態(tài)是“確定”,如果出現(xiàn)不一致的情況,選擇問(wèn)題站點(diǎn)后點(diǎn)擊“分配名稱”,確保該站點(diǎn)最后的狀態(tài)是“確定”,如下圖所示。

圖10 確認(rèn)ET200S設(shè)備名稱在線與離線一致
7、雙擊“im151-3pn”,進(jìn)入ET200S組態(tài)界面,(自動(dòng)檢測(cè)已經(jīng)將電源模塊PM-E和ET200S 1SI串口模塊組態(tài)到1、2槽;手動(dòng)組態(tài)時(shí)需要用戶手動(dòng)從選件目錄中拖拽添加),雙擊1SI_1串口通信模塊,進(jìn)入屬性框,協(xié)議選擇"Modbus Master",波特率為9600,地址區(qū)為32字節(jié)。

圖11 1SI_1選擇協(xié)議
8、點(diǎn)擊“報(bào)文”,進(jìn)行報(bào)文設(shè)置,停止位:1,奇偶校驗(yàn):無(wú)。

圖12 報(bào)文設(shè)置
9、點(diǎn)擊“接口”,接口選擇“半雙工(RS-485兩線制模式)”,接收線路初始狀態(tài)選擇“信號(hào)R(A)0V/信號(hào)R(B)5V”。

圖13 接口設(shè)置
3 編寫通信程序
1、雙擊"添加新塊",創(chuàng)建發(fā)送數(shù)據(jù)塊DB10和接收數(shù)據(jù)塊DB11,發(fā)送數(shù)據(jù)塊的名稱為Send,接收數(shù)據(jù)塊的名稱為Rev;如下圖所示,發(fā)送數(shù)據(jù)塊中新建幾個(gè)變量,從站地址為2,功能碼為3,起始地址為0,讀4個(gè)寄存器數(shù)據(jù),具體功能碼3 的使用參見(jiàn)手冊(cè)"Simatic ET200S 串行接口模塊" 3.5章節(jié)的說(shuō)明。

圖14 新建發(fā)送數(shù)據(jù)塊
如下圖所示,接收數(shù)據(jù)塊中新建1個(gè)數(shù)據(jù)類型Array的變量,數(shù)組元素的數(shù)據(jù)類型為Word,數(shù)量為101。

圖15 新建接收數(shù)據(jù)塊
1.注意以上兩個(gè)DB塊,右鍵其屬性對(duì)話框,一定要確保"優(yōu)化的塊訪問(wèn)"參數(shù)未勾選。
2、進(jìn)入主程序OB1,從通信->通信處理器->ET200S串行接口,調(diào)用發(fā)送功能塊S_SEND和接收功能塊S_RCV。S_END的背景數(shù)據(jù)塊為DB3,S_RCV的背景數(shù)據(jù)塊為DB4。

圖16 調(diào)用發(fā)送接收功能塊
1SI串口模塊的發(fā)送與接收功能塊的參數(shù)設(shè)置見(jiàn)以下表格。
表2 發(fā)送功能塊S_SEND 參數(shù)表
| 管腳 | 解釋描述 |
| REQ | 發(fā)送數(shù)據(jù)觸發(fā)位,上升沿觸發(fā),本例中為M10.5(M10.5為1Hz的時(shí)鐘脈沖,具體設(shè)置見(jiàn)圖17)。 |
| R | 取消通訊,本例中不用。 |
| LADDR | 模塊的硬件標(biāo)識(shí)符,本例中為264,具體查找方法見(jiàn)常見(jiàn)問(wèn)題2。 |
| DB_NO | 發(fā)送數(shù)據(jù)塊號(hào),本例中為10(DB10)。 |
| DBB_NO | 發(fā)送數(shù)據(jù)的起始地址,本例中為0(DB10.DBB0)。 |
| LEN | 發(fā)送數(shù)據(jù)的長(zhǎng)度,本例中為MW2,本例中MW2賦值為6。 |
| COM_RST | 如果為1,重新啟動(dòng)FB,本例中為M0.2。 |
| DONE | 發(fā)送完成位,發(fā)送完成且沒(méi)有錯(cuò)誤時(shí)為TRUE。 |
| ERROR | 錯(cuò)誤位,為TRUE說(shuō)明有錯(cuò)誤。 |
| STATUS | 狀態(tài)字,標(biāo)識(shí)錯(cuò)誤代碼,查看ET200S串行模塊手冊(cè)獲得相應(yīng)的說(shuō)明。 |
表3 接收功能塊S_RCV 參數(shù)表
| 管腳 | 解釋描述 |
| EN_R | 使能接收位,本例中為M1.0,常閉點(diǎn), 始終保持接收狀態(tài)。 |
| R | 取消通訊,本例中不用。 |
| LADDR | 模塊的硬件標(biāo)識(shí)符,本例中為264,具體查找方法見(jiàn)常見(jiàn)問(wèn)題2。 |
| DB_NO | 接收數(shù)據(jù)塊號(hào),本例中為11(DB11)。 |
| DBB_NO | 接收數(shù)據(jù)的起始地址,本例中為0(DB11.DBB0)。 |
| LEN | 接收數(shù)據(jù)的長(zhǎng)度,本例中為MW6,只顯示一個(gè)掃描周期,即:只有在接收到數(shù)據(jù)的當(dāng)前周期,此值不為0。 |
| COM_RST | 如果為1,重新啟動(dòng)FB,本例中為M1.2。 |
| NDR | 接收完成位,接收完成并沒(méi)有錯(cuò)誤為TRUE。 |
| ERROR | 錯(cuò)誤位,為TRUE說(shuō)明有錯(cuò)誤。 |
| STATUS | 狀態(tài)字,標(biāo)識(shí)錯(cuò)誤代碼,查看ET200S串行模塊手冊(cè)獲得相應(yīng)的說(shuō)明。 |
打開(kāi)設(shè)備視圖->CPU屬性->系統(tǒng)和時(shí)鐘存儲(chǔ)器,可以設(shè)置M10.5的時(shí)鐘脈沖,具體參考以下截圖。

圖17 CPU時(shí)鐘存儲(chǔ)器設(shè)置
4 設(shè)備連接
以RS485的方式接線為例說(shuō)明,ET200S 1SI 模塊按照RS485的接線方式連接到電腦的USB口,連接示意圖如下。

圖18 硬件結(jié)構(gòu)和接線示意圖
5 通信測(cè)試
前面使用 TIA Step7 軟件已經(jīng)將通信ET200S的通信工作做完,下面進(jìn)行通信測(cè)試。這里使用串口通訊測(cè)試軟件ModSim32軟件來(lái)測(cè)試ET200S和計(jì)算機(jī)的通信,步驟如下:
1、雙擊ModSim32軟件圖標(biāo),新建項(xiàng)目,點(diǎn)擊Port1,進(jìn)入端口1做設(shè)置,本例計(jì)算機(jī)只有一個(gè)端口,所以就對(duì)端口1做設(shè)置,如果計(jì)算機(jī)有多個(gè)端口,要注意所選端口。

圖19 測(cè)試軟件新建測(cè)試項(xiàng)目
2、進(jìn)入Port1設(shè)置界面,設(shè)置波特率、數(shù)據(jù)位、奇偶校驗(yàn)等參數(shù),要和ET200S的參數(shù)相同。

圖20 設(shè)置從站端口
3、點(diǎn)擊"OK",選擇軟件的03功能碼界面,本例設(shè)置03功能碼的10個(gè)數(shù)據(jù),其中前4個(gè)數(shù)據(jù)分別設(shè)置成1—4。

圖21 從站03功能碼設(shè)置數(shù)據(jù)
4、1SI串口模塊發(fā)送數(shù)據(jù)到SSCOM32。
(1).將硬件配置和程序下載到CPU1518-4PN/DP中
(2).設(shè)置需要發(fā)送的數(shù)據(jù)長(zhǎng)度MW2=6(字節(jié))
(3).將DB10中前6個(gè)字節(jié)以默認(rèn)值設(shè)置,如圖22所示
(4).當(dāng)M10.5從FALSE置成TRUE時(shí),1SI串口模塊將發(fā)送請(qǐng)求數(shù)據(jù)

圖22 ET200S的03功能碼發(fā)送數(shù)據(jù)
5、M1.0為常閉點(diǎn),程序下載完成,CPU運(yùn)行后,就始終處于接收狀態(tài)。在STEP7中打開(kāi)接收數(shù)據(jù)塊DB11監(jiān)控接收到的數(shù)據(jù),從站響應(yīng)的2個(gè)寄存器數(shù)據(jù)被正確的接收。

圖23 ET200S 1SI接收到的從站響應(yīng)的結(jié)果
常見(jiàn)問(wèn)題
1.為什么程序下載后,CPU突然不能正常啟動(dòng),并報(bào)錯(cuò)“編程錯(cuò)誤(OB啟動(dòng)事件)”和“FB97中的區(qū)域長(zhǎng)度錯(cuò)誤”?
如下圖所示,CPU切換為STOP模式,報(bào)錯(cuò)“編程錯(cuò)誤(OB啟動(dòng)事件)”和“FB97中的區(qū)域長(zhǎng)度錯(cuò)誤”。

圖24 ET200S 調(diào)試軟件發(fā)送數(shù)據(jù)1SI接收數(shù)據(jù)測(cè)試結(jié)果
可能的原因是:發(fā)送或者接收的數(shù)據(jù)塊(例中DB10或者DB11)是優(yōu)化的DB塊,那么在執(zhí)行發(fā)送或者接收操作時(shí)會(huì)報(bào)以上錯(cuò)誤,并且CPU停機(jī),所以務(wù)必注意該DB塊的屬性必須是非優(yōu)化的,如圖15。
2.為什么發(fā)送或者接收指令塊報(bào)錯(cuò)"16#1E0E"?
可能的原因是:發(fā)送或者接收功能塊的“LADDR”管腳設(shè)置錯(cuò)誤,正確的應(yīng)該設(shè)置該模塊的硬件標(biāo)識(shí)符,而不是模塊的I/O起始地址,具體查找步驟參考下表。
表4 模塊硬件標(biāo)識(shí)符查找方法
| 方法一 | 方法二 |


審核編輯:湯梓紅
-
cpu
+關(guān)注
關(guān)注
68文章
11213瀏覽量
222769 -
通信
+關(guān)注
關(guān)注
18文章
6312瀏覽量
139523 -
MODBUS
+關(guān)注
關(guān)注
28文章
2381瀏覽量
82189 -
ET200S
+關(guān)注
關(guān)注
0文章
5瀏覽量
6778 -
S7-1500
+關(guān)注
關(guān)注
3文章
302瀏覽量
7175
原文標(biāo)題:S7-1500系統(tǒng)內(nèi)使用ET200S 1SI模塊實(shí)現(xiàn)Modbus 主站通信
文章出處:【微信號(hào):gh_a8b121171b08,微信公眾號(hào):機(jī)器人及PLC自動(dòng)化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
基于S7-1500 CPU集成PN口的Modbus TCP通信快速入門
s71500的說(shuō)明及例程
S7-1500與MV340自由口通信方案
基于S7-1500、ET 200MP的自動(dòng)化系統(tǒng)
基于ET 200S串行接口模塊通信及操作
基于SIMATIC S7-1500 PLC通信模塊及接口模塊
S7-1500和ET200MP及ET200SP的計(jì)數(shù)測(cè)量和位置檢測(cè)詳細(xì)說(shuō)明
西門子S7-1500使用ET200S 1SI模塊實(shí)現(xiàn)自由口通信
S7-1500/ET200MP熱電偶補(bǔ)償方式及組態(tài)配置
使用ET200S 1SI模塊實(shí)現(xiàn)自由口通信
電工知識(shí)—SIMATIC S7-1500 PLC的常用模塊
如何在S7-1500和ET200SP中實(shí)現(xiàn)Modbus RTU主站和從站的功能
SIMATIC S7-1500 PLC與ET200MP的PROFIBUS-DP通信

S7-1500系統(tǒng)內(nèi)使用ET200S 1SI模塊實(shí)現(xiàn)Modbus主站通信
評(píng)論