999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

開放式數控系統中軟PLC系統的開發及應用*

2010-09-29 12:17:52裴海龍
制造技術與機床 2010年8期
關鍵詞:指令功能信息

王 飛 裴海龍

(華南理工大學自動化科學與工程學院,廣東廣州 510640)

PLC是數控系統和數控機床間的常用接口,主要是處理各種開關量信息。它根據數控系統內部系統的狀態和外部行程開關、傳感器、按鈕等開關量的狀態,按照用戶預先規定的邏輯關系,對機床的冷卻、潤滑、主軸等進行控制[1-2]。本文中的軟 PLC系統基于RTLinux實時操作系統,采用IEC 1131-3標準,采用C語言和GTK語言進行代碼的編寫。該系統基于華南理工大學自動化學院的HL-B0408數控系統進行設計,并成功應用于該系統。實驗表明,該系統可以滿足現有數控系統的要求。

1 HL-B0408數控系統簡介

正如上面提到的該軟PLC系統是應用于HLB0408數控系統,在此對HL-B0408數控系統進行簡單介紹。HL-B0408數控系統是由華南理工大學自動化學院開發的一款高精度、高性能的數控系統,系統由多個功能模塊組成,分別為人機交互的圖形用戶接口模塊,任務解析和調度模塊,開關量傳輸模塊,開關量輸入輸出及運動控制模塊,各模塊之間的結構如圖1所示。

GUI(圖形用戶接口)的主要功能是提供一個友好的圖形畫面,顯示諸如位置、模式、刀跡模擬等信息;同時實現了人機交互功能,接受外部用戶指令,如文字輸入,開關、按鈕動作等。并且將用戶的動作轉化為相應的內部指令,然后傳送給數控軟件的主體程序并由主體程序來實現;同時,從圖1還可以看到NC代碼往任務解析模塊發送也是通過GUI部分實現。

任務解析和調度模塊由解析和調度兩部分組成。任務解析模塊主要由解析器組成,主要完成對GUI傳送過來的NC代碼隊列的解析,把NC代碼隊列轉化成開關量模塊和運動控制模塊能夠識別的命令隊列。任務調度模塊主要完成的功能是把任務解析模塊產生的開關量信息(冷卻、潤滑、回零等)和運動控制信息(進給量等)分別發到開關量模塊和運動控制模塊。

開關量輸出和運動控制模塊是一個實時模塊,主要實現開關量輸出和插補運算功能。根據插補運算和控制算法產生的加工軌跡,并通過驅動程序產生相應的脈沖信號驅動伺服電動機進行位置控制。

2 通過軟PLC對HL-B0408數控系統進行改進

開關量輸出和運動控制模塊主要完成運動控制的功能,而運動控制要求很高的實時性,但原 HLB0408數控系統中因為加入了開關量的輸出而對實時性造成了一定程度的影響。所以本課題便提出了利用軟PLC實現開關量的輸出,從而在一定程度上解放運動控制模塊。改進前后系統軟硬件接口分別如圖2、3所示。

3 軟PLC系統的設計開發

根據功能要求,該軟PLC系統應該由以下兩部分組成:梯形圖編輯界面和驅動模塊,下面分別介紹。

3.1 梯形圖編輯界面的設計

按照硬件PLC所具有的功能[1],筆者認為該軟件PLC梯形圖編輯界面應具有以下基本功能:

(1)實現梯形圖的繪制功能;

(2)實現新建、打開、保存和退出等功能;

(3)實現增加、刪除、修改編程頁面的功能;

(4)實現梯形圖中元器件的屬性修改功能;

(5)實現IO信號處理功能;

(6)實現手動控制觸點開斷功能。

根據以上功能要求,該平臺需有以下幾個功能模塊:梯形圖的繪制和顯示模塊,梯形圖編輯模塊,元器件屬性修改模塊,IO信號處理模塊和觸點控制模塊。這些模塊都由GTK實現其圖形界面顯示,并通過相應的存儲算法保存梯形圖信息。整個程序的流程如圖4所示。

3.2 梯形圖編輯界面各功能模塊的實現

各功能模塊的界面操作部分都是通過GTK+實現的。GTK+是一個圖形用戶編程的接口工具,可以和多種語言綁定,并且具有跨平臺移植的能力[3]。要實現繪制、修改、顯示梯形圖等功能,首先要解決的問題就是指令庫的問題。常用的PLC指令庫包括輸入觸點、輸出觸點、定時器、觸發器等,這些指令都是通過GTK+的畫圖功能畫出。

