摘要:結合開放式數控系統的研究開發,提出了將外置PLC與數控系統上位機及多軸運動控制板卡配合使用,以提高其安全性和可靠性的方法。并介紹了它們之間的結構和關系研究并采用串行中斷工作方式實現了主機與PLC之間的實時通信介紹了IPC與PLC之問的串行通信锝議和通信方法,并通過所開發的非標數控機床對JPc與PLC之問通信程序的開發進行了詳細闡述實際應用表明.所開發的IPC、PLC、PMAC三方之間通信程序完全滿足數控機床的工作要求.
關鍵詞:數控機床;數控系統;PLc通信技術;串行通信;中斷
數控機床上應用PLC一般有兩類:一類是內置型PLC.NC和PLc之問的信息傳遞是在內部總線的基礎上進行,因而有較高的交換速度和較寬的信息通道.另一類是外置型PLC它獨立于NC裝置,具有獨立完成控制功能的PLC,一般采用專業化的PLC廠家的產品,它在輸入/輸出信號接口技術規范、輸入/輸出點數、程序存儲容量以及運算和控制功能等方面均能滿足數控機床的要求.在本數控系統內部的多軸運動控制器提供了內置的PLC,但考慮到它們共用一個CPU,大量的PLC程序運行時占用的伺服循環掃描時間過多,會影響運行過程中的數據運算和位置控制.
同時,機床運行過程中如果CPU出現運算忙或意外的死機會產生極為嚴重的后果。所以,在本系統中使用了外置型的PLc.獨立的PLC可以方便地實現I/O擴展和同上位機連接;且獨立的PLC具有獨立的CPU及控制電路、程序存儲器、I/O接口、通信接口、電源等設備,能夠獨立于IPC和多軸運動控制器之外工作,既不占用PC和多軸運動控制器的運行時間及資源,也不受二者運行忙和故障的影響,可以更加安全、可靠地保證機床運行.
1基于主從式數控系統硬件結構
1.1數控系統的結構
在本數控系統中,作為主機的工控機lPC完成數據的采集、存儲、分析處理及顯示輸出等功能,實現對系統的實時監控,同時完成對現場的實時控制.多軸運動控制器完成電機位置和速度的實時控制、刀具補償、插補運算、曲線軌跡計算及螺距補償等工作.下位機的PLC現機床數據采集、工作狀態判斷及指令輸出控制等功能,完成控制機床加工和監視機床運行狀態的任務.PLC是數控系統與外部協調工作的一個重要接口,它通過接收IPc傳來的指令或向外傳遞信息,或由DMP的輸人單元接收機床操作指令,監控機床的狀態,并根據這些輸入信息運行時先編制好的機床工作邏輯程序,將結果通過輸出口直接驅動電器控制系統執行相應動作,同時將信息送MMI/CRT進行實時顯示.
1.2 PIC與IPC硬件連接
PLC本文選用松下的FPl系列產品的C72和擴展單元E24.采用點對點的通信方式,連接方式如圖2所示.PLc與計算機的通信為R顯32串行方式,利用PLC和計算機各自的RS232串行通信口.通信線路采用9芯屏蔽電纜
2 PLC與主機的通信
2.1 PLC的串行通信方式設置
PLC的通信端口有一個串行口和一個編程口.編程口也是遵循RS232C協議的串行口.通過串行口實現數據的上傳和下載,也用于實現人機界面通信.IPc與PLc建立通信時,為保證通信正常,通信口必須作初始化處理,即IPC、PLC及人機界面必須采用相同的傳輸格式和波特率.
在PLC上用戶不用編寫通信程序,但在進行通信之前,必須用編程終端與編程軟件對PLc的部分系統寄存器進行初始化設置.系統寄存器412,413,414,417和418用于設置串行通信規格.No.412:選擇“∞mputer 1ink”方式;No.413:選擇1個停止位,奇校驗,傳輸位數為8位;No.414:傳輸速率設為9 600 bps.選計算機的串行口coMl作為與PLc的通信端口.
2.2 PLC的通信協議
當上位計算機或其它帶串口設備需要同松下電工FP系列可編程控制器通信時,松下電工提供了一套完整的專用通信協議給用戶以便完成通信的工作,此協議稱為“MEwT()CDL.cOM”.通信開始先由上位計算機發出呼叫,它包括一些特殊標志碼、PLc站號和呼叫字符等,其格式如下:
1)發送命令楨格式
由上位機首先發出,它包括起始碼“%”、目的站號、特征碼“#”、命令碼、塊校驗碼“Bcc”等組成.
現讀取繼電器ⅪI000的狀態,則其發送楨格式為:
“%01#RCSXoo001DCR”,RcS為讀單個接點,x0000為發送的文本,lD為校驗碼.
2)響應楨格式
PLC接收到計算機的呼叫后,首先判斷是不是一個完整的信息,然后檢查呼叫站號是不是自己的站號,若是呼叫自己,則發送相應信息,否則不予理睬.
設當前輸人狀態為“l”,則其響應楨格式為:
“%Ol$RCl20cR”,1為X()000的接點狀態,20為校驗碼,
2.3塊檢查碼程序BCC
塊校驗碼是為提高上位機與同PLC通信的可靠性設置的,按照通信協議,上位機也必須進行相應的和校驗.將每一個命令幀中的第一個字符到該幀中正文的最后一個字符作“異或”運算,井將異或的結果轉換為兩個ASCII碼,以此為該命令幀的Bcc.接收端計算出收到的幀的BCC,果與發送端傳送的BOC不同,可以判斷通信有誤,并輸出校驗錯誤信息.BCC算見BCC函數.
3上位機通信程序的開發
3.1通信方式的選擇
FPl是非主動性通信模塊,所有通信都需要主計算機發命令控制IPC與PLC之間的通信采用主從應答式,IPC始終處于主動地位,根據需要向PLc發出讀/寫命令;PLc處于被動狀態只能響應IPc的命令,無需編程,通信模塊自動進行應答,它沒有請求發送權.由于監控信息出現的隨機性,IPC并不知道何時去讀取.因此,通信方式的選擇對系統的實時性有一定的影響.
主機接收PLC串行數據可采用查詢和中斷工作方式實現舊J.查詢工作方式是指在程序中主機定期讀取PLC的有關信息,當監控點的狀態發生變化時,采取相應的處理程序.這種方法雖然簡單、易于實現,但由于主機始終掃描串行口,它的工作效率較低,而且對雙方通信的實時性產生很大的影響.采用串行中斷工作方式接收數據,主機對串行口進行必要的初始化設置后不必再始終監控串行口的狀態.在PLC中建立一個通信請求標志位,只有當籃控點的狀態發生變化。才被置“l”,表明串行口有數據到達,主機在串行中斷服務子程序中讀取標志位,執行相關的數據接收和處理任務,主機的處理速度很快,工作效率大大提高.
3.2 lPc與pLC間的串行通信程序的開發在本系統中使用串行通信編程的MS(‰通信控件【”J.MScC¨m控件是微軟公司開發的在windo、ⅣS下串行通信編程的ActiveX控件,它為應用程序提供了串口進行數據輸入和數據輸出的能力.在vB6.0環境下,通過對MSC[】ITIm控件串行中斷屬性的相關設置,主機提供了完善的串行端口中斷功能,使常見的串行通信中斷能力得以大大提升.
MSCc“m控件提供兩種處理通信的方式:查詢方式和事件驅動方式.比較簡單的通信任務可通過查詢串口獲得相關的信息并進行相應的處理比較復雜的通信任務應該使用事件驅動方式,事件驅動通信是處理串行端口數據接收和發送的一種很有效的方法.Rthreshold和sthreshold屬性決定數據發送、接收的方式.當Rthreshold=0時,接收數據不產生OnComm事件,通信程序必須定時主動查詢接收數據緩沖區.在RThfeshold=l時,則接收到1個字符就產生()11comm事件,通信程序可以立即響應,從緩沖區中讀取數據并執行響應的處理程序.由于通信程序在發送數據時不用進行相應的處理,只需等待,sthreshold屬性可以設置為O.在上位機通信程序中,采用中斷接收、周期查詢發送的方法,可以及時響應通信事件,保證通信的正常進行。
4結論
在機床數控系統開發過程中,由于PLC的穩定可靠而被作為機床邏輯動作的核心控制部件使用.但它自身的信息管理能力較弱,特別是不能給用戶提供一個友好的交互界面,妨礙了運行過程的實時跟蹤與故障診斷.利用上位機與PLc相結合的辦法可以有效地解決上述問題,即PLC完成對系統底層的控制,而IPc則完成系統的監控與信息管理基于VB6.O具有良好的面向對象設計方法、友好的用戶界面、簡易方便的串行口操作特點,實現PLC與IPC通信的方法,并用于實際的工程項目.










