淺談PLC的編程思想及其未來發(fā)展(2)
原創(chuàng)?2017-10-08?HwLib(慧蘭博)?HwLib慧蘭博
4、如何看待PLC編程
目前市場(chǎng)上的PLC品牌眾多兰粉,除了主流的SIEMENS特咆、AB持寄、施耐德召边、三菱、歐姆龍等之外吉挣,還有眾多的二線品牌及國產(chǎn)品牌。在編程語言上婉弹,除了IEC 61131-3規(guī)定的5種之外還有各個(gè)品牌自家的語言睬魂,比如CFC、Graph等镀赌,甚至有的PLC還支持Basic氯哮、C/C++編程。面對(duì)這么多品牌和語言商佛,我們究竟該如何學(xué)習(xí)喉钢?下面我們首先看一段《天龍八部》中的描寫姆打。
本來是數(shù)十人圍攻喬峰的局面,玄難這一出手肠虽,余人自覺在旁夾攻反而礙手礙腳幔戏,自然而然的逐一退下,各人團(tuán)團(tuán)圍住税课,以防喬峰逃脫闲延,凝神觀看玄難和他決戰(zhàn)。喬峰眼見旁人退開韩玩,驀地心念一動(dòng)垒玲,呼的一拳打出,一招“沖陣斬將”找颓,也正是“太祖長(zhǎng)拳”中的招數(shù)合愈。這一招姿式既瀟灑大方已極,勁力更是剛中有柔击狮,柔中有剛佛析,武林高手畢生所盼望達(dá)到的拳術(shù)完美之境,竟在這一招中表露無遺帘不。來到這英雄宴中的人物说莫,就算本身武功不是甚高,見識(shí)也必廣博寞焙,“太祖拳法”的精要所在储狭,可說無人不知。喬峰一招打出捣郊,人人都是情不自禁的喝了一聲采辽狈!這滿堂大采之后,隨即有許多人覺得不妥呛牲,這聲喝采刮萌,是贊譽(yù)各人欲殺之而甘心的胡虜大敵,如何可以長(zhǎng)敵人志氣娘扩,滅自己威風(fēng)着茸?但采聲已然出口,再也縮不回來琐旁,眼見喬峰第二招“河朔立威”一般的精極妙極涮阔,比之他第一招,實(shí)難分辨到底那一招更為佳妙灰殴,大廳上仍有不少人大聲喝采敬特。只是有些人憬然驚覺,自知收斂,采聲便不及第一招時(shí)那么響亮伟阔,但許多“哦辣之,哦!”“呵皱炉,呵怀估!”的低聲贊嘆,欽服之忱娃承,未必不及那大聲叫好奏夫。
為什么同樣的普普通通的太祖長(zhǎng)拳在喬峰手里使出來和玄難使出來就有完全不同的效果呢?這當(dāng)然取決與喬峰的深厚內(nèi)功历筝。那對(duì)于我們PLC工程師來說什么是內(nèi)功酗昼?編程思想!不同的PLC品牌梳猪、不同的編程語言麻削、不同的功能模塊、不同的通信協(xié)議春弥,這些如同武術(shù)中的各門各派呛哟、刀槍劍戟等武器一樣都只能算是工具。限于時(shí)間和精力匿沛,我們不可能去熟悉每一個(gè)工具扫责。通常我們只需熟悉其中的數(shù)樣并注重提升自身的內(nèi)力修為,這樣的話逃呼,當(dāng)工作中需要使用新的工具也可以很快的上手鳖孤!反之如果我們將精力都放在去熟悉不同的工具上,那么就算你把普天下的PLC都玩遍了抡笼,也只是不入流的水平苏揣。
5、什么是編程思想
首先解釋一下“思想”推姻。什么是思想平匈?思想是指客觀存在的,反映在人的意識(shí)中的藏古,是經(jīng)過思維活動(dòng)而產(chǎn)生的結(jié)果增炭,是一切行為的基礎(chǔ)。什么是編程思想拧晕?編程是有目的性的隙姿,它的目標(biāo)是完成一個(gè)或多個(gè)具體的功能或解決一個(gè)或多個(gè)具體的問題,那我們?cè)诰幊袒顒?dòng)中的行為指導(dǎo)原則可以稱之為編程思想防症。
通常我們?cè)诰帉慞LC程序時(shí),步(日系說法)或Network(西門子說法)是PLC程序的最小單元。比如對(duì)于一個(gè)模擬量處理程序蔫敲,我們通常會(huì)先把AI的值讀出來然后自行編寫數(shù)字量到工程量的轉(zhuǎn)換程序饲嗽,或者調(diào)用PLC提供的指令來實(shí)現(xiàn)轉(zhuǎn)換。如果需要實(shí)現(xiàn)超限報(bào)警的話奈嘿,再調(diào)用比較指令來實(shí)現(xiàn)貌虾。完成這些工作,通常需要若干步(Network)裙犹。這些程序(轉(zhuǎn)換和比較)可以放在一起尽狠,比如一個(gè)FC中,也可以將所有的模擬量處理按照轉(zhuǎn)換和比較分別放在不同的FC中叶圃,當(dāng)然也可以分散在整個(gè)項(xiàng)目中袄膏,甚至您可以將所有程序都塞在OB1中〔艄冢總之沉馆,我們?cè)诰幊虝r(shí)并沒有考慮到程序邏輯和數(shù)據(jù)的整體性,而更多考慮的是程序的結(jié)構(gòu)德崭,這種思想我們稱之為面向過程編程斥黑。
換一個(gè)思路,如果我們把變送器看作為一個(gè)對(duì)象眉厨,這個(gè)對(duì)象不僅有過程值锌奴、超限報(bào)警值、故障狀態(tài)(包含溢出及斷線)等憾股,另外還有報(bào)警事件鹿蜀。這樣我們不再著眼于模擬量轉(zhuǎn)換及程序結(jié)構(gòu)(當(dāng)然也要考慮,不過不再是重點(diǎn))荔燎,而是從對(duì)象層面來看待它耻姥,變送器、閥門有咨、泵等等琐簇,這些都是一個(gè)個(gè)的對(duì)象。以變送器為例座享,通過合理設(shè)計(jì)婉商,這個(gè)對(duì)象可以適用于任何類型的變送器,無論是流量渣叛、壓力或是PH計(jì)丈秩,這種思想我們稱之為面向?qū)ο缶幊獭?/p>
隨著PLC功能的越來越強(qiáng)勁,它可以調(diào)用Simulink或是C/C++編寫的模塊淳衙,這些模塊通衬⒒啵可以是一個(gè)模型或者某些功能的具體實(shí)現(xiàn)饺著,它們通過接口和外部程序交互。相比于面向?qū)ο蟪ι鼈兊牧6瓤梢愿笥姿ァ_@種思想我們稱之為面向組件編程。
圖二 項(xiàng)目架構(gòu)
未完待續(xù)
HwLib(慧蘭博)公眾號(hào)
專注于SIMATIC TIA高端編程應(yīng)用
HwLib(慧蘭博)微信號(hào)