資訊 > 正文

克服PLC編程的難題——基于Git的軟件

發(fā)布時間:2024-01-22 作者:Darren Henry



圖片來源:Copia Automation
  一家控制系統(tǒng)集成商使用基于Git的軟件提高了自動化程度,并提升了新員工的入職培訓(xùn)效率和質(zhì)量。
  Git是一種分布式版本控制系統(tǒng),它可以記錄文件的修改歷史和版本變化,并可以支持多人協(xié)同開發(fā)。Git最初是由Linux開發(fā)者Linus Torvalds創(chuàng)建的,它具有高效、靈活、穩(wěn)定等優(yōu)點(diǎn),如今已成為軟件開發(fā)領(lǐng)域中最流行的版本控制系統(tǒng)之一。Git使用一種名為“倉庫”的數(shù)據(jù)結(jié)構(gòu)來保存代碼和它們的變更歷史。每個開發(fā)人員都可以在本地?fù)碛凶约旱膫}庫,并將其與其他人的倉庫同步更新。除此之外,Git還提供了強(qiáng)大的分支和合并功能,可以讓開發(fā)人員在不影響主干的情況下創(chuàng)建和測試新功能。
  自1996年以來,工程咨詢公司DMC一直致力于通過定制的自動化軟件和控制系統(tǒng),幫助客戶提高生產(chǎn)設(shè)施的生產(chǎn)力。他們參與過很多行業(yè)應(yīng)用,如汽車、食品和飲料,甚至海軍戰(zhàn)艦。
  負(fù)責(zé)該公司美國西部自動化業(yè)務(wù)的項目總監(jiān)John Sullivan表示,對服務(wù)的需求從未如此之高?!坝袝r,我們不得不地拒絕合同,因為需求超過了我們快速雇傭和培訓(xùn)控制工程師的能力?!?/div>
  控制系統(tǒng)集成商協(xié)會(CSIA)最近的一項調(diào)查顯示,2021年系統(tǒng)集成工程師的招聘形勢嚴(yán)峻,但整個領(lǐng)域的人員流動率卻高達(dá)16.5%,這也印證了 Sullivan 的判斷。
  最大的瓶頸是培養(yǎng)新人才和有效地利用高級工程師的時間。軟件工程專業(yè)的學(xué)生,學(xué)習(xí)的通常是基于文本的編程語言,而不是專用于機(jī)器自動化的可編程邏輯控制器(PLC)可視化梯形邏輯圖。因此,年輕的工程師需要與經(jīng)驗豐富的導(dǎo)師配對進(jìn)行培訓(xùn),這可能需要幾個月的時間。
  在DMC公司,軟件項目組的大小從一名程序員到25名工程師不等,夏季往往會需要更大的團(tuán)隊,新人可以向經(jīng)驗豐富的同事學(xué)習(xí)。高級工程師的日程很快就被頻繁的設(shè)計審查填滿。到了冬天,隨著大學(xué)畢業(yè)生更有能力獨(dú)立開展工作,小型的團(tuán)隊變得越來越普遍。
  為了簡化其設(shè)計審查過程、版本控制和協(xié)作,他們采用了基于Git的軟件,該軟件可以加速多個PLC編程環(huán)境的開發(fā)。這使團(tuán)隊能夠在相同的文件上工作,而不會有覆蓋他人工作的風(fēng)險。Git分支和合并功能,為梯形圖邏輯編程帶來了與文本語言項目相同的協(xié)作優(yōu)勢。
  帶注釋的可視化檢查功能,提供了易于閱讀、顏色編碼的比較,審核人員無需在原始集成開發(fā)環(huán)境(IDE)中下載和打開文件。

