?

一種基于通信的PLC 控制系統時鐘同步方案

2020-06-02 09:18任東宇王海群劉運洲孟廷豪
化工自動化及儀表 2020年2期
關鍵詞:功能塊調用以太網

任東宇 王海群 胡 昊 劉運洲 孟廷豪

(北京航天石化技術裝備工程有限公司)

隨著石化和化工行業的蓬勃發展,工業裝置規模不斷提升,配套的控制系統也日趨復雜。 部分復雜工業裝置會使用到多臺PLC 和操作面板,這些控制設備之間使用現場總線或工業以太網等方式連接并進行數據交換,組成一套完整的控制系統。

工業裝置在實際運行過程中,如果發生系統故障,一般會按照時間軸查詢工藝參數記錄和歷史報警信息來進行故障診斷,這種故障診斷方法需要整個控制系統的時鐘保持精準同步,如果系統中不同PLC 或操作面板存在時間差,將會對故障診斷造成困難, 嚴重時甚至會引起事故誤判,影響裝置運行安全。

目前,西門子的中大型PLC 和部分以太網通信卡件(如CP343/443)等均自帶時鐘校準功能,主要有NTP 模式和SIMATIC 模式, 只要在PLC或通信卡件上進行相應的設置即可完成時鐘自動同步。 但這兩種時鐘校準模式的應用具有一定的局限性。 NTP 模式必須基于以太網,網絡內必須有穩定的時鐘服務器,且不支持小型PLC(如S7-200 系列);SIMATIC 模式不必局限于以太網,也可以基于Profibus 或MPI 通信, 但必須購買CP343/443 等通信卡才可以使用,而且與NTP 一樣,SIMATIC 模式也不支持小型PLC (如S7-200系列)。

在實際使用中,受限于硬件有可能無法使用NTP 模式和SIMATIC 模式進行時鐘同步。此時也可采用單獨設備人工對時的方法。 但是這種對時方法存在一定的弊端,目前PLC、操作面板等電子設備, 內置時鐘均是基于晶振或RC 振蕩電路等方式生成的,存在一定的誤差,需要人為地定期進行對時,否則就會導致控制系統內部時間不一致。

針對上述問題,筆者提出了一種多設備控制系統時鐘自動同步方案,此方案基于通信,可自動同步裝置內多臺西門子系列PLC 和操作面板的系統時鐘,也能使裝置的系統時鐘與廠級DCS同步,有效避免由于系統時鐘不一致導致的故障誤判等問題。

1 控制系統組成

當一套工業裝置內存在多個單體設備,或設計了備用設備時,每臺單體設備往往會單獨采用一套PLC 和操作面板進行控制,PLC 與控制面板之間、PLC 之間通過通信交換數據, 通信形式有可能為以太網、Profibus 或Modbus 等方式。 這樣既保證了整套裝置控制系統的完整性,也使得每個單體設備的控制系統相對獨立,其中任何一部分控制系統故障都不會對整套裝置產生太大的影響,分散了控制系統風險。 圖1 所示為典型控制系統結構。

圖1 典型控制系統結構

2 時鐘自動同步方案

2.1 方案概述

西門子系列PLC 具有專門的系統功能塊可以操作系統時鐘,以S7-300 系列PLC 為例,調用系統功能塊SET_CLK(SFC0)可實現寫入PLC 時鐘的功能,調用系統功能塊READ_CLK(SFC1)可實現讀取PLC 時鐘的功能。 系統功能塊SFC0 和SFC1 寫入、 讀取的時間值需存儲為西門子PLC專用的時間數據格式DATA_AND_TIME,其數據結構定義和數據范圍如圖2 所示。

圖2 DATA_AND_TIME 數據結構和范圍

該數據類型共占用8 個字節, 分別以BCD碼存儲年、月、日、小時、分鐘、秒、毫秒及星期等時間數據[1]。

筆者設計的時鐘同步方案主要通過調用SFC0 和SFC1, 并通過通信傳輸時鐘數據等方式實現控制系統內時鐘同步和初始時鐘設置。 該方案的時鐘傳遞示意圖如圖3 所示。

圖3 時鐘傳遞示意圖

2.2 多臺PLC 之間的時間同步

需要選擇一臺PLC 下發時鐘數據,相當于時鐘主站,其余PLC 接收時鐘數據,相當于時鐘從站。 例如選擇圖1 中的設備A_PLC 下發時鐘數據,設備B_PLC 和設備C_PLC 接收時鐘數據。 在設備A_PLC 內定義時鐘下發數據塊DB1,DB1 共14 個字節,數據格式如圖4 所示。

圖4 時鐘下發數據塊

其中0~7 字節定義為DATA_AND_TIME 類型,8~11 字節占位備用,12~13 字節存儲時鐘下發脈沖。

設備A_PLC 中調用定時中斷系統組織塊OB35,每100ms 執行一次中斷程序。OB35 內編寫時鐘下發程序,主要包含以下3 部分內容:

