【溫馨提示】壓縮包內(nèi)含CAD圖有下方大圖片預(yù)覽,下拉即可直觀呈現(xiàn)眼前查看、盡收眼底縱觀。打包內(nèi)容里dwg后綴的文件為CAD圖,可編輯,無水印,高清圖,壓縮包內(nèi)文檔可直接點(diǎn)開預(yù)覽,需要原稿請(qǐng)自助充值下載,所見才能所得,請(qǐng)見壓縮包內(nèi)的文件及下方預(yù)覽,請(qǐng)細(xì)心查看有疑問可以咨詢QQ:11970985或197216396
附錄 1:外文翻譯
軟PLC 運(yùn)行系統(tǒng)的研究
摘要
基于 PC 機(jī)的自動(dòng)控制系統(tǒng)具有成本低、開放性好、使用方便等優(yōu)點(diǎn),其成為自動(dòng)化技術(shù)的一個(gè)新方向。國際標(biāo)準(zhǔn) EIC61131-3 的制定,不僅使工業(yè)控制在編程語言領(lǐng)域發(fā)展,而且還提供了 PLC 技術(shù)的發(fā)展?fàn)顩r。
本文介紹了軟 PLC 的理論,論述了基于 EIC61131-3 標(biāo)準(zhǔn)的 PLC 的軟件模型和實(shí)現(xiàn),詳細(xì)描述了軟 PLC 運(yùn)行系統(tǒng)和程序的實(shí)現(xiàn)原理,設(shè)計(jì)了基于工業(yè) PC 的軟 PLC 運(yùn)行系統(tǒng)軟件,構(gòu)建了基于工業(yè) PC 機(jī)的系統(tǒng),最后對(duì)軟邏輯控制系統(tǒng)的實(shí)時(shí)性能和軟 PLC 的可靠性進(jìn)行了驗(yàn)證。結(jié)果表明,系統(tǒng)可靠,控制效果良好。
關(guān)鍵詞:軟 PLC;運(yùn)行系統(tǒng);虛擬機(jī);指令系統(tǒng);編程 ;IEC613-311
1. 前言
軟 PLC 技術(shù)是一種基于 PC 機(jī)的新型控制技術(shù),與傳統(tǒng)的 PLC 相比,具有開放的體系結(jié)構(gòu),強(qiáng)大的網(wǎng)絡(luò)通信能力,高級(jí)的數(shù)據(jù)處理能力,能夠滿足現(xiàn)代工業(yè)自動(dòng)化的要求,是目前在工業(yè)自動(dòng)化領(lǐng)域的一個(gè)熱點(diǎn)。
所謂軟 PLC,是以 PC 機(jī)為硬件支撐平臺(tái),利用軟件實(shí)現(xiàn)傳統(tǒng) PLC 的基本功能。將 PLC 控制功能封裝在軟件中,在 PC 機(jī)環(huán)境下運(yùn)行。
該控制系統(tǒng)提供了具有相同功能的 PLC 控制系統(tǒng),但具有 PC 機(jī)的優(yōu)點(diǎn),根據(jù)PLC 的傳統(tǒng)結(jié)構(gòu),將軟 PLC 的實(shí)現(xiàn)分為開發(fā)系統(tǒng)和運(yùn)行系統(tǒng)兩部分。軟 PLC 運(yùn)行系統(tǒng)是軟 PLC 的核心,對(duì)程序進(jìn)行執(zhí)行并對(duì)輸入輸出進(jìn)行處理。
本文介紹了傳統(tǒng) plc 的特點(diǎn)和發(fā)展趨勢(shì),描述了軟 PLC 的體系結(jié)構(gòu)、軟件模型。此外,根據(jù)國際標(biāo)準(zhǔn) IEC61131-3 和西門子 S7-200 的指令集,對(duì)軟 PLC 運(yùn)行系統(tǒng)的設(shè)計(jì)。然后介紹了軟 PLC 運(yùn)行系統(tǒng)的體系結(jié)構(gòu),并對(duì)整個(gè)操作系統(tǒng)進(jìn)行了測試。測試功能表明,系統(tǒng)功能達(dá)到預(yù)期要求,運(yùn)行良好。
2. 軟 plc 的幾種實(shí)現(xiàn)方案
目前,軟 PLC 控制系統(tǒng)有三種方案,一種是傳統(tǒng)的 plc 控制系統(tǒng)。該方案以硬件 PLC 為硬件平臺(tái),定制 PLC 的運(yùn)行系統(tǒng),并鞏固它在 PLC 硬件中的作用。這種控制方案的缺點(diǎn)是運(yùn)行系統(tǒng)是定制的,但是對(duì)某些定制的 PLC 制造,系統(tǒng)維護(hù)和升級(jí)是困難的,不是開放的。第二種控制方案是基于嵌入式的控制器。嵌入式控制器是
- 29 -
一個(gè)超小型計(jì)算機(jī)系統(tǒng),其軟件平臺(tái)是嵌入式操作系統(tǒng)。這種控制方案更適合于小型實(shí)時(shí)控制器。最后一種是基于工控機(jī)(IPC)的控制系統(tǒng)。在這種控制方案中, 系統(tǒng)的軟件平臺(tái)上可以使用 Windows NT 和其他實(shí)時(shí)操作系統(tǒng),在硬件接口中使用一個(gè)通用 I/O 卡和 I/O 端子板(或現(xiàn)場總線卡,和遠(yuǎn)程 I/O 模塊)。基于工業(yè) PC 控制系統(tǒng)的軟 PLC 可以充分利用 PC 機(jī)豐富的軟硬件資源,易于構(gòu)建總線控制系統(tǒng)和網(wǎng)絡(luò)控制系統(tǒng)。本文將研究基于工控機(jī)操作系統(tǒng)的軟 plc。
3. 第一個(gè)國際標(biāo)準(zhǔn)提供標(biāo)準(zhǔn)化編程的 IEC61131-3 標(biāo)準(zhǔn)
IEC61131-3 標(biāo)準(zhǔn)是第一個(gè)為工業(yè)自動(dòng)化和控制系統(tǒng)的軟件設(shè)計(jì)提供標(biāo)準(zhǔn)化編程語言的國際標(biāo)準(zhǔn)。IEC61131-3 標(biāo)準(zhǔn)是基于 IEC 工作組的基礎(chǔ)上被全球制造商的吸收和借鑒的 PLC 編程語言,其形成一種新的國際語言的工作環(huán)境?;?IEC61131-3 標(biāo)準(zhǔn)的軟件模型,如下圖所示。
圖 2 基于 IEC61131—3 標(biāo)準(zhǔn)的軟件模塊
在 PLC 軟件模型與不同硬件的配置下,可以建立多種實(shí)際控制系統(tǒng)。在應(yīng)用軟件設(shè)計(jì)方面,在基于 IEC61131-3 標(biāo)準(zhǔn)的遵循軟件模塊化的原則規(guī)劃設(shè)計(jì)的情況下, 可以將復(fù)雜的項(xiàng)目分解為幾個(gè)獨(dú)立的模塊,每個(gè)模塊將常用的程序分成若干功能單元,這就是程序,功能塊和程序,及封裝了這些單位的部件構(gòu)成了編程的基礎(chǔ)。4.軟 plc 系統(tǒng)虛擬機(jī)的實(shí)現(xiàn)
軟 PLC 運(yùn)行系統(tǒng)是整個(gè)軟 PLC 系統(tǒng)的核心。通過對(duì)整個(gè)系統(tǒng)進(jìn)行管理,對(duì)程序進(jìn)行解釋,并與編程系統(tǒng)進(jìn)行數(shù)據(jù)交換,可以將軟 PLC 運(yùn)行系統(tǒng)的結(jié)構(gòu)分為三個(gè)部分:通信模塊、運(yùn)行核心模塊和 I/O 驅(qū)動(dòng)模塊。這個(gè)工程的方案見圖 3。
運(yùn)行系統(tǒng)的核心是軟 PLC 虛擬運(yùn)行機(jī),其對(duì)應(yīng)用程序進(jìn)行解釋、組織和執(zhí)行。本文主要介紹了軟 PLC 運(yùn)行系統(tǒng)虛擬機(jī)的實(shí)現(xiàn)。
4.1 虛擬機(jī)的工作原理與結(jié)構(gòu)
虛擬機(jī)的本質(zhì)與計(jì)算機(jī) CPU 的硬件相似,其核心功能是重復(fù)獲取值、解釋代碼
和執(zhí)行過程,僅適用于軟 PLC。有些功能由軟件完成,這些功能的實(shí)現(xiàn)分為兩種: 一種是基于寄存器的,這種方法的優(yōu)點(diǎn)是指令執(zhí)行速度快,過程透明,易于調(diào)試; 另一種是基于堆棧的,適合于小程序,其占用內(nèi)存少,調(diào)用功能快。
由于調(diào)用函數(shù)棧的快捷性,本文采用此方案作為虛擬機(jī)的設(shè)計(jì),虛擬機(jī)的功能模塊包括:指令讀取子模塊、指令分析子模塊、邏輯指令子模塊、功能操作指令子模塊等。
4.2 目標(biāo)代碼的制定
圖 4 目標(biāo)代碼、虛擬機(jī)與操作系統(tǒng)的關(guān)系
目標(biāo)代碼是運(yùn)行在虛擬機(jī)中的代碼。在本文所研究的軟 PLC 中,目標(biāo)代碼是在軟 PLC 開發(fā)系統(tǒng)中編譯的二進(jìn)制代碼,并在軟 PLC 運(yùn)行的虛擬機(jī)系統(tǒng)中執(zhí)行完成控制功能。目標(biāo)代碼的關(guān)系與虛擬機(jī)和操作系統(tǒng)示于圖 3。
本文所實(shí)現(xiàn)的軟 PLC 中的配置、資源、任務(wù)和運(yùn)行時(shí)程序等是基于 IEC61131-3 標(biāo)準(zhǔn)的 PLC,一個(gè)配置對(duì)應(yīng)一個(gè) PLC 系統(tǒng),每個(gè)配置都有多個(gè)資源,任務(wù)的概念在資源中有描述。整個(gè)系統(tǒng)是多線程程序,同時(shí)執(zhí)行多個(gè)控制任務(wù)。
目標(biāo)代碼的格式是:在開發(fā)系統(tǒng)中生成的文件是一種形式文件,可以描述系統(tǒng)中的各種配置,編譯器還可以生成運(yùn)行虛擬機(jī)的控制算法。
4.3 虛擬機(jī)指令系統(tǒng)
本文開發(fā)的虛擬指令包括 19 個(gè)基本指令、4 個(gè)功能指令和 3 個(gè)程序控制指令?;局噶畎ǎ篖D,AND,OR,OUT,LDN,ANDN,ORN,ANI,OUTI,LDNI,ORNI,NOT,SET, CLEAR,ALD,OLD;功能包括:TON,TONR,TOF,CONT;控制指令包括:SUBCALL,END, RETURN。
4.4 虛擬機(jī)軟件設(shè)計(jì)
虛擬機(jī)是在實(shí)際處理器中實(shí)現(xiàn)的一種想象型計(jì)算機(jī)。虛擬機(jī)的主要功能是運(yùn)行特 定規(guī)則的描述語言。虛擬機(jī)的一個(gè)重要特點(diǎn)是在計(jì)算機(jī)硬件和軟件之間增加了一個(gè) 硬件的抽象層,當(dāng)將虛擬機(jī)移植到其他操作系統(tǒng)平臺(tái)時(shí),它的應(yīng)用程序不需要更改。
根據(jù)軟件裝配的設(shè)計(jì)思想,將整個(gè) PLC 系統(tǒng)劃分為幾個(gè)獨(dú)立的功能軟件模塊,
模塊間定義了規(guī)范化的接口,各軟件模塊的組成如下所示。
圖 5 軟 PLC 軟件模塊框圖
選用普通PC 機(jī)作為整個(gè)控制系統(tǒng)的硬件平臺(tái),軟件平臺(tái)為WindowsXP + rtx8.0, 通用 I/O 卡作為輸入輸出模塊,其他卡也可以用于處理模擬或數(shù)字信號(hào),本系統(tǒng)使用的卡是研華 PCI-1710 卡。 下面簡要描述虛擬機(jī)的主要功能。首先是 vm_init() 函數(shù)用來初始化系統(tǒng),其主要功能是用來初始化虛擬機(jī)的登記、人工構(gòu)建的空間地址,讀取中間代碼進(jìn)入人工的地址空間,并設(shè)置堆棧指針,初始值的程序指針,空的定時(shí)器和計(jì)數(shù)器等功能。二是 vm_check()是用于驗(yàn)證的目標(biāo)代碼,它的主要功能是用來驗(yàn)證目標(biāo)代碼讀入內(nèi)存的正確性。最后是 vm_main(),vm_main()的主要功能是用來執(zhí)行目標(biāo)代碼。虛擬機(jī)以中間代碼文件形式的第一指令執(zhí)行指令,直到處理完指令,然后虛擬機(jī)完成一次掃描循環(huán)的程序執(zhí)行階段。
5.軟 PLC 運(yùn)行系統(tǒng)的測試
為了全面客觀地評(píng)價(jià)軟 PLC 的性能,需要對(duì)整個(gè)運(yùn)行系統(tǒng)進(jìn)行全面的測試。虛擬機(jī)測試是虛擬機(jī)測試的主要內(nèi)容,包括虛擬機(jī)的實(shí)時(shí)性、準(zhǔn)確性和可靠性。
為了驗(yàn)證虛擬機(jī)的實(shí)時(shí)性,我們使用示波器和系統(tǒng)提供的時(shí)間函數(shù)測試了 2000 種邏輯指令,根據(jù)示波器的閃爍時(shí)間和示波器的電平變化來測試程序的執(zhí)行時(shí)間。
經(jīng)過測試,用于執(zhí)行 2000 個(gè)邏輯指令的時(shí)間為 500 微秒,而普通 PLC 的掃描時(shí)間為毫秒。虛擬機(jī)實(shí)現(xiàn)了實(shí)時(shí)的設(shè)計(jì)目標(biāo)。為驗(yàn)證虛擬機(jī)的可靠性,本系統(tǒng)運(yùn)行時(shí)間長,系統(tǒng)工作可靠,能達(dá)到工業(yè)現(xiàn)場的可靠性要求。
- 30 -