丁榮暉
(蘇州高博軟件技術(shù)職業(yè)學(xué)院,江蘇 蘇州215163)
開關(guān)量控制系統(tǒng)是數(shù)控系統(tǒng)的一項(xiàng)重要內(nèi)容,其工作內(nèi)容是對(duì)機(jī)床IO 及控制面板進(jìn)行科學(xué)控制。具體到實(shí)際應(yīng)用中,主要內(nèi)容有獨(dú)立硬件PLC、內(nèi)嵌PLC、軟PLC。獨(dú)立硬件PLC 在工作中具有穩(wěn)定性好、技術(shù)相對(duì)成熟等特點(diǎn)。內(nèi)嵌式PLC 在工作中,可以直接在數(shù)控系統(tǒng)內(nèi)部完成對(duì)開關(guān)量的控制,因此,具有工作程序簡(jiǎn)單、易操作等特點(diǎn)。然而,就當(dāng)前實(shí)際情況來(lái)看,其中也存在諸多不足之處,如結(jié)構(gòu)性封閉較差。
針對(duì)上述問(wèn)題,基于Windows+RTX 操作系統(tǒng)平臺(tái),對(duì)數(shù)控系統(tǒng)軟PLC 模塊的開發(fā)做出相應(yīng)分析,并對(duì)相關(guān)技術(shù)要點(diǎn)進(jìn)行了實(shí)驗(yàn)。
本文基于Windows+RTX 操作系統(tǒng)平臺(tái),對(duì)數(shù)控系統(tǒng)軟PLC 模塊展開分析。Windows 操作系統(tǒng)是業(yè)界廣受好評(píng)的操作系統(tǒng),具備較好的開放性、軟件多樣可利用資源優(yōu)勢(shì)。然而,就當(dāng)前實(shí)際情況而言,Windows 運(yùn)行過(guò)程中都不是“硬實(shí)時(shí)”操作系統(tǒng),因此在實(shí)際工作過(guò)程中很難滿足實(shí)際需求,這主要是由軟PLC 的實(shí)際運(yùn)行特點(diǎn)及對(duì)限位及刀庫(kù)的控制模式所決定的。
而RTX 在正常工作中,可以同時(shí)提供進(jìn)程間通信對(duì)象,能有效彌補(bǔ)單純采用Windows 的不足,并提供了高分辨率時(shí)鐘、定時(shí)器,以及中斷管理。這些內(nèi)容都可以為開發(fā)人員提供可靠的參考數(shù)據(jù)。因此,采用Windows+RTX 相結(jié)合的平臺(tái),能夠充分發(fā)揮兩種系統(tǒng)的優(yōu)勢(shì),有利于改善傳統(tǒng)系統(tǒng)模式的不足,有助于PLC 模塊的進(jìn)一步研發(fā),并且在與CNC系統(tǒng)的通信共同使用過(guò)程中,能夠有效達(dá)到合理控制機(jī)床開關(guān)量的目的。
軟PLC 設(shè)計(jì)過(guò)程主要由兩部分組成,具體如圖1 所示。由圖1 可知,軟PLC 在RTSS 環(huán)境中工作,其相關(guān)工作流程是根據(jù)以上步驟所完成的。整個(gè)工作過(guò)程中,伴隨數(shù)控系統(tǒng)的正常運(yùn)行,通過(guò)不同任務(wù)欄的相互數(shù)據(jù)轉(zhuǎn)換,從而完成工作,并實(shí)現(xiàn)數(shù)控系統(tǒng)控制的目的。
圖1 軟PLC 設(shè)計(jì)過(guò)程
任務(wù)執(zhí)行模塊工作流程如圖2 所示。
任務(wù)執(zhí)行模塊啟動(dòng)后的工作過(guò)程可視為一個(gè)循環(huán)。這一循環(huán)過(guò)程中,相關(guān)任務(wù)執(zhí)行模塊首先從指令庫(kù)讀取相關(guān)信息,然后對(duì)相關(guān)數(shù)據(jù)進(jìn)行分析,根據(jù)分析的數(shù)據(jù)結(jié)果,通過(guò)執(zhí)行函數(shù)進(jìn)行數(shù)據(jù)處理,然后開始下個(gè)循環(huán)工作模式。當(dāng)接受End 指令后,任務(wù)執(zhí)行模塊則會(huì)停止工作,也就是完成了軟PLC 的正常工作任務(wù)。
系統(tǒng)管理模塊是軟PLC 運(yùn)行的核心內(nèi)容,其主要功能是負(fù)責(zé)整體數(shù)據(jù)處理及相關(guān)資源管理工作。
軟PLC 正常工作時(shí),針對(duì)系統(tǒng)管理模塊的具體工作流程如圖3 所示。
圖2 任務(wù)執(zhí)行模塊工作流程
圖3 針對(duì)系統(tǒng)管理模塊的具體工作流程
系統(tǒng)管理模塊工作時(shí),先通過(guò)計(jì)算機(jī)Time Count++來(lái)處理系統(tǒng)中相應(yīng)的數(shù)據(jù)信息,然后開啟管理系統(tǒng)模塊、開啟IO模塊,待IO 讀寫結(jié)束后,系統(tǒng)模塊會(huì)及時(shí)開啟高速執(zhí)行任務(wù)。當(dāng)Time Count 為4 的倍數(shù)時(shí),則會(huì)開啟普通任務(wù)執(zhí)行模塊。
I/O 模塊同樣是軟PLC 設(shè)計(jì)中的一項(xiàng)重要組成部分,其主要工作職責(zé)是負(fù)責(zé)數(shù)據(jù)的輸入、輸出工作。軟PLC 工作流程如圖4 所示,當(dāng)系統(tǒng)進(jìn)入實(shí)際工作時(shí),首先會(huì)初始化IPC及其他全局變量,之后系統(tǒng)則會(huì)創(chuàng)建系統(tǒng)管理線程,并通過(guò)任務(wù)執(zhí)行任務(wù)線程以及IO 線程,構(gòu)建適合PLC 正常運(yùn)行的系統(tǒng)環(huán)境。然后,系統(tǒng)在正常工作模式下,系統(tǒng)管理線程負(fù)責(zé)調(diào)度其他線程工作,并通過(guò)控制整個(gè)系統(tǒng)模塊,完成相關(guān)功能的控制工作。最后當(dāng)任務(wù)結(jié)束時(shí),系統(tǒng)會(huì)停止工作,并自行退出整個(gè)工作程序。
圖4 軟PLC 工作流程
軟PLC 正常工作時(shí),主要是通過(guò)4個(gè)模塊來(lái)進(jìn)行工作,并配合多線程技術(shù)來(lái)實(shí)現(xiàn)相關(guān)功能。IPC 對(duì)象在進(jìn)行線程同步通信過(guò)程中,主要用到7個(gè)IPC 對(duì)象,具體如表1 所示。
表1 軟PLC 運(yùn)行系統(tǒng)IPC 對(duì)象
此次設(shè)計(jì)中為了進(jìn)一步驗(yàn)證軟PLC 的相關(guān)功能,可采用實(shí)驗(yàn)平臺(tái)進(jìn)一步加以驗(yàn)證,具體如圖5 所示。該軟件平臺(tái)采用Windows XP+RTX6.5 系統(tǒng),硬件平臺(tái)為PC、固高GO400 運(yùn)動(dòng)控制卡、固高IO 端子卡及LED 燈測(cè)試板。
圖5 驗(yàn)證軟PLC 的相關(guān)功能
測(cè)試結(jié)果表明,基本指令執(zhí)行時(shí)間為0.01 μs,功能指令的執(zhí)行時(shí)間為0.015 μs。同時(shí)實(shí)際推斷結(jié)果能夠發(fā)現(xiàn),該軟PLC 執(zhí)行500 條指令所用的時(shí)間僅為0.007 ms,因此,該P(yáng)CL 在實(shí)際工作過(guò)程中,能夠高效率完成相關(guān)指令操作,具有較好的使用性能,可以勝任機(jī)床開關(guān)的相關(guān)操作任務(wù)。
總而言之,數(shù)控系統(tǒng)軟PLC 模塊的研究與開發(fā)是一項(xiàng)復(fù)雜的工作,采用軟PLC 系統(tǒng)能夠有效完成數(shù)控系統(tǒng)開關(guān)的相關(guān)功能操作,并且具有一定的開放性與兼容性。然而具體到實(shí)際使用過(guò)程中,由于Windows 運(yùn)行過(guò)程中都不是“硬實(shí)時(shí)”操作系統(tǒng),因此在工作過(guò)程中很難滿足實(shí)際需求。因此,該平臺(tái)工作中采用的是Windows+RTX 操作系統(tǒng),經(jīng)過(guò)實(shí)際測(cè)試,判定軟PLC 在該環(huán)境中能夠正常運(yùn)行,并高效完成了相關(guān)操作。