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

西門子STEP7使用STL源文件快速創(chuàng)建潔凈空調(diào)程序的方法

2015-03-13 05:08:18曾天翔
機(jī)電信息 2015年35期
關(guān)鍵詞:程序功能設(shè)備

曾天翔

(上海朗脈潔凈技術(shù)股份有限公司,上海201100)

西門子STEP7使用STL源文件快速創(chuàng)建潔凈空調(diào)程序的方法

曾天翔

(上海朗脈潔凈技術(shù)股份有限公司,上海201100)

針對當(dāng)前自控領(lǐng)域需要快速創(chuàng)建西門子PLC程序的需求,提出了一套由原始I/O清單及設(shè)備清單按照程序模板自動生成西門子PLC程序的方法。對比傳統(tǒng)PLC編程方式的缺點(diǎn),以制藥行業(yè)的潔凈空調(diào)項(xiàng)目為例,介紹了西門子PLC程序快速創(chuàng)建方法的具體實(shí)現(xiàn)步驟及所需條件。通過實(shí)踐證明,這種編程方法可以極大地提高程序的可靠性及編程效率,在自控領(lǐng)域有著廣闊的應(yīng)用前景和推廣價值。

西門子;PLC程序;STEP7;STL源文件;VB腳本;潔凈空調(diào)

1 潔凈空調(diào)系統(tǒng)及其控制

在藥廠的潔凈室中,為了使?jié)崈羰覂?nèi)保持所需要的溫濕度、風(fēng)速、壓力和潔凈度等參數(shù)運(yùn)行,最常用的方法是向室內(nèi)不斷送入一定量經(jīng)過處理的空氣,以消除潔凈室內(nèi)外各種熱濕干擾及塵埃污染。通常潔凈室為獲得滿足一定狀態(tài)的空氣,就需要一整套設(shè)備對空氣進(jìn)行處理,并不斷送入室內(nèi),又不斷從室內(nèi)排出一部分出來,這一整套設(shè)備就構(gòu)成了潔凈空調(diào)系統(tǒng)。

藥廠的潔凈空調(diào)系統(tǒng)控制一般通過使用可編程控制器來實(shí)現(xiàn)。可編程邏輯控制器PLC(Programmable Logic Controller)是通過存儲在可編程的存儲器中的程序,執(zhí)行有關(guān)邏輯運(yùn)算、順序控制、定時、計(jì)數(shù)與算術(shù)操作等面向用戶的指令,并通過數(shù)字或模擬式輸入/輸出實(shí)現(xiàn)對各種類型的機(jī)械或生產(chǎn)過程的控制[1-2]。

這種PLC控制方式廣泛應(yīng)用于目前的工業(yè)控制領(lǐng)域[1]。可編程邏輯控制器的系統(tǒng)程序分為系統(tǒng)程序和應(yīng)用程序,系統(tǒng)程序一般在出廠前已經(jīng)初始化完畢,而應(yīng)用程序則是在系統(tǒng)程序運(yùn)行的條件下,由用戶根據(jù)自己的需要自行編輯,目的是用來滿足不同的自動化生產(chǎn)要求[3]。

西門子STEP7是用于SIMATIC S7-300/400系列PLC創(chuàng)建可編程邏輯控制程序的標(biāo)準(zhǔn)軟件,通常采用梯形圖邏輯(LAD)、功能塊圖(FBD)和語句表(STL)等方式進(jìn)行編程操作[1-3]。

2 在STEP7中編制潔凈空調(diào)PLC程序

利用西門子STEP7軟件編制西門子SIMATIC S7-300/400系列PLC程序的基本步驟包含以下幾個方面,其他類型PLC程序也基本類似。

2.1 設(shè)置硬件信息

由于西門子SIMATIC S7-300/400系列PLC程序分別為不同的應(yīng)用場合配備了不同的硬件模塊,而且其種類非常繁多。因此,首先需要根據(jù)項(xiàng)目的工藝情況和控制要求設(shè)計(jì)方案,選用合適的PLC模塊及其相應(yīng)硬件,組成合理的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),最終形成完整的PLC自控系統(tǒng)。

