生成式 AI 如何簡化復(fù)雜的 PLC 編程?

時間:2025-04-03

來源:控制工程網(wǎng)

導(dǎo)語:生成式 AI 如何簡化復(fù)雜的 PLC 編程?

  與許多其他行業(yè)一樣,機器制造商和系統(tǒng)集成商也在嘗試人工智能(AI)帶來的好處。生成式AI的普及和無處不在的特性也激起了原始設(shè)備制造商(OEM)和集成商工程師的興趣。AI為工程師代碼編程中的實際應(yīng)用帶來了真正的好處,并被應(yīng)用到日常工作流程中。AI工具在某些編程語言中更為先進,而真正的AI增強型可編程邏輯控制器 (PLC) 代碼需要高度定制的生成式AI。

  生成式 AI 將如何影響控制編程?

  生成式 AI 最有可能影響機器制造商和系統(tǒng)集成商的工作。無論是試驗生成式 AI,還是思考和規(guī)劃其在機器本身中的未來潛力,許多人都在從信息技術(shù)(IT)領(lǐng)域汲取靈感。

  系統(tǒng)集成商和 CSIA 會員 A&E Engineering 公司新興技術(shù)發(fā)展總監(jiān) Chris Gibson 表示,“IT 行業(yè)長期以來一直在使用AI來提高程序員的工作效率。我們開始看到這一趨勢也延伸到了控制領(lǐng)域。”

  生成式 AI 應(yīng)被視為助手,而不是完全替代人工干預(yù)或編程工程師。DigiKey公司應(yīng)用工程師Aaron Dahlen將這種關(guān)系描述為指揮家和音樂家的關(guān)系?!熬幊桃呀?jīng)成為一種混合活動,程序員充當指揮,AI 充當音樂家。”Dahlen說。

  “在機器設(shè)計方面,我們看到工業(yè)控制器聯(lián)網(wǎng)以收集數(shù)據(jù)的持續(xù)趨勢。我們還注意到,一些設(shè)計師將數(shù)據(jù)移動到云或本地服務(wù)器,而另一些設(shè)計師則利用現(xiàn)代PLC的功能將計算能力轉(zhuǎn)移到機器的邊緣?!盌ahlen 說,“在 DigiKey,我們已經(jīng)看到這一趨勢反映在我們不斷增長的工業(yè)產(chǎn)品銷售中?!?/p>

  聊天機器人和生成式 AI 工具(如 OpenAI 的 ChatGPT 和谷歌的 Gemini等)越來越受到人們的關(guān)注。大型語言模型(LLM)是一種特定類型的生成式 AI,它使用深度學習模型在大量文本數(shù)據(jù)上進行訓(xùn)練,這些模型使用自然語言處理(NLP)(AI 的另一個子領(lǐng)域)來生成文本。自然語言處理允許LLM通過編碼和處理數(shù)據(jù)來讀取人類語言。

  E Tech Group 制造智能總監(jiān) Pradeep Paul表示,LLM可以被訓(xùn)練并用于解決復(fù)雜的編程問題,但使用LLM進行控制編程將需要大量的代碼示例、代碼文檔,甚至是設(shè)計功能的自然語言描述。這些數(shù)據(jù)使模型能夠?qū)W習語法、常見模式以及代碼與其用途之間的關(guān)系。

  通用LLM還必須針對特定自動化供應(yīng)商平臺或協(xié)議的數(shù)據(jù)集進行微調(diào)或自定義?!斑@種微調(diào)使模型適應(yīng)供應(yīng)商獨特的指令集、庫和最佳實踐,”Paul 補充道,“這解決了專有函數(shù)庫的挑戰(zhàn)?!?/p>

  最后,強化學習可以進一步完善模型?!肮こ處熁蜃詣踊到y(tǒng)可以提供有關(guān)生成代碼的反饋,獎勵模型的正確和有效的解決方案,并懲罰錯誤。這個迭代過程提高了模型的準確性和處理復(fù)雜場景的能力。

  如何在控件編程工作流程中構(gòu)建自定義AI模型?

  經(jīng)過訓(xùn)練后,AI 模型可以在復(fù)雜應(yīng)用程序中節(jié)省大量開發(fā)時間,執(zhí)行代碼生成、自動文檔、代碼錯誤檢測和調(diào)試、代碼優(yōu)化和測試用例生成等任務(wù)。自然語言提示可以生成功能代碼塊,從而減少從頭開始編寫代碼所花費的時間。這對于重復(fù)性任務(wù)或復(fù)雜的邏輯特別有用。

  E Tech Group已經(jīng)試驗了行業(yè)特定的生成式 AI 工具,如羅克韋爾自動化的 FactoryTalk Design Studio 和其他平臺,其工程師仍在學習如何最好地將它們整合到工作流程中,但潛力是巨大的。目前,該公司正在努力將生成式 AI 納入其標準編碼工作流程。“我們維護著一個強大的內(nèi)部代碼庫,通??梢詽M足大約 80% 的項目需求,” Paul補充道,“為了完成部署,我們創(chuàng)建了 AI 驅(qū)動的內(nèi)部工具。”

  這些工具擅長自動執(zhí)行重復(fù)編碼,例如為多個標簽進行模板編程。工程師可以上傳 CSV 文件,而不是手動逐個標簽進行開發(fā),使工具能夠快速生成和復(fù)制必要的編程邏輯,從而節(jié)省大量時間。

  編碼文檔和調(diào)試:使用AI進行編程規(guī)范、測試和調(diào)查

  生成式AI工具還可能有助于生成功能需求規(guī)范(FRS),這些規(guī)范是根據(jù)自動化項目的客戶需求開發(fā)的,然后 E Tech Group 從 FRS 構(gòu)建代碼。但是,定義詳細規(guī)范通常需要初步編碼以鞏固設(shè)計元素。

  “有時,如果不做一些前期編碼來消除設(shè)計組件,就很難構(gòu)建你的功能規(guī)范?!盤aul 說。使用 AI 工具,很容易為其提供一般輸入,它將為功能需求規(guī)范生成一個框架,其中包含所有必需的組件,而無需進行任何示例編碼。

  AI 還可以幫助自動生成測試用例,確保更全面的測試并減少手動創(chuàng)建測試所花費的時間。在FRS之后,工程師編寫測試協(xié)議以測試功能要求和所有功能,AI可以幫助起草測試協(xié)議。

  一般來說,文檔對工程師來說可能是一項乏味但必要的任務(wù),而AI可以幫助從代碼本身生成所需的文檔。E Tech Group 還承擔其他公司啟動的項目或需要集成來自不同供應(yīng)商和設(shè)備的系統(tǒng)的項目,這些項目可能不遵循與其工程師相同的編程實踐。

  生成式 AI 有可能對當前代碼進行一些逆向工程,而不是讓工程師花費數(shù)小時試圖理解舊代碼背后的意圖。它至少可以生成一些文檔和代碼意圖的摘要。E Tech Group 的一些工程師正在使用生成式 AI 工具嘗試對代碼進行逆向工程。

  編寫代碼后,AI可以再次介入以提供幫助?!翱梢杂?xùn)練 AI 模型來識別代碼中的潛在錯誤,提出修復(fù)建議或突出顯示需要審查的區(qū)域。這可以大大減少調(diào)試時間?!? Paul說,“AI 可以分析現(xiàn)有代碼,并針對性能、內(nèi)存使用或可讀性提出優(yōu)化建議?!?/p>

  此外,生成式AI平臺也非常適合與 Python、SQL 或 .NET 等更傳統(tǒng)的編程語言一起使用。例如,E Tech Group還使用這些更傳統(tǒng)的語言為歷史數(shù)據(jù)庫和客戶應(yīng)用程序編程接口 (API) 構(gòu)建接口。ChatGPT 或 Gemini 的基本免費版本非常擅長為那些廣泛使用的語言尋找代碼中的缺陷。

  預(yù)計未來,這些工具將發(fā)揮更多作用,而不僅僅是錯誤檢測,并提供更好的代碼實踐和建議來改進格式。它已經(jīng)減少了用戶對更多主題專家的需求,并為年輕工程師提供了更多工具,以更快地提高他們的編碼技能。

  生成式AI正在幫助年輕工程師磨練他們的編程技能并擴展他們的語言知識。他們可以使用FactoryTalk Design Studio 根據(jù)特定要求開發(fā)代碼結(jié)構(gòu),然后將其與內(nèi)部代碼庫進行比較,了解它們有何不同,以及為什么一個代碼庫比另一個代碼效果更好。

  “我們使用了很多軟件和許多不同的平臺,每個系統(tǒng)都略有不同?!?Paul 說,“這會使應(yīng)用生成式AI進行 PLC 編程變得更加復(fù)雜。對于 PLC 編程,由于每個供應(yīng)商都有自己不同的程序結(jié)構(gòu)和代碼模塊方法,因此很難有一個通用工具來實現(xiàn)這一點。這就是自定義AI 工具的用武之地,但這些工具需要大量時間來開發(fā)。”

  RAG如何提升LLM在PLC編程中的表現(xiàn)?

  不過,對于目前的任何LLM工具, Chris Gibson仍然建議謹慎使用,他認為:“在將生成式 AI 用于PLC編程時,謹慎是必不可少的,因為它可能會而且會產(chǎn)生幻覺,這意味著它可能會生成不正確或誤導(dǎo)性的信息?!彼ㄗh通過檢索增強生成(RAG)AI 系統(tǒng)來創(chuàng)建代碼來降低這種風險。

  RAG 是一個AI框架,它與LLM配合使用,通過搜索更多外部數(shù)據(jù)源并在將信息和提示集成到LLM之前對其進行預(yù)處理,使其更加準確和相關(guān)。

  “RAG 允許您使用特定知識訓(xùn)練AI,本質(zhì)上是為其響應(yīng)設(shè)置護欄。通過向其提供經(jīng)批準的庫和最佳實踐,您可以確保AI生成的代碼符合您的標準?!盙ibson 說。借助RAG,AI可以學習機器規(guī)格和編碼實踐,以協(xié)助生成 PLC、HMI 和 SCADA 代碼。這種新興趨勢會不斷增長,將顯著減少繁瑣、易出錯和重復(fù)的編程任務(wù)。

  傳統(tǒng)的AI基礎(chǔ)模型在離線狀態(tài)下進行預(yù)訓(xùn)練,不包括訓(xùn)練之后出現(xiàn)的數(shù)據(jù)或信息。RAG通過檢索外部數(shù)據(jù)和信息來彌補這些不足。RAG還利用這些信息來豐富提示,提取相關(guān)信息和數(shù)據(jù)并更新原始提示,然后將這個豐富的提示傳遞給LLM。

  程序組織單元如何改進PLC編碼?

  復(fù)雜性是所有編程語言的一個重要考慮因素,Aaron Dahlen表示,AI可以在這方面提供幫助,“將程序解析成較小的程序組織單元(POU)是當今PLC程序員的黃金標準。我們不再構(gòu)建100行的梯形邏輯圖,而是將代碼分解成更小、更易管理的部分?!?/p>

  冗長而蜿蜒的代碼很難構(gòu)建、故障排除和維護?!斑@是一種糟糕的編程做法,在機器的整個生命周期內(nèi)會花費你大量的錢,”他補充道。

  相反,如果代碼被分成幾個較小的 POU,每個 POU 都執(zhí)行一個專用功能,則代碼更容易構(gòu)建和故障排除。“這就是AI作為合作伙伴的優(yōu)勢所在,它可以幫助我們探索內(nèi)部工作和 POU 之間的界限,”Dahlen說?!爸廊魏谓o定的 POU 都很小,AI 通??梢栽诟蟮某绦蛑欣斫?POU 的功能和目的。”

  借助此功能,程序員可以使用生成式AI來優(yōu)化單個POU或整個程序。他們可以闡明POU 的用途并優(yōu)化變量的范圍、結(jié)構(gòu)和名稱。使用已知的編程指標,AI還可以估計程序復(fù)雜性或確定降低 POU 復(fù)雜性的方法。對于任何給定的 POU,都可以通過測量決策點的數(shù)量、嵌套或分層排列以及運算符的總數(shù)來定義復(fù)雜性。

  AI可以通過重構(gòu)或改進代碼幫助程序員使代碼更易于閱讀和維護。Dahlen說,“重構(gòu)的深度取決于具體的項目。有時,它就像更改變量名稱一樣簡單。在其他時候,程序員將做出一個關(guān)鍵發(fā)現(xiàn),從而改變整個項目的結(jié)構(gòu)。這可能是正式代碼審查的一部分,也可以是探索代碼的個人程序員?!?/p>

  需要注意的是,在工業(yè)環(huán)境中重構(gòu)具有挑戰(zhàn)性,因為 PLC 代碼的更改可能需要進行廣泛的驗證測試才能找出意外的錯誤。有時,重構(gòu)以 TODO 語句結(jié)束,以識別將來應(yīng)該更新的代碼。AI 可以協(xié)助完成此過程的許多步驟。

  Dahlen表示,他更喜歡PLC的梯形邏輯編程,部分原因在于梯形邏輯圖是PLC排錯的最佳方法之一。然而,這些AI工具在結(jié)構(gòu)化文本(ST)上表現(xiàn)更佳。“如今,使用ST可以輕松完成這些任務(wù),因為代碼可以在AI和PLC開發(fā)環(huán)境之間復(fù)制粘貼。未來,我們或許能夠使用梯形圖。” Dahlen 說,“想象一下,有一天我們可以與AI對話,然后看到更改被納入梯形邏輯圖中?!?/p>


AI
中傳動網(wǎng)版權(quán)與免責聲明:

凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.surachana.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責任。

如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

關(guān)注伺服與運動控制公眾號獲取更多資訊

關(guān)注直驅(qū)與傳動公眾號獲取更多資訊

關(guān)注中國傳動網(wǎng)公眾號獲取更多資訊

最新新聞
查看更多資訊

熱搜詞
  • 運動控制
  • 伺服系統(tǒng)
  • 機器視覺
  • 機械傳動
  • 編碼器
  • 直驅(qū)系統(tǒng)
  • 工業(yè)電源
  • 電力電子
  • 工業(yè)互聯(lián)
  • 高壓變頻器
  • 中低壓變頻器
  • 傳感器
  • 人機界面
  • PLC
  • 電氣聯(lián)接
  • 工業(yè)機器人
  • 低壓電器
  • 機柜
回頂部
點贊 0
取消 0