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

產品開發中軟PLC的實現探討

2015-04-29 18:59:21劉軍高
中國高新技術企業 2015年14期
關鍵詞:指令程序信息

摘要:文章首先介紹了PLC的概念、功能特點和具有PLC功能的產品優勢,接著分析了硬PLC和軟PLC的區別,最后從PLC繪圖工具的制作、PLC各種文件的生成、PLC語句表文件的編譯和存儲數據結構、PLC文件的運行機制、程序分類和運行控制等方面描述了在產品開發中軟PLC的實現過程。

關鍵詞:產品開發;硬PLC;軟PLC;梯形圖;一級程序;二級程序 文獻標識碼:A

中圖分類號:TG659 文章編號:1009-2374(2015)14-0011-02 DOI:10.13535/j.cnki.11-4406/n.2015.14.006

PLC是一個以微處理器為核心的數字運算操作的電子系統裝置,專為在工業現場應用而設計,它采用可編程序的存儲器,用以在其內部存儲執行邏輯運算、順序控制、定時/計數和算術運算等操作指令,并通過數字式或模擬式的輸入、輸出接口,控制各種類型的機械或生產過程。

1 軟PLC的概念

所謂的軟PLC是利用軟件技術在產品中開發PLC功能,在一些通用的CPU或者MCU上實現PLC指令的解釋和編譯運行,它僅是整個產品中的一個功能模塊,該模塊能夠完成硬PLC大部分功能要求。

2 軟PLC的實現全部過程

精心策劃和技術論證后,筆者在產品開發中用以下方案實現了軟PLC開發,具體實現方案框圖如圖1所示:

圖1 軟PLC開發具體實現方案

3 PLC繪圖工具制作和各種文件的產生

框圖實現的具體過程:第一,在PC機上用高級編程語言如VC等編寫一個PLC梯形圖制作工具,該工具不僅能繪制PLC梯形圖,并且繪制梯形圖所需要的指令元器件全部可以定制,可以按照你產品所需增加或刪除指令,可以設定指令的地址類型和取值范圍,可以設定指令的引腳屬性。第二,制作好指令元器件后,運用該工具繪制你所需要的PLC梯形圖后并編譯它,生成你所需要的語句表文件和各種信息文件。第三,PLC的文件如何放到系統產品上?這就取決于你的產品能夠如何接收外部的文件或數據。下文以USB接口和串口為例來講述一下其實現接收PLC文件的過程:(1)U盤接口的實現方法。將用PC工具生成的PLC工程文件包從電腦拷貝到U盤,再將U盤插入到產品上,通過操作U盤讀取PLC工程文件包,從文件包里得到你所需要的語句表文件和其他信息文件;(2)串口RS232的實現方法。由于RS232每次只支持接受一個文件,你可以先編寫一個應用程序,將該應用程序放在PLC工程文件夾下指定的位置,運行該應用程序,提取所需要的文件信息生成一個TXT的文本格式文件,再用RS232方式傳送到產品使用。

4 PLC語句表文件的編譯和存儲數據結構

梯形圖是由很多個由上到下順序的網絡組成。一個網絡可看成一個總的輸入和一個輸出或多級輸出組成。總的輸入由許多從左到右順序相“AND”的列組成。一個列可能由一個或多個行從上到下順序的行相“OR”組成,一個行又可能包括多個從左到右順序的相“AND”輸入指令。按照上述對PLC梯形圖原理的理解,筆者設計以下的編譯后數據存儲方法供PLC運行調用。

語句表語言是PLC功能的另外一種表達方法,一般由梯形圖轉換出來。一個PLC語句表文件是由一級程序、二級程序和各個子程序組成。將一級程序、二級程序和各個子程序編譯后都變成一個個獨立的程序分開存儲,每個程都有一個程序開始存儲地址,從這個地址開始存儲該程序的程序信息和所有編譯后的網絡數據,各個程序之間或網絡之間相互調用或跳轉使用編譯后的相對地址進行。

每個程序先存儲程序信息,緊接著存儲PLC程序的編譯后的一個個網絡數據。每個程序的組成具體為:程序信息+網絡數據#1+“%%”+網絡數據#2+…,網絡與網絡之間有一個字符串(“%%”)隔開。

