【萬泉河】不完美的三菱PLC標(biāo)準(zhǔn)化示范項目
不完美,是針對倍福來說的。 整個倍福的開發(fā)過程中除了語法和編輯器的障礙,耽誤了一些時間。而在功能上,以及功能實現(xiàn)的方法上,都沒有遇到什么大的障礙,最終的結(jié)果我非常滿意,所以概括以完美。
而近一個月對三菱系統(tǒng)的移植,則可謂坎坷。語法和編輯器自不必說,然而因為有開發(fā)倍福的經(jīng)驗,手里積攢了一些工具功能,稍微調(diào)整,用于三菱也可以用了。
但具體的系統(tǒng)架構(gòu),遇到的問題則是花樣百出,我自己在和微信群友聊天中數(shù)度表示出想打退堂鼓的想法,然而總有眾多朋友期盼,鼓勵做下去。所以才想盡辦法,繞過這些坑,一步步走了出來。
然而這兩天到收官階段,則發(fā)現(xiàn)自己已經(jīng)沒有那種完美主義的追求了。
我對三菱PLC的認(rèn)知,一開始的時候以為它會相當(dāng)于S7-1200,后來發(fā)現(xiàn)遠(yuǎn)遠(yuǎn)不如,那就把它當(dāng)大號的SMART 200吧,又能有多難!畢竟我在SMART中也能把標(biāo)準(zhǔn)化做出來,而且投入到工程應(yīng)用。SMART連靜態(tài)變量和UDT都沒有呢,就硬生生靠對V區(qū)的合理分配,也能實現(xiàn)標(biāo)準(zhǔn)化。
Q系列 PLC算是三菱的當(dāng)家花旦,總不會連SMART 200都不如吧,即便不如,那我就當(dāng)SMART好了,楞干也干出來。
然而真要做了,發(fā)現(xiàn)它系統(tǒng)各種別扭,我在微信群里也提出過各種問題,也跑到各大論壇去搜尋答案, 請教和提問。
然而發(fā)現(xiàn),網(wǎng)絡(luò)上能搜索到的三菱相關(guān)的技術(shù)問題,都是比較淺顯的,都僅局限于某個技術(shù)點的應(yīng)用。 而只要上升到結(jié)構(gòu)化編程,則基本無資料可循。 個別文章,能介紹到怎么建立FB,怎么建立輸入輸出, 怎么調(diào)用這個FB,就已經(jīng)是非常高能了,就已經(jīng)是這個品牌的使用者們達(dá)到了高限了。 而這些,我根本用不到,拿軟件5分鐘就能測試完的功能, 哪需要學(xué)習(xí)呢!
從而也終于理解了總有人比較三菱(日系)PLC和西門子(歐美系)PLC的區(qū)別,區(qū)別在哪里了。這里給出我個人的答案。
簡單說,兩個陣營的區(qū)別就是有沒有結(jié)構(gòu)化功能。即沒有屠龍刀的謝遜和有屠龍刀的謝遜的區(qū)別。
或者說, 你如果在西門子的S7-200的一個MAIN中完成所有邏輯功能,那就基本上相當(dāng)于三菱FX了。 如果在西門子的S7-300中所有程序都在OB1中實現(xiàn),那也大致相當(dāng)于三菱Q。
當(dāng)然,三菱中會有一些各種花樣的變量和指令,會讓你用的比較舒服點。
所以,當(dāng)三菱認(rèn)識到?jīng)]有結(jié)構(gòu)化功能的缺陷, 也硬撐著在其原始架構(gòu)上面實現(xiàn)IEC 61131-3要求的結(jié)構(gòu)化標(biāo)準(zhǔn)功能之后,后臺的各種功能配合也算是出盡了全力。
然后我在實現(xiàn)標(biāo)準(zhǔn)化的過程中,幾乎每走一步,都要遇到資源被耗盡的厄運。 然后不得已,為了減少這種資源損耗,再回過頭修改架構(gòu),修改實現(xiàn)方法,以繞過資源耗盡。
然后這就相當(dāng)惡心了。
本來,它的系統(tǒng)實現(xiàn)標(biāo)準(zhǔn)化就不容易,本來就要做許多改動,你確定一個實現(xiàn)方法之后,卻還要被工程應(yīng)用的規(guī)模限定。 如果系統(tǒng)規(guī)模小,帶的設(shè)備少,就可以順利實現(xiàn)。如果系統(tǒng)規(guī)模大,控制的設(shè)備對象多,就還需要另尋出路。
我做示范項目移植,一直是保持200+的設(shè)備對象,就是想原汁原味的實現(xiàn)一種示范,不至于真到應(yīng)用中發(fā)現(xiàn)做不了。 然而這一次次地打補丁,改變思路,就離原始的初衷越來越遠(yuǎn)了。
假設(shè)有人自己實際要做的項目比較小,拿我給的示范項目來做參考的時候,就會發(fā)現(xiàn)我好像是個精神病一樣,總在做一些多余的多此一舉的工作。如果拿來質(zhì)問我,我就會被問倒,被惡心到。
我在做的過程中,曾經(jīng)一度有想法,是不是要針對大小規(guī)模不同,分別給出不同的實現(xiàn)方式的演示,即同時給出多個版本的示范?
那豈不是亂了套了。本來習(xí)慣于使用三菱PLC的一大票工控工程師,原本對結(jié)構(gòu)化方面都不太熟悉,我再這么變著各種花樣的折騰,非把學(xué)員和我自己都折騰瘋了不可。
所以,思來想去,還是直接推出這種不夠完美的版本吧! 盡量滿足稍大系統(tǒng)的規(guī)模實現(xiàn),而小系統(tǒng)來說,就忍受下實現(xiàn)過程的羅嗦和不直接。 同時也再次提醒各位,在用三菱PLC實現(xiàn)標(biāo)準(zhǔn)化編程的時候,每時每刻都要關(guān)注資源的消耗情況。不要到最后要銜接了, 要聯(lián)機調(diào)試了,才發(fā)現(xiàn)資源不夠用了,那時候可能換PLC都不夠用。那才是真的悲劇了。
另外, 我自己對三菱系統(tǒng)還是不夠熟悉,一些細(xì)節(jié)功能也不打算研究了。 比如參數(shù)的初始值,以及設(shè)定值的掉電保存等,這些在西門子都是一個打勾的問題,在三菱這里好像也需要費一些精力,我就暫時不做了。 有學(xué)員要跟著學(xué)習(xí)三菱PLC標(biāo)準(zhǔn)化,自己需要有一些相關(guān)的技能儲備,要有能力回饋,給我提出一些細(xì)節(jié)的解決方案,我們互相學(xué)習(xí)討論后再想辦法改進,并在以后升級推出更完美的版本。
這也是我定義為不完美的初衷之一。 其它品牌的標(biāo)準(zhǔn)化示范項目都是一次成型,未升級過。 到日系這里,看來要改一改風(fēng)格了。
再趁機借題發(fā)揮解釋下什么叫結(jié)構(gòu)化。
標(biāo)準(zhǔn)化架構(gòu)下的結(jié)構(gòu)化設(shè)計是這樣的:每一個模塊都獨立成型,可以被上級模塊調(diào)用使用的同時,還可以隨時升級改進。 即便底層某個模塊的改進,即便是接口都大改動了,也不過是一次徹底編譯更新就能實現(xiàn)。 而不是說地基都搭好了,底層的地基就不能動了,動了就要徹底推翻重來了。
金字塔是一塊一塊的磚石結(jié)構(gòu)搭建而成,然而它的建造方法不是結(jié)構(gòu)化的。 假如已經(jīng)快到頂層了,設(shè)計師突然決定要更換磚石材質(zhì),從花崗巖換大理石,那就只有徹底拆了從頭重來,斷沒有隨時更換的自由。
所以,當(dāng)你看到同樣有人在講結(jié)構(gòu)化編程的時候,需要多個心眼,多看一看,了解下細(xì)節(jié),結(jié)構(gòu)化與結(jié)構(gòu)化大不一樣。
最后是價格。
憑我自己對三菱系統(tǒng)的技術(shù)貢獻,以及這個項目能帶給同行的效率提升來說,絕對價值超1萬元以上。 然而又體諒大量同行謀生不易,不忍心對那些熱心好學(xué)的同行身上收太多費用,尤其大部分學(xué)員并不能公司報銷,還需要自掏腰包,所以參考以往的標(biāo)準(zhǔn)化系列項目,定價8000元。
然而,不包含培訓(xùn)。 只能自己學(xué)習(xí)+群中提問和討論,我會在適當(dāng)?shù)臅r候群中發(fā)布些講解, 順便發(fā)發(fā)牢騷。
即, 如果買到手后學(xué)習(xí)發(fā)現(xiàn)自己雖然以往對三菱系統(tǒng)非常熟悉,然而發(fā)現(xiàn)每一句程序都能讀懂,整體卻不能理解在干什么。因而需要尋求面對面的培訓(xùn)輔導(dǎo),那需要另外再掏費用。當(dāng)然,建議是在有公司支持的情況下,而且,我也極不希望這樣。
供貨資料內(nèi)容會以一個完整的VMWARE虛擬機, 包含GX WORKS2+WINCC 7.4, WINCC通過MX OPC,直接與仿真PLC通訊,所有通訊已經(jīng)組態(tài)設(shè)置好,開機即可運行,不需要任何硬件,拿到即可學(xué)習(xí)。和上次倍福系統(tǒng)一樣。
我會在近幾天把最后的打包工作搞搞好,力爭力求更完美些。所以預(yù)期會在一周內(nèi)正式發(fā)布。
發(fā)布之前可以有適度優(yōu)惠, 請在公眾號<PLC標(biāo)準(zhǔn)化編程>后臺留言“三菱”獲取當(dāng)天的優(yōu)惠額度。 一旦正式發(fā)布后即不再優(yōu)惠。