通過KEPWARE ODBC DRIVER和ADVANCED TAG 實現資料庫和PLC的雙向通信
本文以實例介紹了一種方法,利用KEPWARE OPC SERVER的ODBC DRIVER驅動和ADVANCED TAGS插件中的LINK TAG模塊,來實現資料庫和PLC之間的雙向通信,而無需藉助任何的OPC CLIENT編程。
1. MES將業務數據下發給介面表
下表DBI是MES中的業務數據表,SHOP欄位表示車間,VIN表示車號,DL_FLAG是數據處理狀態標記,1表示數據已下發給介面:
下表DBX是MES數據下載給PLC的介面表,DL_FLAG是MES下載控制位,UL_FLAG是PLC上傳控制位:
2. OPC將介面表數據同步給PLC交換區DB
首先建立指向MES資料庫的ODBC DRIVER,如下圖是DBX組映射了DBX表的數據:
我們可以通過OPC QUICK CLIENT來查看DBX這個表的實時數據:
然後我們需要從資料庫向PLC同步下載控制位DL_FLAG:
當本地B_DL_FLAG=1時,從MES向PLC同步VIN號:
PLC讀取本地的業務數據,完成之後,將本地的B_UL_FLAG設置為1:
4. OPC將PLC控制位上傳給MES介面表
OPC通過LINK TAG將B_UL_FLAG同步給MES:
MES資料庫自動得到更新:
5. 複位
當DL_FLAG=1且UL_FLAG=1,表示數據下載及處理完成,MES將DL_FLAG複位:
OPC將DL_FLAG同步到PLC。
當本地B_DL_FLAG=0時,PLC將B_UL_FLAG複位:
然後OPC把本地B_UL_FLAG上傳到MES資料庫,雙方控制位均已複位:
6. 握手時序圖
下圖是完整的握手時序圖:
7. 應用範圍
本方法可以應用於以下場合,部分代替OPC CLIENT開發使用:
1) PLC上傳數據很多,MES下發數據很少。
比如PMC設備監控模塊,大部分數據是MES從設備PLC採集的位信號和模擬量數據,這些數據可以通過DATA LOGGER模塊自動寫入MES資料庫。MES下行的數量主要是時間同步和班次等信息,數據量小,可以直接通過LINK TAG將MES數據同步到PLC。
2) MES和PLC之間有專用介面傳遞數據,也就是說MES只需要讀、寫少數幾個固定的OPC TAG,那麼此方法可以快速部署,使用LINK TAG實現雙向讀寫。
8. 相關KEPWARE插件
1) ODBC DRIVER:
2) ADVACED TAG插件,包含LINK TAG功能:
推薦閱讀:
※MES在汽車製造中的應用之架構篇(7) -- 松耦合與緊耦合
TAG:MES |