產品詳情
長沙 西門子 6ES7322-5FF00-0AB0 報價單
S7-200和S7-300之間的MPI通信
S7-200 PLC與S7-300 PLC之間采用MPI通訊方式時,S7-200 PLC中不需要編寫任何與通訊有關的程序,只需要將要交換的數據整理到一個連續(xù)的V 存儲區(qū)當中即可,而S7-300 PLC中需要在組織塊OB1(或是定時中斷組織塊OB35)當中調用系統(tǒng)功能X_GET(SFC67)和X_PUT(SFC68),以實現S7-200 PLC與S7-300 PLC之間的通訊。調用SFC67和SFC68時VAR_ADDR參數填寫S7-200的數據地址區(qū),由于S7-200的數據區(qū)為v區(qū),這里需填寫 P#DB1.DBX×× BYTE n 對應的就是S7200 V存儲區(qū)當中VB××到VB(××+n)的數據區(qū)。例如交換的數據存在S7-200中VB50到VB59這10個字節(jié)當中,VAR_ADDR參數應為 P#DB1.DBX50.0 BYTE 10.
首先根據S7-300的硬件配置,在STEP7當中組態(tài)S7-300站并且下載,注意S7-200和S7-300出廠默認的MPI地址都是2,所以必須修改其中一個PLC的站地址,例子程序當中將S7-300 MPI地址設定為2,S7-200地址設定3,另外要分別將S7-300和S7-200的通訊速率設定一致,可設為9.6K,19.2K,187.5K三 種波特率,例子程序當中選用了19.2K的速率。
S7-200 PLC中通過系統(tǒng)塊定義自身的MPI地址和波特率,參考下圖:
圖1 S7-200 設置MPI地址
S7-300 PLC修改MPI地址可以參考下圖:
圖2 S7-300 設置MPI地址
例子程序在OB1當中調用數據讀寫功能塊:SFC67和SFC68,如下圖:
圖3 程序編寫
分別在STEP7 MicroWin32 和STEP7當中監(jiān)視S7-200和S7-300 PLC當中的數據,數據監(jiān)視界面如下:
圖4 S7-200監(jiān)控結果
圖5 S7-300監(jiān)控結果
通過CP5611,STEP7 MicroWin32, Set PG/PC Interface可以讀取S7200和S7300的站地址,如下圖:
圖6 CP5611診斷結果(站地址0為進行編程的計算機)
圖7 使用STEP7 MicroWin32診斷結果
注意事項
1 雖然MPI的波特率可以達到12M,但是受到S7-200通信能力的限制,所以可設為9.6K,19.2K,187.5K三 種波特率。
2 如果PPI或者MPI的通信距離超過50m,需要加中繼器;如果中繼器之間沒有任何站點的情況下,最遠距離可為1000米。
3 MPI不能與作為PPI主站的S7-200PLC通信。
S7-300/400與S7-200SMART之間的以太網S7通信
S7通信是S7系列PLC基于MPI、PROFIBUS、ETHERNET網絡的一種優(yōu)化的通信協(xié)議,主要用于S7-300/400PLC之間的通信。
經過測試發(fā)現S7-300/400通過集成的PN口或CP343-1/CP443-1與S7-200 SMART PLC 之間的S7通信也是可以成功的, 但是需要S7-300/400側編程調用PUT/GET指令。
注意:
1.S7-200 SMART CPU 與S7-300/400 CPU 之間的S7通信未經西門子官方測試,本文檔僅供客戶測試使用,使用該種通信方式所產生的任何危險需要有客戶自己承擔!
2.S7-200 SMARTPLC V2.0 版本才開始支持PUT/GET通信,V1.0版本的CPU需要升級固件后方可支持PUT/GET。
3. S7-300/400若采用CP通信時,則需要采用Standard或Advanced類型通信模塊,CP343-1 Lean模塊不支持。
4.本文僅介紹S7-300集成PN口與S7-200 SMART CPU S7通信。
S7通信介紹
S7通信是S7系列PLC基于MPI、PROFIBUS、ETHERNET網絡的一種優(yōu)化的通信協(xié)議,主要用于S7-300/400PLC之間的通信。
S7-300/400通過以太網接口與S7-200 SMART PLC 之間的S7通訊經過測試是可以成功的,但是需要S7-300/400側編程調用PUT/GET指令,見表1所示。
表 1 PUT和GET :
S7-400 | S7-300 | 描述 | 簡要描述 |
SFB 14 | FB 14 | 讀數據 | 單邊編程讀訪問。 |
SFB 15 | FB 15 | 寫數據 | 單邊編程寫訪問。 |
S7-300/400根據使用通信接口(集成的PN口或CP343-1/CP443-1)不同,調用的功能塊來源也不同。
通信接口為S7-300 集成PN接口時,需要使用Standard Library中PUT/GET指令,如圖1所示。
圖1 S7-300PN接口需采用Standard Library
通信接口為S7-300 CP通信模塊時,需要使用SIMATIC_NET_CP 庫中PUT/GET指令,如圖2所示。
圖2 S7-300 CP模塊接口需采用SIMATIC_NET_CP庫
S7-400 CPU不區(qū)分通信接口,需要使用System Function Blocks 中的SFB14/SFB15指令塊,如圖3所示。
圖3 S7-400 需采用SFB程序塊
硬件及網絡組態(tài)
本文以采用1個315-2PN/DP,1個S7-200 SMART PLC為例,介紹它們之間的S7通信。
在STEP7中創(chuàng)建一個新項目,項目名稱為S7-300-SMART。插入1個S7-300站,在硬件組態(tài)中插入CPU 315-2 PN/DP。如圖4所示。
圖4 STEP7 項目中插入S7-300站點
設置CPU 315-2PN/DP的IP地址:192.168.0.1,如圖5所示。硬件組態(tài)完成后,即可下載該組態(tài)。
圖5 設置CPU PN IP地址
打開“NetPro”設置網絡參數,選中CPU 315-2PN/DP,在連接列表中建立新的連接。步驟如圖6所示。
圖6 NetPro組態(tài)視圖中插入新連接
選擇 Unspecified 站點,選擇通訊協(xié)議 S7 connection,點擊 Apply,如圖7所示。
圖7 組態(tài)新連接
在彈出的S7 connection屬性對話框中,勾選 Establish an active connection,設置Partner address:192.168.0.2(S7-200 SMART PLC IP 地址),如圖8所示。
圖8 設置S7連接參數
點擊 "Address Details" ,再彈出來的對話框設置 Partner 的 Slot 為1,如圖9所示。點擊 OK即可關閉該對話框。
圖9 設置“address details”參數
網絡組態(tài)創(chuàng)建完成后,需要編譯,如圖10所示。
圖10 保存并編譯連接
網絡組態(tài)編譯無錯,鼠標先點擊 CPU 315-2PN/DP ,然后點擊下載按鈕下載網絡組態(tài),步驟如圖11所示。
圖 11 下載組態(tài)連接
程序編程
可以通過SFB/FB 14 "GET",從遠程CPU中讀取數據。
S7-300:在REQ的上升沿處讀取數據。在REQ的每個上升沿處傳送參數ID、ADDR_1和RD_1。在每個作業(yè)結束之后,可以分配新數值給ID、ADDR_1和RD_1參數。
S7-400:在控制輸入REQ的上升沿處啟動SFB。在此過程中,將要讀取的區(qū)域的相關指針(ADDR_i)發(fā)送到伙伴CPU。遠程伙伴返回此數據。在 下一個SFB/FB調用處,已接收的數據被復制到組態(tài)的接收區(qū)(RD_i)中。必須要確保通過參數ADDR_i和RD_i定義的區(qū)域在長度和數據類型方面 要相互匹配。
通過狀態(tài)參數NDR數值為1來指示此作業(yè)已完成。只有在前一個作業(yè)已經完成之后,才能重新激活讀作業(yè)。遠程CPU可以處于RUN或STOP工作狀態(tài)。如果 正在讀取數據時發(fā)生訪問故障,或如果數據類型檢查過程中出錯,則出錯和警告信息將通過ERROR和STATUS輸出表示。
通過使用SFB/FB 15 "PUT",可以將數據寫入到遠程CPU。
S7-300:在REQ的上升沿處發(fā)送數據。在REQ的每個上升沿處傳送參數ID、ADDR_1和SD_1。在每個作業(yè)結束之后,可以給ID、ADDR_1和SD_1參數分配新數值。
S7-400:在控制輸入REQ的上升沿處啟動SFB。在此過程中,將指向要寫入數據的區(qū)域(ADDR_i)的指針和數據(SD_i)發(fā)送到伙伴CPU。 遠程伙伴將所需要的數據保存在隨數據一起提供的地址下面,并返回一個執(zhí)行確認。必須要確保通過參數ADDR_i和SD_i定義的區(qū)域在編號、長度和數據類 型方面相互匹配。
如果沒有產生任何錯誤,則在下一個SFB/FB調用時,通過狀態(tài)參數DONE來指示,其數值為1。只有在最后一個作業(yè)完成之后,才能再次激活寫作業(yè)。遠程 CPU可以處于RUN或STOP模式。如果正在寫入數據時發(fā)生訪問故障,或如果執(zhí)行檢查過程中出錯,則出錯和警告信息將通過ERROR和STATUS輸出 表示。
打開SIMATIC 315 PN-1的OB1,在OB1中依次調用FB14,FB15如圖12、圖13所示:
圖12 FB14調用
表2.FB14參數說明 :
參數 |
描述 |
數據類型 |
存儲區(qū) |
描述 |
REQ |
INPUT |
BOOL |
I、Q、M、D、L |
上升沿觸發(fā)調用功能塊 |
ID |
INPUT |
WORD |
M、D、常數 |
地址參數ID |
NDR |
OUTPUT |
BOOL |
I、Q、M、D、L |
為1時,接收數據成功 |
ERROR |
OUTPUT |
BOOL |
I、Q、M、D、L |
接收到新數據 |
STATUS |
OUTPUT |
WORD |
I、Q、M、D、L |
故障代碼 |
S7-300: |
IN_OUT |
ANY |
M、D
I、Q、M、D、 |
從S7-200 SMART的數據地址中讀取數據;V區(qū)數據對應DB1。 |
S7-300: |
IN_OUT |
ANY |
S7-300:M、D |
本站接收數據地址 |
圖13 FB15調用
表3.FB15參數說明 :
參數 |
描述 |
數據類型 |
存儲區(qū) |
描述 |
REQ |
INPUT |
BOOL |
I、Q、M、D、L |
上升沿觸發(fā)調用功能塊 |
ID |
INPUT |
WORD |
M、D、常數 |
地址參數 |
DONE |
OUTPUT |
BOOL |
I、Q、M、D、L |
為1時,發(fā)送完成 |
ERROR |
OUTPUT |
BOOL |
I、Q、M、D、L |
為1時,有故障發(fā)生 |
STATUS |
OUTPUT |
WORD |
I、Q、M、D、L |
故障代碼 |
S7-300: |
IN_OUT |
ANY |
M、D
I、Q、M、D、 |
從S7-200 SMART的數據地址中讀取數據;V區(qū)數據對應DB1。 |
S7-300: |
IN_OUT |
ANY |
S7-300:M、D
S7-400 I、Q、 |
本站發(fā)送數據地址 |
注意:
S7-200 SMART PLC 不需要編程。 S7-200 SMART 中的V存儲區(qū)在S7-300/400 PLC 編程中以DB1數據塊的形式體現。
S7-300/400與S7-200SMART之間的以太網S7通信
S7通信是S7系列PLC基于MPI、PROFIBUS、ETHERNET網絡的一種優(yōu)化的通信協(xié)議,主要用于S7-300/400PLC之間的通信。
經過測試發(fā)現S7-300/400通過集成的PN口或CP343-1/CP443-1與S7-200 SMART PLC 之間的S7通信也是可以成功的, 但是需要S7-300/400側編程調用PUT/GET指令。
注意:
1.S7-200 SMART CPU 與S7-300/400 CPU 之間的S7通信未經西門子官方測試,本文檔僅供客戶測試使用,使用該種通信方式所產生的任何危險需要有客戶自己承擔!
2.S7-200 SMARTPLC V2.0 版本才開始支持PUT/GET通信,V1.0版本的CPU需要升級固件后方可支持PUT/GET。
3. S7-300/400若采用CP通信時,則需要采用Standard或Advanced類型通信模塊,CP343-1 Lean模塊不支持。
4.本文僅介紹S7-300集成PN口與S7-200 SMART CPU S7通信。
S7通信介紹
S7通信是S7系列PLC基于MPI、PROFIBUS、ETHERNET網絡的一種優(yōu)化的通信協(xié)議,主要用于S7-300/400PLC之間的通信。
S7-300/400通過以太網接口與S7-200 SMART PLC 之間的S7通訊經過測試是可以成功的,但是需要S7-300/400側編程調用PUT/GET指令,見表1所示。
表 1 PUT和GET :
S7-400 | S7-300 | 描述 | 簡要描述 |
SFB 14 | FB 14 | 讀數據 | 單邊編程讀訪問。 |
SFB 15 | FB 15 | 寫數據 | 單邊編程寫訪問。 |
S7-300/400根據使用通信接口(集成的PN口或CP343-1/CP443-1)不同,調用的功能塊來源也不同。
通信接口為S7-300 集成PN接口時,需要使用Standard Library中PUT/GET指令,如圖1所示。
圖1 S7-300PN接口需采用Standard Library
通信接口為S7-300 CP通信模塊時,需要使用SIMATIC_NET_CP 庫中PUT/GET指令,如圖2所示。
圖2 S7-300 CP模塊接口需采用SIMATIC_NET_CP庫
S7-400 CPU不區(qū)分通信接口,需要使用System Function Blocks 中的SFB14/SFB15指令塊,如圖3所示。
圖3 S7-400 需采用SFB程序塊
硬件及網絡組態(tài)
本文以采用1個315-2PN/DP,1個S7-200 SMART PLC為例,介紹它們之間的S7通信。
在STEP7中創(chuàng)建一個新項目,項目名稱為S7-300-SMART。插入1個S7-300站,在硬件組態(tài)中插入CPU 315-2 PN/DP。如圖4所示。
圖4 STEP7 項目中插入S7-300站點
設置CPU 315-2PN/DP的IP地址:192.168.0.1,如圖5所示。硬件組態(tài)完成后,即可下載該組態(tài)。
圖5 設置CPU PN IP地址
打開“NetPro”設置網絡參數,選中CPU 315-2PN/DP,在連接列表中建立新的連接。步驟如圖6所示。
圖6 NetPro組態(tài)視圖中插入新連接
選擇 Unspecified 站點,選擇通訊協(xié)議 S7 connection,點擊 Apply,如圖7所示。
圖7 組態(tài)新連接
在彈出的S7 connection屬性對話框中,勾選 Establish an active connection,設置Partner address:192.168.0.2(S7-200 SMART PLC IP 地址),如圖8所示。
圖8 設置S7連接參數
點擊 "Address Details" ,再彈出來的對話框設置 Partner 的 Slot 為1,如圖9所示。點擊 OK即可關閉該對話框。
圖9 設置“address details”參數
網絡組態(tài)創(chuàng)建完成后,需要編譯,如圖10所示。
圖10 保存并編譯連接
網絡組態(tài)編譯無錯,鼠標先點擊 CPU 315-2PN/DP ,然后點擊下載按鈕下載網絡組態(tài),步驟如圖11所示。
圖 11 下載組態(tài)連接
程序編程
可以通過SFB/FB 14 "GET",從遠程CPU中讀取數據。
S7-300:在REQ的上升沿處讀取數據。在REQ的每個上升沿處傳送參數ID、ADDR_1和RD_1。在每個作業(yè)結束之后,可以分配新數值給ID、ADDR_1和RD_1參數。
S7-400:在控制輸入REQ的上升沿處啟動SFB。在此過程中,將要讀取的區(qū)域的相關指針(ADDR_i)發(fā)送到伙伴CPU。遠程伙伴返回此數據。在 下一個SFB/FB調用處,已接收的數據被復制到組態(tài)的接收區(qū)(RD_i)中。必須要確保通過參數ADDR_i和RD_i定義的區(qū)域在長度和數據類型方面 要相互匹配。
通過狀態(tài)參數NDR數值為1來指示此作業(yè)已完成。只有在前一個作業(yè)已經完成之后,才能重新激活讀作業(yè)。遠程CPU可以處于RUN或STOP工作狀態(tài)。如果 正在讀取數據時發(fā)生訪問故障,或如果數據類型檢查過程中出錯,則出錯和警告信息將通過ERROR和STATUS輸出表示。
通過使用SFB/FB 15 "PUT",可以將數據寫入到遠程CPU。
S7-300:在REQ的上升沿處發(fā)送數據。在REQ的每個上升沿處傳送參數ID、ADDR_1和SD_1。在每個作業(yè)結束之后,可以給ID、ADDR_1和SD_1參數分配新數值。
S7-400:在控制輸入REQ的上升沿處啟動SFB。在此過程中,將指向要寫入數據的區(qū)域(ADDR_i)的指針和數據(SD_i)發(fā)送到伙伴CPU。 遠程伙伴將所需要的數據保存在隨數據一起提供的地址下面,并返回一個執(zhí)行確認。必須要確保通過參數ADDR_i和SD_i定義的區(qū)域在編號、長度和數據類 型方面相互匹配。
如果沒有產生任何錯誤,則在下一個SFB/FB調用時,通過狀態(tài)參數DONE來指示,其數值為1。只有在最后一個作業(yè)完成之后,才能再次激活寫作業(yè)。遠程 CPU可以處于RUN或STOP模式。如果正在寫入數據時發(fā)生訪問故障,或如果執(zhí)行檢查過程中出錯,則出錯和警告信息將通過ERROR和STATUS輸出 表示。
打開SIMATIC 315 PN-1的OB1,在OB1中依次調用FB14,FB15如圖12、圖13所示:
圖12 FB14調用
表2.FB14參數說明 :
參數 |
描述 |
數據類型 |
存儲區(qū) |
描述 |
REQ |
INPUT |
BOOL |
I、Q、M、D、L |
上升沿觸發(fā)調用功能塊 |
ID |
INPUT |
WORD |
M、D、常數 |
地址參數ID |
NDR |
OUTPUT |
BOOL |
I、Q、M、D、L |
為1時,接收數據成功 |
ERROR |
OUTPUT |
BOOL |
I、Q、M、D、L |
接收到新數據 |
STATUS |
OUTPUT |
WORD |
I、Q、M、D、L |
故障代碼 |
S7-300: |
IN_OUT |
ANY |
M、D
I、Q、M、D、 |
從S7-200 SMART的數據地址中讀取數據;V區(qū)數據對應DB1。 |
S7-300: |
IN_OUT |
ANY |
S7-300:M、D |
本站接收數據地址 |
圖13 FB15調用
表3.FB15參數說明 :
參數 |
描述 |
數據類型 |
存儲區(qū) |
描述 |
REQ |
INPUT |
BOOL |
I、Q、M、D、L |
上升沿觸發(fā)調用功能塊 |
ID |
INPUT |
WORD |
M、D、常數 |
地址參數 |
DONE |
OUTPUT |
BOOL |
I、Q、M、D、L |
為1時,發(fā)送完成 |
ERROR |
OUTPUT |
BOOL |
I、Q、M、D、L |
為1時,有故障發(fā)生 |
STATUS |
OUTPUT |
WORD |
I、Q、M、D、L |
故障代碼 |
S7-300: |
IN_OUT |
ANY |
M、D
I、Q、M、D、 |
從S7-200 SMART的數據地址中讀取數據;V區(qū)數據對應DB1。 |
S7-300: |
IN_OUT |
ANY |
S7-300:M、D
S7-400 I、Q、 |
本站發(fā)送數據地址 |
注意:
S7-200 SMART PLC 不需要編程。 S7-200 SMART 中的V存儲區(qū)在S7-300/400 PLC 編程中以DB1數據塊的形式體現。
長沙 西門子 6ES7322-5FF00-0AB0