[發(fā)明專利]一種PLCopen單軸運動控制功能塊的調(diào)度執(zhí)行方法在審
| 申請?zhí)枺?/td> | 202211303638.3 | 申請日: | 2022-10-24 |
| 公開(公告)號: | CN115453967A | 公開(公告)日: | 2022-12-09 |
| 發(fā)明(設(shè)計)人: | 王明昕;許志明;陳曦 | 申請(專利權(quán))人: | 傲拓科技股份有限公司 |
| 主分類號: | G05B19/05 | 分類號: | G05B19/05 |
| 代理公司: | 江蘇圣典律師事務(wù)所 32237 | 代理人: | 于瀚文 |
| 地址: | 210012 江蘇省南京*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 plcopen 運動 控制 功能塊 調(diào)度 執(zhí)行 方法 | ||
1.一種PLCopen單軸運動控制功能塊的調(diào)度執(zhí)行方法,其特征在于,包括:
建立當(dāng)前運動指令執(zhí)行寄存器數(shù)據(jù)結(jié)構(gòu),獲得執(zhí)行權(quán)限的運動控制功能塊被放入到所述數(shù)據(jù)結(jié)構(gòu)中,并且所述數(shù)據(jù)結(jié)構(gòu)保存有插補執(zhí)行的中間信息和控制標志;所述運動控制功能塊首次觸發(fā)后會轉(zhuǎn)化為運動指令;
建立運動指令執(zhí)行器,運動指令執(zhí)行器周期執(zhí)行,負責(zé)軸狀態(tài)機切換,并根據(jù)當(dāng)前所處的合適狀態(tài)判斷當(dāng)前運動指令執(zhí)行寄存器是否有待運行的指令,并執(zhí)行其中的運動指令;
然后執(zhí)行如下步驟:
步驟1:在可編程邏輯控制器PLC編程軟件中新建PLC工程,建立運動控制任務(wù),并使用運動控制功能塊編寫運動控制程序;
步驟2:將PLC工程下載到可編程邏輯控制器PLC中執(zhí)行;
步驟3:運動控制功能塊執(zhí)行初始化部分進行初始執(zhí)行狀態(tài)判斷,并將運動控制功能塊抽象成運動指令數(shù)據(jù)結(jié)構(gòu)對象;每一個運動控制功能塊實例均對應(yīng)一個運動指令數(shù)據(jù)結(jié)構(gòu)對象,并且每個運動控制功能塊的實例均被分配系統(tǒng)唯一的Index;
步驟4:運動控制功能塊的執(zhí)行部分跟隨運動指令被周期執(zhí)行;周期執(zhí)行部分每周期都會判斷當(dāng)前指令執(zhí)行寄存器數(shù)據(jù)結(jié)構(gòu)中的interEndFlag標志,如果interEndFlag為1,表明當(dāng)前運動指令執(zhí)行完成,置位運動控制功能塊完成輸出腳,并退出運動控制功能塊的執(zhí)行;
步驟5:運動控制任務(wù)最后執(zhí)行運動指令執(zhí)行器程序。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟2中,運動控制任務(wù)在可編程邏輯控制器PLC內(nèi)部為高優(yōu)先級線程,運動控制任務(wù)為周期運行,首先讀取外部輸入,外部輸入的信息作為運動控制程序的執(zhí)行輸入,然后再調(diào)用運動控制程序,運動控制功能塊在運動控制程序中被上升沿觸發(fā)后進入到初始化部分執(zhí)行,初始化只執(zhí)行一次,在初始化成功后進入到運動控制功能塊的周期執(zhí)行部分;運動控制任務(wù)隨后調(diào)用運動指令執(zhí)行器程序,運動指令執(zhí)行器對PLCopen軸狀態(tài)機進行管理,讀取當(dāng)前指令執(zhí)行寄存器中的運動指令,進行插補運算及插補結(jié)果輸出;運動指令執(zhí)行器執(zhí)行結(jié)束,運控制任務(wù)會進行輸出處理,將插補結(jié)果轉(zhuǎn)換成伺服的指令脈沖通過PLC的脈沖或者總線發(fā)送給伺服驅(qū)動器執(zhí)行;當(dāng)運動指令執(zhí)行結(jié)束,運動指令執(zhí)行器會將當(dāng)前指令執(zhí)行寄存器數(shù)據(jù)結(jié)構(gòu)中的interEndFlag標志置為1。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,步驟3中,運動控制功能塊初始化執(zhí)行部分對執(zhí)行模式進行判別:
如果是緩沖模式,運動控制功能塊會按照觸發(fā)的先后順序轉(zhuǎn)成運動指令數(shù)據(jù)結(jié)構(gòu)放入運動指令等待隊列,運動指令等待隊列中指令不再區(qū)分優(yōu)先級,按照先進先出的策略由運動指令執(zhí)行器依次取出執(zhí)行,如果運動控制指令的輸入?yún)?shù)選擇了過渡,則先進行指令間運動速度的過渡處理,再依次執(zhí)行各運動指令;
如果是中斷模式,則對優(yōu)先級進行仲裁,通過指令類型和Index識別出同一指令類型的不同實例,如果符合打斷條件則對指令進行速度規(guī)劃后搶占當(dāng)前指令執(zhí)行寄存器。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,步驟3還包括如下步驟:
步驟3.1:運動控制功能塊觸發(fā);
步驟3.2:判斷執(zhí)行條件是否滿足;是則進入下一步,否則進入步驟3.12;
步驟3.3:將運動控制功能塊抽象成運動指令數(shù)據(jù)結(jié)構(gòu),并初始化,運動控制功能塊的實例被分配系統(tǒng)唯一的Index;
步驟3.4:根據(jù)運動指令數(shù)據(jù)結(jié)構(gòu)中mode輸入變量的值來判斷指令是否是打斷執(zhí)行,是則進行下一步,否則進行步驟3.10;
步驟3.5:根據(jù)當(dāng)前運動指令執(zhí)行寄存器中的interEndFlag標志判斷是否有指令正在執(zhí)行,是則進入下一步,否則進入步驟3.7;
步驟3.6:根據(jù)運動指令數(shù)據(jù)結(jié)構(gòu)中fbPriority對象的值,與當(dāng)前運動指令執(zhí)行寄存器正在執(zhí)行指令的優(yōu)先級進行比較,并判斷能否進行搶占,是則進入下一步,否則進入步驟3.12;
步驟3.7:根據(jù)運動曲線類型對運動指令進行預(yù)處理;
步驟3.9:將預(yù)處理后的運動指令更新到當(dāng)前運動指令執(zhí)行寄存器,然后進入步驟3.11;
步驟3.10:壓入指令隊列;
步驟3.11:進入運動控制功能塊周期執(zhí)行部分;
步驟3.12:運動控制功能塊執(zhí)行結(jié)束。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于傲拓科技股份有限公司,未經(jīng)傲拓科技股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202211303638.3/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





