佘志遠,朱 毅,肖萬彪,王建鵬,詹俊勇
(揚力集團股份有限公司,江蘇 揚州 225000)
隨著工業自動化的進程穩步加速,工業4.0 時代大面積覆蓋了工廠,取代了原有的生產模式,這其中就包含了工業設備與諸多第三方設備進行通信交互的情況。
在沖壓行業中,為了避免出現產品次品對于模具以及生產線的影響,采用了工業相機來對產品進行檢測與判定,以最大程度上減少次品對沖壓自動線的影響。
該案例中主要介紹了以西門子1500 為例,介紹了如何通過Portal 來建立ModbusTCP 與第三方設備(上位PC 控制的工業相機)的通信傳輸。
S7-1500 CPU 其本身的本體已經集成了兩個Profinet 接口,支持工業以太網和基于TCP/IP 和UDP的通信標準。CPU 本身的PROFINET 物理接口支持10/100Mb/s 的RJ45 協議,支持電纜交叉自適應,因此一個標準的或是交叉的以太網線都可以用于這個接口。使用這個通信口可以實現S7-1500 CPU 與編程設備的通信,與HMI 觸摸屏的通信,以及與其他CPU 之間的通信[1]。
本例中,主要包括S7-1513F 型號PLC 一臺,RJ45 類網線1 根,上位PC 一臺,海康威視VMS 軟件一套。
S7-1500CPU 攜帶的Profinet 網口主要支持如表1 所示通訊協議與服務。本文著重講解關于S7-1500 在ModbusTCP 的連接通訊中,作為主站的相關問題。
基于西門子Portal,主要提供S7-1500 在Mod busTCP 通訊中作為主站與從站的兩種功能塊;S7-1500 的組態中,使用的ModbusTCP 為V5.0 版本[2],該版本需要固件版本V2.5 以上支持。
在Portal 的OB 塊中,調用如圖1 中的MB_Server 來進行編程,在這個過程中,系統會自動生成一個名為“MB_SERVER_DB”的背景數據塊。

圖1 MB_Server 在Portal 中的版本
MB 的數據塊引腳定義如表2 所示。

表2 MB_Server 各個引腳定義
各個引腳的賦值,采用DB 數據塊來進行賦值。如圖3 所示。

圖3 博途中生成的Servrer 數據塊

圖2 MB_Server 自動生成的背景數據塊
其中Remote 作為數據塊,來指定遠程伙伴的地址、Status 用來儲存狀態和錯誤信息。如圖4 所示。

圖4 Connect 引腳中對應參數
上述例子中,遠程伙伴IP 地址為192.168.0.6,端口號為1,遠程端口為502。
需注意的是,對于MB_HOLD_REG 指定的數據緩沖區可以設為DB 塊或M 存儲區地址。DB 塊可以為優化的數據塊,也可以為標準的數據塊結構。
以下實例以S7-1513F 與海康威視工業相機為例,說明了該通信模式下的數據是如何傳輸的。
本文以西門子1513F 型號的PLC 作為主站,通過在Main(OB1)中調用通信數據塊,來做到和第三方相機進行通訊的目的。如圖5 所示。

圖5 OB1 中生成的主站數據塊
通過對DISCONNECT、Connect、MB_HOLD_REG三個輸入引腳進行賦值,包含參數主要有:ID(對應地址)、LocalPort(本地端口號)、InterfaceID(交互ID)三個變量進行設置。如圖6 所示。

圖6 CONNECT 引腳對應參數設置
工業相機側設置,主要包含TCP/IP 的網段設置(本例中用到的為192.168.2.X 字段),同時對相機側的接收存儲器做響應的配置,主要是設置寄存器地址與字段長度。如圖7、8 所示。

圖7 相機側寄存器地址設置

圖8 相機側IP 地址與端口設置
在Main[OB1]塊中調用功能塊MB_SERVER,保存編譯后下載到PLC 中,相機進行拍照,將結果存儲在DB34 中,如圖9 所示。DB34 中可以顯示對應存儲器接收到的數值,通過與基準值進行判斷,即可達到判定的目的。

圖9 運行結果
本文通過對S7-1500 與工業相機之間的ModbusTCP 通信為例,闡述了該形式通信的參數設定、通信格式編寫等內容。詳細說明了在Portal 集成中,功能塊的引腳定義等問題,在最后給出了一段以S7-1513F 為例的基本通信程序與設置,為西門子PLC 和其他智能設備通過ModbusTCP 通信協議進行數據交換提供了進一步支持。