1引言
桁架結(jié)構(gòu)在現(xiàn)今的許多大跨度的場館建筑中有廣泛運用,它是由管與管相貫搭接后焊接而成的。傳統(tǒng)人丁切割出管材的相貫線比較困難,而且效率低。精度不高,迫切需要現(xiàn)代化的切割機床來切割管件。PLC因其高效、靈活、可靠、抗千擾能力強等優(yōu)點阿,可以在底層完成指導數(shù)控機床各個軸的運動的任務,但是其無法獨自克服人機交互能力差、數(shù)據(jù)的計算能力弱等缺點,而PC機卻有人機交互界面好、計算能力強等優(yōu)點。實現(xiàn)PLC與上位機的數(shù)據(jù)通訊,可以綜合二者的優(yōu)點.構(gòu)成自動化切割管件的最優(yōu)數(shù)控系統(tǒng)。將PC和PLC結(jié)合起來實現(xiàn)管切割機的運動控制,關鍵是實現(xiàn)PC與PLC之間的通訊。以橫河PLC為例,研究了PLC與PC通訊的原理,實現(xiàn)了通過VB編寫應用程序?qū)⒓庸?shù)據(jù)輸入到PLC指定的數(shù)據(jù)寄存器中。
2 系統(tǒng)構(gòu)成
一臺五軸四聯(lián)動管材相貫線切割數(shù)控機床的示意圖,如圖1所示。底層采用橫河PLC+運動控制模塊+伺服電機對五根軸進行控制。加_T過程的運動為:切管繞Y軸做回轉(zhuǎn)運動,同時割咀工作臺沿Y1軸和Z2軸做卣線運動切割出相貫線,割咀繞 軸做擺動,五為一確定值(切割半徑與割咀長度之和),使之在切割相貫線的同時切割出坡口,一次定位安裝完成管切割,減少多次切割的加工誤差和定位誤差。整個系統(tǒng)的運行,如圖2所示。在PC機中運行相貫線的計算軟件,用戶通過人機界面,輸入管徑、壁厚、管與管的軸交角等參數(shù),軟件自動計算出相貫線上點的坐標和切割坡口的實際切割角,并將這些數(shù)據(jù)轉(zhuǎn)化為PLC的控制數(shù)據(jù),通過RS232總線將PC與PLC點對點的連接起來,將數(shù)據(jù)傳遞給PLC進行加工。
圖1 數(shù)控管切割機示意圖
圖2系統(tǒng)運行示意圖圖2系統(tǒng)運行示意圖圖2系統(tǒng)運行示意圖
3通訊協(xié)議
PC機與PLC之間正確通訊數(shù)據(jù),必須滿足以下4個條件:(1)PC機串口和PLC通訊模塊的波特率設置一致;(2)在PC機的通信程序中,只使用PLC協(xié)議規(guī)定的命令和格式;(3)無論是PC機向PLC發(fā)送數(shù)據(jù)或者是Pc機讀取PLC某一數(shù)據(jù)寄存器中的數(shù)據(jù),通訊程序都開始于Pc機主動向PLC發(fā)出命令幀;(4)PLC接收到PC機發(fā)來的命令幀后。執(zhí)行指令并傳回響應幀。
PLC選用的是日本橫河(YOKOGAWA)FA—M3系列,因其平均掃描時間達20000步/ms,支持主程序和高速定時程序并行處理濱現(xiàn)了真正的高速化,擁有快速精確的位置控制功能。同時選用配套的F3LCll-1F通訊模塊,它有一個RS232C接口,它的右側(cè)有3個開關SW用于設置通訊模塊.通過撥動3個開關SW,就可以完成對PIE的通訊模塊的設置?,F(xiàn)將PLC的通訊模塊的傳輸速度設置為115200bps.數(shù)據(jù)格式為:8位字符長度、無奇偶校驗、有和校驗、停止位為1位、無結(jié)束字符CR。
PLC命令幀格式,如圖3所示。起始字符為ASCII碼$02,結(jié)束字符為ASCII碼$03,校驗碼為從起止字符到校驗碼之前的所有指令的16進制ASCII碼值相加的和的最低兩位。因為PLC處理和掃描程序需要時間,所以需要設定等待時間,也為16進制數(shù)值。具體等待時間和16進制數(shù)對應表,如表1所示。
圖3 命令幀格式
PLC接收到PC機發(fā)出的命令幀后,向PC機發(fā)出反應幀,反應幀有正確反應幀和錯誤反應幀之分。PLC正確執(zhí)行PC機發(fā)出的命令幀后,向PC機傳回正確響應崎,否則,傳回錯誤畹直幀。PC機首先根據(jù)響應幀的校驗碼是否正確判斷數(shù)據(jù)接收完成與否,如果數(shù)據(jù)接收完成,再根據(jù)反應幀可判斷出它發(fā)出的指令PLC是否正確執(zhí)行,如果是錯誤執(zhí)行.那么PC機重新發(fā)送命令幀,直到PLC反饋正確反應幀為止。正確與錯誤響應幀格式,如圖4、圖5所示。
4通訊程序設計
PC與PLC的數(shù)據(jù)傳輸是以幀的形式傳遞的。寫數(shù)據(jù)時由PC機通過串行口向PLC發(fā)出寫數(shù)據(jù)命令幀,PLC接受命令,并向PC機傳回響應幀。PC機判斷響應幀是否為正確的響應:正確,寫數(shù)據(jù)結(jié)束:錯誤,重新發(fā)送寫數(shù)據(jù)命令幀,直到PLC反饋正確響應為止。讀數(shù)據(jù)時由PC機通過串行口向PLC發(fā)出讀數(shù)據(jù)命令幀,PLC接受命令,并傳回響應幀(里面包括有傳回的數(shù)據(jù))。PC機判斷響應幀是香為正確的響應:正確.從響應幀中凄出數(shù)據(jù).讀數(shù)據(jù)結(jié)束;錯誤.重新發(fā)送讀數(shù)據(jù)命令幀,直到PLC反饋正確響應為止。PC機向PLC寫數(shù)據(jù)的程序流程如圖6所示,讀數(shù)據(jù)的程序流程圖,如圖7所示。
圖6寫數(shù)據(jù)程序流程圖
圖7讀數(shù)據(jù)程序流程圖
Visual Basic 6.0是Windows環(huán)境下簡單高效的可視化編程語言開發(fā)系統(tǒng),它提供了一種實現(xiàn)串口通訊的控件MSComm。通過MSComm控件可以完成對串口的讀寫工作,從而實現(xiàn)與PLC的通訊.為此需要正確設置它的一些屬性目:
CommPort:設定通信連接端口,必匆諾£程序中指定串行端口號;
PortOpen:設定通信口狀態(tài),用于打開和關閉串行通信端口;
Settings:設定通信151參數(shù),其格式是“bbbb,p,d,s”,其中bbbb為通信速率,p為通信檢查方式,d為數(shù)據(jù)位數(shù),s為停止位數(shù),其設定應與PIE的設定一致;
Input:將數(shù)據(jù)傳送至輸入緩沖區(qū)的字符讀人到程序.并將已讀取的字符清除;
Output:將字符寫人輸出緩沖區(qū).用于向?qū)Ψ桨l(fā)送信息;
InBufferCount:設置輸入緩沖區(qū)的大小。
PC機脅繃翟序,初始化PC機的串行通串口(具體程序略)。PC機上的人機界面和PC機向PIE傳輸數(shù)據(jù)。PC機與PIE的串行通訊通過了工作現(xiàn)場的嚴格測試,被證明符合在工業(yè)現(xiàn)場上使用的要求。
5 結(jié)論
在現(xiàn)代工業(yè)控制中,PLC與PC機的串行通訊運用得越來越廣泛。PLC完成現(xiàn)場各種開關鼉的控制.伺服電機脈沖的發(fā)出;PC機提供人機交互界面,實現(xiàn)數(shù)據(jù)的計算和加工過程的模擬;同時VB能提供良好的用戶界面,和強大的數(shù)據(jù)計算能力,并且提供串口控件,進一步提高了實用性。結(jié)合橫河FA-M3型PLC的特點,通過其在數(shù)控管切割機中的運用,詳細地闡述了基于VB語言的PLC與上位機串行通訊實現(xiàn)的方法。通過數(shù)控切割機切割管件的運行表明,利用VB的MSComm控件設計的通訊軟件可以很好地滿足了PC機向數(shù)控管切割機傳輸加工數(shù)據(jù)的要求。
(審核編輯: Doris)
分享