国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于嵌入式平臺的PLC系統(tǒng)設(shè)計與應(yīng)用

2022-03-19 11:25郭財發(fā)周伯榮
關(guān)鍵詞:機軟件梯形圖下位

郭財發(fā),周伯榮

(南京工程學(xué)院自動化學(xué)院, 江蘇 南京 211167)

輸入輸出系統(tǒng)(input output system, IO)控制在工業(yè)機器人與數(shù)控系統(tǒng)控制中起到至關(guān)重要的作用[1],實現(xiàn)控制系統(tǒng)與外部工作環(huán)境的交互.目前,可編程邏輯控制器(programmable logic controller,PLC)已經(jīng)得到廣泛應(yīng)用[2],但由于本身具有獨立的硬件平臺,無法實現(xiàn)PLC下位機軟件的移植, 所以內(nèi)嵌式PLC呈現(xiàn)出多元化的發(fā)展.在國外,德國赫優(yōu)訊將現(xiàn)場總線技術(shù)與PLC技術(shù)相結(jié)合推出了netPLC,日本的FANUC將PLC技術(shù)嵌入到數(shù)控機床中;在國內(nèi),華中科技大學(xué)將PLC技術(shù)與人機交互界面相互結(jié)合,得到國內(nèi)外很多專家的認(rèn)可[3].內(nèi)嵌式PLC的發(fā)展減少了硬件成本、提高了系統(tǒng)的靈活性.

本文設(shè)計的PLC系統(tǒng)打破了硬件平臺的限制,可在任何控制系統(tǒng)中嵌入PLC技術(shù),實現(xiàn)控制系統(tǒng)+PLC系統(tǒng)的合二為一.在控制系統(tǒng)內(nèi)部直接完成IO控制,提高了控制系統(tǒng)對IO控制的靈活性和開放性.[4]

1 PLC系統(tǒng)設(shè)計

1.1 PLC系統(tǒng)總體方案設(shè)計

PLC系統(tǒng)上位機程序基于Qt開發(fā)平臺來實現(xiàn)PLC梯形圖程序的編程、編譯、調(diào)試、語法檢查、程序下載、文件創(chuàng)建和文件保存[5];PLC系統(tǒng)的下位機采用STM32硬件平臺實現(xiàn)對PLC程序語句的執(zhí)行及IO的控制.PLC上位機軟件與PLC下位機軟件通過RS485通訊實現(xiàn)PLC梯形圖程序的調(diào)試、下載.PLC系統(tǒng)總體架構(gòu)如圖1所示.

圖1 PLC系統(tǒng)總體架構(gòu)

1.2 PLC系統(tǒng)上位機軟件設(shè)計

1.2.1 PLC系統(tǒng)上位機框架

本文的PLC系統(tǒng)上位機軟件是基于Qt開發(fā),主要包含文件模塊、編程模塊、編譯模塊和通訊模塊.文件模塊主要負(fù)責(zé)PLC文件的創(chuàng)建、保存;編程模塊主要負(fù)責(zé)PLC梯形圖的繪制、更改及刪除;編譯模塊主要負(fù)責(zé)對PLC梯形圖程序的語法檢查及編譯;通訊模塊主要負(fù)責(zé)PLC程序二進制文件的下載及調(diào)試.上位機軟件各個模塊之間分層明顯、分工明確,良好地體現(xiàn)了軟件分層思想.

參考文獻[6]采用AOV(activity on vertex)圖來存儲PLC梯形圖,該方法建立AOV圖的邏輯較為復(fù)雜.本文采用矩陣表達式存儲方法,把PLC編程區(qū)域?qū)?yīng)到一個矩陣中,每一個梯形圖編程塊對應(yīng)一個矩陣元素,每一個矩陣元素都保存每個編程塊的屬性,從而保存整個PLC梯形圖程序.X0.0常閉的信息存儲到元素a11,a12,…,a1n-1存儲橫線信息,則Y0.1信息存儲到元素a1n中.依次類推,如圖2所示.

圖2 PLC存儲對應(yīng)矩陣關(guān)系

1.2.2 PLC系統(tǒng)上位機編譯模塊

編譯模塊作為PLC系統(tǒng)上位機的核心模塊,實現(xiàn)對PLC梯形圖程序的語法檢查和程序編譯.[7]只有通過譯碼模塊的語法檢查,才能成功地生成下位機可識別的二進制文件.本文設(shè)計的PLC系統(tǒng)編譯規(guī)則為:每個PLC操作指令都被編譯成一個32 bit的數(shù)字,由操作碼、軟元件1、軟元件2和操作數(shù)組成.PLC指令數(shù)據(jù)組成如圖3所示.

圖3 PLC指令數(shù)據(jù)組成

根據(jù)本PLC系統(tǒng)的編譯規(guī)則,圖2的PLC梯形圖程序經(jīng)過編譯模塊得到的下位機可執(zhí)行的二進制文件,如圖4所示.

圖4 可執(zhí)行的二進制文件

1.3 PLC系統(tǒng)下位機軟件設(shè)計

1.3.1 PLC系統(tǒng)下位機框架

PLC下位機軟件主要有初始化模式、正常模式和調(diào)試模式三種系統(tǒng)模式.系統(tǒng)剛開始上電時,PLC下位機系統(tǒng)處于初始化模式,初始化成功進入正常模式,在接收到上位機下載或調(diào)試的信號時,下位機系統(tǒng)模式切換至調(diào)試模式,完成PLC的調(diào)試與程序下載.