a. 系統時鐘讀取, 調用系統功能塊READ_CLK(SFC1),讀取當前系統時鐘并寫入至DB1 內。

b. 定時下發脈沖, 以每5s 執行一次時鐘同步為例,調用兩個接通延時定時器,輸出一個占空比為1/6 的方波信號,即每5s 一個高電平脈沖信號,高電平持續1s,此脈沖信號作為時鐘同步標志位寫入DB1 的第12 字節0 位。

c. 時鐘數據下發, 根據PLC 之間的通信形式, 調用相應的系統功能塊進行通信發送數據。例如若所有PLC 基于以太網通信, 在PLC 硬件組態內設置以太網連接后,調用西門子以太網通信功能塊AG_SEND, 將DB1 內容分別通信傳輸給設備B_PLC 和設備C_PLC。

設備B_PLC 和設備C_PLC 接收時鐘數據,并設置系統時鐘,主要包含以下3 部分內容:

a. 定義時鐘接收數據塊DB2,數據格式同設備A_PLC 內的DB1。

b. 根據PLC 之間的通信形式,調用相應的系統功能塊進行通信接收數據,例如若基于以太網通信, 調用西門子以太網通信功能塊AG_RECV,將設備A_PLC 下發的時鐘數據接收并存儲在DB2 內。

c. 調 用 系 統 功 能 塊SET_CLK (SFC0),將DB2 內的時鐘數據寫入PLC 時鐘寄存器,寫入時鐘的標志位為DB2 的第12 字節0 位。

通過上述操作即可實現多臺PLC 之間的時鐘同步,并可根據實際需求,自行設置時鐘同步頻率。

2.3 操作面板與PLC 之間的時鐘同步

每臺PLC 中定義時間讀取數據塊DB3,數據格式與DB1、DB2 相同。

在定時中斷系統組織塊OB35 內調用系統功能塊READ_CLK(SFC1),讀取當前系統時鐘并寫入DB3 內。

使用西門子操作面板內全局區域指針,使操作面板訪問PLC 內的DB3 數據塊。 詳細設置如圖5 所示。

圖5 全局區域指針設置

全局區域指針設置需要指定連接,訪問模式設置為絕對訪問,訪問地址指向PLC 內存儲時鐘數據的初始地址, 以本方案為例即DB3.DBW0,若僅需要使用年、月、日、時、分、秒這6 個時間數據,則訪問長度設置為6,若還需要毫秒、星期等時間數據,需要將訪問長度設置為8。采集模式選擇循環連續,采集周期可由用戶自行設定,本方案設定為5s。

2.4 主站時鐘設置

主站時鐘可以通過兩種方式設置,若沒有第三方時鐘源(如DCS),則在設備A 操作面板上人為定期設置;若PLC 與DCS 有通信,則可以從廠級DCS 通過通信設置時鐘。

2.4.1 操作面板人為設置主站時鐘

在設備A_PLC 內定義初始時鐘數據塊DB4,數據格式同DB1。

設備A_PLC 操作面板上定義6 個時間變量,數據長度均為1Byte,分別對應年、月、日、時、分、秒,變量地址指向DB4 的相應地址。 再定義一個時間設置標志位,作為時間下發指令位。

通過操作面板組態時鐘下發畫面,即可將設置好的時間數據下發到PLC 內。

2.4.2 DCS 設定主站時鐘

設備A_PLC 通過工業總線與廠級DCS 建立通信連接,DCS 將時鐘數據和時鐘設置標志位通信至 PLC,PLC 解析通信數據并轉換為DATA_AND_TIME 格式后即可后調用SET_CLK(SFC0)進行時鐘設置。該方式可以定期對主站時鐘進行校準,進而使所有從站時鐘自動與DCS 時鐘同步[2]。

3 結束語

筆者提出了一種多設備控制系統內部時鐘自動同步方案,在受限于硬件而無法使用NTP 和SIMATIC 模式進行時鐘同步時,該方案可作為一個很好的補充方案。 該方案基于通信,定時將控制系統內部的多臺PLC、操作面板等控制設備的時鐘同步,可以長期保證系統內部時鐘統一。 該方案是一種通用方案,不拘泥于通信形式,普遍適用于西門子工控產品,稍作修改即可通用于其他品牌的工控產品,具有較強的可推廣性。

猜你喜歡
功能塊調用以太網
核電項目物項調用管理的應用研究
如何編寫200SMART程序
基于PLCopen的六軸工業機器人運動控制功能塊設計
系統虛擬化環境下客戶機系統調用信息捕獲與分析①
自定義功能塊編程在反滲透膜自動清洗設備中的應用
Ovation系統FIRSTOUT和FIFO跳閘首出比較
三大因素驅動創新提速以太網快步邁入“靈活”時代
三大因素驅動創新提速 以太網快步邁入“靈活”時代
談實時以太網EtherCAT技術在變電站自動化中的應用
利用RFC技術實現SAP系統接口通信
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合