Git是一種分布式版本控制系統,它可以記錄文件的修改歷史和版本變化,并可以支持多人協同開發。Git最初是由Linux開發者Linus Torvalds創建的,它具有高效、靈活、穩定等優點,如今已成為軟件開發領域中最流行的版本控制系統之一。Git使用一種名為“倉庫”的數據結構來保存代碼和它們的變更歷史。每個開發人員都可以在本地擁有自己的倉庫,并將其與其他人的倉庫同步更新。除此之外,Git還提供了強大的分支和合并功能,可以讓開發人員在不影響主干的情況下創建和測試新功能。
自1996年以來,工程咨詢公司DMC一直致力于通過定制的自動化軟件和控制系統,幫助客戶提高生產設施的生產力。他們參與過很多行業應用,如汽車、食品和飲料,甚至海軍戰艦。
負責該公司美國西部自動化業務的項目總監John Sullivan表示,對服務的需求從未如此之高。“有時,我們不得不地拒絕合同,因為需求超過了我們快速雇傭和培訓控制工程師的能力。”
控制系統集成商協會(CSIA)最近的一項調查顯示,2021年系統集成工程師的招聘形勢嚴峻,但整個領域的人員流動率卻高達16.5%,這也印證了 Sullivan 的判斷。
最大的瓶頸是培養新人才和有效地利用高級工程師的時間。軟件工程專業的學生,學習的通常是基于文本的編程語言,而不是專用于機器自動化的可編程邏輯控制器(PLC)可視化梯形邏輯圖。因此,年輕的工程師需要與經驗豐富的導師配對進行培訓,這可能需要幾個月的時間。
在DMC公司,軟件項目組的大小從一名程序員到25名工程師不等,夏季往往會需要更大的團隊,新人可以向經驗豐富的同事學習。高級工程師的日程很快就被頻繁的設計審查填滿。到了冬天,隨著大學畢業生更有能力獨立開展工作,小型的團隊變得越來越普遍。
為了簡化其設計審查過程、版本控制和協作,他們采用了基于Git的軟件,該軟件可以加速多個PLC編程環境的開發。這使團隊能夠在相同的文件上工作,而不會有覆蓋他人工作的風險。Git分支和合并功能,為梯形圖邏輯編程帶來了與文本語言項目相同的協作優勢。
帶注釋的可視化檢查功能,提供了易于閱讀、顏色編碼的比較,審核人員無需在原始集成開發環境(IDE)中下載和打開文件。
▲圖:通過在網絡瀏覽器或桌面應用程序中顯示PLC梯形圖邏輯,并突出顯示提交之間的變化,Copia可以加快代碼審查速度。
01
盡早發現并修復錯誤
PLC編程語言的自動渲染以及在不使用原始IDE的情況下快速可視化變更的能力,大大加快了初級和高級工程師之間的反饋路徑。在領導多個項目時,由于代碼審查速度更快,高級工程師每周最多可以節省一天的時間。此外,審查比以前更頻繁。Sullivan說道,“在部署或測試之前,我們會發現更多的錯誤。因為我們總是在合并之前查看可視化代碼,所以我們犯的錯誤也更少。”
轉向基于Git的軟件后,使Sullivan的團隊效率大大提高。他說,“雖然在管理項目歷史方面Git本身做得很好,但在審查代碼時就顯得力不從心了。每當有人提交代碼變更時,我們的高級工程師都需要打開兩份開發環境副本,在兩個平臺之間進行比較,并在重新提交之前手動復制代碼。現在,我們可以立即看到變更,只需單擊幾個按鈕即可合并這些變更。過去需要45分鐘的過程,現在只需要15分鐘。”
“成功的關鍵之一就是要確保擁有最新的代碼。共享同一個資源庫有助于實現這一點。”
02
克服自動化編程的難題
Copia Automation公司基于Git的版本歷史記錄,可以捕獲項目生命周期中的所有編碼變更,允許團隊根據需要恢復到任何早期版本。編輯歷史對于團隊成員了解最新的項目變化非常重要,它也有助于管理困擾DMC公司多年的難題。對于很多企業來說,挑戰在于:在安裝后很長一段時間內,如何保持為機器和系統提供持續支持的能力。
Sullivan說:“我最近收到一位客戶來信,該客戶在七年前與我們最后一次合作。負責該項目的工程師和經理都去世了。始終能夠找到老舊項目的文件非常重要。另外一個客戶設施遇到電涌,導致其丟失了相關程序。不幸的是,他們從來沒有保存過它的副本。因此,我們需要獲取舊代碼,并幫助它們重新部署到一組新的硬件上,以便它們能夠恢復運行。現在,我們團隊中的任何人,都能夠在沒有參與該項目的原始工程師參與的情況下,輕松應對這些難題。擁有項目整個生命周期的情境信息非常有價值。”
在一個安全的中央存儲庫中擁有唯一的信息來源,也有助于團隊更有效地與制造客戶合作。有些客戶在運營設施時,工程師會定期進行小代碼更改。當真出現問題時,他們會給出及時反饋。Sullivan說,“我們的工作是介入并幫助客戶解決問題。成功的關鍵之一是確保我們擁有最新的代碼。共享同一個存儲庫可以做到這一點。”
業界仍然依賴文件名和共享文件夾是一件 "令人尷尬 "的事情。開發一個精簡平臺,讓程序員可以相互學習并開發單一的信息來源,這對于減少瓶頸和讓年輕工程師在不麻煩高級工程師的情況下學習至關重要。基于Git的軟件幫助他們大大提高了工作效率。
審核編輯:劉清
-
控制系統
+關注
關注
41文章
6635瀏覽量
110685 -
plc
+關注
關注
5013文章
13327瀏覽量
464064 -
編程語言
+關注
關注
10文章
1947瀏覽量
34815
原文標題:克服PLC編程的難題——基于Git的軟件
文章出處:【微信號:控制工程中文版,微信公眾號:控制工程中文版】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論