作者簡介:林兵(1979-),男,四川省達州人,技術支持工程師?,F就職于貝加萊工業自動化(上海)有限公司,主要從事電控系統和儀控系統開發、OEM用戶電控系統設計和程序開發以及技術支持工作。
摘 要:本文以真空鍍膜自控系統為應用背景,詳細介紹了貝加萊X20系列PLC作為通訊網關在該系統中的應用。以RS485數據通信方式采集中頻電源、真空計、流量計和分子泵等150余臺設備的相關數據,并采用虛擬網絡計算機(VNC)技術實現了遠程獨立監視和控制,同時還通過Profibus-DP現場總線和以太網TCP/IP接口實現與鍍膜線其他設備的無縫鏈接。
關鍵詞:真空鍍膜;可編程計算機控制器 ;數據通信;虛擬網絡計算機;中頻電源
1 引言
真空鍍膜技術是一種新型的材料合成與加工新技術,是將待鍍工件置于真空室內,采用一定方法使金屬蒸發、濺射和離子鍍,從而使固體表面具有耐磨損、耐高溫、耐腐蝕、抗氧化、防輻射、導電、導磁、絕緣和裝飾等性能。通過真空鍍膜鍍件具有許多優于固體材料本身的優越性能,達到提高產品質量、延長產品壽命、節約能源的目的。本文以真空濺射工藝的某鍍膜玻璃線為例,介紹了PLC作為通訊網關,通過RS485對采用非標準通訊協議的中頻電源、真空計、流量計、分子泵等鍍膜核心設備進行采集和控制,并通過DP接口使這些設備無縫接入整個鍍膜線。
2 系統結構
中頻電源、真空計、質量流量計、分子泵是真空鍍膜線的重要組成部分,對這些設備的控制直接關系到產品質量。在這條鍍膜生產線上有16臺中頻電源、30臺真空計、75臺質量流量計、30臺分子泵。該PLC與以上設備之間都沒有采用現成的通訊驅動程序來實現數據通訊,而采用了RS485接口來實現數據采集和參數設定,所以,必須分別按照各個設備廠家的通信協議進行通訊。這條生產線采用貝加萊X20系列PLC作為對以上設備的通訊控制網關,對其采集和控制,每個通訊模塊控制同樣類型設備的8~10個,鍍膜線的其他邏輯控制和傳動設備通過其他控制器來控制,通過VNC實現對通訊設備的本地顯示和操作,并通過Profibus-DP接口與上位DP主站控制器通訊實現整體控制。系統拓撲圖如圖1所示。
圖1 系統拓撲圖
3 中頻電源通訊協議
PLC發送請求主要有地址請求、讀、寫數據請求,每種請求電源都會有返回數據。詳細的電源通訊的協議如下:
格式1 PLC發送地址請求格式:(此時檢驗位為1)
格式2 電源應答地址格式:(此時檢驗位為0)
格式3 PLC讀數據請求格式:(此時檢驗位為0)
格式4 電源應答讀數據格式(正確返回):(此時檢驗位為0)
格式5 電源應答讀數據格式(錯誤返回):(此時檢驗位為0)
格式6 PLC寫數據請求格式:(此時檢驗位為0)
格式7 電源應答寫數據格式(正確返回):(此時檢驗位為0)
數據傳輸:所有數據均為16進制數
校驗位的計算:所有數據做異或運算的結果作為CRC校驗位。
4 中頻電源通訊流程及特殊要求:
4.1 PLC發送地址數據
PLC要控制和讀取某一個中頻電源時,首先通過RS485模塊發送站地址指令到中頻電源,此時發送數據的校驗位必須為高,以這樣的校驗方式發送站地址到中頻電源才能正確的被接收。當RS485總線上掛的電源地址與RS485模塊發出來的地址指令一致時,電源便打開指令接口,等待PLC的RS485模塊發送讀/寫功能數據的指令,并以低校驗位的方式返回確認數據給PLC。例如發送5445數據及讀4號站電源,通訊電壓波形如圖2所示。
圖2 校驗位為高時的通訊數據電壓波形
4.2 修改通訊校驗位
PLC發送地址指令后,如果要接收電源的返回地址數據或者在發送讀寫電源的功能數據請求,必須將RS485模塊的通訊校驗位改為低,才能收到電源的返回數據。但是值得注意的是,當發送地址指令后,立刻把RS485模塊的校驗位改為低后,有可能發現上次以高校驗位發送的地址數據中有個別數據還沒發完,那么沒發完的數據的末尾的校驗位就為低了,從而使得電源接收到的地址指令的校驗位不符合要求,引起電源不接收這樣的請求指令,導致通訊失敗。
圖3 校驗位為低時的通訊數據電壓波形
4.3 電源的地址返回
電源接收到PLC過來的正確數據后,便返回自己的地址數據給PLC,同時打開自己的指令接收接口,等待PLC發讀/寫功能指令。此時PLC的校驗位如果修改為低,方能收到電源返回的正確數據。
4.4 PLC發送功能數據
讀/寫功能指令以低校驗位方式發送給電源,反之認為無效。如果電源的指令接口打開時間超過100ms還沒收到讀/寫指令,其打開的接口將關閉,關閉后即便是發送的讀/寫功能數據校驗位是正確的,也不再響應。所以PLC以高校驗位的方式發送電源地址指令后,必須確保地址數據已經全部發出完畢,然后在把校驗位修改為低,最后在發送讀/寫功能數據指令,整個過程不能超過100ms。通訊程序在時間的把握上非常關鍵,既不能太快也不能太慢。
4.5 電源返回功能數據
電源接收到PLC發出的正確地址信息后,便打開通訊接口等待PLC第二次發給它的讀/寫功能數據。如果寫指令,電源將執行指令動作,控制電源的參數設定或者啟停,并返回寫指令是否成功的數據給PLC。如果為讀指令,電源便將自己的狀態數據,如當前電壓、電流、功率、設定等狀態數據返回給PLC。返回數據的時間也大約是接收到讀寫功能數據后2ms。
4.6 PLC讀返回功能數據
電源返回的狀態數據為20個字節,用示波器查看,大概要18.4ms才能完成發送。即PLC讀數據的功能塊,要在電源發送出狀態數據18.4ms后去接收。RS485總線上,同一時刻只能有PLC發數據或者電源返回數據的信號在總線上,如果同時存在,在電信號相交的地方,電信號會疊加在一起,導致PLC和電源各自接收到的數據與對方發過來的數據不一致,這一點也對數據讀取和發送的時機提出了要求。
5 X20 PCC通訊實例
以實際項目為例,首先PLC以高校驗位發送以下數據,例如發4號站地址請求,PLC發送數據如下:
wr_data1[0] = $05
wr_data1[1] = $04
wr_data1[2] = $04
wr_data1[3] = $05
以9600的波特率發送以上4個字節,計算并用示波器測量的結果為4.6ms左右,及PLC執行發送數據指令后,大約要4.6ms后,數據才能全部從RS485的硬件端口發出。
(1)如果在4.6ms之前把通訊的校驗位改為低后,那么發送出去最后的幾個字節的校驗位就為低,從而電源接收不到正確的站地址指令,也不會返回電源本身的數據。所以修改PLC模塊通訊的高/低校驗位,必須要在發出地址指令4.6ms以后。
(2)電源接收到PLC發過去的正確數據后,經過中頻電源系統本身處理并把本身的地址返回給PLC的間隔時間為2ms。電源發送出來的數據校驗位為低,此時PLC的通訊校驗位也必須為低才能收到電源返回的地址確認信息。所以必須在這2ms內把PLC校驗位修改為低。
(3)正確的時序邏輯:PLC以高校驗位方式發送電源地址,在發出地址指令4.6ms后立刻修改通訊模塊的校驗位,修改完成的時間必須在4.6ms之后6.6ms之前。只有這樣PLC才能正確的收到從電源返回的數據。
(4) PLC接收到電源返回的地址確認信息后,PLC程序對返回的數據進行校驗分析,如果正確,就發送讀/寫功能數據。反之就再發一次地址請求數據。因為中頻直流電源干擾非常大,所以必須對PLC收到的數據進行校驗,確保數據的正確性和控制的可靠性。
(5)電源收到讀/寫功能請求后,會把自己的狀態數據返回給PLC,數據有20個字節,以9600波特率傳輸,大約需要23ms才能傳送完畢。PLC在電源發出23ms之后讀取通訊的數據緩存方能取到正確的數據。
(6)PLC從數據緩存中取出電源返回的正確數據后,立刻清除數據緩存,并再次修改通訊的校驗位為高,發送另一個電源的站地址,進行與下一個電源的通訊和控制。
圖4 PLC和電源通訊數據時序
目前電源的通訊,根據發送地址指令需要4.6ms的特點,所以我們采用5ms的循環任務,通訊流程如圖4所示,圖中每一個網格,表示每一個循環任務5ms時間,執行以下5個CASE語句。
CASE0:修改校驗位為高,并發送站地址
CASE1:修改校驗位為低
CASE2:延遲5ms,然后讀電源的地址返回數據
CASE3:PLC發送讀/寫功能數據
CASE4:延遲35ms,PLC讀電源返回數據
執行完每個CASE語句后,在下一個循環會自動跳到下一個CASE語句。執行完CASE4后,CASE將跳到CASE0,開始與下一個中頻直流電源的通訊。在60ms時間里PLC讀數據兩次,發數據兩次完成一個電源的通訊。
6 與其他設備通訊
質量流量計采用廠家內部的CPL通訊協議,讀數據時必須按照廠家協議所定義的數據格式,包含起始結尾數據、站地址信息、讀數據的地址、數據長度以及校驗位以ASCII碼的方式通過RS485發送,例PLC發送讀數據如下:
設備收到PLC正確的數據請求后,便返回設備的當前信息,PLC根據通訊協議把實際的工藝數據從返回的一串數據中挑選出來組成實際需要的數據。流量計返回數據如下:
如果要修改設備的參數,則必須發出寫指令給對應流量計,PLC寫指令時發送數據如下:
寫指令發送后,設備將返回寫指令是否成功的信息,PLC收到返回的失敗信息后將重復發送此寫指令,操作3次都不成功,系統將提示,并退出對這個站的寫操作。
CRC校驗計算:發送數據ETX以前的20個數據以16進制方式相加,取其結果的后兩位,例如為36F(16進制),取后兩位6F,把6F轉化為2進制結果為01101111,在求反碼,其結果為10010000;然后在最后一位加上1,計算結果為10010001,在轉化為16進制結果為91,在把十位和個位分開并轉換為ASCII碼就是39 31,就得到了兩個校驗位數據。不同的設定值校驗位是不一樣的,在項目中利用高級語言編寫了一個計算校驗位的庫,利用庫函數自動計算檢驗位,實現只要輸入設定值和通訊站地址,函數會自動按照協議的格式把數據鏈層和應用層數據生成為一個符合通訊協議要求數組。PLC只要把這個數組通過RS485接口發送即可。由于流量計返回數據比較多,目前采用80ms的循環任務來處理,及PLC發送讀指令間隔80 ms后執行讀取指令,將流量計返回的數據讀出。時間間隔太短會引起數據還沒接收完就讀另一個設備,時間太長又影響通訊實時性。
分子泵的通訊方式和協議基本與流量計相同,在此不再做介紹。真空計的通訊需要把當前真空室的真空度讀出來,通訊協議相對簡單,把地址和數據結束符通過ASCII碼的方式發送,然后50ms以后PLC在執行讀取指令,把真空計返回的數據從緩存中讀取出來,讀取完成后再通訊下一個設備,采用輪詢的方式實現所有真空計的通訊。
7 X20系列PLC在控制和數據通信方面的特點和優勢
電源通訊協議的特殊性,對RS485通訊模塊提出了較高的要求,RS485模塊必須在2ms之內修改模塊的校驗位,并且每讀一次電源的數據都要這樣頻繁的修改。很多模塊不能在2ms之內修改校驗位,讀寫通訊數據的時機又不好把握,給編程帶來很大麻煩,另外即便是程序執行了修改校驗位的指令,但有些模塊發出去的電平信號無法在2ms內對校驗位的修改做出響應,這些要求和特性也致使很多PLC無法實現這樣的通訊。
經過多個廠家PLC的測試,貝加萊的X20系列PLC滿足這樣的控制要求。該PLC采用VXWORKS實時多任務操作系統,可對每個子程序設定相應的循環任務時間,根據電源的通訊特性,把握數據讀/寫時間,避免了通訊總線上收發信號重疊,以及把PLC讀、發數據兩次的時間控制在100ms以內,并盡可能地提高通訊效率。目前60ms時間就控制一個電源的讀寫控制,整個生產線上一共有16臺電源,選擇貝加萊公司IF1030 RS485通訊模塊,每個模塊控制8個電源。該模塊通過軟件和示波器測試,其修改高低校驗位并最終輸出的時間間隔小于1ms,另一款RS485接口模塊X20CS103則慢一些,大概間隔是在20ms,這個響應時間不能實現在地址發出后4.6ms到6.6ms之間修改校驗位,所以X20CS103這個模塊是無法滿足電源的通訊要求。 X20CS103模塊可用來和真空計、分子泵和流量計通訊。
利用實時多任務的處理機制,對實時控制提供了保障,把項目中各個不同工藝的處理放在不同的循環任務里,根據實際需要,調整每個任務的循環執行時間,準確把握修改校驗位的時機和通訊讀/寫時間。并且支持標準C、BASIC高級語言編程,在做校驗位運算和通訊編程時更為便利。這正是150臺設備的通訊和控制選用該廠家的原因之一。
8 支持VNC的PLC
VNC (Virtual Network Computing)是虛擬網絡計算機的縮寫,是一款優秀的遠程控制工具軟件,它由兩部分組成:一部分是客戶端的應用程序(Vncviewer),另外一部分是服務器端的應用程序(Vncserver)。Vncserver運行在設備中,Vncviewer運行在任何遠程計算機中,輸入正確的IP地址和密碼就能調用和查看Vncserver中的畫面程序,不需要插件和專業軟件的支持。貝加萊公司的PLC支持VNC技術,即在編寫PLC邏輯處理程序的同時,寫入類似觸摸屏一樣的畫面程序,把PLC作為Vncserver,通過以太網把PLC中的畫面顯示在作為Vncviewer的計算機上,從而達到遠程操作和顯示的目的;
整線要求這套采集系統可以獨立工作,也可以通過主控系統來控制。由于PLC支持VNC技術,所以這樣的要求不需要額外增加觸摸屏,只是在對PLC編程時,除編寫RS485等通訊控制程序外,還需編輯控制電源以及顯示數據的畫面,程序完成后畫面和通訊邏輯程序一同下載到X20CP3484硬件中去。任何一臺計算機與PLC自帶的以太網接口相連,通過Vncviewer輸入正確IP地址和密碼后,PLC中寫的畫面便顯示在計算機上,監視系統數據;同時可通過鼠標來控制這套系統,使其能獨立運行。在硬件上免去了觸摸屏,軟件上減少了程序開發的工作量,也不需要在計算機中安裝組態軟件。VNC畫面如圖5所示。
圖5 VNC畫面
9 結語
質量流量計、真空計、分子泵和中頻電源在鍍膜線上使用的數量較多,而這些設備進口價格約為國產的2-3倍,如能采用國產設備一條線就能節省上百萬元的成本。目前國產設備大多為自主研發,通訊協議多為自定義協議,常見PLC在非標準協議通訊處理和控制時略顯不足。而貝加萊PLC支持多種標準通訊協議,完美地解決了這個問題。它的分時多任務操作系統、高速的指令執行、高級語言的編程方式以及快速硬件響應能力,方便地實現了對自定義通訊協議設備的通訊,把PLC作為通訊網關實現對設備的直接控制, 通過功能劃分后結構更加清晰,編程更加簡單。兩套操作終端都可對這些設備進行操作,提高了系統的可靠性和靈活性,也促進了國產儀器設備的使用和鍍膜技術的革新。