下位機PLC系統(tǒng)執(zhí)行PLC程序時采用經(jīng)典的五級流水線:取指、譯碼、執(zhí)行、訪存和寫回[7],如圖5所示.

圖5 經(jīng)典五級流水線操作

下位機中的PLC系統(tǒng)介于硬件平臺與控制系統(tǒng)的中間,實現(xiàn)硬件IO平臺與控制系統(tǒng)IO之間的靈活映射及邏輯控制.由于控制系統(tǒng)對系統(tǒng)實時性要求較高,故對PLC下位機的程序進行優(yōu)化.經(jīng)過測試,基于STM32F103硬件平臺、系統(tǒng)主頻工作在72 MHz的情況下,執(zhí)行一條PLC指令耗時僅為1 μs.帶有PLC下位機的控制系統(tǒng)框圖如圖6所示.

圖6 帶有PLC下位機的控制系統(tǒng)框圖

1.3.2 PLC下位機工作原理

PLC下位機軟件執(zhí)行PLC二進制文件,采用順序循環(huán)掃描工作方式[8],即PLC從第一條指令開始,在無跳轉(zhuǎn)的情況下順序執(zhí)行到最后一條指令.為了保證控制系統(tǒng)處理器資源的有效分配,PLC下位機運行PLC程序時每個執(zhí)行周期最高執(zhí)行1 000條PLC指令,執(zhí)行過程如圖7所示.

以圖2第二行的PLC梯形圖程序為例,經(jīng)過上位機編譯模塊編譯,第二行PLC梯形圖程序?qū)?yīng)的執(zhí)行指令和執(zhí)行過程[9]如圖8所示.

圖7 PLC執(zhí)行過程

(a) 執(zhí)行指令

(b) 執(zhí)行過程

2 PLC系統(tǒng)的應(yīng)用

本文設(shè)計的PLC下位機系統(tǒng)運行于控制軟件與硬件平臺之間,提高了控制系統(tǒng)的靈活性.在控制系統(tǒng)內(nèi)部IO分為應(yīng)用IO與系統(tǒng)IO.系統(tǒng)IO用于控制系統(tǒng)的系統(tǒng)模式、伺服狀態(tài)、手動操作和運行狀態(tài)等.通過開放系統(tǒng)IO,大大提高了硬件平臺IO與系統(tǒng)IO之間的靈活映射;同時應(yīng)用IO也可靈活映射.目前,該PLC系統(tǒng)已經(jīng)運用于六軸工業(yè)機器人的控制系統(tǒng)與五軸數(shù)控系統(tǒng)的控制系統(tǒng).

在開發(fā)數(shù)控系統(tǒng)過程中,數(shù)控機床的系統(tǒng)模式、系統(tǒng)運行指令及系統(tǒng)的手動控制都是經(jīng)過數(shù)控機床的控制面板控制.由于控制面板操作邏輯的復(fù)雜性,用C語言開發(fā)其控制邏輯復(fù)雜度較高、可移植性低,故采用PLC梯形圖來實現(xiàn)數(shù)控機床的副面板操作邏輯,增加系統(tǒng)的靈活性.

3 結(jié)語

本文基于嵌入式平臺的PLC系統(tǒng)采用上位機+下位機的控制方案,可以實現(xiàn)機器人系統(tǒng)與數(shù)控系統(tǒng)對開關(guān)量的靈活控制.由于獨立硬件的PLC系統(tǒng)的可移植性差,所以可移植性的PLC成為一個研究方向.雖然基于嵌入式平臺的PLC系統(tǒng)的研究是一項非常復(fù)雜的工作,但是采用嵌入式PLC系統(tǒng)能夠解決對控制系統(tǒng)的IO管理,提高控制系統(tǒng)的開放性和靈活性.

猜你喜歡
機軟件梯形圖下位
發(fā)射機房監(jiān)控系統(tǒng)之下位機
小水電站計算機監(jiān)控系統(tǒng)上位機軟件的開發(fā)
PLC編譯功能的實現(xiàn)
數(shù)控機床梯形圖故障設(shè)置方法研究
道岔監(jiān)測系統(tǒng)上位機軟件設(shè)計
景洪電廠監(jiān)控系統(tǒng)下位機數(shù)據(jù)傳輸網(wǎng)絡(luò)改造
圍觀黨“下位”,吐槽帝“登基”
一種可編程邏輯控制程序的競態(tài)檢測方法
CAN總線并發(fā)通信時下位機應(yīng)用軟件設(shè)計
PLC梯形圖程序設(shè)計技巧及應(yīng)用
洪洞县| 临海市| 康保县| 永清县| 龙井市| 鞍山市| 杂多县| 玉门市| 龙山县| 抚顺市| 贞丰县| 衢州市| 金堂县| 静乐县| 滕州市| 商城县| 茶陵县| 株洲县| 金门县| 萝北县| 辉南县| 读书| 秦安县| 灵台县| 新津县| 武陟县| 凤山市| 余干县| 巴林右旗| 塘沽区| 万源市| 乌拉特中旗| 峨边| 舟山市| 乐业县| 榕江县| 和硕县| 正定县| 旬阳县| 刚察县| 石棉县|