2.2 建立符號表

符號表是程序與PLC模塊之間連接的紐帶。在程序的編寫過程中,如果我們不建立符號表,直接使用I/O點(diǎn)位進(jìn)行編寫程序的話,那么我們編制的程序中只會出現(xiàn)I/O點(diǎn)位。如果程序很短還好說,但是如果程序非常大,結(jié)構(gòu)又非常復(fù)雜,那么我們就很難理解這個程序到底是什么意思,自然就給程序的修改與調(diào)試帶來了很大的困難。因此,我們希望看到程序中出現(xiàn)的是具有實(shí)際意義的符號,這樣我們的整個程序中每個點(diǎn)位都將有具體的含義,便于我們理解與調(diào)試程序。

2.3 建立數(shù)據(jù)類型

數(shù)據(jù)類型(UDT,User Defined Type)是用戶自定義的一種數(shù)據(jù)結(jié)構(gòu)。

為了便于理解,舉個簡單的例子:有10個電機(jī),它們的屬性都是基本相同的,如“正轉(zhuǎn)(bool)”、“反轉(zhuǎn)(bool)”、“速度(int)”、“加速度(int)”、“減速度(int)”等5個屬性,如果程序中需要用到這些屬性,那么可能需要為10個電機(jī)都建立這些變量,如果是單獨(dú)建立,就需要建立10×5=50個變量;如果用UDT來處理,那就簡單多了,先定義一個名為motor的UDT變量,里面添加上面所說的2個bool變量和3個int變量(當(dāng)然有需要可以添加其他數(shù)據(jù)類型的變量),然后建立一個數(shù)據(jù)塊,在里面建立10個變量m1~m10,數(shù)據(jù)類型就是motor,保存后會發(fā)現(xiàn)這10個變量都包括以上的幾個屬性,這樣就可以直接在程序中使用了。

通常,每一種現(xiàn)場設(shè)備應(yīng)當(dāng)對應(yīng)于一種UDT數(shù)據(jù)類型。這類設(shè)備通常包括開關(guān)閥門、調(diào)節(jié)閥門、開關(guān)電機(jī)、變頻電機(jī)及各類傳感器。

2.4 建立數(shù)據(jù)塊

數(shù)據(jù)塊(DB)的作用其實(shí)在上一個步驟中已經(jīng)提及。從面向?qū)ο蟮木幊谭椒▉砜矗瑪?shù)據(jù)類型UDT就是類的概念,而DB塊中存放的是相應(yīng)實(shí)例化的對象。所有現(xiàn)場設(shè)備的數(shù)據(jù),都以UDT的形式存放在數(shù)據(jù)塊DB中。為了便于操作,將每一種設(shè)備的數(shù)據(jù)存放在同一個數(shù)據(jù)塊DB中。

2.5 建立功能(FC)及功能塊(FB)

所謂程序就是數(shù)據(jù)結(jié)構(gòu)加上算法,以上幾步已經(jīng)完成了數(shù)據(jù)結(jié)構(gòu)的創(chuàng)建,剩下的是算法的創(chuàng)建。針對每種類型的設(shè)備,可以創(chuàng)建不同的功能或功能塊來滿足實(shí)際使用要求,這種功能被稱為設(shè)備驅(qū)動功能。當(dāng)完成了設(shè)備驅(qū)動功能之后,就可以編寫整個系統(tǒng)的自動控制功能來滿足整體的自控要求。雖然不同項(xiàng)目的工藝要求有所不同,但是所用到的設(shè)備類型卻都一樣。因此,對于不同項(xiàng)目而言,雖然整個系統(tǒng)的自動控制功能不同,但是設(shè)備驅(qū)動功能卻是一樣的。

2.6 根據(jù)實(shí)際情況調(diào)用及實(shí)現(xiàn)功能

