淺談PLC的編程思想及其未來發(fā)展(2)
原創(chuàng)?2017-10-08?HwLib(慧蘭博)?HwLib慧蘭博
4、如何看待PLC編程
目前市場上的PLC品牌眾多,除了主流的SIEMENS、AB、施耐德、三菱、歐姆龍等之外,還有眾多的二線品牌及國產(chǎn)品牌。在編程語言上,除了IEC 61131-3規(guī)定的5種之外還有各個品牌自家的語言,比如CFC、Graph等,甚至有的PLC還支持Basic、C/C++編程。面對這么多品牌和語言,我們究竟該如何學(xué)習(xí)?下面我們首先看一段《天龍八部》中的描寫。
本來是數(shù)十人圍攻喬峰的局面,玄難這一出手,余人自覺在旁夾攻反而礙手礙腳,自然而然的逐一退下,各人團團圍住,以防喬峰逃脫,凝神觀看玄難和他決戰(zhàn)。喬峰眼見旁人退開,驀地心念一動,呼的一拳打出,一招“沖陣斬將”,也正是“太祖長拳”中的招數(shù)。這一招姿式既瀟灑大方已極,勁力更是剛中有柔,柔中有剛,武林高手畢生所盼望達(dá)到的拳術(shù)完美之境,竟在這一招中表露無遺。來到這英雄宴中的人物,就算本身武功不是甚高,見識也必廣博,“太祖拳法”的精要所在,可說無人不知。喬峰一招打出,人人都是情不自禁的喝了一聲采!這滿堂大采之后,隨即有許多人覺得不妥,這聲喝采,是贊譽各人欲殺之而甘心的胡虜大敵,如何可以長敵人志氣,滅自己威風(fēng)?但采聲已然出口,再也縮不回來,眼見喬峰第二招“河朔立威”一般的精極妙極,比之他第一招,實難分辨到底那一招更為佳妙,大廳上仍有不少人大聲喝采。只是有些人憬然驚覺,自知收斂,采聲便不及第一招時那么響亮,但許多“哦,哦!”“呵,呵!”的低聲贊嘆,欽服之忱,未必不及那大聲叫好。
為什么同樣的普普通通的太祖長拳在喬峰手里使出來和玄難使出來就有完全不同的效果呢?這當(dāng)然取決與喬峰的深厚內(nèi)功。那對于我們PLC工程師來說什么是內(nèi)功?編程思想!不同的PLC品牌、不同的編程語言、不同的功能模塊、不同的通信協(xié)議,這些如同武術(shù)中的各門各派、刀槍劍戟等武器一樣都只能算是工具。限于時間和精力,我們不可能去熟悉每一個工具。通常我們只需熟悉其中的數(shù)樣并注重提升自身的內(nèi)力修為,這樣的話,當(dāng)工作中需要使用新的工具也可以很快的上手!反之如果我們將精力都放在去熟悉不同的工具上,那么就算你把普天下的PLC都玩遍了,也只是不入流的水平。
5、什么是編程思想
首先解釋一下“思想”。什么是思想?思想是指客觀存在的,反映在人的意識中的,是經(jīng)過思維活動而產(chǎn)生的結(jié)果,是一切行為的基礎(chǔ)。什么是編程思想?編程是有目的性的,它的目標(biāo)是完成一個或多個具體的功能或解決一個或多個具體的問題,那我們在編程活動中的行為指導(dǎo)原則可以稱之為編程思想。
通常我們在編寫PLC程序時,步(日系說法)或Network(西門子說法)是PLC程序的最小單元。比如對于一個模擬量處理程序,我們通常會先把AI的值讀出來然后自行編寫數(shù)字量到工程量的轉(zhuǎn)換程序,或者調(diào)用PLC提供的指令來實現(xiàn)轉(zhuǎn)換。如果需要實現(xiàn)超限報警的話,再調(diào)用比較指令來實現(xiàn)。完成這些工作,通常需要若干步(Network)。這些程序(轉(zhuǎn)換和比較)可以放在一起,比如一個FC中,也可以將所有的模擬量處理按照轉(zhuǎn)換和比較分別放在不同的FC中,當(dāng)然也可以分散在整個項目中,甚至您可以將所有程序都塞在OB1中。總之,我們在編程時并沒有考慮到程序邏輯和數(shù)據(jù)的整體性,而更多考慮的是程序的結(jié)構(gòu),這種思想我們稱之為面向過程編程。
換一個思路,如果我們把變送器看作為一個對象,這個對象不僅有過程值、超限報警值、故障狀態(tài)(包含溢出及斷線)等,另外還有報警事件。這樣我們不再著眼于模擬量轉(zhuǎn)換及程序結(jié)構(gòu)(當(dāng)然也要考慮,不過不再是重點),而是從對象層面來看待它,變送器、閥門、泵等等,這些都是一個個的對象。以變送器為例,通過合理設(shè)計,這個對象可以適用于任何類型的變送器,無論是流量、壓力或是PH計,這種思想我們稱之為面向?qū)ο缶幊獭?/p>
隨著PLC功能的越來越強勁,它可以調(diào)用Simulink或是C/C++編寫的模塊,這些模塊通常可以是一個模型或者某些功能的具體實現(xiàn),它們通過接口和外部程序交互。相比于面向?qū)ο螅鼈兊牧6瓤梢愿蟆_@種思想我們稱之為面向組件編程。
圖二 項目架構(gòu)
未完待續(xù)
HwLib(慧蘭博)公眾號
專注于SIMATIC TIA高端編程應(yīng)用
HwLib(慧蘭博)微信號