程序信息主要包括:網絡總數+程序中的所有網絡信息(#1+#2+#3…)+程序編譯后的網絡數據#1開始存儲的地址。

網絡信息主要包括:該網絡輸入的總列數+輸入每列的行數+輸出行數+各個網絡數據(#1 #2 #3…等等)在PLC程序中的開始存儲的地址。

在程序信息之后,開始依次存儲編譯后網絡數據#1、網絡數據#2…的數據,步驟如下:

第一,填寫輸入指令開始存儲標志(“N_IN”)。

第二,一個網絡數據保存格式為:(1)保存網絡第一個列的第一行數據,存儲格式為:輸入指令個數+第一個輸入指令(指令類型+指令地址號+觸點類型)+“&&”+第二個輸入指令(指令類型+指令地址號+觸點類型)…。如果同行內有多個輸入指令,則指令之間有一個字符串(“&&”)隔開。(2)同樣方式保存該列的第二行…。如果一列內有多行,行與行之間一個字符串(“||”)隔開。(3)…直至保存完該列的所有行。

第三,接著保存網絡第二個列數據,保存方法同上,直至保存完所有的列。

第四,如果一個網絡內有多列,列與列之間有一個字符串(“&&”)隔開。

第五,填寫輸出指令開始存儲標志(“NOUT”)。

第六,接著保存輸出指令,輸出的存儲格式為:第一個輸出指令(指令類型+指令地址號)+第二個輸出指令(指令類型+指令地址號)…,如果是多級輸出,指令之間有一個字符串(“++”)隔開。

第七,接著,用同樣的方式開始存儲網絡數據#2,…直至當前程序的網絡編譯信息存儲完畢。

PLC語句表文件的總體結構、PLC程序信息結構和PLC網絡信息結構格式詳見如下:

//PLC語句表文件的總體結構

typedef struct_PLC_File_t

{

uint32 PLCFlags[4] ;//PLC語句表文件存在標志,存在“_PLC_PLC_PLC_PLC”

//不存在,全部用0XFF代替

(uint32*)Addr_Level1; //存儲一級程序的開始地址

(uint32*)Addr_Level2; //存儲二級程序的開始地址

(uint32*)Addr_Son[C_MaxSonProgs];//存儲子程序程序的開始地址

//uint32 Reserve[10] ;//保留

}PLC_File_t,*ptr_PLC_File_t;

//PLC程序信息(如:一級程序 二級程序 子程序)結構

__align(256) typedef struct_PLC_Program_t

{

uint32 Nets; //PLC網絡數,若為0,則無該PLC程序

PLC_Net_t NetLineRows[C_MaxNetsPerFile]; //PLC每個網絡信息

uint32 *address_File; //該程序編譯后的網絡數據開始存儲地址

//uint32 Reserve[10] ;//保留

}PLC_Program_t,*ptr_PLC_Program_t;

//PLC網絡信息結構

__align(4)typedef struct_PLC_Net_t

{

uint8 In_Rows; //網絡輸入列數

uint8 Lines[C_MaxLinesPerRow]; //網絡每列行數

uint8 Out_Lines; //網絡輸出行數,若大于1,為多級輸出

uint32 *Address_Net; //該網絡數據在PLC程序中的開始存儲地址

//uint32 Reserve; //保留

}PLC_Net_t,*ptr_PLC_Net_t;

5 PLC運行機制、程序分類和運行控制

PLC程序的運行是在中斷模式下來實現對產品所有的輸入和輸出進行監控,只要PLC程序存在,產品從開機就要循環運行PLC程序監控產品的運行。在PLC中斷模式下,中斷服務程序不能夠占用中斷太多的時間,否則CPU就沒有時間來執行其他的程序:一方面PLC程序一部分代碼又必須快速及時地執行和響應,另一方面PLC程序又可能比較長,要運行完所有的PLC程序可能會消耗CPU太多的中斷時間。如何解決這一問題?解決辦法是將PLC程序分成一級程序和二級程序,將一部分必須快速完成的程序歸入一級程序,另外一部分程序歸為二級程序。一級程序每次PLC中斷都是要執行,二級程序根據程序運行消耗的時間動態分段,在一個PLC中斷周期除了運行一級程序外,還要運行二級程序的其中一段。這樣二級程序就必須分段執行。

此外,還要在中斷周期內正確調配二級中斷程序。方法一:編譯時就根據指令的運行時間將二級程序分段,保證一次中斷只運行其中一段二級程序。方法二:運行時計算中斷的消耗時候,中斷運行時間到就停止在二級程序的某一個指令上,下一個中斷運行二級程序時就接著上次的二級程序指令繼續運行。

傳統硬PLC性價比增長很緩慢,但隨著電子技術和計算機技術的迅猛發展,軟PLC技術打破了硬PLC許多局限性,開發PLC功能硬件成本和技術開發難度也越來越低,因此,在各行各業中軟PLC都具有廣泛的發展前景。

參考文獻

[1] 周萬珍,高鴻斌.PLC分析與設計應用[M].北京:電子工業出版社,2004.

[2] 曹輝.可編程序控制器過程控制技術[M].北京:機械工業出版社,2006.

作者簡介:劉軍高(1971-),男,江西人,廣州數控設備有限公司工程師,研究方向:數控系統產品開發。

(責任編輯:周 瓊)

猜你喜歡
指令程序信息
聽我指令:大催眠術
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
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
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
坐標系旋轉指令數控編程應用
機電信息(2014年27期)2014-02-27 15:53:56
主站蜘蛛池模板: 欧美日韩一区二区三| 欧美日韩精品一区二区在线线 | 一本大道无码日韩精品影视| 狠狠做深爱婷婷综合一区| 四虎永久免费在线| 99re免费视频| 亚洲色图欧美在线| 又黄又爽视频好爽视频| 55夜色66夜色国产精品视频| 亚洲一区二区精品无码久久久| 日本在线亚洲| 九九视频免费看| 国产玖玖视频| 亚洲国产中文欧美在线人成大黄瓜 | 国产美女自慰在线观看| 国产免费a级片| 日韩精品亚洲人旧成在线| 五月综合色婷婷| 一级毛片高清| 欧美精品啪啪| 亚洲中久无码永久在线观看软件| 看av免费毛片手机播放| 在线无码av一区二区三区| 九色视频一区| 伊人久久精品亚洲午夜| 青青青草国产| 久久午夜夜伦鲁鲁片无码免费| 一区二区自拍| 91毛片网| 国产成人综合久久精品尤物| 韩日午夜在线资源一区二区| 喷潮白浆直流在线播放| 18黑白丝水手服自慰喷水网站| 亚洲一区无码在线| 欧美视频在线播放观看免费福利资源| 亚洲一区毛片| 欧美日韩资源| 亚洲IV视频免费在线光看| 国产欧美日韩综合在线第一| 久久精品丝袜高跟鞋| 国产精品永久久久久| 亚洲国产清纯| 精品欧美视频| 日韩无码黄色| 在线观看国产精品日本不卡网| 亚洲视频在线网| 中文精品久久久久国产网址 | 欧美精品在线看| 99999久久久久久亚洲| av免费在线观看美女叉开腿| 亚洲一区二区视频在线观看| 米奇精品一区二区三区| 免费无码AV片在线观看中文| 亚洲三级网站| 美女免费黄网站| 极品尤物av美乳在线观看| 激情六月丁香婷婷四房播| 国产成人久久777777| 女人av社区男人的天堂| 欧美午夜在线观看| 免费A∨中文乱码专区| 亚洲综合九九| 中文字幕乱码二三区免费| 永久毛片在线播| 91美女视频在线| 亚洲国产成熟视频在线多多| 91精品视频播放| 色AV色 综合网站| 国产免费a级片| 激情无码视频在线看| 一级不卡毛片| 国产麻豆aⅴ精品无码| 亚洲成人网在线观看| 看av免费毛片手机播放| 亚洲一级毛片在线观播放| AⅤ色综合久久天堂AV色综合| 欧洲成人免费视频| 伊人五月丁香综合AⅤ| 在线观看网站国产| 国产成人综合日韩精品无码不卡| 欧美日韩理论| 亚洲精品老司机|