上位機是指可以實時監控工業生產現場數據的人機互動設備,屏幕會上顯示各種信號變化(液壓,水位,溫度等)。一般上位機分為工控機(Wincc,組態王,力控工業組態軟體),觸控螢幕(威綸通,臺達,西門子HMI等),和Windows桌面應用。
今天要講的是Windows系統下的Winform桌面應用作為上位機,大家是不是用觸模屏和組態軟體是總是想實現一些特殊功能但是組態軟體本身不支持該功能,但是Winform可以做到你想做的一切,Winform是微軟Visual Studio IDE開發平臺下的桌面應用開發,我們可以充分利用C#高級語言的優勢和靈活性以及高擴展性來開發我們的上位機監控界面,先來個簡單Winform項目圖:
下位機是直接控制設備獲取設備狀況的計算機,一般是PLC/單片機之類的。
上位機發出的命令首先給下位機,下位機再根據此命令解釋成相應時序信號直接控制相應設備(溫控器,伺服電機,步進電機,變頻器,電磁閥等)。下位機實時讀取設備狀態數據(一般模擬量,如測溫熱電偶,電機速度,開關量等),轉化成數位訊號反饋給上位機。一般來說上下位機都需要編程,都有專門的開發系統。
上下位機如何通訊,一般取決於下位機,通常上位機和下位機通訊可以採用不同的通訊協議,上位機根據下位機硬體支持的通信協議,可以有RS232的串口通訊或者採用RS485串行通訊。當用計算機和PLC通訊的時候,不但可以採用傳統的串行通訊,還可以採用更適合工業控制的雙線的PROFIBUS-DP通訊,或者是Modbus通信協議,以及通過第三方OPC伺服器來進行數據通信。
知道了上下位機接下來讓我們先來了解一下我們的上下位機開發環境:
1.西門子博途V14 :plc編程軟體
2.微軟VisualStudio2012:Winform上位機編程
軟體的獲取和安裝可以百度一下,在此跳過,因為我們的重點是上位機編程。
安裝好軟體以後,接下來我們寫一個簡單的demo案例來體驗一下winform
1,新建winform項目
打開VS2012軟體 點擊【文件】--》【新建】--》【項目】
選擇Windows--》Windows窗體應用程式,自定義項目名稱
這裡我們修改項目默認名稱為PLC控制
建立完項目後進入項目開發裡了
工具欄:提供各種基本控制項(對應觸模屏來說控制項就好比是按鈕,文本框,下拉菜單,報表等等)
項目管理:可以理解為創建的窗口,配置的文件,引用的資源文件的目錄索引
控制項屬性:當你選中某個控制項時會在右下角顯示當前控制項的各個屬性,可以進行修改屬性,比如設置按鈕開關的顏色,文本框背景色,字體大小等等。
具體內容在後續文章會一一詳細講解,今天的任務是認識上位機好了,讓我們先建立一個簡單的窗體界面吧!
通過拖拽窗體右下角使窗體達到你想要的大小,接下來拖拽工具欄裡的butoon按鈕,
拖拽完成後單擊窗體的button1按鈕,右下角屬性彈出
修改按鈕顯示內容text為LED
使用相同的方法添加一個文本標籤label到窗體並將文本修改為燈泡,並在屬性裡設置背景色backcolor為紅色
接下來我們按F5模擬一下
界面搭建完成,接下來的內容需要編程實現了:我們先來實現一個簡單的led開關功能,當我們點擊led按鈕時燈泡亮起來變為黃色,再點一次led按鈕燈泡熄滅變為紅色,如此就實現了一個開關控制燈泡的上位機了
接下來跟著我一步步操作:
1.雙擊led按鈕
現在進入了後臺編程,led按鈕事件就是當你點擊按鈕時觸發的一個函數,我們現在需要將我們的邏輯功能寫在這個函數裡面,回想下我們要實現的是不是led按鈕切換燈泡開斷,在界面上反應出來就是led點擊切換燈泡背景色,好了,現在開始編寫邏輯。
編程要養成好的代碼習慣,所以我們需要給我們的led和按鈕取名字,什麼?不是已經通過text屬性修改了嗎?怎麼還要改,oh,no,那是顯示文本不是控制項名稱,我們要做的是修改控制項名稱,如下圖,好了,將led按鈕也改好,不要使用中文命名,如果英文不好可以使用拼音字母命名,比如dengpao
改好控制項名稱以後,添加如下代碼,
這時候如果你有c語言基礎應該是能看明白,什麼看不明白,ok,已經注釋好了,什麼還不明白?現在你可以買一本C#入門書籍,先了解基本的語法了。
我們再來運行我們的程序,F5按下
不停的單擊led你會看見燈泡的背景色在紅色和黃色之間不停的變換,也就相當於燈泡的不停開斷,界面部分到此結束。
下一次我會給大家詳細講解如何編寫plc燈泡開斷(這個好像大家應該都會),劃重點了啊!下一次我們的重點是如何將led按鈕和燈泡與plc進行通信,並且真實的控制燈泡的亮滅。謝謝大家閱覽,有什麼好的意見和補充歡迎各位前輩指正!
*如果你也喜歡這篇分享,歡迎轉到朋友圈,轉載請後臺聯繫小編*
商務合作:0755-26546361
❦歡迎私撩,非誠勿擾❦