0 引言
隨著計算機技術在碼頭的廣泛應用及網絡技術的不斷進步,一個現代化的集裝箱碼頭要提高裝卸速度,創造更高的經濟效益,就必須不斷完善碼頭的設備監控管理系統[3]。
目前國內許多港口引進的一些大型機械設備(如卸船機和龍門吊起重機)的PLC控制系統各式各樣,如有日本安川(YASKAWA)電機的CP317系列、GE公司的9030系列、西門子公司的S7系列、ABB公司的AC800M控制系統等,而對于GE、西門子、ABB等公司的PLC和控制器產品,一般的監控組態軟件都提供了完善的驅動程序實現監控,而對于日本安川(YASKAWA)的PLC設備,由于其行業性比較強,一般的監控組態軟件并沒有對其提供驅動程序,給監控系統的開發帶來了一定的難度,而安川(YASKAWA)公司的PLC產品CP317系列在港口應用非常廣泛,并且以其穩定的性能得到了許多港口用戶的好評。本文提出了一種利用目前比較流行的Citect組態軟件實現與安川PLC以太網通訊的方法,為港口設備監控系統的開發提供了一條思路。
1 Citect軟件功能
Citect軟件是澳大利亞悉亞特公司開發的一套功能強大的工業過程控制應用軟件,具有良好的開發環境、強大的PLC接口通信協議支持、實時的網絡數據以及高效完整的 Cicode監控語言和函數集,在數據采集、實時監測和過程控制中得到了廣泛的應用[2]。該軟件具有下列主要的功能:
(1)生動的圖形顯示功能:便利的圖形工具可以制作逼真、充分反映現場狀況的圖形,包括各種趨勢圖。
(2)趨勢圖顯示:運用各種趨勢圖對歷史數據和實時數據進行形象的表現,便于數據的管理與分析。
(3)報警顯示功能:通過連續不間斷地監視,以文字、圖形、聲光等形式,對設備故障進行報警。
(4)報表功能:可按需要制作任何形式的報表格式。
(5)強大的網絡功能:可以在LAN和WAN上提供全區域內的數據傳輸和管理,充分支持服務器/客戶機、服務器/瀏覽器結構。
(6)數據庫功能:支持標準的SQL語言,擁有內嵌的SQL語言,通過開放的數據庫連接(ODBC)可以實現與多種數據庫系統的連接
(7)多種語言支持:支持英/漢屏幕變換。
(8)易擴展性:支持OPC接口,可以作為OPC服務器或客戶機。
2 安川PLC以太網通訊方式
安川PLC CP317系列的以太網通訊是依靠以太網通訊模塊CP218實現的,CP218是專用于CP316、CP317 CPU的以太網模塊,支持四種通訊方式:Memobus、Extended Memobus、Melsec和自定義通訊。
2.1 Memobus通訊
Memobus是日本安川(YASKAWA)公司內部的一種用于可編程序控制器的工業數據通信系統,它適用于公司下屬多種產品間的互相通信[1]。
將計算機作為一個主站,PLC作為從站。由主站啟動數據傳輸,從站應答。主站與從站通訊,每個從站都有對應的地址碼,收到主站命令的從站執行指定的功能,并且對主站做出應答。如果在一定時間內主站未收到從站的應答,將從新發送請求。Memobus在主從站之間根據報文發送的格式不同可以分為兩種通信模式:RTU和ASCLL模式。RTU模式的報文格式緊湊,ASCLL模式的報文可讀性好。根據不同的應用場合選擇不同的模式,當要求主站的數據處理速度相對比較快時,選擇RTU模式。
2.2 Extended Memobus通訊
Extended Memobus是日本安川(YASKAWA)公司專門為以太網通訊而開發的一種工業數據通信系統,其基本的原理與Memobus通訊類似,只是為了能更好的適應以太網而在Memobus協議上添加了一些其他的信息。
2.3 MELSEC通訊
MELSEC是日本三菱電機公司的通訊協議,為了能更好的實現與三菱產品之間的通訊,安川(YASKAWA)公司CP218模塊中加入了MELSEC通訊協議。
2.4 自定義通訊
為了使自己的產品具有更好的開放性和靈活性,CP218模塊同時也支持自定義的通訊方式。
3 Citect軟件與安川PLC以太網通訊實現的方法
組態軟件與設備之間能夠實現通訊,關鍵看通訊協議是否相互匹配,發送報文的格式是否符合協議的標準。
3.1 系統結構
系統由一臺安裝了Citect組態軟件的計算機和若干個子站PLC組成,它們之間通過以太網連接,結構圖如圖一所示。
3.2 Memobus方式實現通訊
Citect組態軟件提供了上百種設備的驅動程序,但卻沒有Memobus通訊協議,但這并不意味著通訊不能建立,由于Memobus的報文組成方式類似于目前非常通用的一種協議Modbus,而Modbus協議是目前幾乎所有組態軟件所支持的,因此,可以選擇Modbus協議與安川PLC進行通訊。由于安川PLC本身的限制,要實現通訊,還必須在PLC中編寫通訊程序。
3.2.1 定義通訊通道
對于CP317的CPU,CP218模塊支持10個通道同時為其他設備提供數據,因此必須在編程軟件CP717中為CP218模塊定義通訊通道,通訊通道的主要
參數設置:
通訊端口(My Port):10011(根據具體空閑PLC通道定)
目標IP(DST.IP):000.000.000.000(全“0”表示在同一網段的任意IP都可以利用)
目標端口(DST.PORT):00000(上位機空閑端口)
連接類型(Connect Type):TCP
協議類型(Protocol Type):Memobus
方式(code):RTU
DST.Station:000000000000(目標站注釋)
3.2.2 編寫通訊程序
定義通訊通道的過程中實現了上位計算機與PLC之間連接的建立,但數據的接受與發送并未建立,根據數據通訊的機制,當上位機發送連接請求到PLC時,CP218無法自動接受通訊請求,必須由CP218內部功能模塊 “MSG-RCV”接受請求,經過對報文的解析,將請求的數據傳送給上位監控計算機實現數據通訊,程序結構如圖二所示
圖二 程序結構
一般的通訊程序作為子程序存放在“Low Scan Programs”中,那么在主程序中必須通過“CALL”指令調用通訊子程序。另一方面第三方軟件CITECT通過Memobus通訊只能讀取YASKAWA PLC的M區數據,因此要將所有需要采集的數據通過“MOVW”指令傳送入M區的未用地址區中。
3.2.3 Citect軟件配置
由于YASKAWA PLC的Memobus通訊協議與Modbus通訊協議類似,因此協議的設置應該遵循Modbus的協議標準。
在Citect軟件軟中通過驅動程序向導選擇Modicon的TSX Quantum Ethernet(TCP/IP)的驅動程序協議,向導完成后在“IO Devices”選項中確認“Protocol”為“MODNET”,并且由于Memobus協議是一種在TCP網絡層的串行通訊協議,在協議的報文組成部分有地址位,因此必須在“IO Devices”選項“Address”屬性中填寫地址位,對于不同的站,地址位可以相同但不能為空。
3.2.4 Citect軟件中變量定義的方法
在Citect軟件中,Memobus RTU協議的變量定義類似于Modbus RTU協議的變量定義方法。
(1)讀取MW時,協議讀取的數據可以為5位或者6位,按照Modbus的地址編寫規則,將MW改寫為“4”表示讀取數據;
(2)當YASKAWA PLC中MW地址為5位,當最高位為“0”時,可以按5位讀取,也可按6位讀取,當地址最高位不為“0”時,按6位讀取。如:MW00500地址可以寫為40501或400501;
(3)Memobus不支持MW00000地址的讀取,因此讀取MW時必須在原PLC地址的字地址位加1,如MW00000地址編為400001,所有地址依次類推都要加1;
(4)讀取MB時,在相應的字后加位數,如MB00500A地址可以寫為40500.11或400500.11,M10500A地址寫為410500.11;
(5)對于位尋址,Memobus協議的的1-16位分別對應于PLC寄存器的16-1位,是一個反向的關系,為了能獲得想對應的寄存器的值,必須在Citect軟件的MODNET參數設置中的“[MODNET]RegisterBitReverse”屬性定義為“0”。
4 結束語
設備與設備之間要實現數據的通訊,關鍵看通訊協議,本文中所研究的方法就是基于此基礎上的,并且在某港口的卸船機遠程監控系統(RCMS)中測試通過,并投入使用,運行狀況良好。本文的技術線路也可應用于其他組態軟件實現與安川(YASKAWA)PLC的通訊上。
參考文獻:
[1] 魏 欣,林葉春,鮑敏中. 基于Intouch平臺集裝箱裝卸橋監控系統的開發. 工業控制計算機,2004,(3):32-34
[2] 亓宗英,朱紅五,張 勇. Citect軟件在江蘇大運河水情監測調度系統中的應用. 長江科學院院報,2001,(4):48-50
[3] 史建民,黃有方,趙婉瑩. 基于Memobus RTU通信協議的PLC數據優化組合傳送方法. 上海海運學院學報,2003,(24):52-55