摘要:介紹了一種在經(jīng)濟型數(shù)控系統(tǒng)中實現(xiàn)可編程邏輯控制的方法,通過采用主一從式結(jié)構(gòu)的雙單片機控制系統(tǒng),在實現(xiàn)對邏輯變量掃描控制的同時,保證了時機床坐標精確的數(shù)字控制。文中闡述了系統(tǒng)的工作原理、硬件組成和軟件設計思想。
關(guān)鍵詞:可編程邏輯控制;數(shù)控系統(tǒng);掃描控制
Programmable logic control in economical numerical control system
Abstract:This paper presents a method for programmable logic control in economical numerical control system.By means of plication of double single — chip microprocessor control system with master—slave construction.not only scanning control to switching variable is achieved.but also accurate numerical control for machine tools coordinate is ensured.The principle of operation,hardware composition mad thinking of software design for the system are described.
Keg words:programmable logic control;numerical control system ;scanning control
1 引言
機床數(shù)控系統(tǒng)一般用于完成運動軌跡控制和開關(guān)量的邏輯控制。目前,國內(nèi)的經(jīng)濟型數(shù)控系統(tǒng)大都側(cè)重于運動軌跡的控制。對于開關(guān)量點數(shù)較多,特別是要求邏輯和順序控制的場臺(如專用數(shù)控機床、組合機床等),通常采用二級控制結(jié)構(gòu),既用一臺微機控制系統(tǒng)完成運動軌跡的控制,同時作為操作平臺。而機床開關(guān)量I/0的邏輯控制用一個獨立的可編程邏輯控制器(PLC)實現(xiàn)。在這種控制方式下,由于需要在數(shù)控系統(tǒng)和PLC之間做大量的軟件和硬件開發(fā)工作,并且對兩套系統(tǒng)分別編程,用戶常感到使用不便?;谏鲜銮闆r,本文介紹了一種在經(jīng)濟型數(shù)控系統(tǒng)中實現(xiàn)對開關(guān)量邏輯和順序控制的方法,闡述了系統(tǒng)工作原理和硬、軟件設計思想。
2 工作原理
為了對可編程邏輯和坐標位置實施混合控制,系統(tǒng)設計主要從以下幾個方面來考慮:
1)應具備PLC系統(tǒng)對各種開關(guān)量順序控制的特性和NC系統(tǒng)對執(zhí)行元件數(shù)字控制特性。
2)如何協(xié)調(diào)兩個控制模塊的同步控制問題。
3)解決兩類控制指令的混合編程問題。
在本文介紹的機床數(shù)控系統(tǒng)中,運動軌跡控制和可編程邏輯控制分別由兩個獨立的模塊完成。PLC模塊作為數(shù)控系統(tǒng)的主控模塊,用于完成系統(tǒng)的管理和開關(guān)量的邏輯控制。運動控制(MNC)模塊作為輔助控制模塊,用于完成步進電機的兩坐標聯(lián)動控制。
系統(tǒng)為雙單片機并行工作的主一從式控制結(jié)構(gòu)。采用雙CPU結(jié)構(gòu)的目的在于,使MNC模塊有充裕的時間完成軌跡控制和坐標顯示管理等工作。PLC主控模塊與MNC輔助控制模塊通過串行通信協(xié)調(diào)控制。系統(tǒng)采用連續(xù)掃描方式工作,按照以下步驟完成控制任務:
(1)將機床開關(guān)量輸入信號狀態(tài)送人內(nèi)部映像寄存器;
(2)按用戶程序存放順序,逐條解釋和執(zhí)行指令,產(chǎn)生相應的控制信號去控制有關(guān)電路,完成數(shù)據(jù)的存取、傳送和處理工作,并根據(jù)運算結(jié)果更新有關(guān)寄存器的內(nèi)容。在運動控制條件成立的情況下,調(diào)用發(fā)送子程序,將指令傳送紿MNC模塊,并設置相應標志。當MNc模塊完成規(guī)定的控制任務后,則通過串行口回發(fā)狀態(tài)標志,更改內(nèi)部寄存器的狀態(tài)。
(3)將輸出映像寄存器的內(nèi)容送給接口電路,去控制外部負載。由硬件WDT電路和單片機內(nèi)部定時器T2實現(xiàn)的軟件WDT共同組成程序運行監(jiān)視系統(tǒng),以保證掃描控制的正常進行。
3 系統(tǒng)結(jié)構(gòu)
系統(tǒng)結(jié)構(gòu)框圖如圖1所示。它由8032單片機、存儲器、鍵盤及接口電路、掉電保護電路、開關(guān)量I/O接口電路、WDT電路和MNC控制電路組成。
8032單片機和MNC控制模塊中的8031單片機的系統(tǒng)時鐘均由外部公共晶體振蕩器提供,使二者的工作具有一致性,為雙機之間進行高速數(shù)據(jù)傳送提供了可靠的物理保證。
系統(tǒng)軟件存放在一片27512中,用戶程序和數(shù)據(jù)存放在兩片6264靜態(tài)RAM中(其中一片帶掉電保護電路和備用電池)。52個編輯鍵和7個工作方式選擇鍵由一片8279來管理,P1口用來對4個方向鍵和啟動鍵、暫停鍵的狀態(tài)進行檢測??紤]到經(jīng)濟型數(shù)控系統(tǒng)的控制對象主要是單臺設備,開關(guān)量I/O的基本配置為32路輸入和32路輸出,接口電路由3片8255組成。由555振蕩器和74LS393組成硬件WDT電路。MNC控制模塊可以根據(jù)給定的控制指令,完成對兩個坐標的步進電機運動控制。它以光刪傳感器作為檢測元件,工作臺實際位移量為反饋信號,采用數(shù)字調(diào)節(jié)器進行閉環(huán)控制[1]。該模塊帶有一個8位米字型LED顯示器,用于程序編制和加工過程中的數(shù)據(jù)顯示。
[b]4 軟件設計
4.1 內(nèi)部繼電器的安排[/b]
輸入/輸出繼電器狀態(tài)、中間繼電器狀態(tài)和PLC控制指令中標志、指針均安排在8032單片機的內(nèi)部RAM中,最大限度地利用其位尋址區(qū)。繼電器狀態(tài)的存放,采用逐位對應的方法,一個字節(jié)對應存放8點的狀態(tài),對于定時器、計數(shù)器和移位寄存器,除本身有對應的內(nèi)部繼電器外,還占有字節(jié)工作單元和標志狀態(tài)寄存器。
1)定時器/計數(shù)器
定時器/計數(shù)器均為l6位,占用兩個工作單元,每一個定時器/計數(shù)器都有信號狀態(tài)位和三個標志位:定時器/計數(shù)器標志、定時器啟動標志和定時到標志,均安排在定時器/計數(shù)器標志寄存器中。定時器/計數(shù)器所需的1ms內(nèi)部定時脈沖由8032內(nèi)部定時器T0產(chǎn)生。
2)移位寄存器
移位寄存器每8個點一組,共有8組,每一組移位寄存器對應一個CP狀態(tài)標志位,用以保留上一個掃描周期的輸入時鐘狀態(tài)。當兩組或兩組以上移位寄存器聯(lián)用時,由移位寄存器的起始繼電器標號決定CP狀態(tài)的存放位置。
3)微分器
為了對相鄰兩個掃描周期的輸入狀態(tài)進行判別,每一個微分繼電器除有一個輸出狀態(tài)位外,還有一個輸入狀態(tài)標志位,用以保存上一個掃描周期輸入信號的狀態(tài)。
4.2 輸入狀態(tài)的判別
區(qū)分開關(guān)量狀態(tài)的變化,對PLC的控制非常重要。在計數(shù)、信號邊沿微分和移位過程中,需要根據(jù)開關(guān)量的時序變化情況來決定程序執(zhí)行方式。除下降沿微分指令外,上述其它幾種情況都要求在輸入信號的圖1 控制系統(tǒng)結(jié)構(gòu)框圖上升沿工作。所以,對于計數(shù)、微分和移位操作,上一個掃描周期的時鐘狀態(tài)被保存在一個專用寄存器中,并和該繼電器編號相對應。根據(jù)相鄶兩次掃描周期CP狀態(tài)的變化決定是否執(zhí)行指令規(guī)定的功能。
4.3 數(shù)控指令的轉(zhuǎn)化
混合編程是本設計的一個重要特點。PLC有其自己的編程語言,常采用梯形圖編程,語句表輸入的方式。而數(shù)控系統(tǒng)也有其自身的編程語言,廣泛采用的是ISO制定的標準代碼,考慮到人們對兩類系統(tǒng)的使用習慣,在對縮程指令處理時,把數(shù)控語言作為PLC指令系統(tǒng)的一個子集,每一種數(shù)控指令可用一個專用圖形符號表示,ISO標準代碼的指令助記符嵌入到PLC指令助記符中一同輸入[sup][2][/sup] 。
4.4 數(shù)據(jù)通訊方式
數(shù)據(jù)通訊方式是協(xié)調(diào)邏輯控制與軌跡控制的關(guān)鍵。雙向數(shù)據(jù)通訊通過兩個硬件模塊中單片機的串行口完成。串行口工作方式為模式3,均采用查詢式發(fā)送、中斷式接收的工作模式。在軟件設計上,PLC模塊把通訊口作為一個開關(guān)量輸入/輸出口對待,在通訊標志寄存器中有相應的通訊標志與之對應。當需要執(zhí)行數(shù)控指令時,調(diào)用發(fā)送子程序完成控制數(shù)據(jù)的傳送。
數(shù)控指令的通訊數(shù)據(jù)格式為:
工作方式控制字決定該指令在什么方式下執(zhí)行,如編輯、自動、空運行、回零、手動方式等。指令特征字是該指令的代碼,決定步進電機運動的形式??刂茀?shù)則是該指令的運動坐標值和運動速度。對于不同的控制指令,其參數(shù)可以缺省。如直線插補指令,則要求跟XZ向絕對(或相對)坐標值和速度;而快速返回原點指令,無需任何參數(shù)。累加和檢驗碼是提供給接收方的檢驗依據(jù),據(jù)此來判斷是否出現(xiàn)接收錯誤。
4.5 軟件結(jié)構(gòu)
PLC主控模塊系統(tǒng)軟件由監(jiān)控程序、編輯與編譯程序、開關(guān)量邏輯控制程序、指令模塊程序、中斷程序和數(shù)據(jù)傳送程序等組成。
1)監(jiān)控程序
監(jiān)控程序?qū)崿F(xiàn)對系統(tǒng)的操作管理,包括系統(tǒng)初始化和接收來自鍵盤的操作命令,并加以執(zhí)行;檢測系統(tǒng)面板上的部分開關(guān)和按鍵,置以對應標志;調(diào)度系統(tǒng)的各應用程序模塊。
2)編輯與編譯程序
編輯程序使用戶能夠?qū)庸こ绦蜻M行輸入、編輯和修改。編譯程序?qū)⒁晕淖址栃问捷斎氲挠脩舫绦蜣D(zhuǎn)換成機器代碼,且在匯編過程中對輸入語句的正確性加以判斷并給出提示。
3)開關(guān)量邏輯控制程序
進入自動運行狀態(tài)后,CPU反復查詢有無工作啟動按鈕的輸入信號。當有啟動輸入信號,系統(tǒng)才執(zhí)行開關(guān)量邏輯控制功能。對用戶程序的執(zhí)行以掃描方式進行,每個掃描周期分為輸入采樣(或處理)、邏輯關(guān)系處理和輸出刷新(或處理)三個階段。邏輯處理最終結(jié)果在結(jié)束標志END出現(xiàn)時才送至輸出鎖存器。只要沒有停止工作的信號輸入,程序又轉(zhuǎn)向輸入掃描并循環(huán)往復。開關(guān)量邏輯控制程序框圖如圖2所示。
5 結(jié)束語
采用混合控制模式,通過主一從式結(jié)構(gòu)的雙單片機控制系統(tǒng),在實現(xiàn)對邏輯變量掃描控制的同時,保證了對機床坐標精確的數(shù)字控制。該方法成功地應用于PCNC一1經(jīng)濟型數(shù)控系統(tǒng),并在生產(chǎn)實踐中得到應用,在柴油機體工藝定位孔加工和活塞油環(huán)槽底面油孔加工過程中取得了良好效果,比原生產(chǎn)工藝提高了加工精度和工作效率。
[參考文獻]
[1]王文熙、王玉林等.經(jīng)濟型散控機床控制技術(shù).機床.1993(9):34—36
[2]王文熙.單片機散控中的可編程邏輯控制.機電工程,2000 (1):27—29
作者簡介:膝勤(1962一),男.黑龍江佳木斯人,臺肥工業(yè)大學翻教授,在職博士生。
經(jīng)濟型數(shù)控系統(tǒng)中的可編程邏輯控制:PDF