1. <del id="sqmd4"></del>
      <object id="sqmd4"></object>
      1. <object id="sqmd4"></object>
          加入收藏 在線留言 聯系我們
          關注微信
          手機掃一掃 立刻聯系商家
          全國服務熱線13185520415
          公司新聞
          西門子S7-1500系統內使用ET200S 1SI模塊實現自由口通信
          發布時間: 2023-12-28 10:42 更新時間: 2024-11-21 08:00
          觀看西門子S7-1500系統內使用ET200S 1SI模塊實現自由口通信視頻
           硬件列表


          表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-4DF01-0AB0

          功率模塊的終端模塊6ES7 193-4CC20-0AA0
          1 SI模塊的終端模塊6ES7 193-4CA40-0AA0
          2 組態和配置

          1、打開軟件TIA PORTAL STEP7 V16,點擊項目->新建...創建一新項目,項目名稱為S7-1500_ET200S_ASCII。


          圖1 新建項目

          2、用鼠標點擊“添加新設備”,選擇SIMATIC S7-1500->CPU->CPU 1518-4 PN/DP->6ES7 518-4AP00-0AB0。


          圖2 添加站點CPU 1518-4PN/DP

          3、雙擊“設備組態”進入設備視圖。雙擊以太網接口,進入以太網接口屬性界面,新建一個子網“PN/IE_1”,并分配IP地址。


          圖3 組態硬件

          4、點擊菜單欄"在線"->"硬件檢測"->"網絡中的PROFINET設備",在線檢測所連接的ET200S站點,如圖4所示。


          圖4 在線檢測ET200S站

          在彈出的"PROFINET 設備的硬件檢測"窗口內勾選搜索到的ET200S站點,并點擊添加設備。


          圖5 添加ET200S站

          5、設備添加成功后,在"網絡視圖"內,可以看到新添加的ET200S站。另外,用戶也可以從選件目錄中找到正確的ET200S接口模塊型號,將它拖拽到網絡視圖中,添加模塊時需要注意組態的模塊版本應與實際一致。


          圖6 添加ET200S站法二

          6、點擊ET200S站左側“未分配”,選擇IO控制器“PLC_1.PROFINET接口_1”,為ET200S分配好IO控制器。


          圖7 Profinet網絡配置

          同時為ET200S的以太網接口分配好IP地址,注:此時給ET200S分配了一個設備名稱為"im151-3pn"(該名稱不唯一,以實際項目為準),確保離線和在線的設備名稱一致。

          下面介紹如何修改設備名稱。如需離線修改該設備名稱,可以進入ET200S模塊的屬性-〉以太網地址。


          圖8 離線修改ET200S的設備名稱

          下面介紹如何在線分配IO設備名稱。如ET200S的實際設備名稱與組態設置的不一致,也可以在線修改。右擊網絡“PN/IE_1”,點擊“分配設備名稱”,在線修改ET200S的設備名稱。


          圖9 分配設備名稱

          確保ET200S的設備名稱的狀態是“確定”,如果出現不一致的情況,選擇問題站點后點擊“分配名稱”,確保該站點Zui后的狀態是"確定",如下圖所示。


          圖10 確認ET200S設備名稱在線與離線一致

          7、雙擊“im151-3pn”,進入ET200S組態界面,(自動檢測已經將電源模塊PM-E和ET200S 1SI串口模塊組態到1、2槽;手動組態時需要用戶手動從選件目錄中拖拽添加),雙擊1SI_1串口通信模塊,進入屬性框,協議選擇"ASCII",波特率為9600,地址區為32字節。


          圖11 1SI_1選擇ASCII協議

          8、點擊“報文”,進行報文設置,數據位:8,停止位:1,奇偶校驗:無。


          圖12 報文設置

          9、點擊“接口”,接口選擇“半雙工(RS-485兩線制模式)”,接收線路初始狀態選擇“信號R(A)0V/信號R(B)5V”。


          圖13 接口設置

          3 編寫通信程序

          1、雙擊“添加新塊”,創建發送數據塊DB10和接收數據塊DB11,這2個數據塊中分別新建1個數據類型Array的變量,數組元素的數據類型為Byte,數量為401;發送數據塊中的變量名稱為Send,接收數據塊中的變量名稱為Rcv。


          圖14 新建發送接收數據塊

          1.注意以上兩個DB塊,右鍵其屬性對話框,一定要確?!皟灮膲K訪問”參數未勾選。

          2、進入主程序OB1,從通信->通信處理器->ET200S串行接口,調用發送功能塊S_SEND和接收功能塊S_RCV。S_END的背景數據塊為DB3,S_RCV的背景數據塊為DB4。


          圖15 調用發送接收功能塊

          1SI串口模塊的發送與接收功能塊的參數設置見以下表格。


          表2 發送功能塊S_SEND 參數表

          管腳

          解釋描述

          REQ

          發送數據觸發位,上升沿觸發,本例中為M0.0。

          R

          取消通訊,本例中不用。

          LADDR

          模塊的硬件標識符,本例中為264,見下文常見問題2。

          DB_NO

          發送數據塊號,本例中為10(DB10)。

          DBB_NO

          發送數據的起始地址,本例中為0(DB10.DBB0)。

          LEN

          發送數據的長度,本例中為MW2,本例中MW2賦值為10。

          COM_RST

          如果為1,重新啟動FB,本例中為M0.2。

          DONE

          發送完成位,發送完成且沒有錯誤時為TRUE。

          ERROR

          錯誤位,為TRUE說明有錯誤。

          STATUS

          狀態字,標識錯誤代碼,查看ET200S串行模塊手冊獲得相應的說明。


          表3 接收功能塊S_RCV 參數表

          管腳

          解釋描述

          EN_R

          使能接收位,本例中為M1.0,常閉點, 始終保持接收狀態。

          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

          狀態字,標識錯誤代碼,查看ET200S串行模塊手冊獲得相應的說明。

          4 設備連接

          以RS485的方式接線為例說明,ET200S 1SI 模塊按照RS485的接線方式連接到電腦的USB口,連接示意圖如下。


          圖16 硬件結構和接線示意圖

          5 通信測試

          使用串口調試軟件來測試ET200S 1SI和計算機的通信,步驟如下。

          1、1SI串口模塊發送數據到SSCOM32

          1.將硬件配置和程序下載到CPU1518-4PN/DP中

          2.設置需要發送的數據長度MW2=10(字節)

          3.將DB10中前10個字節設為十六進制的01 02 03 04 05 06 07 08 09 0A

          4.當M0.0從FALSE置成TRUE上升沿時,1SI串口模塊將發送數據,可以從SSCOM32接收窗口中看到收到的數據(十六進制),如下圖所示。


          圖17 ET200S 1SI發送數據調試軟件接收數據測試結果

          2、1SI串口模塊從SSCOM32接收數據

          M1.0為常閉點,程序下載完成,CPU運行后,就始終處于接收狀態。

          1.在計算機上打開軟件SSCOM32,在字符輸入窗口輸入16進制數據101112819,然后點擊發送按鈕發送數據。

          2.在TIA STEP7中打開接收數據塊DB11監控接收到的數據,可以看到SSCOM32發送的數據被正確的接收。



          圖18 ET200S 調試軟件發送數據1SI接收數據測試結果

          6 常見問題

          1.為什么程序下載后,CPU突然不能正常啟動,并報錯“編程錯誤(OB啟動事件)”和“FB97中的區域長度錯誤”?

          如下圖所示,CPU切換為STOP模式,報錯“編程錯誤(OB啟動事件)”和“FB97中的區域長度錯誤”。


          圖19 ET200S 調試軟件發送數據1SI接收數據測試結果

          可能的原因是:發送或者接收的數據塊(例中DB10或者DB11)是優化的DB塊,那么在執行發送或者接收操作時會報以上錯誤,并且CPU停機,所以務必注意該DB塊的屬性必須是非優化的,如圖14。

          1.為什么發送或者接收指令塊報錯"16#1E0E"?

          可能的原因是:發送或者接收功能塊的“LADDR”管腳設置錯誤,正確的應該設置該模塊的硬件標識符,而不是模塊的I/O起始地址,具體查找步驟參考下表。


          表4 模塊硬件標識符查找方法

          方法一

          方法二





          聯系方式

          • 電  話:13510737515
          • 聯系人:董海波
          • 手  機:13185520415
          • 微  信:13185520415