▲圖:通過在網(wǎng)絡(luò)瀏覽器或桌面應(yīng)用程序中顯示PLC梯形圖邏輯,并突出顯示提交之間的變化,
Copia可以加快代碼審查速度。
  01  盡早發(fā)現(xiàn)并修復(fù)錯誤
  PLC編程語言的自動渲染以及在不使用原始IDE的情況下快速可視化變更的能力,大大加快了初級和高級工程師之間的反饋路徑。在領(lǐng)導(dǎo)多個項目時,由于代碼審查速度更快,高級工程師每周最多可以節(jié)省一天的時間。此外,審查比以前更頻繁。Sullivan說道,“在部署或測試之前,我們會發(fā)現(xiàn)更多的錯誤。因為我們總是在合并之前查看可視化代碼,所以我們犯的錯誤也更少。”
  轉(zhuǎn)向基于Git的軟件后,使Sullivan的團(tuán)隊效率大大提高。他說,“雖然在管理項目歷史方面Git本身做得很好,但在審查代碼時就顯得力不從心了。每當(dāng)有人提交代碼變更時,我們的高級工程師都需要打開兩份開發(fā)環(huán)境副本,在兩個平臺之間進(jìn)行比較,并在重新提交之前手動復(fù)制代碼?,F(xiàn)在,我們可以立即看到變更,只需單擊幾個按鈕即可合并這些變更。過去需要45分鐘的過程,現(xiàn)在只需要15分鐘。”
  “成功的關(guān)鍵之一就是要確保擁有最新的代碼。共享同一個資源庫有助于實現(xiàn)這一點(diǎn)?!?/div>
  02  克服自動化編程的難題
  Copia Automation公司基于Git的版本歷史記錄,可以捕獲項目生命周期中的所有編碼變更,允許團(tuán)隊根據(jù)需要恢復(fù)到任何早期版本。編輯歷史對于團(tuán)隊成員了解最新的項目變化非常重要,它也有助于管理困擾DMC公司多年的難題。對于很多企業(yè)來說,挑戰(zhàn)在于:在安裝后很長一段時間內(nèi),如何保持為機(jī)器和系統(tǒng)提供持續(xù)支持的能力。
  Sullivan說:“我最近收到一位客戶來信,該客戶在七年前與我們最后一次合作。負(fù)責(zé)該項目的工程師和經(jīng)理都去世了。始終能夠找到老舊項目的文件非常重要。另外一個客戶設(shè)施遇到電涌,導(dǎo)致其丟失了相關(guān)程序。不幸的是,他們從來沒有保存過它的副本。因此,我們需要獲取舊代碼,并幫助它們重新部署到一組新的硬件上,以便它們能夠恢復(fù)運(yùn)行?,F(xiàn)在,我們團(tuán)隊中的任何人,都能夠在沒有參與該項目的原始工程師參與的情況下,輕松應(yīng)對這些難題。擁有項目整個生命周期的情境信息非常有價值。”
  在一個安全的中央存儲庫中擁有唯一的信息來源,也有助于團(tuán)隊更有效地與制造客戶合作。有些客戶在運(yùn)營設(shè)施時,工程師會定期進(jìn)行小代碼更改。當(dāng)真出現(xiàn)問題時,他們會給出及時反饋。Sullivan說,“我們的工作是介入并幫助客戶解決問題。成功的關(guān)鍵之一是確保我們擁有最新的代碼。共享同一個存儲庫可以做到這一點(diǎn)?!?/div>
  業(yè)界仍然依賴文件名和共享文件夾是一件 "令人尷尬 "的事情。開發(fā)一個精簡平臺,讓程序員可以相互學(xué)習(xí)并開發(fā)單一的信息來源,這對于減少瓶頸和讓年輕工程師在不麻煩高級工程師的情況下學(xué)習(xí)至關(guān)重要?;贕it的軟件幫助他們大大提高了工作效率。
  關(guān)鍵概念:
  ■ 如何培養(yǎng)新人并對其進(jìn)行編程培訓(xùn),是一個主要的挑戰(zhàn)。
  ■ 了解基于Git的軟件如何消除一些潛在的瓶頸。
  ■ 發(fā)現(xiàn)單一信息來源對編程的重要性,以及開放式溝通對團(tuán)隊的好處。
  思考一下:
  如何通過改變PLC編程工作流程來提高自動化水平?

標(biāo)簽:控制系統(tǒng)集成,Git,分布式版本控制系統(tǒng),自動化軟件,PLC

相關(guān)文章