加入收藏 在線留言 聯系我們
            關注微信
            手機掃一掃 立刻聯系商家
            全國服務熱線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