按照實(shí)際情況依次調(diào)用功能及功能塊,實(shí)現(xiàn)事先設(shè)計(jì)好的功能。首先,調(diào)用數(shù)據(jù)采集功能,將通道模塊所采集到的數(shù)據(jù)讀取到設(shè)備數(shù)據(jù)塊中,刷新設(shè)備當(dāng)前狀態(tài);然后,調(diào)用系統(tǒng)自動控制功能,根據(jù)當(dāng)前狀態(tài)決定設(shè)備的控制策略及動作;最后,根據(jù)上一步的運(yùn)算結(jié)果,調(diào)用設(shè)備驅(qū)動功能和輸出功能,將控制數(shù)據(jù)輸出到輸出模塊,從而控制實(shí)際設(shè)備的動作。

一般從事不同行業(yè)的公司,會根據(jù)需要創(chuàng)建自己專用的數(shù)據(jù)類型(UDT)、設(shè)備驅(qū)動功能(FC)和功能塊(FB)來滿足自己編程的需要,并將其保存為程序模板。這樣一來,在實(shí)際的編程工作中,就不需要再重新建立數(shù)據(jù)類型和設(shè)備驅(qū)動功能塊了,編程步驟被簡化為設(shè)置硬件信息、建立符號表、建立數(shù)據(jù)塊、建立系統(tǒng)自動控制功能及根據(jù)實(shí)際情況調(diào)用功能這幾步。

編程步驟簡化前后對比如圖1所示。及數(shù)據(jù)塊。再根據(jù)所建立的數(shù)據(jù)塊類型及其中設(shè)備的數(shù)量,依次調(diào)用相應(yīng)的功能。其特點(diǎn)是,整個過程都是由人工操作,但是所做的工作大多為數(shù)據(jù)復(fù)制與翻譯,歸根結(jié)底是簡單重復(fù)勞動。尤其是當(dāng)所需要復(fù)制的數(shù)據(jù)比較多時,非常容易出現(xiàn)錯誤。

而西門子S7-SCL編程工具(圖2)提供了一種結(jié)構(gòu)化控制語言編程方式,其結(jié)構(gòu)與C語言和Pascal語言相似,適合習(xí)慣于使用高級語言編程的人使用。

圖2 S7-SCL編程工具

SCL程序可以在CPU314及其以上的S7(包括400)中運(yùn)行[3]。S7-SCL編程工具中一項(xiàng)很有用的功能就是能夠通過對STL(語句表)源文件的編譯,生成程序中的數(shù)據(jù)塊(DB)和功能(FC)。

圖1 編程步驟簡化前后對比圖

3 現(xiàn)有編程方法的缺點(diǎn)

I/O清單及設(shè)備清單是編程所必需的重要文件。其中I/O清單描述了I/O點(diǎn)位的實(shí)際地址與符號名之間的關(guān)系,是建立符號表的依據(jù)。設(shè)備清單描述了系統(tǒng)中所有設(shè)備的類型,是建立數(shù)據(jù)塊的依據(jù)。現(xiàn)有的編程方法,需要編程人員預(yù)先整理這兩個文件,然后根據(jù)文件內(nèi)容在STEP7中建立符號表

4 方案總體設(shè)計(jì)

4.1 方案構(gòu)想

從簡化后的程序編寫步驟來看,設(shè)置硬件信息、建立符號表、建立數(shù)據(jù)塊、建立系統(tǒng)自動控制功能及根據(jù)實(shí)際情況調(diào)用功能這幾步都是由人工通過查看I/O清單及設(shè)備清單的內(nèi)容來完成的,效率低且容易出錯。如果有一種方法能將I/O清單的內(nèi)容自動轉(zhuǎn)化為符號表,將設(shè)備清單的內(nèi)容自動轉(zhuǎn)換為STL(語句表)源文件,并利用西門子S7-SCL編程工具直接生成數(shù)據(jù)塊和功能,那么將極大地提高編程的效率及正確性。由于不同的項(xiàng)目僅系統(tǒng)的自動控制功能不同,因此,除了自動控制功能外,其他的功能都是能夠?qū)崿F(xiàn)自動生成的。

方案示意如圖3所示。

圖3 方案示意圖

4.2 方案的實(shí)現(xiàn)

