萬泉河
WX:ZHO6371995,歡迎+
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 131 個
工控威望: 248 點
下載積分: 836 分
在線時間: 11(小時)
注冊時間: 2021-06-11
最后登錄: 2025-01-14
查看萬泉河的 主題 / 回貼
樓主  發(fā)表于: 前天
0114 【萬泉河】PLC通用編程理論

有沒有想過,PLC行業(yè)有哪些通用編程理論?

在回答這個問題之前,首先要把概念界定清楚。

首先得是所有PLC,行業(yè)內(nèi)所有廠家的都算在內(nèi)。這個理論得能通用于所有品牌所有型號,而不能是只針對其中的某個品牌,某個型號。 那樣的算不上理論,頂多可以算是它家的產(chǎn)品說明書,或者對產(chǎn)品說明書的深度理解應(yīng)用。

其次只能是PLC,不能把PLC之外的外圍工藝算進(jìn)來。外圍工藝有的確實挺難的,但只是那個工藝難,與PLC并沒有什么關(guān)系, PLC頂多是作為一個載體工具實現(xiàn)了他們需要的工藝功能,一方面,這套工藝解法離開了那個行業(yè),如果到了更多應(yīng)用PLC的行業(yè),毫無用處。那就算不上PLC的編程理論。另一方面,同樣的工藝,也完全有可能被人用PLC之外的其他控制器實現(xiàn),比如單片機(jī)MCU, MPU ,DSP , CNC,F(xiàn)PGA,嵌入式,甚至工控機(jī),觸摸屏等都能實現(xiàn),使用了同樣的解法,控制了同樣的工藝設(shè)備,那么就不能稱之為PLC理論。

按照上述的2個標(biāo)準(zhǔn)套下來, 很多大家習(xí)以為常的認(rèn)為的編程理論方法好像都不符合了。

比如卷繞算法。 根據(jù)材料的線速度,角速度,計算直徑,根據(jù)糾偏系統(tǒng)的偏差測量張力,計算估計傳動系統(tǒng)到滾軸的轉(zhuǎn)動慣量,計算和動態(tài)控制速度和張力,這些是這個工藝本身的控制理論方法,掌握了之后可以用PLC實現(xiàn),也可以用單片機(jī)實現(xiàn),更可以用更多的其它的控制器實現(xiàn)。 甚至掌握的好的高手,可以自己開發(fā)專用的控制器,封裝好了以后,作為一個單獨的產(chǎn)品,輸送給全行業(yè)使用。

然后使用者拿到后,不需要懂得其原理,只需要經(jīng)過簡單設(shè)定,甚至連簡單設(shè)定都不需要,系統(tǒng)自動可以識別優(yōu)化參數(shù),然后就把工藝設(shè)備馴服控制到乖乖聽話。這樣的是真高手。 這樣的公司是真的有技術(shù)含量,可以為客戶提供真正的技術(shù)價值。

相似的例子還有PID。這大家就更熟悉了。 很多做PID表的專用廠家,其控制模型當(dāng)然是完全封裝的,不對外的。但其控制效果比我們自己用PLC來寫PID程序塊,哪怕是套用廠家寫好的PID自優(yōu)化功能,控制效果也好很多。

所以這些都不能算到PLC的編程理論里面。

那么還有什么,起保停?狀態(tài)機(jī)?

沒錯,起保停確實是PLC行業(yè)的通用理論。 然而它是PLC的先天基因,甚至比PLC誕生的還早,整個PLC這個產(chǎn)品就是從繼電控制硬件線路發(fā)展來的,即便PLC發(fā)展到今天,更高性能的CPU芯片都用上了,但起保停的理論不變,一直是可以使用的。 當(dāng)然,我也早就寫過文章,分析過PLC編程中的起保停與SR的關(guān)系,以及與高級語言IF THEN 語句的關(guān)系。

而狀態(tài)機(jī),其實本質(zhì)上就是個大號的起保停,或者倒過來說,起保停就是個小號的狀態(tài)機(jī)。只不過狀態(tài)機(jī)的模式狀態(tài)會有13種或者17種,而起保停的狀態(tài)只有區(qū)區(qū)的4種或6種。

所以,你可以用IF THEN寫出來起保停相同的邏輯,但要寫狀態(tài)機(jī)的邏輯,就只能用CASE語句了。 當(dāng)然, 我們倒過來看, 狀態(tài)機(jī)的編程思路是從高級語言學(xué)來的,原本就是從他們的SWITCHE  CASE語句照抄過來的。 還真算不上PLC通用編程理論了。 你總不能說IF THEN是一種編程理論方法吧?同樣的道理。

所以同理,我一直在宣揚(yáng)的面向?qū)ο蟮木幊谭椒ǎ膊荒芩阕鱌LC通用編程理論。 那原本是計算機(jī)軟件編程行業(yè)幾十年前就有的舊貨,我只不過把它成功應(yīng)用到PLC行業(yè),當(dāng)然同時也有更多工程師也在嘗試把它應(yīng)用到PLC中,我只不過是應(yīng)用更早,更徹底,也更領(lǐng)先一步把理論總結(jié)成章,寫成了文章和書,也愿意把真正工程應(yīng)用的案例樣板拿出來分享(非免費)而已。

而其他同行為什么沒有人分享出來同樣有價值的知識呢?是他們不喜歡或是看不到其中存在的價值?還是他們自己做出來應(yīng)用在自己的行業(yè)中已經(jīng)賺得盤滿缽滿不在乎這點了?還是他們行業(yè)實在機(jī)密得很,不方便分享?

要我看,都不是。

我一直想找一些同行的佼佼者,有錢有閑有技術(shù)有能力,然后可以合謀合作做一些事情。 然而一直都找不到。 很多被行業(yè)公認(rèn)的大師高手,其實還是要被日常工作所累,自己自由的時間根本不多。 所以基本上可以否定了前兩條。

而第三條,就更不可能了。 按照本文的觀點,通用的技術(shù)理論方法可以超越于行業(yè)的。 如果所做的設(shè)計有行業(yè)工藝機(jī)密,那可以脫敏后拿出來!甚至可以不針對具體項目,就找一點簡單控制對象, 80個指示燈,80個雙聯(lián)開關(guān),80個模擬量,80,800臺傳送帶電機(jī)等等。

所以,總結(jié)下來, 要把面向?qū)ο蟮姆椒◤氐讘?yīng)用到PLC行業(yè),還不是簡單的了解了庫的封裝,類的派生繼承多態(tài)就可以實現(xiàn)的。 背后還需要一些適用于PLC行業(yè)的專用理論。

除此之外,讀者們是不是很難找到一些符合條件的理論了?

我還真替大家找到了一個:IO映射。

這是一個從名字就可以知道實現(xiàn)方法所有內(nèi)容細(xì)節(jié)的方法理論,雖然淺顯,但確實通用,也被好多同行奉為核心技術(shù)。而恰恰是我一直以來反對使用的技術(shù)。我有寫過好多篇不建議使用IO映射的文章。

但我首先要對很多只熟悉倍福TC2的用戶做個解釋。倍福的PLC使用的CODESYS的內(nèi)核,其硬件組態(tài)和軟件編程是分開的2個軟件。到TC3以后雖說集成到了一起,但本質(zhì)上也還是2家人。

所以,硬件組態(tài)的通道要和軟件系統(tǒng)的變量有對應(yīng)關(guān)系,需要做一一對應(yīng)的映射,名字就叫做IO映射,這是軟件的操作過程。

以往我提到不用IO映射的時候,就有倍福的用戶質(zhì)疑我, 不做IO映射,軟件都無法和硬件物理世界產(chǎn)生關(guān)聯(lián),還如何控制設(shè)備?

是這樣,那些做IO映射的編程方法,是在PLC系統(tǒng)已經(jīng)有IQ變量得到了與物理量的通訊之外,又單獨做了一層IO映射,把數(shù)據(jù)映射到了另外的變量,M, DB 中。 即,對應(yīng)到倍福,他們相當(dāng)于是要做2次IO映射!

我為什么會想到這一點,以及為什么會想到這個話題,是因為我看到了一張圖,一張工控行業(yè)需要掌握的技能的思維導(dǎo)圖:
  


然后我就發(fā)現(xiàn)了,在PLC編程領(lǐng)域,除了我看不上的IO映射之外,整個行業(yè)還沒有什么可以值得學(xué)習(xí)的通用理論。

而煙臺方法,則是填補(bǔ)了這個空白。

我在用煙臺方法實現(xiàn)PLC的標(biāo)準(zhǔn)化設(shè)計編程的同時,打通了許多理論基礎(chǔ)。 然而我又不是太善于總結(jié),理論都三步在許多零零星星的編程技能方法的文章里了。要說有總結(jié),工控行業(yè)五連鞭可以勉強(qiáng)算是了。

萬線圈, 不用MT, 不用交叉索引, 不用IO映射, 抵制UDT。 ……工控行業(yè)五連鞭

這其中恰恰就包含了不用IO映射的理論。

理論的總結(jié)歸納,難度還是比較大的。有的時候做出來容易,但要提煉上升總結(jié)為理論,就很難。 其中一個最大的難題是:理論的命名。

我們在讀書的時候,導(dǎo)師教導(dǎo)我們的,就是反對隨意創(chuàng)造概念,亂命名。 把一些已經(jīng)存在的概念方法,自己套用后再起個標(biāo)新立異的名字,就成了自己的獨創(chuàng)了。 這一點,在經(jīng)濟(jì)學(xué)領(lǐng)域和管理領(lǐng)域,特別常見,也特別討人厭。 一些所謂的行業(yè)大師,專家,其實只不過是PPT大師,創(chuàng)新詞高手而已。

