一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

PLC程序設(shè)計(jì) | 簡(jiǎn)化程序元素的最佳方式——面向?qū)ο缶幊?/span>

 控制工程中文版 2020-11-07
摘要

面向?qū)ο缶幊?是一種利用對(duì)象、方法和屬性,來(lái)組織和簡(jiǎn)化程序元素的最佳方式。

最新發(fā)布的IEC-61131-3標(biāo)準(zhǔn)更新包括面向?qū)ο缶幊蹋∣OP)語(yǔ)言。雖然面向?qū)ο缶幊淌歉叽笊系男g(shù)語(yǔ),但它其實(shí)是關(guān)于組織和簡(jiǎn)化的。組織是指程序元素進(jìn)行分組以及分組所采用的機(jī)制。組織良好的程序更直觀(guān)和更易于使用。面向?qū)ο蟮奶卣髦荚诟纳坪痛龠M(jìn)健全的組織項(xiàng)目。簡(jiǎn)化是指向外部世界提供簡(jiǎn)化的接口。封裝之下,對(duì)象內(nèi)部的復(fù)雜細(xì)節(jié)則保留在程序中。

何為對(duì)象?

編程中的“對(duì)象”,就是將功能和數(shù)據(jù)整合在一起,用其來(lái)實(shí)現(xiàn)對(duì)實(shí)際設(shè)備、過(guò)程和其它結(jié)構(gòu)的狀態(tài)和行為的建模。在IEC 61131-3標(biāo)準(zhǔn)中,對(duì)象是帶額外特性的功能塊。功能塊可以定義方法和屬性,從而可以進(jìn)一步劃分代碼和擴(kuò)展接口。方法和屬性可以使用任何IEC-61131-3語(yǔ)言來(lái)實(shí)現(xiàn)。語(yǔ)言的選擇在每個(gè)方法或?qū)傩缘幕A(chǔ)上確定,這使其很容易根據(jù)環(huán)境來(lái)使用最適合的語(yǔ)言。

示例項(xiàng)目包含一個(gè)功能塊,該功能塊實(shí)現(xiàn)一個(gè)簡(jiǎn)單的加/減計(jì)數(shù)器(如圖1所示)。在其它面向?qū)ο缶幊蹋∣OP)語(yǔ)言中使用的“類(lèi)”,是“函數(shù)功能塊”的同義詞。兩者的定義都必須在使用前進(jìn)行實(shí)例化。類(lèi)的實(shí)例或功能塊被稱(chēng)為“對(duì)象”。

圖1:該示例工程包含了一個(gè)簡(jiǎn)單的增/減計(jì)數(shù)器的功能塊。圖片來(lái)源: Mitek 自動(dòng)化

定義方法

“方法”,是能夠訪(fǎng)問(wèn)所定義的函數(shù)塊內(nèi)部數(shù)據(jù)和參數(shù)的函數(shù)。它們也可以有輸入、輸出參數(shù)和返回值,這和普通函數(shù)一樣。

方法,可以用梯形圖來(lái)定義。當(dāng)輸入?yún)?shù)為“真”時(shí),計(jì)數(shù)器遞增,最后達(dá)到一個(gè)最大值。在功能塊的主體中,定義PMaxCount和Count參數(shù)。由于方法可以訪(fǎng)問(wèn)功能塊的數(shù)據(jù)和參數(shù),方法內(nèi)部就可以使用PMaxCount和Count參數(shù)。返回值被寫(xiě)入到CountUp,它是方法本身的名字。

在方法中定義NotMax變量,并將其分配給方法的調(diào)用堆棧。這意味著,前一個(gè)運(yùn)行周期的變量值不會(huì)保持。在功能塊主體中定義的變量被分配到內(nèi)存中,并在不同的運(yùn)行周期中保持一致。

另一種方法是定義遞減計(jì)數(shù)器,比如使用結(jié)構(gòu)化文本語(yǔ)言來(lái)實(shí)現(xiàn)。當(dāng)輸入?yún)?shù)為“真”時(shí),計(jì)數(shù)器遞減,直到減為零為止。Count 是功能塊的輸出參數(shù),并將返回值寫(xiě)入變量CountDn,這也是方法的名稱(chēng)。此方法提供了一種簡(jiǎn)單方便的方法,將整個(gè)程序分解成更小、更易于管理的程序塊。這種設(shè)計(jì),更易于匹配不同的語(yǔ)言。

從函數(shù)塊本體調(diào)用這些方法,是很簡(jiǎn)單的事情(如圖2所示)。由于這些方法是使用關(guān)鍵字“私有”定義的,所以只能在函數(shù)中調(diào)用它們。使用關(guān)鍵字“公共”定義的方法,也可以在外部調(diào)用。

圖2:用戶(hù)可以從功能塊本體來(lái)調(diào)用這些方法,并使用關(guān)鍵詞作為方法的防護(hù)。

定義屬性

“屬性”是類(lèi)似于變量的函數(shù),可以在表達(dá)式中使用,與使用變量的方法相同。不同于綁定到某個(gè)存儲(chǔ)位置,屬性與get()和set()功能綁定。當(dāng)需要從屬性中讀取數(shù)據(jù)時(shí),就需要執(zhí)行g(shù)et()功能。當(dāng)需要向?qū)傩詫?xiě)入數(shù)據(jù)時(shí),就需要執(zhí)行set()功能。

