其他自動化工程師都在偷偷學習AI技術,你再不學就落后了!一篇文章教會你使用AI!
哈嘍,大家好,我是小叔。了解小叔的朋友都清楚,我從來都不是標題黨,我只會用美女圖片來吸引你們😂!
話題跑偏了,咱們言歸正傳,今天這個標題絕非是危言聳聽。自從2023年AI大爆發以來,各行各業都面臨著變革,AI已經慢慢的代替部分人的工作,AI翻譯、AI繪畫、AI修圖、AI寫作、AI編程等等,這些技術已經一點點的成熟并且應用到了各行各業!那么AI技術在自動化行業應用到了哪一步呢?
前一段時間在自控圈內熱議的西門子Industrial Copilot上市以后,感覺自動化行業也已經開始變革了,不知道西門子Industrial Copilot是什么的小伙伴,請點擊這里,查看完整信息。
西門子Industrial Copilot不但能編寫SCL語言程序,還能像你的同事一樣幫你查找自動化設備故障。目前我也沒有使用過這款產品,咱也不能下定論具體好用到什么程度。但是從官方的介紹中可以得知:“西門子Industrial Copilot應用了微軟Azure OpenAI 服務中的大語言模型進一步豐富其功能,如增強工廠自動化軟件中代碼的創建和優化等”這句是官方的原話,說白了就是西門子Industrial Copilot也是使用ChatGPT的大語言模型,跟博途TIA結合在了一起,用自然語言通過聊天的方式幫助我們編寫SCL語言程序。
從目前的信息可以得知,這款軟件會將自動化編程的門檻降低。只要學會了如何跟AI溝通,就可以編寫出完整的自動化控制程序。聽起來是不是很哇塞!
但這款產品在哪里使用?怎么才能使用?使用這款產品收不收費?目前沒有介紹。官方目前只提供了一條信息:
西門子 TIA Portal Engineering 工業 Copilot 將于 2024 年夏季開始在 Siemens Xcelerator 市場上提供下載。
2024年夏季離我們也不遠了,我們就耐心等待吧。
雖然西門子Industrial Copilot咱不熟,但是 OpenAI的ChatGPT那我是相當熟悉了!
訪問過小叔的“智控聯盟(點擊進入)”平臺的朋友應該都知道,平臺也集成了一個AI聊天機器人,而這個AI也正是調用的OpenAI的ChatGPT大語言模型。我是在ChatGPT上線后就開始使用了,對GPT的了解已經摸索一年多了,對我個人的幫助很大,除了能幫我編寫博途的SCL程序以外,WinCC的VBS腳本程序、C腳本程序、SQL語言等,都能編寫,實打實的把我的工作效率提升了一大塊,而且在工作中遇到的問題只要問GPT,它都能幫你解決,不用再去到處查資料了,只要問它,它都能告訴你,就像一個隨時在線的高級自控工程師一樣,無時無刻不厭其煩的回答你的疑難問題。
小叔我個人一直覺得,在AI大爆發的時代,我們應該抓住AI這波紅利,不要害怕AI取代我們,反倒是我們應該利用AI幫助我們與時俱進,提高自身能力,利用AI在新的浪潮中站穩腳跟才是王道。
就像是我今天這個標題一樣,學習AI技術是大勢所趨,早學會早收益,越早掌握AI技術,越能在AI大爆發的洪流中立于不敗之地。
所以小叔今天就把這一年來使用AI工具的經驗分享給大家!
提前和大家說清楚,接下來的內容一半是干貨一半是廣告,干貨是實打實的教大家學習AI技術,廣告就是我自己平臺的AI工具,畢竟教學AI技術肯定會用到AI工具,我是肯定會推薦自己平臺的工具的,我相信大家也能理解。
熟悉我風格的人應該清楚,小叔從來都是分享干貨的,從不整一些有的沒的虛無縹緲的概念東西。我的平臺上的AI工具也是一樣,都是實打實的OpenAI原裝的ChatGPT。畢竟要調用人家OpenAI的模型,人家也不能白讓我使用,每次提問和回答問題,OpenAI那邊都是要收費的,收費標準你在OpenAI官網上都能查得到(人家收到可是美元!)
我能做到的就是在我自己平臺不會倒閉的情況下,給到大家最實惠的價格。我相信我的AI工具應該是全網最低的價格了,大家也可以多平臺的互相比較著看看。
本平臺“智控聯盟(點擊進入)”上目前有GPT3.5和4.0兩個模型(目前市面上最好的模型也就更新到4.0),但在這兩種模型的基礎上又延伸出多個版本,如下圖中所示。
有免費使用版本,也有付費版本,付費版本一定是最好的。你可以按充值次數使用,也可以包月/包年使用。
想按次數使用,充值AI幣就可以,GPT3.5回答1次問題消耗1個AI幣(1分錢),4.0回答1次問題消耗10個AI幣(1毛錢)。積分充值有兩種幣種,一個是智控幣,一個是AI幣,充值時一定要看清楚,你要充值的是AI幣。
你也可以充值VIP用戶體驗包月/包年無限制使用,充值VIP用戶(10元包月)可以無限使用GPT3.5所有模型,包括GPT4.0基礎版。
充值高級VIP可無限使用本站內所有GPT模型(包月18元,包年120元,在提供GPT4.0模型服務這塊價格已經是低到極限了)
這里要跟大家說明一下,VIP用戶和高級VIP僅限本站內GPT使用,其他付費產品不能使用。
好啦,AI工具介紹完了,下面我們上干貨!開始AI技術教學!
我們上面也提到了,AI工具編程其實就是跟他對話,用提問的方式從AI口中套出你想要的東西。編程也是如此。
聽起來是不是很簡單,其實操作起來也很簡單,關鍵在于如何提問,也就是說你是否會向AI問問題才是關鍵。
目前我們自動化工程師常用的AI使用方向有3種:1、專業問題求助;2、寫設計方案或報告總結等;3、程序的編寫、解讀和糾錯等。
- 我們先來學習第一個:專業問題求助
我們以GPT3.5-16K模型為例
點擊進入,在輸入問題之前,每個模型的介紹最好都看一下,畢竟特點都不太一樣。開啟新話題前先點擊重置對話(不要擔心重置對話后聊天記錄會消失,系統會保留50條聊天記錄,在每次打開對話框時點擊聊天框上方“點擊加載更多”即可查看聊天記錄),由于此模型支持連續對話,AI會結合上下文回答你的問題,也就是說AI會結合你的聊天記錄來回答你的問題,在更換新話題前需要重置一下,這樣能保證AI不會訪問你上一次的聊天記錄來誤導問題結果,使AI回答更加準確。
假設我們現場調試設備時,發現S7-300PLC故障燈亮起,不知道是什么故障。
千萬不要這樣提問:
提問不具體,GPT回答的就籠統。還是我上面說的,會提問題是才關鍵,你要盡量將問題具體化,越詳細越好,GPT畢竟是機器人,它又不是神,能猜到你腦子里的真實想法。一定要細化你的問題,而且要具體,多提供關鍵字,少說廢話。最好是要在提問之前給GPT設定一個身份,也就是讓它成為你想要請教問題的那個人,并且要明確指出讓它回答你問題的方法和風格。
正確的提問方式:
看到了吧,同樣是一個模型,提問的方式不同,得到的信息就不同。下面我們來逐一分析一下提問的方法和格式。
提問:我希望你充當自動化工程師,幫我解答西門子S7-300PLC的故障問題**(先給GPT一個身份,并明確指定讓它做的事情)。我遇到的故障是:CUP模塊的SF燈紅色亮起,其他燈都正常,PLC現在是停機狀態,一直使用都正常,突然之間報警停機了(詳細描述現在的故障情況,雖然我寫了錯別字,它一樣能明白😂)。什么原因會出現這樣的故障,我應該從那幾個方向來查找故障(*明確提出你的需求*)**。
這樣就得出了一個明確的答案,并且還告訴你排除故障的方法。接下來你就可以根據它告訴你的方法來排除故障了。在排除故障的過程中你還可以實時反饋你遇到的新問題讓它幫你解答。接下來的提問就不需要再給GPT設定身份了,因為這個模型是支持連續問答的。并且它還會結合整個聊天記錄一起分析你的問題。
我們繼續提問:
看到了吧,你給GPT提供的信息越多越具體,他給你反饋的信息就越詳細越精準。你只要按照這樣的方法連續提問,一定會得到你想要的答案的。
如果你發現GPT給你的答案開始變得不準確或者答非所問,那么有兩種可能,第一是你提出的問題有問題,不夠明確或者問題本身就是錯的。第二是GPT出現了“幻覺”,“幻覺”的意思就是GPT在瞎編,沒錯,GPT3.5這個模型是會容易犯錯的,畢竟模型本身和知識儲備數據沒有GPT4.0優越。
如果GPT3.5出現了“幻覺”,那么你可以將同樣的問題發給GPT4就會解決你的問題了。下面是GPT3.5和GPT4的能力差異對比:
對比項 | GPT-3 | GPT-4 |
---|---|---|
參數數量 | 1750億 | 100萬億 |
模式 | 僅文本 | 文本和圖像 |
性能 | 在復雜的任務上表現不佳 | 達到不同基準的人的水平 |
準確性 | 容易出現答非所問和錯誤 | 更加可靠,更符合事實 |
好了,接下來我們來學習第二項
- AI如何寫設計方案和報告總結
這一項就比較簡單了,提問思路和第一個相同,關鍵在于文本字數,由于GPT每次回答都有字數限制(GPT3.5限制1000字左右,GPT4限制2000字左右),所以不可能一次全部寫出你想要的方案或報告。你需要多次提問然后再自己整理。
舉個例子:讓GPT寫一個PLC恒壓供水的設計方案,這次我們以GPT4.0為例,畢竟方案這東西不能亂編,最好還是找個靠譜的“人”來寫。
我們來看一下示范,注意我的提問
1、先給它一個身份,然后明確需求
2、它會給我們列出設計方案的整體大綱,接下來要做的就是根據它給出的大綱細化每一項,這里要注意一下大綱的第一項中提到了“我們需要根據供水系統的具體需求來選擇合適的設備”。這時我們在完善第一項時就要給GPT提供相關數據。
接下來我們就能看到它給我們繼續細化了第一項的內容,我們可以從中挑選對我們有用的內容,讓它繼續細化或者重寫。
你就這樣一點點的引導GPT讓它給你寫出你想要的東西為止。為了保證回答準確,詢問其他幾項內容時,你需要把具體內容再提供給GPT,比如這樣:
看到了吧,我們的方案在一點點的被完善,按照這樣的方法就可以將剩下的幾項內容都完善了,遇到不滿意的地方以同樣的方法引導它修改。是不是很簡單很高效。
這里要注意的是,引導GPT修改和重寫時一定要明確修改具體內容和重寫目的,不然GPT它是不知道你到底要修改什么或重寫到什么程度。
好啦,接下來我們學習最重要的最后一項。
- 程序的編寫、解讀和糾錯
說實話,我用GPT主要就是寫程序和修改程序,真的很好用。
下面我們先來學習程序解讀。比如你看到了一段程序不知道是什么意思,你就可以直接將程序復制給GPT,讓它幫你分析并解釋這段程序。下面我們以GPT3.5為例,因為解釋程序對GPT來說很簡單,不需要用到GPT4(寫程序會用到)。
發送程序時要說明一下這段程序出自哪里,用于幫助GPT更好的分析。
畢竟是GPT3.5的最基礎模型,給出的答案不是很具體,我們還可以將同樣的問題提交給本平臺已經訓練好的自動化工程師,讓它幫我們解答。下面來看看效果。
是不是一下就能看出差異了,雖然都是GPT3.5,訓練過和沒訓練過的是有本質上的區別的。
程序解讀是最簡單的,就是直接把程序丟給GPT就可以了。
程序編寫和糾錯相對來說就要復雜一點,因為GPT3.5自身的能力有限,一些復雜的程序容易寫錯,尤其是工業控制這塊,可能是因為GPT3.5在工業控制這塊的數據量不夠導致的。
所以,寫程序我還是建議使用GPT4.0,經過我的多次驗證幾乎沒有錯的時候,如果發現程序在編譯時報錯或者不好用,很可能是因為你的提問超出了PLC編程軟件或組態軟件的能力范圍或者是超出了軟件的編程規則,導致PLC編程軟件或組態軟件無法實現或無法理解GPT4所編寫的程序。這樣就需要我們一定要了解PLC編程軟件或組態軟件的編程規則和其所能支持的程序結構。
下面我們以GPT4為例,編程用例就用我們剛剛寫的恒壓供水方案來編程。
先是錯誤的示范:
大家可以看到由于你給出的信息不全面,就算是訓練過的GPT4也不能一次就寫出你想要的程序,為了更準確的寫出程序,一定要注意三點:
第一、一定要給GPT詳細而且準確的數據,這一點已經講過很多次了,就不過多講解了。
第二、一套完整的控制程序不是一次就能寫出來的,首先是GPT回答字數的限制,一次回答不可能將全部程序都描述清楚,另一方面,一套完整的控制程序會分多個程序塊來編寫,GPT不能建立各個程序塊之間的連接。
第三,就是盡可能給GPT提供準確的數據,越準確越詳細越好。
所以,正確的方式就是讓GPT分別編寫單獨功能的程序,然后需要你自己再將各個單獨的程序組合起來。
正確的方法如下:
1、指定GPT的工作目標并給GPT提供關鍵數據,一定要提示他不需要讓它回答(不然會占用回復字數)。
2、接下來提出具體程序要求,先讓他編寫第一個控制邏輯程序“讀取壓力值”。
第一個程序這不就寫出來了嗎,但是我們發現它只定義了一個報警輸出位,我們要的是4個報警輸出位,所以這里我們需要讓它調整一下,這種情況就是因為我提問時沒有明確說明造成的,這也是GPT寫程序時經常出現的問題,提問不全面,不具體,造成的結果也是會有偏差的,但是偏差可控。下面我就讓GPT調整一下這段程序,注意我的提問。
這樣就成功了,以下是GPT寫的程序源碼,大家可以參考學習。
FUNCTION_BLOCK FB_PRESSURE_SENSOR
VAR_INPUTInput: INT; //原始模擬輸入(4-20mA)Range_Min: REAL; //工程量范圍最小值Range_Max: REAL; //工程量范圍最大值Alarm_LL: REAL; //下下限報警值Alarm_L: REAL; //下限報警值Alarm_H: REAL; //上限報警值Alarm_HH: REAL; //上上限報警值
END_VAR
VAR_OUTPUTPressure: REAL; //實際壓力值Alarm_LL_Bit: BOOL; //下下限報警位Alarm_L_Bit: BOOL; //下限報警位Alarm_H_Bit: BOOL; //上限報警位Alarm_HH_Bit: BOOL; //上上限報警位
END_VAR
BEGINVARnormalized: REAL;END_VAR//將4-20mA信號轉換為0-1normalized := (Input - 27648) / (32767 - 27648);//將標準范圍0-1轉換為工程量范圍Pressure := Range_Min + normalized * (Range_Max - Range_Min);//設定報警位IF Pressure <= Alarm_LL THENAlarm_LL_Bit := TRUE; //下下限報警ELSEAlarm_LL_Bit := FALSE;END_IF;IF Pressure <= Alarm_L THENAlarm_L_Bit := TRUE; //下限報警ELSE Alarm_L_Bit := FALSE;END_IF;IF Pressure >= Alarm_H THENAlarm_H_Bit := TRUE; //上限報警ELSE Alarm_H_Bit := FALSE;END_IF;IF Pressure >= Alarm_HH THENAlarm_HH_Bit := TRUE; //上上限報警ELSE Alarm_HH_Bit := FALSE;END_IF;
END_FUNCTION_BLOCK
然后將程序上傳到博途就可以了,上傳博途的方法有兩種,一種是一點一點的復制到博途當中,要分批復制,先建立變量,然后再復制程序,另一種就是直接將程序上傳到博途當中,具體步驟我以前做過兩期教學視頻,參考第一種方法點擊這里,參考第二種方法點擊這里。
上傳至博途就是這個樣子滴:
這樣我們就將第一段程序編寫完成,按照同樣的提問方法將后面的程序全部編寫出來。關鍵還是在于如何選擇模型,如何正確的提問,在得到GPT的偏離結果后如何糾正。
由于我們剛剛的程序編寫成功后,再次編寫下一個程序時就需要重置對話了,否則會影響我們結果的準確性。重置完對話后,同樣還是先給GPT提供數據,然后再開始提問。
大家主要看我是怎樣提問的,這個是關鍵。實際上GPT寫wincc的VBS腳本程序是最適合的,畢竟不需要這么麻煩,可以直接復制到wincc中,非常簡單。我也做過一期講解GPT寫wincc的VBS腳本程序視頻,點擊這里查看教程
文章寫到這里公眾號提示我已經快到六千字了,不知道還能不能往下寫了,說實話,寫到這里我也累了,剩下的程序我就不做驗證了,大家自己研究吧。
我們將在未來的知識分享中繼續結合AI技術,與大家一起探討智控行業的最新技術,還請大家多多支持,您隨手的點贊和分享就是支持我堅持下去的最大動力,小叔在這里謝謝大家啦!拜了拜,我們下期再見!