我在前面2篇文章:
1218 【萬泉河】翹空之美--每一個PLC工程師都應(yīng)該了解的真相
0103 【萬泉河】PLC程序塊INOUT管腳的倒置用法

其中的翹空和倒置,都是我新創(chuàng)的詞匯。不是為了獵奇而非要獨創(chuàng),而實在是沒有找到合適的已經(jīng)通行的詞匯。 而正因為此,我才可以宣布這是自己獨創(chuàng)的理論。

其中的翹空,還被人評價用留白比較符合他的認(rèn)知習(xí)慣。

怎么說呢,就相當(dāng)于一個大齡剩女,你可以描述她是獨身主義,也可以描述她是沒人要嫁不出去。 但前者是自己主動選擇的,后者則是被動的。

我們選擇給FB的管腳翹空的時候,是我們主動的選擇,而且以此為美。 而留白的詞匯就顯得蒼白,分明是被錯過,被忽視的感覺。

但不管怎樣,我第一個提出了這個理論方法,那么我就有它的命名權(quán)。 哪怕我名字起的再不合適,后來者也只能遵循沿用。 你哪怕有能力起個再貼切的名字,只要是發(fā)表的理論比我晚,說起來也是照抄了我的理論。甚至自己沒有任何建樹,只是在名稱方面指手畫腳的,就更是沒有什么意義了。

我們知道,工控行業(yè)的工程師里面,有許多是自命不凡桀驁不馴的優(yōu)秀人才。

對于這些人,可以問一句,本文中提到的這些理論,服不服?

我猜,一定會有很多人提出來:不服!

我就最喜歡這樣的能人了。 很簡單, 不服的話,就自己貢獻(xiàn)創(chuàng)造一兩個自己專屬的理論。PLC的入門門檻很低,從事PLC行業(yè)需要的理論也很淺,任何人都很容易對行業(yè)的發(fā)展做出點貢獻(xiàn)。做出來了以后,才可以有底氣說:不服!而在此之前,如果兩手空空,只憑嘴巴不服的話,那這種不服只是自己釋放負(fù)面情緒,是無能的體現(xiàn),并不會得到任何人的尊重。對行業(yè)也更無任何貢獻(xiàn)。  

總結(jié)一下:目前為止,煙臺方法為PLC通用編程貢獻(xiàn)了99.9%的理論。


congrikunge
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 119 個
工控威望: 237 點
下載積分: 1391 分
在線時間: 675(小時)
注冊時間: 2016-04-22
最后登錄: 2025-01-15
查看congrikunge的 主題 / 回貼
1樓  發(fā)表于: 昨天
這廣告打的話
hezhen880924
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 173 個
工控威望: 299 點
下載積分: 890 分
在線時間: 629(小時)
注冊時間: 2013-01-08
最后登錄: 2025-01-15
查看hezhen880924的 主題 / 回貼
2樓  發(fā)表于: 昨天
看不懂這篇文字的價值,我覺得自己經(jīng)歷的項目才是真實的,自己實踐悟出來的才是知識,灌輸?shù)奈淖治盏臓I養(yǎng)不真實。
每個人都有不一樣的工作方式,不能一概而論,一個人得出的經(jīng)驗不一定適用其他人,我一直相信實踐出真知。
17625606414
級別: 家園?
精華主題: 0
發(fā)帖數(shù)量: 455 個
工控威望: 652 點
下載積分: 29 分
在線時間: 181(小時)
注冊時間: 2022-07-11
最后登錄: 2025-01-15
查看17625606414的 主題 / 回貼
3樓  發(fā)表于: 昨天
賣課的
不知道叫啥啊
不恥下問
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 361 個
工控威望: 449 點
下載積分: 2157 分
在線時間: 277(小時)
注冊時間: 2022-04-28
最后登錄: 2025-01-15
查看不知道叫啥啊的 主題 / 回貼
4樓  發(fā)表于: 昨天
講了一堆廢話,總結(jié)就是打廣告
榫卯0000
級別: 正式會員
精華主題: 0
發(fā)帖數(shù)量: 9 個
工控威望: 54 點
下載積分: 38 分
在線時間: 5(小時)
注冊時間: 2025-01-02
最后登錄: 2025-01-15
查看榫卯0000的 主題 / 回貼
5樓  發(fā)表于: 昨天
你應(yīng)該支付我看這篇文章的費用
最好的控制
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 26 個
工控威望: 402 點
下載積分: 85 分
在線時間: 28(小時)
注冊時間: 2023-10-16
最后登錄: 2025-01-15
查看最好的控制的 主題 / 回貼
6樓  發(fā)表于: 昨天
你比某些人好,別人通篇你都不知道他在說什么,說了嗎?如說
你不一樣,看你的文章看最后就行了,看多了都不需要看文章了,看到你名字就知道你要干什么。