當(dāng)今絕大多數(shù)的I/O清單及設(shè)備清單都是由微軟的Excel格式保存的。為了可以使用Excel的宏語言使Excel實(shí)現(xiàn)自動化,Microsoft決定讓其開發(fā)出來的應(yīng)用程序共享一種通用的自動化語言——Visual Basicfor Application(VBA),即我們通常所說的VB腳本,而不是使用不同的自動化語言。可以認(rèn)為Visual Basicfor Application是非常流行的應(yīng)用程序開發(fā)語言——Visual Basic的子集。下面我們不妨以Excel格式的I/O清單及設(shè)備清單為例,描述一下如何利用Excel中的VBA實(shí)現(xiàn)以上方案。在I/O清單中打開VBA編輯器,可以通過新建腳本實(shí)現(xiàn)我們預(yù)期的功能[4]。

4.3 符號表的自動生成

在生成符號表前,首先需要對當(dāng)前I/O清單的內(nèi)容做一下檢查。由于I/O清單是由人工輸入的,其中可能產(chǎn)生一些重復(fù)位號的錯誤,所以需要在生成符號表之前先檢查一下數(shù)據(jù)的合法性,以免出現(xiàn)重復(fù)的位號名稱,實(shí)現(xiàn)的腳本如下:

在完成了位號檢查之后,就可以生成符號表

表1 符號表的自動生成運(yùn)行結(jié)果

符號表的自動生成運(yùn)行結(jié)果如表1所示。

至此,我們已經(jīng)完成了從I/O清單自動生成STEP7符號表的工作,所生成的符號表只需要簡單的復(fù)制/粘貼操作即可復(fù)制到STEP7程序中去。

4.4 數(shù)據(jù)塊及其他功能調(diào)用的自動生成

通過Excel中的VBA編程,可以使得設(shè)備清單中的內(nèi)容轉(zhuǎn)換成STL(語句表)源文件。

首先,要保證I/O清單中的位號名稱都是按照設(shè)備清單中的設(shè)備位號命名規(guī)則命名的,如表2所示。

對于傳感器類型的設(shè)備還需要定義其量程范圍及報(bào)警數(shù)值等參數(shù),如表3所示。

根據(jù)以上用戶輸入的信息及定義的規(guī)則,可以通過VBA腳本將設(shè)備清單內(nèi)容轉(zhuǎn)換成相應(yīng)的STL(語句表)源文件內(nèi)容。

數(shù)據(jù)塊及其他功能調(diào)用的自動生成運(yùn)行結(jié)果如表4所示(僅顯示了部分程序)。

表2 設(shè)備位號命名規(guī)則

表3 傳感器類型變量參數(shù)設(shè)置

表4 數(shù)據(jù)塊及其他功能調(diào)用的自動生成運(yùn)行結(jié)果

將以上生成的內(nèi)容復(fù)制到西門子S7-SCL編程工具中,點(diǎn)擊“編譯”命令,即可自動生成所需的數(shù)據(jù)塊(DB)和調(diào)用功能(FC)。S7-SCL編譯環(huán)境如圖4所示。

至此,預(yù)期的方案構(gòu)想已經(jīng)全部完成。

5 結(jié)語

圖4 S7-SCL編譯環(huán)境

首先,這種新型的程序生成方法能夠直接從原始的I/O清單及設(shè)備清單讀取數(shù)據(jù)并生成程序,減少了中間環(huán)節(jié)不必要的人工參與,所以能夠最大限度地保證所生成程序的正確性。

其次,這種新型的程序生成方法由于是由程序自動生成,因此極大地提高了編程工作的效率。尤其是當(dāng)程序需要修改的時候,原先在更改了I/O清單及設(shè)備清單后還要再次修改程序。而使用了新方法后,則只需要從“新編譯”中即可生成程序。

[1] 吳作明.深入淺出西門子STEP7[M].北京:北京航空航天大學(xué)出版社,2012:2-17.

[2] 任雙艷,邊春元,滿永奎.STEP7開發(fā)基礎(chǔ)及應(yīng)用指南[M].北京:機(jī)械工業(yè)出版社,2009:56-118.

[3] SIEMENS.S7-SCL編程手冊[Z].

[4] 羅剛君.Excel VBA程序開發(fā)自學(xué)寶典[M].北京:電子工業(yè)出版社,2011:12-29.