“公有”與“私有”關(guān)鍵詞,也可以用來(lái)控制屬性的訪(fǎng)問(wèn)權(quán)限。“私有”意味著屬性只能在定義的功能塊內(nèi)部使用?!肮小保瑒t意味著該屬性可用在外部調(diào)用。然而,“公有”與“私有”關(guān)鍵詞也可以用于get()和set()函數(shù)的定義。這就使得該屬性,外部可讀,內(nèi)部可寫(xiě)。

在最基本的形式中,屬性從內(nèi)部變量讀取、或?qū)懭霐?shù)據(jù)。它們的附加功能可用于驗(yàn)證數(shù)據(jù)值或執(zhí)行其它操作。例如,可在程序中添加MaxCount屬性。這允許將最大計(jì)數(shù)設(shè)置為指定的值,且其當(dāng)前值可讀。數(shù)據(jù)通過(guò)MaxCount屬性傳遞給set()和get()函數(shù),就像變量一樣。get()函數(shù)返回功能塊變量PMaxCount的值。set()函數(shù)驗(yàn)證輸入值,以便在將結(jié)果寫(xiě)入PMaxCount之前確保它是一個(gè)正數(shù)。

圖3:重置屬性沒(méi)有潛在讀寫(xiě)操作對(duì)象。

在圖3所示的例子中,在項(xiàng)目中增加了使用梯形圖語(yǔ)言實(shí)現(xiàn)的復(fù)位功能。重置屬性沒(méi)有潛在的讀寫(xiě)操作對(duì)象變量。當(dāng)寫(xiě)入“真”時(shí),執(zhí)行復(fù)位操作。當(dāng)讀取屬性時(shí),計(jì)算表達(dá)式的值,并返回結(jié)果。

值得一提的是,項(xiàng)目結(jié)構(gòu)和組織如何反映到項(xiàng)目樹(shù)中。在項(xiàng)目中,每個(gè)程序、函數(shù)塊、方法和屬性都用一個(gè)節(jié)點(diǎn)表示。雙擊節(jié)點(diǎn),就會(huì)在主窗口的文檔頁(yè)打開(kāi)一個(gè)選項(xiàng)卡。標(biāo)簽可以被移除并以單獨(dú)的窗口顯示。get()和set()功能都可以單獨(dú)顯示,因此可以用于屬性定義的顯示。

圖4:程序可以像功能塊一樣定義內(nèi)部數(shù)據(jù)、參數(shù)、方法和屬性。

面向?qū)ο蟪绦蛟氐膬?yōu)化

面向?qū)ο蟀ê芏?,但它最根本的目的就是以一種最優(yōu)的方式組織程序元素。對(duì)象、方法和屬性,是實(shí)現(xiàn)這一目標(biāo)的主要手段,對(duì)于理解和掌握這些概念,是最基本的。

項(xiàng)目初期,可采用較小的程序步驟來(lái)組織常規(guī)程序;基于對(duì)象的設(shè)計(jì)可以稍后進(jìn)行。熟悉使用這些技術(shù)以后,會(huì)讓你更容易考慮所有其它的可能性。沒(méi)有理由不做嘗試。

本文來(lái)自于《控制工程中文版》(CONTROL ENGINEERING China )2017年9月刊《技術(shù)進(jìn)展》欄目,原標(biāo)題為:PLC程序設(shè)計(jì):面向?qū)ο缶幊?/span>

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多

    亚洲在线观看福利视频| 色婷婷亚洲精品综合网| 亚洲国产香蕉视频在线观看| 人妻中文一区二区三区| 国产精品九九九一区二区| 一二区中文字幕在线观看| 免费在线播放一区二区| 国产日产欧美精品大秀| 亚洲国产成人精品一区刚刚| 国产午夜精品美女露脸视频| 午夜精品一区免费视频| 日韩成人中文字幕在线一区| 黄色av尤物白丝在线播放网址| 又色又爽又无遮挡的视频| 黄片在线免费看日韩欧美| 欧美中文字幕一区在线| 有坂深雪中文字幕亚洲中文| 中文字幕有码视频熟女| 女同伦理国产精品久久久| 成人精品视频在线观看不卡| 草草视频福利在线观看| 丰满少妇被粗大猛烈进出视频| 精品久久av一二三区| 日本一区不卡在线观看| 加勒比人妻精品一区二区| 97人妻人人揉人人躁人人| 在线免费观看黄色美女| 国产精品成人免费精品自在线观看| 日韩精品亚洲精品国产精品| 日韩欧美一区二区不卡视频| 日韩和欧美的一区二区三区| 青青操视频在线播放免费| 日本和亚洲的香蕉视频| 国产毛片av一区二区三区小说| 亚洲精品深夜福利视频| 五月激情综合在线视频| 不卡中文字幕在线视频| 国产黑人一区二区三区| 91超频在线视频中文字幕| 蜜桃传媒视频麻豆第一区| 好吊日在线观看免费视频 |