<menuitem id="3samg"></menuitem>

    1. 加入收藏 在線留言 聯系我們
      關注微信
      手機掃一掃 立刻聯系商家
      全國服務熱線17838383235

      6SL3210-1KE12-3AP2現貨西門子代理

      更新時間
      2024-10-30 14:14:21
      價格
      請來電詢價
      西門子
      G120C
      變頻器
      0.75KW內置A級濾波器
      德國
      3AC 380-480V濾波A級
      聯系電話
      17838383235
      聯系手機
      17838383235
      聯系人
      徐嘉泉
      立即詢價

      詳細介紹

      西門子S7-1200 與S7-200Modbus通訊案例精講


      西門子S7-1200 緊湊型PLC在當前的市場中有著廣泛的應用,由于其,所以常被用作小型自動化控制設備的控制器,這也使得它經常與Modbus儀表(掃描槍、打印機等設備進行通訊。因為沒有第三方Modbus儀表,這里就以S7-200作為第三方的儀表為例介紹Modbus通訊。

      1.控制系統原理



      圖1:通訊系統原理

      2.硬件需求
      S7-1200 PLC目前有3種類型的CPU:
      1)S7-1211C CPU。
      2)S7-1212C CPU。
      3)S7-1214C CPU。
      這三種類型的CPU多都可以連接三個串口通信模版。
      本例中使用的PLC硬件為:
      1)PM1207電源 ( 6EP1 332-1SH71 )
      2) S7-1214C ( 6ES7 214 -1BE30 -0XB0 )
      3) CM1241 RS485 ( 6ES7 241 -1CH30 -0XB0 )
      4)CPU224XP (6ES7 214-2AD23-0XB0)

      3.軟件需求

      1) 編程軟件 Step7 Basic V10.5 ( 6ES7 822-0AA0-0YA0)
      2)編程軟件 STEP 7 MicroWIN; Modbus庫軟件選項包


      4.組態

      我們通過下述的實際操作來介紹如何在Step7 Basic V10.5 中組態S7-1214C 和S7-200的Modbus通信。

      4.1 S7-1200作Modbus主站,S7-200作Modbus從站
      S7-1200作為Modbus主站的配置步驟如下:
      點擊桌面上的“Totally Integrated Automation Portal V10”圖標,打開如下圖:



      圖2: 新建S7 -1200項目

      首先需要選擇“Create new project”選項,然后在“Project name:”里輸入Modbus_Master;在“Path:”修改項目的存儲路徑為“C:\”;點擊“Create”,這樣就創建了一個文件Modbus的新項目。創建后的窗口如下圖所示:



      圖3: 新建項目后

      點擊門戶視圖左下角的“Project View”切換到項目視圖下,如下圖:



      圖4: 切換到項目視圖

      打開后,在“Devices”標簽下,點擊“Add new device”,在彈出的菜單中輸入設備名“PLC_1”并在設備列表里選擇CPU的類型。選擇后如下圖:



      圖5: PLC硬件組態

      插入CPU后,點擊CPU左邊的空槽,在右邊的“Catalog ”里找到“Communication”下的RS485模塊,拖拽或雙擊此模塊,這樣就把串口模塊插入到硬件配置里,接下來就需要配置此RS485模塊硬件接口參數,選擇RS485模塊,在其下方會出現該模塊的硬件屬性配置窗口, 在屬性窗口里有下面五個選項, “general”; “Port Configuration”;“Transmit message Configuration”;“Receive Message Configuration”;“IO Address/HW identify”。在“General”里包括了此模塊的“項目信息”;而在“Port Configuration”里可以對端口的進行參數配置,

      波特率為:9600 ;
      校驗方式:無 ;
      數據位為:8 ;
      停止位: 1;
      硬件流控制:無;
      等待時間: 1ms

      設置參數如下圖:



      圖6: RS485端口配置

      在“Transmit message Configuration”和“Receive Message Configuration”里保持默認設置,在“IO Address/HW identify”里確認一下“硬件識別號”為11。

      此時,完成了硬件的組態,接下來需要編寫Modbus通訊程序。

      在PLC中編寫發送程序。在項目管理視圖下雙擊“Device”—》“Program block”—》“Add new block”在彈出的窗口中選擇“Organizations Block(OB)”,然后在其右邊的窗口里選擇“Startup”,去除“Symbolic Access Only”的選項勾。如下圖所示:



      圖7: 添加啟動OB塊

      點擊“OK”后會打開此OB塊,然后在啟動OB塊里用MB_COMM_LOAD(注:MB_COMM_LOAD和MB_MASTER功能塊是在“Project Library”下的“Library”選項卡里,如下圖所示:)



      圖8: Library

      調用后如下圖所示:



      圖9: 調用MB_COMM_LOAD塊

      在調用MB_COMM_LOAD功能塊時 ,都會自動彈出創建相應背景數據塊的界面,如下圖:



      圖10:創建背景數據塊

      按上面的步驟在OB1中插入MB_MASTER功能塊如下圖:



      圖11:調用MB_MASTER塊

      在插入功能塊的過程,相應的生成MB_COMM_LOAD_DB和MB_MASTER_DB,兩個背景數據塊。然后再創建一個發送或接收的數據緩沖區,點擊PLC_1項目下的“Program Block”下的“Add new block”,在彈出的窗口中選擇DB類型為“Global DB”,并去掉“Symbolic access only”選項勾(這樣可以對該DB塊進行直接地址訪問),并取名該DB塊為MB_COMM_DB。建好這個DB塊后,雙擊打開MB_COMM_DB預先定義數據區的大小,如下圖所示:



      圖12:數據區的定義

      完成數據區的定義后,接下來就可以對MB_COMM_LOAD功能塊和MB_Master功能塊進行參數賦值,賦值的參數見圖9和圖11。 在上面的編程塊里需要注意的是,在MB_MASTER功能塊中的參數MB_ADDR參數是從站的Modbus的站地址。這里要讀取的從站的站地址為2;關于MODE、DATA_ADDR、DATA_LEN可在下表中查看,DATA_PTR存放發送或接收到的數據。



      表1:MB_MASTER Modbus功能表

      上面就完成了程序的編寫,對項目進行編譯;右擊PLC_1項目在彈出的菜單里選擇“Complies ALL”選項,這樣就對硬件與軟件進行編譯,如下圖:



      圖13:編譯項目

      編譯且沒有錯誤后就可以下載程序到PLC中,同樣右擊PLC_1項目,在彈出的菜單選擇“Download to Device”。

      S7-200作為Modbus從站的配置步驟如下:

      點擊桌面上的“V4.0 STEP 7 MicroWIN SP6”圖標(因為STEP 7 MicroWIN安裝時并沒有安裝Modbus的庫程序,所以Modbus的庫程序是需要單獨安裝的,安裝后才可以在庫程序中調用Modbus的通訊功能塊,關于庫程序可以咨詢西門子熱線或訪問西門子的guanfangwangzhan),打開后并編寫Modbus從站程序如下圖:



      圖14:S7-200 Modbus從站編程

      在上面調用的是端口0的程序,所以在連接通訊線時,需要連接到端口0上,編譯并下載項目到S7-200的PLC中。下載后運行PLC。

      用DP電纜連接S7-1200與S7-200。

      在線監控S7-200中的程序,并監控變量表,修改VB1000到VB1011的值為1到12(VB1000到VB1011對應的Modbus的地址為40001-40006)。監控到的值如下圖所示:



      圖15:S7-200監控變量值

      在線監控 S7-1200變量表如下圖:



      圖16:S7-1200監控變量值

      4.2 S7-200作Modbus主站,S7-1200作Modbus從站
      S7-1200作為Modbus從站的配置步驟如下:
      點擊桌面上的“Totally Integrated Automation Portal V10”圖標,打開如下圖:



      圖17:S7-1200監控變量值

      首先需要選擇“Create new project”選項,然后在“Project name:”里輸入Modbus_Slave在“Path:”修改項目的存儲路徑為“C:\Backup file”;點擊“Create”,這樣就創建了一個文件Modbus_Slave的新項目。創建后的窗口如下圖所示:



      圖18: 新建項目后

      點擊門戶視圖左下角的“Project View”切換到項目視圖下,如下圖:



      圖19:切換到項目視圖



      圖20: PLC硬件組態

      設置參數如下圖:



      圖21: RS485端口配置

      此時,完成了硬件的組態,接下來需要編寫Modbus通訊程序。



      圖22: 添加啟動OB塊

      點擊“OK”后會打開此OB塊,然后在啟動OB塊里用MB_COMM_LOAD(注:MB_COMM_LOAD和MB_Slave功能塊是在“Project Library”下的“Library”選項卡里,如下圖所示:)



      圖23: Library

      調用后如下圖所示:



      圖24: 調用MB_COMM_LOAD塊

      在調用MB_COMM_LOAD功能塊時 ,都會自動彈出創建相應背景數據塊的界面,如下圖:



      圖25:創建背景數據塊

      按上面的步驟在OB1中插入MB_Slave功能塊如下圖:



      圖26:調用MB_Slave塊

      在插入功能塊的過程,相應的生成MB_COMM_LOAD_DB和MB_Slave_DB,兩個背景數據塊。然后再創建一個發送或接收的數據緩沖區,點擊PLC_1項目下的“Program Block”下的“Add new block”,在彈出的窗口中選擇DB類型為“Global DB”,并去掉“Symbolic access only”選項勾(這樣可以對該DB塊進行直接地址訪問),并取名該DB塊為MB_COMM_DB。建好這個DB塊后,雙擊打開MB_COMM_DB預先定義數據區的大小,如下圖所示:



      圖27:數據區的定義

      完成數據區的定義后,接下來就可以對MB_COMM_LOAD功能塊和MB_SLAVE功能塊進行參數賦值,賦值的參數見圖24和圖26。 在上面的編程塊里需要注意的是,在MB_SLAVE功能塊中的參數MB_ADDR參數是此從站的Modbus站地址。這里定義為此從站的站地址為2;MB_HOLD_REG是指向Modbus保持寄存器DB的指針。保持寄存器DB必須為典型的全局DB。MB_SLAVE所提供給主站的功能見下表:



      表3:MB_SLAVE Modbus功能表A

       



      表4:MB_SLAVE Modbus功能表B



      圖28:編譯項目

      S7-200作為Modbus主站的配置步驟如下:

      點擊桌面上的“V4.0 STEP 7 MicroWIN SP6”圖標(因為STEP 7 MicroWIN安裝時并沒有安裝Modbus的庫程序,所以Modbus的庫程序是需要單獨安裝的,安裝后才可以在庫程序中調用Modbus的通訊功能塊,關于庫程序可以咨詢西門子熱線或訪問西門子的guanfangwangzhan),打開后并編寫Modbus主站程序如下圖:



      圖29:S7-200 Modbus主站編程

      用DP電纜連接S7-1200與S7-200。

      在線監控S7-1200中的程序,并監控變量表,修改DB3.DBB0到DB3.DBB20的值為1到21(DB3.DBB0到DB3.DBB19對應的Modbus的地址為40001-40010)。監控到的值如下圖所示:



      圖30:S7-1200監控變量值

      在線監控 S7-200變量表如下圖:



      圖31:S7-1200監控變量值

      從上面的變量監控表里可以看到VB420中沒有數據,因為在主站的S7-200里的程序里只讀取10個變量(即40001-40010)對應著的VB400-VB419,所以VB420的數據沒有接收。


      聯系方式

      • 電  話:17838383235
      • 經理:徐嘉泉
      • 手  機:17838383235
      • 微  信:17838383235