Create a PLC Program by Uusing SIMATIC STEP7 STL Source File

Zeng Tianxiang
(Shanghai Macroprocess Lustration Technology Co., Ltd., Shanghai 201100)

Current automation field need us to create Siemens PLC program as quickly as possible, a new method that can generate Siemens PLC program by redefined template from I/O list and instrument list automatically is introduced accordingly. This paper analyzes the shortcoming of traditional PLC programming method, by then example of the BMS of the pharmaceutical industry, introduces the concrete implementation steps and required conditions of the new method. The practice proved that the new method can greatly improve the reliability of the program and the programming efficiency and shows that it has broad prospect of application and popularization in automation field.

SIEMENS;PLC program;STEP7; STL source file;VB scripts;AHU

2015-09-06

曾天翔(1979—),男,上海人,工程師,從事工業(yè)自控系統(tǒng)的設(shè)計(jì)及應(yīng)用工作。

猜你喜歡
程序功能設(shè)備
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
試論我國未決羈押程序的立法完善
基于MPU6050簡單控制設(shè)備
電子制作(2018年11期)2018-08-04 03:26:08
“程序猿”的生活什么樣
關(guān)于非首都功能疏解的幾點(diǎn)思考
英國與歐盟正式啟動“離婚”程序程序
500kV輸變電設(shè)備運(yùn)行維護(hù)探討
創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
原來他們都是可穿戴設(shè)備
主站蜘蛛池模板: 午夜精品久久久久久久99热下载| 伊人精品成人久久综合| 国产一级二级三级毛片| 69综合网| 欧美五月婷婷| 欧洲极品无码一区二区三区| 女人爽到高潮免费视频大全| 欧洲成人免费视频| 亚洲色婷婷一区二区| 午夜一级做a爰片久久毛片| 久久综合AV免费观看| 亚洲国产高清精品线久久| 成人精品亚洲| 在线五月婷婷| 熟妇丰满人妻av无码区| 波多野结衣国产精品| 日韩欧美一区在线观看| 九九线精品视频在线观看| 亚洲av无码专区久久蜜芽| 91视频首页| 国产97公开成人免费视频| 国产乱子伦视频在线播放| 国产香蕉在线视频| 国内精品自在自线视频香蕉| 亚洲精品无码不卡在线播放| 91精品国产自产91精品资源| 激情午夜婷婷| 国产区网址| 无码专区在线观看| 成人免费一区二区三区| 国产精品乱偷免费视频| 国产精品私拍99pans大尺度| 91激情视频| 亚洲色欲色欲www在线观看| 97色伦色在线综合视频| 亚洲国产成人无码AV在线影院L| 99久久精品国产麻豆婷婷| 亚洲第一成年网| 欧美在线一二区| 久久黄色小视频| 亚洲中文字幕久久无码精品A| 国内嫩模私拍精品视频| 日韩中文精品亚洲第三区| 亚洲动漫h| 久久精品国产999大香线焦| 中文字幕va| 黄色网站不卡无码| 亚洲天堂视频在线播放| 亚洲精品成人片在线观看 | 欧美午夜视频在线| 污污网站在线观看| 亚洲人成网址| 亚洲人成网18禁| 三级国产在线观看| 国产在线无码av完整版在线观看| 欧洲成人免费视频| 一区二区理伦视频| 国产大全韩国亚洲一区二区三区| 欧美在线精品怡红院| 国产精品久久久久婷婷五月| 沈阳少妇高潮在线| 极品国产在线| 午夜在线不卡| 日韩毛片视频| 国产麻豆福利av在线播放| 草草线在成年免费视频2| 日韩色图区| 国产97视频在线| 人妻少妇久久久久久97人妻| 国产成人综合在线观看| 精品国产成人av免费| 国产99视频在线| 国产大片喷水在线在线视频| 久久久久免费看成人影片| 精品无码一区二区三区电影| 97综合久久| 亚洲日韩欧美在线观看| 青青草91视频| 日本不卡视频在线| 美女无遮挡免费网站| 一本大道香蕉久中文在线播放 | 欧美区一区|