生成指令庫之后就可以在PLC編程頁面編制梯形圖,程序中把梯形圖編程頁面劃分為6×10個小格,指令器件的大小都和每個小格成倍數關系。除定時器和觸發器占用2×2個小格,比較器占用3×1個小格外,其他指令器件各占用一個小格。在后面我們將介紹之所以采用這種方式是為了方便存取梯形圖文件。

完成了梯形圖的繪制之后就要處理梯形圖的保存和打開功能,這也是編輯界面功能的核心。對于梯形圖文件的保存是采用寫文件的方式,即用fprintf()函數把梯形圖寫入指定文件,在文件中數據存儲時的順序按上面提到的6×10個小格(用兩層for循環實現)進行,數據存取的格式為data1-data2-data3-data4。其中data1代表元器件的類型,data2代表該元器件是否與上層元器件相連,data3代表該元器件的數據類型是bit還是word,data4則代表該類型元器件的編號。當然這樣的存取方式對于像輸入輸出觸點這樣的簡單元器件不會有任何問題,但是當存儲例如定時器和觸發器這樣的“大元器件”時則會出現以下兩個問題:

首先,對于像定時器和觸發器這些“大元器件”,除了上面提到的基本信息之外,還需要存儲另外的信息。以定時器為例,我們定義了如下結構體:

由上面的結構體就可以看出,對于定時器不但要存儲它的基本信息,還要存儲例如Base(基底即換算倍數)、Preset(預設值)、InputEnable(輸入使能端信息)等。因此我們建立了一個新的文件timers用來保存 Base和 Preset,則 Value=Base*Preset,用來顯示定時器的設定值。

其次對于“大元器件”它們占了不止一個小格,這就會導致存儲時的重復存儲,當下次讀取時就會出現問題,將會出現元器件重疊的現象。在此采取的方法是當檢測到“大元器件”時,只有左上角的小格保留信息,其它置空。

當進行加載已有梯形圖操作時,首先利用下面一段代碼讀取梯形圖信息:

其中FileName中保存著梯形圖信息,操作完成后,梯形圖信息存入指針Lineok中,接著再存入相應的結構體中即可。當然這要經過一系列的轉換,例如如何從數字信息得到元器件的信息。在此不贅述。

完成了梯形圖的繪制以后,如果沒有信號處理功能,也只是把一堆毫無聯系的東西放在了一起。下面就介紹該軟件中是如何處理信號的。首先看一下保存元器件信息的結構體:

在處理信號的過程中,是通過檢測上個元器件的輸出即DynamicOutput是否為1來決定該元器件的DynamicInput,是 1,則 DynamicInput=1,否則 DynamicInput=0。對于簡單的元器件DynamicOutput=DynamicInput,而對于定時器和觸發器等較復雜的器件,則還需檢測DynamicState和DynamicVarBak,才能確定輸出。

3.3 軟PLC系統驅動模塊的實現

由圖3可以看到,該系統的驅動模塊主要是用來完成開關量的接收(來自數控系統上層模塊)和發送(發至底層硬件模塊)。

上層開關量信號的接收是通過RTLinux提供的mbuffer共享內存機制實現的。mbuffer實現了內核模塊和用戶空間之間內存的通信,在上層模塊和驅動模塊中分別定義一片起始地址相同的內存空間,即如下所示:

其中Commonbuffer是申請內存空間的起始標識,這樣當上層模塊向內存IO_buffer中寫入命令時,便可以相應的從Plc_buffer中讀出。

開關量的下發主要是讀寫總線的操作。該系統所用總線為PC104總線,在發數據時首先要發一個控制字,選通相應的寄存器,然后再發數據到寄存器,這兩個操作都是通過RTLinux提供的rtl_outb函數實現的。這個函數實現了字節的發送(發往并口),但是因為開關量操作都是位操作的,所以當發送數據時,首先要屏蔽其他沒有操作的位。這里使用以下代碼實現屏蔽位的操作:

其中:index是要發的IO信息處于一個發送字節的第幾位;value標示是發1還是發0;outByte是最終發往底層的數據。

4 軟PLC系統在數控系統中的應用結果

對以上設計的軟PLC系統進行編譯,生成可執行程序(對應界面顯示部分)和可加載模塊(對應驅動部分),并在數控系統的啟動腳本中加入以上兩部分,就可以正常使用軟PLC系統了。正常啟動數控系統和軟PLC系統的梯形圖如圖5所示(因全圖比較大,這里只是顯示部分梯形圖)。

