西門子s7-1500PLC模塊
在數(shù)控機(jī)床中,通常用可編程控制器(PLC)對(duì)機(jī)床開(kāi)關(guān)量信號(hào)進(jìn)行控制。PLC可靠性高,使用方便。但在大多數(shù)數(shù)控機(jī)床,特別是經(jīng)濟(jì)型數(shù)控機(jī)床中,要求的輸入輸出點(diǎn)數(shù)并不多,通常在60點(diǎn)以下,因此,為了降低數(shù)控機(jī)床成本,在基于工業(yè)PC機(jī)的數(shù)控系統(tǒng)中,可以采用開(kāi)關(guān)量I/O板加外接繼電器,配合主機(jī)的軟件對(duì)機(jī)床開(kāi)關(guān)進(jìn)行控制。但如果PC機(jī)采用單任務(wù)操作系統(tǒng)(如DOS),數(shù)控系統(tǒng)的所有任務(wù)運(yùn)行都置于一個(gè)總體的消息循環(huán)中,軟件的模塊化和可維護(hù)性較差,系統(tǒng)故障的風(fēng)險(xiǎn)相對(duì)集中,而且不能充分利用PC機(jī)系統(tǒng)資源。而采用非實(shí)時(shí)多任務(wù)操作系統(tǒng)(如Windows)時(shí),Win32API的設(shè)計(jì)沒(méi)有考慮到實(shí)時(shí)環(huán)境的開(kāi)發(fā)用途,其系統(tǒng)調(diào)用的效率不高,不能滿足數(shù)控系統(tǒng)PLC控制的實(shí)時(shí)性要求。
為此,本文提出一種基于RT-Linux操作系統(tǒng)的嵌入式PLC,利用RT-Linux的開(kāi)放性、模塊化和可擴(kuò)展性的系統(tǒng)結(jié)構(gòu)特性和多線程/多任務(wù)的系統(tǒng)環(huán)境,在保證實(shí)時(shí)性的同時(shí),使故障風(fēng)險(xiǎn)相對(duì)分散。
數(shù)控系統(tǒng)嵌入式PLC的硬件結(jié)構(gòu)
數(shù)控系統(tǒng)硬件建立在通用工業(yè)PC的開(kāi)放體系之上,數(shù)控系統(tǒng)嵌入式PLC硬件包括:工控機(jī)及其外圍設(shè)備,基于ISA總線的開(kāi)關(guān)量輸入輸出接口卡,光電隔離模塊,繼電器輸出模塊。其結(jié)構(gòu)如圖1所示。

工控機(jī)采用RedHatLinux810+RTLinux311操作系統(tǒng),數(shù)控系統(tǒng)的人機(jī)界面、數(shù)控代碼處理、軌跡規(guī)劃、參數(shù)管理以及PLC控制都通過(guò)工控機(jī)由軟件來(lái)實(shí)現(xiàn),不需要獨(dú)立的PLC控制器,減少了數(shù)控系統(tǒng)對(duì)硬件的依賴,有利于提高系統(tǒng)的開(kāi)放性。
I/O輸入輸出信息通過(guò)PC機(jī)I/O接口卡實(shí)現(xiàn)主機(jī)與伺服接口模塊和I/O接口模塊之間的信息交換,PC機(jī)I/O接口卡基于ISA或者PCI總線。
RT-Linux的體系結(jié)構(gòu)
RT-Linux是基于Linux系統(tǒng)并可運(yùn)行于多種硬件平臺(tái)的32位硬實(shí)時(shí)操作系統(tǒng)(hardreal-timeoperatingsystem)。
它繼承了MERT系統(tǒng)的設(shè)計(jì)思想,即以通用操作系統(tǒng)為基礎(chǔ),在同一操作系統(tǒng)中既提供嚴(yán)格意義上的實(shí)時(shí)服務(wù),又提供所有的標(biāo)準(zhǔn)POSIX服務(wù)。RT-Linux源代碼公開(kāi),易于修改,使系統(tǒng)成本降低,源代碼的公開(kāi)使數(shù)控系統(tǒng)的開(kāi)發(fā)擺脫了對(duì)國(guó)外軟件公司的依賴,有利于提高數(shù)控軟件國(guó)產(chǎn)化程度。
西門子s7-1500PLC模塊