從一份用戶調查看PLC程式語言和編程平臺的現狀和趨勢

2020-11-20 工控參考

2019年PLCopen國際組織和美國的automation.com網站聯合進行了PLC用戶編程偏好的調查。總數為200個響應者絕大部分來自北美和歐洲。調查的結果反映了PLC編程的趨勢,以及用戶對PLC編程軟體供應商的一些想法和意見。這些對我國的自動化領域的發展,特別是以PLC為主要手段開發工業控制系統的工程師們也有一定的參考價值。


一、用戶喜歡用哪些程式語言?


圖1是用戶喜歡用哪些程式語言的調查結果。用得最多的是結構化文本語言,其次是梯形圖,再次是功能塊圖,第四是順序功能圖,其它程式語言位居最後,在其它程式語言中用的最多的是C/C++語言。


從用戶這些語言的偏好看,可以得出以下結論:

(1)各種程式語言運用的差距並不大,沒有特別多的,即使居第一的結構化文本也不過比居於第五的其它語言多得有限。

(2)明顯可見,用戶對於面向對象的語言如結構化文本語言和C/C++語言更為青睞。這反映了在智能製造和工業網際網路的應用中面向對象的程式語言更能滿足用戶編程的需求。

(3)許多PLC的編程環境支持用C/C++語言編寫功能塊。


圖1 用戶採用PLC程式語言的調查結果


為什麼這次調查沒有列出指令表(IL)語言呢?


這是因為在2012年更新的IEC 61131-3 V.3程式語言國際標準規範中,雖然還保留了IL語言,但已經有提議將將它從5種程式語言中剔除。隨著時間的推移,使用這種類似彙編語言的IL對PLC編程的人越來越少,幾乎失去了存在的價值。


這裡順便指出,結構化文本語言ST在國內的普及程度很差。有一個原因是某些在國內應用相當廣泛的小型PLC不支持ST編程,影響了它的推廣使用。面向對象的編程OOP正在隨著智能製造和工業網際網路的需求快速地發展,而IEC 61131-3規範的5種程式語言中ST是最容易實現OOP的。因此,這一傾向值得重視。如果我們國家繼續沿著按某些自動化公司的PLC產品機型進行工科教育,那麼在PLC的開發和應用方向上將永遠步少數幾個工業發達國家的後塵,很難有翻身的機會。


二、編程的熟練程度


從調查的結果看,熟練掌握梯形圖語言和結構化文本語言的比例較高,熟練掌握功能圖語言次之,熟練掌握順序功能圖語言的比例較低。而不了解順序功能圖語言的比例最高。


看起來結構化程度很高、而且最適宜表達順序工藝,工藝與編程對應得最好(也即程序的可讀性最好)的順序功能圖語言,在歐美普及程度不算高。這也令人有所不解。


源於法國的這種PLC程式語言獲得了一些專業組織青睞,譬如美國OMAC推的PackML就重點選擇了SFC作為包裝行業的程式語言,符合順序控制工藝的機械加工和批處理加工的比比皆是,為什麼SFC的使用者不多呢?一種可能性是被調查的樣本還不夠多,或者說被調查的細分行業還不夠全。


圖2 掌握程式語言的熟練程度


三、對PLC編程軟體平臺的要求


調查從軟體的可靠性、軟體的易用性、不同供應商軟體平臺所編制的應用軟體的移植性、I/O配置軟體和不同供應商的PLC控制器之間的通信等5個方面徵詢意見。


結果不出所料,認為軟體可靠性好和很好的佔大多數,認為軟體的易用性中等和好的佔大多數,認為應用程式移植性差、較差和中等的佔大多數,認為I/O配置軟體中等和好的佔大多數,認為不同供應商PLC控制器間的通信差和中等的佔大多數。


這些調查結果實事求是地反映了當前PLC編程軟體和平臺的現狀,表明不同軟體和平臺開發出來的應用軟體的移植性遠遠達不到最終用戶的要求,這也是單純基於IEC 61131-3的開發軟體和平臺難以基本解決的問題,更遑論徹底解決的問題。


