數控機床順序控制的邏輯離散信息如主軸起停和正反轉等開關量信息的處理,是由可編程序邏輯控制器(PLC)完成的。PLC在機床中以獨立型和內置型兩種形式存在。獨立型PLC是各個廠家生產的常見的自成獨立自動控制設備,有成熟的系統運行平臺和程序實現方法;而內置型PLC是內嵌在CNC裝置內,從屬于CNC裝置并與CNC裝置集成于一體,對其運行方式和程序實現知之甚少。下面通過利用c語言編寫的PLC源程序在華中數控系統中的實現,使用戶能對數控機床進行更好的故障診斷和維護,對完善PLC程序、進一步提升機床的性能有一定的實際意義。
1 華中數控內置式PLC的軟件結構及其運行過程
和一般c語言程序都必須提供Main()函數一樣,用戶編寫內置式PLC的C語言程序必須提供如下系統函數定義及系統變量值:
extern void init(void);//初始化PLC
extern unsigned plcl—time;//函數plcl()的運行周期,單位:ms
extern void plcl(void);//PLC程序人口1
extem unsigned ple2一time;//函數plc2()的運行周期,單位:ms
extern void pie2(void);//PLC程序人口2
開機數控系統初始化PLC時,將調用PLC提供的init()函數(該函數只被調用一次)。在系統初始化完成后,數控系統將周期性地運行如下過程:
(1)從硬件端口及數控系統成批讀人所有X、F、P寄存器的內容;
(2)如果plel—time所指定的周期時間已到,調用函數plcl();
(3)如果plc2一time所指定的周期時間已到,調用函數plc2();
(4)系統成批輸出G、Y、B寄存器。一般地,plcl—time總是小于pie2一time,即函數plel()較plc2()調用的頻率要高。因此,華中數控稱函數plcl()為PLC高速掃描進程、plc2()為低速掃描進程。
2 利用華中數控系統平臺生成PLC源程序
華中數控系統PLC源程序的編譯環境為:BorlandC++3.1和MS.DOS 6.22。數控系統約定PLC源程序后綴為“.cld”,即“*.cld”文件為PLC源程序。打開華中數控系統并進入DOS界面,按如下步驟操作:
(1)在DOS環境下,進入數控軟件PLC所安裝的目錄,如:
C:\HNC-21TF\PLC
(2)在DOS提示符下敲入如下命令:
C:\HNC-21\plc)edit plc—null.cld(回車)
此項操作的作用是建立一個文本文件,也就是用
c語言編寫的PLC源程序,并命名為“plc—null.eld”,其程序其框架結構為:
//*
//plc—null.cld:
//PLC程序空框架,保證可以編譯運行,但什么功能也不提供
//版權所有:武漢華中數控系統有限公司,保留所有權利。
//http://huazhongenc.com email:market@hua—
zhongcnc.com
#pragma inline
#Include”plc.h”//PLC系統頭文件
void init(){}//PLC初始化函數
void plcl(void)//PLC程序人口1
{plcl—time=16;//系統將在16 ins后再次調用plcl()函數
}
void plc2(void)//PLC程序人口2
{Plc2一time=32;//系統將在32ms后再次調用plc2()函數
}
3 PLC源程序在華中C系統中的編譯及加載
保存并退出編輯文本后。對于數控銑床,在數控系統的PLC目錄下,輸入如下命令即可生成執行文件:C:\HNC-21\pie>makeplc plc—null.cld(回車)而對于數控車床,必須在數控系統的PLC目錄下,修改M.bat文件(M.bat文件是建立的編譯PLC源文件的批處理文件)。具體操作如下:
修改完后,此時仍然在PLC的目錄下,這時運行M.bat文件,系統就會自動對PLC的源文件進行編譯,其編譯過程如下:
系統會響應:
并且又回到DOS提示符下:c:、HNC-2I\plc)這時表示PLC程序編譯成功,編譯結果為文件plc—null.eom。然后,更改數控軟件系統配置文件NCBIOS.CFG,并加上一行文本:device=C:\HNC.21ff\plc\pie—null.tom,讓系統啟動時加載新近編寫的PLC程序,具體操作如下:
在DOS環境下,進人數控軟件所安裝的目錄,如c:、HNC-2Iff、在DOS提示符下敲入如下命令:c:\HNC-21tf)edit ncbios.cfg(回車),可編輯數控系統配置文件。一般情況下,配置文件的內容如下(具體內容因機床的不同而異):
以上任務完成后,重啟華中數控系統,用戶編寫的PLC程序就能被系統運行。
4 結論
通過上述工作,實現了用戶編寫的PLC源程序在華中數控系統的運行,不但更深地理解了開關量順序控制的PLC控制的機理和更好地診斷機床故障,而且為PLC內置型數控系統的功能擴展提供了思路。
(審核編輯: 智匯工業)
分享