軟PLC運行系統的任務劃分及實現|加工中心
3.2軟PLC運行系統的任務劃分及實現由2.4節可知,本軟PLC運行系統由通信接口模塊、系統管理模塊、程序執 行模塊、存儲模塊和I/O接口模塊五個模塊組成,每個模塊用于完成指定功能。 根據軟PLC運行系統的工作原理對每個模塊的任務進行了劃分:與軟PLC開發系統的通訊任務、與軟CNC的通訊任務、與HMI界面的通 訊任務、普通程序執行任務、快速程序執行任務、用戶程序存儲任務、指令存儲 任務、數據存儲任務和I/O讀、寫任務以及系統管理任務,軟PLC運行系統任 務組成如圖3.1所示。 3. 2. 1系統管理模塊系統管理模塊是軟PLC系統的“控制核心”。軟PLC運行系統啟動后首先進入系統管理模塊,利用InitialPLCObjectsG函數定義并初始化PLC全局對象, 接著創建任務管理線程JobSchedulerThread和其它任務線程,在任務管理線程 JobSchedulerThread調度下各任務線程順序執行。當用戶程序循環結束后,系統 管理模塊刪除所有任務對象、事件句柄、釋放內存空間等計算機資源,對應工作 流程如圖3.3所不。3. 2. 2程序執行模塊程序執行模塊通過解釋和執行PLC指令函數完成相應的邏輯運算,分為快 速程序執行和普通程序執行兩個子模塊。前者用于處理實時性要求較高的信號, 如急停信號、限位開關信號等等,執行周期5ms;后者則用來處理一般的循環掃 描任務,執行周期20ms。它們是兩個獨立的任務線程,執行指令函數的流程相 同:先從指令存儲模塊讀取PLC指令、判斷指令類型,接著調取軟PLC指令函 數進行運算,最后將運算結果保存在數據存儲模塊,然后循環執行指令,當執行 END指令后退出循環,完成一次用戶掃描程序,執行流程如圖3.4所示。 3. 2. 3通訊接口模塊通訊接口模塊是精工應用程序之間通訊的通道,用于軟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所示。3. 2.4 I/O接口模塊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控制系統接口進行了詳細的分析,這里只給出它們數據傳遞過程。3. 2. 5存儲模塊存儲模塊存儲了軟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 數據類型 標識符 含義 功能 unsigned char I 輸入映像區 存儲所有輸入軟元件的狀態 unsigned char Q 輸出映像區 存儲所有輸出軟元件的狀態 unsigned char R 內部存儲區 存儲軟PLC內部的數據 unsigned char T 定時器區 存儲定時器的數據 unsigned char A 計數器區 存儲計數器的數據 unsigned char L 本地通訊存儲區 存儲與Sercos的通信數據 unsigned char P HMI通訊存儲區 存儲與人機界面HMI的通信數據 unsigned char C CNC通訊存儲區 存儲與軟CNC的通信數據 軟PLC運行系統以結構體的形式為每個存儲區域分了配內存空間,除軟PLC 內部存儲區、輸入映像區、輸出映像區外,其余每個存儲區域有256個軟邏輯位供外部的物理元件使用。以本地通訊存儲區為例,它存儲了軟PLC與Sercos的 通訊數據。(3)指令存儲區指令存儲區存儲了軟PLC系統的全部指令函數,當執行用戶程序時,系統 從指令庫中調取操作函數完成對操作數的運算,有關軟PLC指令的設計與實現 詳見本章第四節。本文采摘自“五軸精工加工中心軟PLC控制系統的研究”,因為編輯困難導致有些函數、表格、圖片、內容無法顯示,有需要者可以在網絡中查找相關文章!本文由海天精工整理發表文章均來自網絡僅供學習參考,轉載請注明!
- 相關文章
- 發表留言
-
◎歡迎參與討論,請在這里發表您的看法、交流您的觀點。
主站蜘蛛池模板:
龙陵县|
哈密市|
隆林|
永丰县|
永靖县|
清苑县|
鸡泽县|
洛浦县|
延边|
兴义市|
望奎县|
桂林市|
大邑县|
永德县|
延边|
罗城|
郁南县|
石渠县|
大方县|
綦江县|
高陵县|
崇州市|
灯塔市|
文化|
蕉岭县|
蒙阴县|
怀远县|
东港市|
曲麻莱县|
合阳县|
东丰县|
中宁县|
龙口市|
满洲里市|
司法|
炉霍县|
六安市|
外汇|
蒙城县|
马山县|
得荣县|