圖5中I對應數控系統是I/O輸出,對應該軟PLC系統則為I/O輸入,后面的數字是數控系統主板FPGA上為I/O輸出提供的端口號,它在一定范圍內是可變的,在這里44代表急停信號,45代表主軸制動信號,46為冷卻,50代表超程,當數控系統剛啟動時要求急停開(I44顯示紅色),主軸制動開(I45顯示紅色)。由圖5很明顯可以看到該軟PLC系統實現了正常啟動時I/O信號的發送。下面再做一個簡單的測試,在數控GUI上關閉急停按鈕,并輸入測試G代碼M8(代表冷卻),可以得到圖6所示結果。從圖中可以看到急停關閉(I44紅色消失),冷卻打開(I46顯示紅色)。

通過實際的檢驗,該軟PLC系統能準確、快速地實現I/O信號的處理,并且使原數控系統的實時性有了較大的提高。

5 結語

PLC在處理數控機床開關量方面具有重要的作用,但由于其高昂的價格,再加上不同PLC廠家的產品通用性較差,導致其使用受到了一定的限制。但該軟PLC系統的提出解決了這一難題。該系統運用全軟件實現PLC的功能,可移植性較好,不但提高了數控系統的可靠性,并且充分降低了生產成本,具有很高的實際用途。

[1]謝克明.可編程序控制器原理與程序設計[M].北京:電子工業出版社,2002.

[2]周凱.PC數控原理、系統及應用[M].北京:機械工業出版社,2006.

[3](美)洛根編著,戰曉蘇,等譯.Gtk+程序設計(C語言版)[M].北京:清華大學出版社,2002.

[4]王強.基于RTLinux的軟件 PLC系統研究[D].成都:四川大學,2005.

[5]趙鴻玢.開放式數控系統軟PLC的設計與實現[D].沈陽:中國科學院沈陽計算機研究所.

猜你喜歡
指令功能信息
聽我指令:大催眠術
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
關于非首都功能疏解的幾點思考
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
中西醫結合治療甲狀腺功能亢進癥31例
辨證施護在輕度認知功能損害中的應用
坐標系旋轉指令數控編程應用
機電信息(2014年27期)2014-02-27 15:53:56
主站蜘蛛池模板: 亚洲不卡影院| 亚洲精品图区| 国产成人永久免费视频| 成·人免费午夜无码视频在线观看| 久久99精品久久久久久不卡| 2021最新国产精品网站| 嫩草国产在线| 99热这里只有精品久久免费| 欧美国产日韩在线观看| av无码久久精品| 日韩精品视频久久| 亚洲成av人无码综合在线观看| 97精品国产高清久久久久蜜芽| 国产精品久久久久久久伊一| 久久综合丝袜长腿丝袜| 国产不卡一级毛片视频| 色妞www精品视频一级下载| 国产精品尤物在线| 一本无码在线观看| 最近最新中文字幕在线第一页| 9啪在线视频| a级毛片免费看| 91成人在线观看| 欧美黄色网站在线看| 久久精品国产一区二区小说| 制服丝袜一区二区三区在线| AV在线天堂进入| 国产三区二区| 在线观看国产精品第一区免费| 国产欧美性爱网| 国产美女免费| 日韩久草视频| 中文字幕调教一区二区视频| 国产无码性爱一区二区三区| 亚洲成人在线免费观看| 91人妻日韩人妻无码专区精品| 国产美女精品一区二区| 国产玖玖玖精品视频| 免费人欧美成又黄又爽的视频| 五月婷婷导航| 国产成人a在线观看视频| 国产亚洲日韩av在线| 国产乱子伦视频在线播放| 国产成人h在线观看网站站| 亚洲第一成年网| 中文无码精品A∨在线观看不卡| 毛片一区二区在线看| 国产产在线精品亚洲aavv| 精品福利网| 激情国产精品一区| 久久久波多野结衣av一区二区| 国产精品午夜电影| 亚洲欧美国产高清va在线播放| 2021国产v亚洲v天堂无码| 久久人体视频| 久久亚洲高清国产| 蜜臀AVWWW国产天堂| 日韩精品亚洲一区中文字幕| 综合亚洲网| 国产成人精品日本亚洲77美色| 欧美日韩久久综合| 亚洲欧美成人在线视频 | 99热这里只有成人精品国产| 久996视频精品免费观看| 国产视频久久久久| 波多野结衣一区二区三区四区视频 | 国产高潮流白浆视频| 在线不卡免费视频| 99草精品视频| 午夜久久影院| 黄色在线不卡| 野花国产精品入口| 亚洲日韩久久综合中文字幕| 欧美亚洲第一页| 91精品人妻互换| 波多野结衣一区二区三视频 | 超清无码熟妇人妻AV在线绿巨人| 欧美午夜视频在线| 成人午夜亚洲影视在线观看| 精品国产黑色丝袜高跟鞋| 精品少妇三级亚洲| 婷婷亚洲视频|