引領(lǐng)未來(lái)的集中控制編程方式
來(lái)源:廣州東來(lái)電子 編輯:ZZZ 2024-04-03 11:24:59 加入收藏
引領(lǐng)未來(lái)的集中控制編程方式
可編程中控以其豐富的控制接口類型、強(qiáng)大的控制能力、完整的邏輯運(yùn)算等功能在設(shè)備的集中控制方面至今仍扮演著重要角色。盡管許多分布式系統(tǒng)也帶有一定的設(shè)備控制能力,但就其綜合控制性能而言,與專業(yè)的可編程中控相比仍有一定差距,這也就是可編程中控在系統(tǒng)集中控制方面仍具有較大的實(shí)際應(yīng)用價(jià)值。
縱觀可編程中控的發(fā)展歷史,可看出在編程方式上經(jīng)歷了由繁到簡(jiǎn)、由抽象到直觀的過(guò)程。90年代初期出現(xiàn)的可編程中控大體是仿照西門子PLC工業(yè)控制模塊的編程方式稍加改造而得到。好處是:技術(shù)成熟、邏輯嚴(yán)謹(jǐn),問(wèn)題是:對(duì)使用者要求較高:例如需要了解各種數(shù)字邏輯模塊的工作原理(類似J-K觸發(fā)器、D-觸發(fā)器、計(jì)數(shù)器、鎖存器、定時(shí)器等等),也就是說(shuō)編程人員至少要懂得“數(shù)字邏輯電路”的相關(guān)知識(shí)才能理解其中各模塊的作用機(jī)制,對(duì)于從未接觸過(guò)PLC編程的人員就存在較高的學(xué)習(xí)成本。隨著編程簡(jiǎn)易化需求的趨勢(shì),出現(xiàn)了以信號(hào)流程圖的方式來(lái)進(jìn)行編程的工具,與之前方式相比將模塊化變成了圖形化,看起來(lái)較為直觀。
編程方式進(jìn)一步的簡(jiǎn)化,就是在相應(yīng)的控制端口處直接填入控制代碼。這在一定程度上來(lái)說(shuō)是最為簡(jiǎn)潔和有效的方法,因此目前越來(lái)越多的中控采用了類似的方法。
編程中最復(fù)雜的莫過(guò)于對(duì)各種反饋信息的處理。目前大多數(shù)均采用了“腳本函數(shù)”+“腳本判斷”的方式,換句話說(shuō),在“腳本”中根據(jù)不同的“條件”,通過(guò)if-else判斷結(jié)構(gòu),來(lái)執(zhí)行不同的“函數(shù)”。嚴(yán)謹(jǐn)、有效。所以基本上絕大多數(shù)中控,在處理反饋的過(guò)程中,都要靠編寫(xiě)“腳本代碼”的方式來(lái)實(shí)現(xiàn)。
問(wèn)題是:編寫(xiě)腳本,實(shí)際上就是要寫(xiě)一段C代碼,簡(jiǎn)單的函數(shù)及判斷功能還比較容易編寫(xiě),但對(duì)于一些更為復(fù)雜的函數(shù)(例如CRC16的效驗(yàn)函數(shù)),是要專業(yè)人員深入了解其算法后,并通過(guò)嚴(yán)謹(jǐn)?shù)倪壿嬤\(yùn)算和程序結(jié)構(gòu)方可編寫(xiě)成功。不代表會(huì)寫(xiě)C代碼就能寫(xiě)出類似這樣的效驗(yàn)函數(shù)。
那么,有沒(méi)有一種簡(jiǎn)單的方法能實(shí)現(xiàn)這些原來(lái)靠寫(xiě)“腳本”所帶來(lái)的功能呢?
答案是有的。
分析一下“腳本”的實(shí)際功能,無(wú)非是:當(dāng)一個(gè)“條件”出現(xiàn)時(shí),判斷該“條件”是否邏輯“真”,為“真”時(shí)調(diào)用函數(shù)1,為“假”時(shí)則調(diào)用函數(shù)2。其實(shí)就是基本的if-else判定結(jié)構(gòu)。
如果做一個(gè)表格:
條件 |
邏輯為“真“ |
邏輯為“假“ |
表達(dá)式 |
M |
N |
這里: 表達(dá)式 --->條件表達(dá)式
M ---->邏輯為“真”時(shí)調(diào)用的函數(shù)編號(hào)
N ---->邏輯為“假”時(shí)調(diào)用的函數(shù)編號(hào)
直接填寫(xiě):表達(dá)式、M、N的表格,不就是達(dá)到了“腳本”的功能了嗎,并且拋棄了腳本。顯然,這要比寫(xiě)腳本代碼方便的多!
要拋棄“腳本”,中控顯然要有更高的處理能力:需要解析表達(dá)式的含義;需要預(yù)先編制一些常用函數(shù)和其他較為復(fù)雜的函數(shù);使用M、N來(lái)取代需要調(diào)用的函數(shù)名稱或一些特定的動(dòng)作名稱。然而,這一切都是可以實(shí)現(xiàn)的??傊?,它提供了一種無(wú)需編寫(xiě)腳本代碼而實(shí)現(xiàn)相同功能的方法。
該方法的應(yīng)用,直接簡(jiǎn)化了中控對(duì)復(fù)雜邏輯運(yùn)算的編程要求,使用表格鏈就可以實(shí)現(xiàn)多個(gè)條件的判斷與執(zhí)行。
表格鏈:
條件 |
邏輯為“真“ |
邏輯為“假“ |
表達(dá)式1 |
M1 |
N1 |
表達(dá)式2 |
M2 |
N2 |
。。。 |
。。。 |
。。。 |
表達(dá)式n |
Mn |
Nn |
這是一種非常容易理解的腳本替代方式,其邏輯的完整性與“腳本”并無(wú)二義。
明確了“函數(shù)”和“腳本”的使用結(jié)構(gòu),要增加各種功能其實(shí)只要編寫(xiě)一些內(nèi)置函數(shù)就可輕松實(shí)現(xiàn):如數(shù)據(jù)轉(zhuǎn)發(fā)函數(shù)、各種CRC效驗(yàn)糾錯(cuò)函數(shù)、自定義變量的運(yùn)算函數(shù)等等。
如果在中控內(nèi)部預(yù)先集成了一些復(fù)雜函數(shù)(各種標(biāo)準(zhǔn)的CRC8、CRC16、CRC32函數(shù)),配合“表格鏈”作一些簡(jiǎn)單的邏輯運(yùn)算,那么就能用最簡(jiǎn)易的方式實(shí)現(xiàn)從簡(jiǎn)單到復(fù)雜的反饋邏輯處理功能。
廣州市東來(lái)電子科技有限公司在業(yè)內(nèi)率先采用了無(wú)腳本編程方式,使得對(duì)中控的編程不再需要專業(yè)人員的介入,完全拋棄類C語(yǔ)言的編程模式,完全拋棄腳本,簡(jiǎn)化了編程過(guò)程,將復(fù)雜的腳本函數(shù)由廠家來(lái)完成并固化,使編程成為 “隨心所欲”的一項(xiàng)輕松工作。
廣州市東來(lái)電子科技有限公司
周建中
評(píng)論comment