看來要解決這一問題需要另闢蹊徑,譬如說美國開放流程自動化系列標準OPAS正在開發以IEC 61499為依託的應用程式的移植性,已經取得了實驗室的驗證,進一步需要進行工業實踐的驗證。


圖3 用戶對軟體平臺的評價


四、流程控制採用PLC呈現增長趨勢


這次調查有一個出乎所料的結果就是,PLC在流程控制領域中的應用呈現增長趨勢,超過73%的被調查者反映他們採用PLC進行流程控制,而採用DCS在流程控制中的只佔27%左右(見圖4)。當然,規模巨大的流程控制(如I/O點接近10萬點或超過10萬點,非DCS系統莫屬,在這方面PLC系統還有很長的路要走。


PLC在流程控制中的應用超過DCS,估計原因有幾個方面:


一是PLC的性價比遠超DCS,在PLC能滿足流程控制的系統要求的時候,選擇PLC的投入要顯著的少,維護成本也隨之下降。

二是PLC的性能有較大的提升,在一定的成程度上可以替代DCS的功能。

三是調查樣本有可能不夠全,參與調查的以流程控制為主的企業不夠多。


圖4 PLC在流程控制中的應用超過DCS


五、調查中許多用戶的想法和留言


編程軟體和編程平臺的用戶在調查中通過額外的留言反映了他們的想法和意見,他們希望PLC的供應商在其編程軟體方面能更好地滿足用戶的需要。下面按有關的題目分門別類的闡述。


應用軟體的移植性問題

有用戶認為,採用PLCopen的XML規範來解決多個軟體供應商的移植性問題,看來不太可能真正付諸實現,或者總是難以適當地正常地運行。 最好是供應商現在能夠為編程環境提供開放的腳本語言的接口,在這樣的環境下代碼轉換和自動操作比較容易進行。


關於編程平臺的相互交叉兼容性的問題,有用戶認為應該引起重視。但另一種意見則認為,一般的PLC供應商和開發商都難以與他們的競爭對手合作,試想將一根乙太網網線從羅克韋爾的ControlLogix PLC上接到西門子的S7-400的乙太網口,想像得到如果能夠真能通信起來,這豈不是滑天下之大稽嗎。顯然用戶對移植性的問題是不抱太大的希望的。不過,希望已經開發的代碼能夠實現更多的交叉移植性,一直是用戶希望解決的事情,但至少到目前為止,這還是沒有很好的解決方案。


OPC UA


有用戶認為,完全接受OPC UA的支持這種可能性實屬異想天開,真正實現的可以說是鳳毛麟角。也有用戶提出,應該能夠定義自己的信息模型和採用其它的標準信息模型(如PackML和其它)。


有一個用戶提出很好的建議,PLCopen的IEC 61131-3的OPC UA信息模型應該完全發揮結構化文本語言ST面向對象編程(OOP)的性能。這樣用OPC UA通信應該實現起來就簡單了,只要一個接口便可以在OPC UA網絡中點開一個實例,接著按程序中的一個對象(功能塊FB)那樣進行處理。這樣最終得到一個面向通信的架構和面向對象的編程。不過我們仍然需要狀態機進行方法的調用。為什麼不這樣做呢?


可靠性

有用戶認為,現在有些PLC編程平臺的集成開發環境IDE往往並不完善,或者有時會出現作業系統藍屏。顯然,可靠性問題出現在現代的集成開發環境內,每個供應商都太忙於將他們的編程環境集成到一個工具中,同時還實現新的喜好性能,而花在提高可靠性方面的投入不夠。希望編程平臺的開發商要認識到,可靠性和可用性問題常常造成最終用戶昂貴的時間損失。


編程特性

關於編程平臺的改善,調查中用戶提出了改進的意見。如在用ST鍵入能時自動完成標籤命名的全部;能給出有意義的出錯信息;文檔能易於存取和能搜索;軟體開發者應該對客戶負責,給予技術支持;在梯形圖編程的框架下允許嵌入複雜的編程;能夠實現由順序功能圖語言自動自動生成代碼;能在編程平臺系統中開放像C/Java的程式語言;文本文件的編譯採用C語言類型的編程工具的方法,具有版本管理、歸檔、管理、實用程序庫,以及轉換為另一種編譯程序/另一種版本/另一種語言的能力。還有用戶提出,採用現代的編程方法和技術,軟體供應商應該有更好的原始碼控制(Git)、單元測試等的知識和集成能力。所謂Git是一種在軟體開發期間跟蹤原始碼變化的分布式版本控制系統,專門用來協調編程人員之間的工作,但也可以用來跟蹤任意組合的文件的變化。


PLCopen和OPC UA的協同


工業4.0和數位化轉型推動著先進的物聯網IoT方法,這就是語義信息模型。工業自動化工業已經在支持建立開放的語義模型,這就是為什麼PLCopen和OPC基金會建立聯合工作組來滿足這一需求。其結果包括IEC 61131-3的OPC UA信息模型標準,以及PLCopen和OPC UA合作開發的IEC 61131-3的OPC UA客戶端功能塊規範和OPC UA服務端功能塊規範。現在還只有很少的編程平臺能夠提供按規範開發的OPC UA的功能塊。


六、後記


自從在國內活躍多年的德國KW公司被菲尼克斯收購後,因發展目標調整的關係,從2019年中開始不再發展基於IEC 61131-3的編程平臺的客戶。於是在國際和國內IEC 61131-3編程平臺市場中3S的CodeSys一枝獨秀,隨之漲價之風盛吹。


國內經過多年的發展,雖然沒有真正具有市場競爭力的有關軟體產品出現,但畢竟一些DCS和PLC的公司(如浙江中控、、和利時、杭州優穩)都擁有自用的編程平臺環境。杭州電子科技大學計算機學院的嚴義、鄔惠峰團隊的CASE平檯曆經十多年的錘鍊和提升,在IEC 61131-3的編程平臺上增加了PLCopen運動控制規範的功能。與此同時,近年在北京和上海都出現了專門以開發IEC 61131-3的編程平臺為目標的公司,規模儘管不大,但由於創業者憑著許多年在這個領域內摸爬滾打的積累的技術,發展的還是有聲有色。我們期待在此工業軟體方向上會出現商品化產業化的突破。


註:本文由作者為《工控百家談》獨家撰稿,如需轉載請與我們聯繫。
作者簡介彭瑜,教授級高工,上海工業自動化儀表研究院技術顧問,PLCopen中國組織名譽主席,工信部智能製造標準化體系建設工作組專家,國家智能製造標準化協調推進組專家諮詢組專家。


相關焦點

  • PLC的程式語言的基本指令系統與編程方法
    目前,還沒有一種對各廠家產品都能兼容的程式語言。如三菱公司的產品有它自己的程式語言,OMRON公司的產品也有它自己的語言。但不管什麼型號的 PLC,其程式語言都具有以下特點:  1、圖形式指令結構:程序由圖形方式表達,指令由不同的圖形符號組成,易於理解和記憶。系統的軟體開發者已把工業控制中所需的獨立運算功能編製成象徵性圖形,用戶根據自己的需要把這些圖形進行組合,並填入適當的參數。
  • 適用於多平臺應用的Kotlin程式語言
    接下來,我們將從近日 Kotlin 的開發商 JetBrains 最新發布的一份《Kotlin Census 2018》的報告中尋找到答案。 註:該報告基於全球 4300 名開發者(不局限於 Kotlin 用戶)。 適用於多平臺應用的 Kotlin 程式語言 何為 Kotlin?
  • 學習PLC編程要不要去PLC培訓班?
    當今社會學習一門技術,是為了提成自己的技能,有了一技之長,才會有更好的平臺去發展自己,更多的選擇空間,學習plc編程也是一樣的,PLC編程到底自學還是去plc培訓班學呢?你只需要考慮清楚這幾個問題。學技術你能依靠誰?
  • 2021程式語言「後浪」趨勢預測
    但如果我們回頭看一下,關於程式語言的變化趨勢仍然值得探討。C 和 Java 算是行業中最古老的兩門語言,目前仍然在行業中佔據一席之地。不過我們也能發現,它們的受歡迎程度呈現一個曲線下降的趨勢。作為一名開發者,Mr Herath 最喜歡的語言是 JavaScript。在一篇 Medium 文章中,他為我們分析了 2021 年可能最受歡迎的幾種程式語言。
  • PLC的程式語言
    PLC是一種由軟體驅動的控制設備,PLC軟體由系統程序和用戶程序組成。系統程序由PLC製造廠商設計編制,並寫入PLC內部的ROM中,用戶無法修改。
  • 開發人員生態系統現狀,首選的程式語言有哪些?
    開發人員生態系統現狀,首選的程式語言有哪些? 接下來,我們將從 JetBrains 最新發布的《2019 開發人員生態系統現狀》報告中一窺究竟。 JetBrains 通過調查全球 7000 名開發者,解析出開發者們在日常軟體開發中最常使用的語言、框架,從而探索各種編程技術的最新趨勢,希望可以幫助更多的開發者獲取適合自己的技能。 過去一年,哪些程式語言被使用?
  • 西門子PLC編程軟體
    西門子plc編程軟體是一款專為西門子設備而專門開發的plc編程軟體。西門子編程軟體中文版的主要為了幫助用戶使用西門子的設備,機械設備需要進行特定的程序才能夠進行工作,這款軟體就是讓你的設備按你的想法去工作。太平洋下載中心為您提供西門子plc編程軟體官方下載。
  • 2021年程式語言趨勢預測:Python和JavaScript仍火熱,Go不可小覷
    作為一名開發人員,Mr Herath 最喜歡的語言是 JavaScript。他在Medium上的一篇文章中為我們分析了 2021 年程式語言趨勢。調查結果顯示Python繼續領先,而JavaScript和Go分別位於第二和第三位。但是這是在2019年進行的調查,作為一門快速增長的語言,Go的受歡迎程度正在瘋狂增加。Mr Herath 認為統計數據可能會在2020年發生變化。
  • 2021年程式語言趨勢預測:Python和JavaScript仍火熱,Go不可小覷
    作為一名開發人員,Mr Herath 最喜歡的語言是 JavaScript。他在Medium上的一篇文章中為我們分析了 2021 年程式語言趨勢。調查結果顯示Python繼續領先,而JavaScript和Go分別位於第二和第三位。但是這是在2019年進行的調查,作為一門快速增長的語言,Go的受歡迎程度正在瘋狂增加。Mr Herath 認為統計數據可能會在2020年發生變化。
  • 西門子S7-300系列PLC的指令系統和編程規則
    STEP7是與西門子公司SIMATIC S7系列plc相配套的支持用戶開發應用程式的軟體包,在STEP7中,S7系列PLC的程式語言非常豐富,有LAD(梯形圖),STL(語句表),SCL(標準控制語言
  • 西門子PLC編程,STEP7組態通信與用戶程序下載,高手勿進!
    到了該介紹西門子plc利用STEP7軟體編程時,組態通信和下載用戶程序方法的時候了。為了實現plc與計算機的通信,一般採用PC/PPI多處扇電纜或USB/PPI多主站電纜,PC/PPI多主站編程電纜,用於plc與RS 232埠的計算機通信,現在的筆記本電腦幾乎都沒有RS 232埠,臺式計算機有RS 232埠的也越來越少,所以這種編程電纜用的很少,用的最多的是實現USB-RS485埠轉換的USB/PPI多處站編程通信電纜,市面上有很多國產的,與西門子產品兼容的USB電纜,它們實際上是
  • 西門子PLC編程軟體下載_西門子PLC編程軟體官方免費下載「中文版...
    西門子plc編程軟體是一款專為西門子設備而專門開發的plc編程軟體。西門子編程軟體中文版的主要為了幫助用戶使用西門子的設備,機械設備需要進行特定的程序才能夠進行工作,這款軟體就是讓你的設備按你的想法去工作。太平洋下載中心為您提供西門子plc編程軟體官方下載。
  • 2018程式語言發展趨勢,Java很穩,Python潛力股
    而這些技術的核心部分就是程式語言。國外一位技術愛好者 Ben 整理了一份最流行和最具影響力的程式語言清單,可以幫助開發者更好的預測 2018 年的程式語言發展趨勢,同時,有針對性地選擇和加強程式語言學習。
  • 專業解讀PLC編程中斷的原理和用法
    plc這樣理解中斷功能,在理解中斷時,首先要清楚plc的運算周期或者說是掃描周期,有必要說下plc順控循環執行的流程,這是理解中斷的前提,必須要掌握,分為三部分,輸入處理、程序處理、輸出處理、 1、輸入處理,可編程控制器在執行程序前,將可編程控制器的所有輸入端子的ON/OFF狀態讀入輸入映像區
  • 2021 程式語言「後浪」趨勢預測:崛起最快的竟然是它?
    但如果我們回頭看一下,關於程式語言的變化趨勢仍然值得探討。C 和 Java 算是行業中最古老的兩門語言,目前仍然在行業中佔據一席之地。不過我們也能發現,它們的受歡迎程度呈現一個曲線下降的趨勢。 作為一名開發者,Mr Herath 最喜歡的語言是 JavaScript。
  • 2021程式語言趨勢預測:JavaScript、Python熱度不減,但崛起最快的...
    此外,Go 語言也是不容忽視的後起之秀。轉眼 2020 年已經過去了 8 個月,但對 2020 年的預測似乎並未結束。對於軟體開發從業者來說,這個行業時刻發生著變化,很多技能出現然後又消失,退場速度甚至遠超人們的想像。但如果我們回頭看一下,關於程式語言的變化趨勢仍然值得探討。C 和 Java 算是行業中最古老的兩門語言,目前仍然在行業中佔據一席之地。
  • 2020年學什麼程式語言就業待遇最好?
    比較程式語言是一件非常複雜的事,因此我們創作了很多好玩的圖片或段子用來表達對各種程式語言的定義,本文就以下圖開始吧:下面提供的兩個表格總結了過去五年(2015-2019)裡程式語言的流行趨勢。該數據來自 2015-2019 年的 Stackoverflow 人氣調查。
  • 興衰交替,且看TypeScript和GO語言現狀
    【IT168 評論】本周早些時候,Stack Overflow推出了一個跟蹤程式語言和技術變化的工具,選出程式設計師每月提出的問題數量中排名最靠前的一位,進行調查。最終,這次調查選擇了TypeScript,結果也著實令人印象深刻。
  • 這麼多程式語言,為什麼少兒編程青睞Python和Scratch?
    在家長諮詢少兒編程的問題時,總會被告知要學習Python,Scratch作為入門程式語言,因為他們簡單、易學又好用,然而剩下這麼多程式語言卻甚少被科普。所以現在讓我們來好好了解分析一下,為什麼會有這麼多程式語言被開發出來並且與此同時都各自擁有著不同的用戶群體。
  • 程式語言趨勢預測:Rust 將成為主流,React 繼續統治編程世界
    在程式語言的世界中,並非所有語言都能保持常青。實際上,隨著新生代開發者轉向新的程式語言和框架,很多程式語言的命運也開始出現不確定性。在未來兩年內,整體採用情況又會出現哪些變化呢?本文,Indrek Lasn 對未來兩年內部分程式語言的可能趨勢進行了預測,他同時表示:自己也有可能完全錯了,如果真是這樣,請不要引用本文的內容。但他認為,這些都是將會發生的事情。