3.2軟PLC運行系統的任務劃分及實現
由2.4節可知,本軟PLC運行系統由通信接口模塊、系統管理模塊、程序執 行模塊、存儲模塊和I/O接口模塊五個模塊組成,每個模塊用于完成指定功能。 根據軟PLC運行系統的工作原理對每個模塊的任務進行了劃分:
與軟PLC開發系統的通訊任務、與軟CNC的通訊任務、與HMI界面的通 訊任務、普通程序執行任務、快速程序執行任務、用戶程序存儲任務、指令存儲 任務、數據存儲任務和I/O讀、寫任務以及系統管理任務,軟PLC運行系統任 務組成如圖3.1所示。
系統管理模塊是軟PLC系統的“控制核心”。軟PLC運行系統啟動后首先
進入系統管理模塊,利用InitialPLCObjectsG函數定義并初始化PLC全局對象, 接著創建任務管理線程JobSchedulerThread和其它任務線程,在任務管理線程 JobSchedulerThread調度下各任務線程順序執行。當用戶程序循環結束后,系統 管理模塊刪除所有任務對象、事件句柄、釋放內存空間等計算機資源,對應工作 流程如圖3.3所不。
程序執行模塊通過解釋和執行PLC指令函數完成相應的邏輯運算,分為快 速程序執行和普通程序執行兩個子模塊。前者用于處理實時性要求較高的信號, 如急停信號、限位開關信號等等,執行周期5ms;后者則用來處理一般的循環掃 描任務,執行周期20ms。它們是兩個獨立的任務線程,執行指令函數的流程相 同:先從指令存儲模塊讀取PLC指令、判斷指令類型,接著調取軟PLC指令函 數進行運算,最后將運算結果保存在數據存儲模塊,然后循環執行指令,當執行 END指令后退出循環,完成一次用戶掃描程序,執行流程如圖3.4所示。
通訊接口模塊是數控應用程序之間通訊的通道,用于軟PLC運行系統與開 發系統、軟CNC、人機界面HMI以及其它第三方程序的數據交換。其中軟PLC
運行系統與開發系統采用COM^COM方式進行通訊,即開發系統作為客戶端向 運行系統發送用戶程序,運行系統作為服務器端接收用戶程序并反饋軟PLC的 運行狀態。
軟PLC運行系統與軟CNC、人機界面HMI是數控程序中的三個進程,它們 通過訪問軟PLC運行系統創建的共享內存區PLC_CNCBuffer、PLC_HMIBuffer 進行數據交換。由于軟PLC運行系統和軟CNC都是運行在RTSS環境下兩個進 程,所以利用RTX提供的IPC (進程通訊對象)可實現數據通訊任務;而人機 界面HMI是運行在Win32環境下的非實時應用程序,它與軟PLC運行系統是不 同控制內核下的兩個進程,由于Win32進程優先級低于任何一個RTX進程,所 以在軟PLC運行系統啟動后人機界面HMI進程無法獲得CPU資源將數據寫入 共享內存PLC_HMffiuffer,因此需要解決Win32程序與RTX程序CPU資源的 分配問題,通常有以下兩種方法:
定時分配CPU資源
定時分配CPU資源是指定一個事件,一旦觸發該事件RTX子系統就中斷在 正在運行的軟PLC任務線程,將CPU資源讓給Win32環境下的應用程序,使人 機界面進程將數據寫入共享內存PLC_HMffiuffer中。中斷事件對象由軟PLC運 行系統利用函數RtCreateEvent〇創建,中斷等待的時間由用戶設置。
使用互斥體對象
互斥體對象是操作系統內核的一種數據結構,只允許獲得該對象的任務線程 訪問共享資源。利用互斥這一特性,首先在人機界面HMI程序中利用函數 RtCreateMutexG創建一個互斥體對象,雖然軟PLC運行系統的優先級高于人機 界面HMI進程,但軟PLC任務線程無法訪問共享內存PLC_HMIBuffer中數據, 必須等待HMI線程調用RtCloseHandleO函數釋放掉互斥對象句柄 h_mutexHMIPLC后才能訪問該區域,在等待的這個時間片內Win32應用程序獲 得CPU資源,人機界面HMI線程將數據寫入共享內存PLC_HMIBuffer,并讀取 軟PLC給人機界面的數據,顯示在人機界面上。
相比較定時分配CPU資源,使用互斥體對象等待的時間由操作系統分配, 占用軟PLC循環掃描的時間較少,因此本軟PLC運行系統采用互斥體對象實現 軟PLC與人機界面HMI之間的通訊任務。
由于通訊過程類似,這里僅以軟PLC運行系統與人機界面HMI的通訊為例 說明其執行流程,如圖3.5所示。
I/O接口模塊是軟PLC系統與外部I/O輸入輸出模塊進行數據交換的通道, 用于將I/O輸入輸出模塊采集到的機床信號讀入軟PLC輸入映像區,同時將輸 出映像區中狀態輸出給I/O端口。其執行過程分為兩步:第一,根據軟PLC數 據存儲區中I/O端子分配表與對應物理節點變量建立映射關系,完成端口配置; 第二,調用I/O接口模塊的讀寫任務線程,在輸入刷新和輸出刷新階段完成與外 部I/O輸入輸出模塊的數據交換。
軟PLC系統采用SoftSERCANS被動式主站卡作為作為數控系統的接口,所 以I/O輸入輸出模塊先將采集到的數據信息存儲在SERCOS I/O從站,由從站向 主站發送中斷請求,將數據包發送給主站,軟PLCI/0接口模塊通過讀寫 SoftSERCANS被動式主站卡雙口存儲區中數據與外部I/O模塊進行數據交換, 本文第四章對軟PLC控制系統接口進行了詳細的分析,這里只給出它們數據傳遞過程。
存儲模塊存儲了軟PLC運行系統中所有的數據、操作指令和數據地址,可 表示為:存儲模塊=數據地址+數據+操作指令,因此分為:用戶程序存儲 區、數據存儲區和指令存儲區。
在執行用戶程序前,程序執行模塊將每一個軟元件的信息存儲到指令鏈表中 供執行程序時調用。
數據存儲區
數據存儲區保存了所有軟元件的狀態,按照數據的來源分為:輸入映像區(I)、 輸出映像區(Q)、軟PLC內部存儲區(R)、定時器區(T)、計數器區(A)、本地通訊 存儲區(L)、HMI通訊存儲區(P)和CNC通訊存儲區(C),每個區域所包含的信息 見表3.1。
表3.1軟PLC運行系統數據存儲區 Table 3.1 Data store of SoftPLC running system
|
軟PLC運行系統以結構體的形式為每個存儲區域分了配內存空間,除軟PLC 內部存儲區、輸入映像區、輸出映像區外,其余每個存儲區域有256個軟邏輯位供外部的物理元件使用。以本地通訊存儲區為例,它存儲了軟PLC與Sercos的 通訊數據。
(3)指令存儲區
指令存儲區存儲了軟PLC系統的全部指令函數,當執行用戶程序時,系統 從指令庫中調取操作函數完成對操作數的運算,有關軟PLC指令的設計與實現 詳見本章第四節。
本文采摘自“五軸數控加工中心軟PLC控制系統的研究”,因為編輯困難導致有些函數、表格、圖片、內容無法顯示,有需要者可以在網絡中查找相關文章!本文由伯特利數控整理發表文章均來自網絡僅供學習參考,轉載請注明!
2021-09
星瀚系列是宇匠數控打造的顛覆性產品,在高精度加工的情況下保證高速、高剛的特性,是真正意義的高速加工中心,其性能及質量可媲美進口高速加工中心。同時可配置超聲波系統與石墨集塵系統,亦可運用在陶瓷等硬脆料、石墨等高粉塵料的加工;… [了解更多]
2021-09
星瀚S系列是宇匠數控打造的顛覆性產品,采用全閉環設計,在高精度加工的情況下保證高速、高剛的特性,是真正意義的高速加工中心,其性能及質量可媲美進口高速加工中心。同時可配置超聲波系統與石墨集塵系統,亦可運用在陶瓷等硬脆料、石墨等高粉塵料的加工;… [了解更多]
2021-09
TC系列超聲波陶瓷雕銑機,是利用了超聲波高頻振動原理作用于刀具,使刀具產生了16KHz-40KHz(每秒16000-40000次)的連續高強度脈沖沖擊,帶動磨頭沖擊工作。當工件的局部應力遠遠超過材料脆裂極限,材料局部破碎去除。 適用范圍 特別適用于陶瓷(氧化鋯、氧化鋁、氮化鋁… [了解更多]
2020-10
1 問題的提出數控加工夾具是數控CNC機械制造加工過程中用來 固定加工對象,使之占有正確的位置,以滿足加工工藝條件、迅速、方便、安全地安裝工件的裝置。夾具通常由定位元件、夾緊裝置 、對刀引導元件、分度裝置、連接元件及夾具體等組成[1]。圖1所示零件是應用于系列礦用防爆電器產品上的… [了解更多]