[發(fā)明專利]一種支持協(xié)程功能的PLC控制器有效
| 申請(qǐng)?zhí)枺?/td> | 201611123603.6 | 申請(qǐng)日: | 2016-12-08 |
| 公開(公告)號(hào): | CN106527335B | 公開(公告)日: | 2019-03-19 |
| 發(fā)明(設(shè)計(jì))人: | 胡小春 | 申請(qǐng)(專利權(quán))人: | 湖南戈人自動(dòng)化科技有限公司 |
| 主分類號(hào): | G05B19/05 | 分類號(hào): | G05B19/05 |
| 代理公司: | 北京眾合誠(chéng)成知識(shí)產(chǎn)權(quán)代理有限公司 11246 | 代理人: | 夏艷 |
| 地址: | 424500 湖*** | 國(guó)省代碼: | 湖南;43 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 協(xié)程 編程 字節(jié)碼 語言編譯器 編譯 程式輸入裝置 輸入輸出回路 虛擬機(jī)執(zhí)行 標(biāo)記程序 電源模塊 過程控制 基本操作 任務(wù)執(zhí)行 存儲(chǔ)器 復(fù)雜度 寄存器 庫函數(shù) 實(shí)時(shí)性 虛擬機(jī) 指令集 下載 語言 | ||
本發(fā)明提供一種支持協(xié)程功能的PLC控制器,包括:中央處理單元,存儲(chǔ)器,電源模塊,程式輸入裝置,輸入輸出回路;在中央處理單元中擴(kuò)展了對(duì)程序協(xié)程功能的支持,包括:在用于所述PLC控制器編程的ST語言中加入?yún)f(xié)程的關(guān)鍵詞,用于標(biāo)記程序協(xié)程的起始和結(jié)束;用于所述PLC控制器編程的ST語言中加入?yún)f(xié)程基本操作的庫函數(shù)的支持,PLC控制器編程的ST語言編譯器獨(dú)立編譯各協(xié)程段,每一個(gè)協(xié)程擁有自己的寄存器上下文和棧;用于所述PLC控制器編程的ST語言編譯器編譯生成字節(jié)碼,下載至PLC控制器,PLC控制器的字節(jié)碼虛擬機(jī)執(zhí)行此字節(jié)碼;在PLC控制器字節(jié)碼虛擬機(jī)中增加了對(duì)協(xié)程指令集的支持。簡(jiǎn)化了過程控制的編程復(fù)雜度,多任務(wù)執(zhí)行的實(shí)時(shí)性、執(zhí)行效率大大提升。
技術(shù)領(lǐng)域
本發(fā)明涉及控制領(lǐng)域,特別是指一種支持協(xié)程功能的PLC控制器。
背景技術(shù)
在工業(yè)控制領(lǐng)域,從控制指令的發(fā)出,到控制指令的執(zhí)行,中間往往需要延時(shí)。因此當(dāng)一個(gè)指令執(zhí)行后,要等待這個(gè)指令執(zhí)行完畢才能執(zhí)行下一個(gè)指令,這個(gè)過程稱作阻塞。阻塞使控制器的效率和實(shí)時(shí)性大大降低。因此我們往往要采取非阻塞的編程策略,即當(dāng)一個(gè)指令執(zhí)行后,不必等待這個(gè)指令執(zhí)行完畢才能執(zhí)行下一個(gè)指令,但是這種情況下執(zhí)行后續(xù)指令時(shí)要不停檢查當(dāng)前指令是否結(jié)束,否則會(huì)造成時(shí)序錯(cuò)誤。這樣編程的復(fù)雜性就增大了。
協(xié)程是一種用戶級(jí)的輕量級(jí)線程。協(xié)程擁有自己的寄存器上下文和棧。協(xié)程調(diào)度切換時(shí),將寄存器上下文和棧保存到其他地方,在切回來的時(shí)候,恢復(fù)先前保存的寄存器上下文和棧。協(xié)程可以大大簡(jiǎn)化多任務(wù)并行執(zhí)行的編程。比如,我們控制4臺(tái)機(jī)械手的運(yùn)動(dòng),當(dāng)?shù)谝慌_(tái)機(jī)械手的控制指令下達(dá)后,這臺(tái)機(jī)械手的協(xié)程被掛起;系統(tǒng)切換至等待指令執(zhí)行的下一個(gè)協(xié)程控制;這樣控制系統(tǒng)的效率和實(shí)時(shí)性就大大地提高了。同時(shí),每臺(tái)機(jī)械手的控制程序在一個(gè)協(xié)程之中,編程的復(fù)雜度也得到降低。
PLC控制器的IEC61131-3國(guó)際標(biāo)準(zhǔn)的編程語言包括圖形化編程語言和文本化編程語言ST。然而標(biāo)準(zhǔn)ST語言不包含協(xié)程功能。
發(fā)明內(nèi)容
鑒于協(xié)程功能在工業(yè)控制領(lǐng)域的重要性,本發(fā)明提出一種支持協(xié)程功能的PLC控制器,
包括:中央處理單元,存儲(chǔ)器,電源模塊,程式輸入裝置,輸入輸出回路;其特征在于,
在中央處理單元中擴(kuò)展了對(duì)程序協(xié)程功能的支持,包括以下方案:
在用于所述PLC控制器編程的ST語言中加入?yún)f(xié)程的關(guān)鍵詞,用于標(biāo)記程序協(xié)程的起始和結(jié)束;
在用于所述PLC控制器編程的ST語言中加入?yún)f(xié)程基本操作的庫函數(shù)的支持;
用于所述PLC控制器編程的ST語言編譯器獨(dú)立編譯各協(xié)程段,每一個(gè)協(xié)程擁有自己的寄存器上下文和棧;
用于所述PLC控制器編程的ST語言編譯器編譯生成字節(jié)碼,下載至PLC控制器,PLC控制器的字節(jié)碼虛擬機(jī)執(zhí)行此字節(jié)碼;
在所述PLC控制器字節(jié)碼虛擬機(jī)中增加了對(duì)協(xié)程指令集的支持。
進(jìn)一步的,所述字節(jié)碼虛擬機(jī)運(yùn)行在一個(gè)實(shí)時(shí)操作系統(tǒng)的環(huán)境下,一個(gè)字節(jié)碼虛擬機(jī)占用一個(gè)線程,這個(gè)系統(tǒng)下有獨(dú)立于字節(jié)碼虛擬機(jī)的線程對(duì)字節(jié)碼虛擬機(jī)進(jìn)行監(jiān)視,并進(jìn)行異常處理;此監(jiān)視線程有獨(dú)立于字節(jié)碼虛擬機(jī)的寄存器上下文和棧,一旦字節(jié)碼虛擬機(jī)異常,監(jiān)視線程仍可正常運(yùn)行,其對(duì)字節(jié)碼虛擬機(jī)的監(jiān)視和異常處理能正常運(yùn)行。
進(jìn)一步的,一個(gè)PLC控制器可以運(yùn)行多個(gè)字節(jié)碼虛擬機(jī)。
本發(fā)明的有益效果是:簡(jiǎn)化了過程控制的編程復(fù)雜度;多任務(wù)執(zhí)行的實(shí)時(shí)性、執(zhí)行效率大大提升。
附圖說明
圖1為協(xié)程調(diào)度切換原理圖。
具體實(shí)施方式
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于湖南戈人自動(dòng)化科技有限公司,未經(jīng)湖南戈人自動(dòng)化科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611123603.6/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 一種協(xié)程監(jiān)控方法及裝置
- 一種游戲系統(tǒng)及游戲處理方法
- 協(xié)程運(yùn)行棧的分配方法和裝置
- 并行任務(wù)處理方法、協(xié)程框架、設(shè)備、介質(zhì)和無人車
- 一種構(gòu)建廣告物料的方法和裝置
- 一種應(yīng)用程序運(yùn)行方法、裝置和系統(tǒng)
- 虛擬機(jī)接入?yún)f(xié)程庫的方法、裝置及設(shè)備
- 一種在多個(gè)處理器之間調(diào)度軟件任務(wù)的方法和裝置
- 一種基于協(xié)程的計(jì)算程序執(zhí)行效率優(yōu)化方法及系統(tǒng)
- 協(xié)程池的管理方法及裝置
- 字節(jié)碼優(yōu)化數(shù)據(jù)庫及其建立方法以及字節(jié)碼優(yōu)化方法
- 多版本的字節(jié)碼處理方法、系統(tǒng)和一種虛擬機(jī)
- 用于提高Java處理器取指令帶寬的字節(jié)碼緩沖裝置
- 一種字節(jié)碼織入方法、裝置及系統(tǒng)
- 防止故障攻擊的Javacard虛擬機(jī)字節(jié)碼執(zhí)行保護(hù)
- 基于字節(jié)碼比對(duì)的影響性回溯分析方法以及回溯分析裝置
- 應(yīng)用程序安裝包中JAVA字節(jié)碼轉(zhuǎn)換方法、裝置及設(shè)備
- 字節(jié)碼的優(yōu)化方法、裝置、存儲(chǔ)介質(zhì)、處理器及終端
- 字節(jié)碼編譯方法、字節(jié)碼編譯裝置及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 用于處理和運(yùn)行字節(jié)碼的方法、裝置及字節(jié)碼運(yùn)行系統(tǒng)





