虛擬PLC 3分鍾構建虛擬PLC,實現同上位機聯調,真香!!!


本篇文章針對:剛接觸上位機開發和調試的小伙伴們。

長期從事設備采集、設備控制相關的工作,在實際工作中會經常會遇到一些問題,會嚴重的影響上位機軟件開發進度和效率,導致調試周期過長、成本過高。

遇到的問題主要包括:
1、同PLC交互部分的邏輯無法快速的落實;
2、交互邏輯在沒有進場、無調試PLC或PLC不具備的情況下,無法開展工作,無法驗證邏輯;
3、通知進場后,由於各種條件(設備安裝緩慢、設備問題、PLC程序不完善、PLC交互功能未編寫完整、PLC交互功能有缺陷等),導致調試一直處於等待狀態;
4、現場調試開始后,管理混亂(短路、斷電、斷氣、無調試件)無法集中調試,調試斷斷續續;一個短路問題,停電查半天。
5、只要設備動起來、條件具備后,恨不得半天時間要求軟件所有功能具備SOP上線正常生產的狀態。我心里那個苦啊

不知道各位小伙伴有沒有遇到過呢?歡迎交流,吐槽。

 

針對上述問題,建議如下:

第一項:可提前同電氣工程師溝通,確定好工作流程、交互流程,把交互地址表定下來。
如果電氣遲遲定不下來,我們可基於經驗梳理一下我們的需求,暫定一個交互地址表和交互流程,發給電氣做確認,從而提高效率。

后面的四項:通過各PLC廠家的軟件進行仿真,模擬PLC地址和信號發送、接收。這里就不重點介紹了,網上有大把的教程。
這種方式對電氣人員比較簡單,但是對純搞上位機的有一定難度,需要學習每種品牌PLC仿真器的配置和使用。

但,這種方式也有缺點,比如:麻煩、安裝軟件體積過大、有門檻、難度比較大。

如果,你是大牛,上述問題就不存在,勿噴。

 

那么,有沒有比較好的方式,能夠解決后面四項問題呢?
經過摸索,答案肯定是有的,針對西門子PLC,有較好的解決方案。
其他的PLC還在摸索過程中,如果大家有好方法歡迎推薦。

 

說重點:針對西門子PLC,可以通過代碼構建一個PLC模擬器。
本質上是啟動了一個HttpServer,通過程序建立多個DB塊,DB塊的長度可以自定義,對外提供讀寫服務。

經測試,啟動HttpServer后,可通過OPC Server、HSL等第三方工具進行連接和讀寫。

這樣,我們就可以在自己的電腦上虛擬一個PLC或多個PLC(需要不同IP地址),在交互地址確認的情況下,我們可以不受任何限制、愉快的編寫和調試上位機程序,驗證邏輯了。

另外、我針對常用的使用場景做了一定的抽象和封裝,做成了一個小工具。

 


工具的主要功能:
1、加載地址表,支持多種數據類型;
2、分析地址表中的DB塊,程序自動構建DB塊;
3、啟動HttpServer,對外提供服務;
4、實時在界面上監控配置地址表中的值;
5、在調試期間,可在界面上手動模擬(寫入)各種信號、數值,滿足PLC發信號的需求;
6、除了可以虛擬PLC用於調試,在現場調試(真實PLC)時,可以通過更改IP地址的模式,對真實PLC進行讀寫。

在現場調試上位機還沒有健全的情況下,有時候需要臨時給個信號,這樣在界面上點一下就OK了。

針對上位機PLC交互邏輯達到的效果,點一個寫入,就能進入到data_change事件中,那叫一個絲滑。

爆個照:

 

小伙伴期待的視頻教程:https://space.bilibili.com/180985672/channel/seriesdetail?sid=2807145

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM