亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2015-03-13 05:08:18曾天翔
        機(jī)電信息 2015年35期
        關(guān)鍵詞:源文件數(shù)據(jù)類(lèi)型西門(mén)子

        曾天翔

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

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

        曾天翔

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

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

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

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

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

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

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

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

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

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

        2.1 設(shè)置硬件信息

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

        2.2 建立符號(hào)表

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

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

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

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

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

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

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

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

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

        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)自動(dòng)控制功能,根據(jù)當(dāng)前狀態(tài)決定設(shè)備的控制策略及動(dòng)作;最后,根據(jù)上一步的運(yùn)算結(jié)果,調(diào)用設(shè)備驅(qū)動(dòng)功能和輸出功能,將控制數(shù)據(jù)輸出到輸出模塊,從而控制實(shí)際設(shè)備的動(dòng)作。

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

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

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

        圖2 S7-SCL編程工具

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

        圖1 編程步驟簡(jiǎn)化前后對(duì)比圖

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

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

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

        4.1 方案構(gòu)想

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

        方案示意如圖3所示。

        圖3 方案示意圖

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

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

        4.3 符號(hào)表的自動(dòng)生成

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

        在完成了位號(hào)檢查之后,就可以生成符號(hào)表

        表1 符號(hào)表的自動(dòng)生成運(yùn)行結(jié)果

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

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

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

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

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

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

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

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

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

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

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

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

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

        5 結(jié)語(yǔ)

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

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

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

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

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

        [3] SIEMENS.S7-SCL編程手冊(cè)[Z].

        [4] 羅剛君.Excel VBA程序開(kāi)發(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ù)據(jù)類(lèi)型西門(mén)子
        詳談Java中的基本數(shù)據(jù)類(lèi)型與引用數(shù)據(jù)類(lèi)型
        如何理解數(shù)據(jù)結(jié)構(gòu)中的抽象數(shù)據(jù)類(lèi)型
        網(wǎng)絡(luò)社區(qū)劃分在軟件質(zhì)量問(wèn)題分析中的應(yīng)用
        基于源文件可疑度的軟件缺陷定位方法研究
        西門(mén)子重型燃機(jī)出海
        能源(2017年7期)2018-01-19 05:05:05
        LKJ基礎(chǔ)數(shù)據(jù)源文件自動(dòng)編制系統(tǒng)的研究
        西門(mén)子亮相CIIF201
        西門(mén)子 分布式I/O Simatic ET 200AL
        西門(mén)子引領(lǐng)制造業(yè)的未來(lái)
        誤寫(xiě)C源文件擴(kuò)展名為CPP的危害
        成人无码α片在线观看不卡| 精品国产一区二区三区久久久狼| 欧美黑人粗暴多交高潮水最多| 亚洲旡码a∨一区二区三区| Y111111国产精品久久久| 国产亚洲AV无码一区二区二三区| 成人av天堂一区二区| 在线不卡精品免费视频| 在线观看一级黄片天堂| 小雪好紧好滑好湿好爽视频| 日本一卡2卡3卡4卡无卡免费网站| 国产乱子伦精品免费无码专区 | 日本午夜理论片在线观看| 一本到在线观看视频| 成人欧美一区二区三区在线观看| 99久久婷婷国产综合精品青草免费| 免费少妇a级毛片人成网| 精品久久久久久国产| 久久久久久久久久免免费精品| 国产喷白浆精品一区二区豆腐 | 中文字幕久久精品一区二区| 亚洲一区二区三区免费网站| 国产一区二区三区久久悠悠色av | 亚洲一区二区三区,日本| 国产成人精品白浆久久69| 久久综合精品国产二区无码| 国产综合久久久久影院| 精品国产三级国产av| 精品少妇人妻av一区二区蜜桃 | 亚洲av高清在线观看一区二区| 亚洲精品久久久久久久久av无码| 午夜亚洲www湿好大| 国产精品一区二区三密桃| 日韩视频午夜在线观看| 国产在线播放一区二区不卡 | 麻豆国产原创视频在线播放| 丰满人妻妇伦又伦精品国产| 日本一区二区在线资源| 久久亚洲中文字幕伊人久久大| 极品少妇被黑人白浆直流| 亚洲成人色区|