應(yīng)用
首先我認(rèn)為,C#上位機(jī)并不是為了取代組態(tài)軟件,而是對(duì)組態(tài)軟件的補(bǔ)充,C#上位機(jī)與組態(tài)軟件有各自應(yīng)用的場(chǎng)合。
如果你懂組態(tài),不會(huì)C#編程,愿意購(gòu)買(mǎi)組態(tài)授權(quán),項(xiàng)目沒(méi)有特殊的需求,比如自定義協(xié)議、復(fù)雜業(yè)務(wù)、對(duì)接第三方系統(tǒng)等,組態(tài)軟件從功能和界面上能夠滿足需求,那么,組態(tài)軟件無(wú)疑是適合的。
如果你可以獨(dú)立開(kāi)發(fā)上位機(jī),不愿意購(gòu)買(mǎi)組態(tài)軟件,那么你肯定會(huì)選擇自主開(kāi)發(fā)上位機(jī)。
技術(shù)本質(zhì)上沒(méi)有好壞之分,技術(shù)是為了服務(wù)于項(xiàng)目,結(jié)合自身情況,結(jié)合不同場(chǎng)合選擇合理的技術(shù)方案,才是技術(shù)人的意義所在。
那么,有沒(méi)有一種場(chǎng)合,可以將C#上位機(jī)與組態(tài)軟件聯(lián)合起來(lái)使用呢?下面就以西門(mén)子的WinCC為例,談?wù)勆衔粰C(jī)如何聯(lián)合組態(tài)軟件實(shí)現(xiàn)通信。
我打算從兩個(gè)方面來(lái)說(shuō)明,一種是上位機(jī)通過(guò)WinCC來(lái)獲取數(shù)據(jù),另一種是上位機(jī)如何彌補(bǔ)WinCC的一些功能不足。
上位機(jī)讀取WinCC
我們首先看下上位機(jī)如何通過(guò)WinCC來(lái)獲取到數(shù)據(jù),有這么幾種方案,可以參考一下:
前提是WinCC項(xiàng)目已經(jīng)開(kāi)發(fā)好,并且處于運(yùn)行狀態(tài),運(yùn)行WinCC畫(huà)面,這里連接了一個(gè)S7-1500的PLC,如下圖所示:
第一種方案:通過(guò)WinCC的運(yùn)行時(shí)庫(kù)
WinCC安裝目錄中有兩個(gè)dll,分別是CCHMIRuntime.dll和CCHMITags.dll,位置默認(rèn)處于C:\\Program Files (x86)\\Common Files\\Siemens\\Bin,將這兩個(gè)dll復(fù)制到debug根目錄下并手動(dòng)添加引用,然后創(chuàng)建通信對(duì)象。
CCHMIRUNTIME.HMIRuntime hmi = new CCHMIRUNTIME.HMIRuntime();
通過(guò)調(diào)用讀取方法即可實(shí)現(xiàn)讀取。
hmi.Tags["data1"].Read()
第二種方案:通過(guò)WinCC的OPC服務(wù)器
WinCC從V7.2版本開(kāi)始支持OPC服務(wù)器,可以支持OPCDA和OPCUA,我們直接通過(guò)一個(gè)OPC客戶(hù)端來(lái)連接測(cè)試一下:
第三種方案:通過(guò)WinCC的數(shù)據(jù)庫(kù)
WinCC的數(shù)據(jù)庫(kù)使用的是SQLServer,WinCC變量歸檔數(shù)據(jù)是以壓縮的形式存儲(chǔ)在數(shù)據(jù)庫(kù)中的,第三方開(kāi)發(fā)的應(yīng)用程序可以通過(guò)WinCC提供的OLE-DB接口解壓并訪問(wèn)這些數(shù)據(jù)。
上位機(jī)嵌入WinCC
我們?cè)倏纯瓷衔粰C(jī)如何彌補(bǔ)WinCC的一些功能不足,比如自定義協(xié)議或WinCC不支持的一些協(xié)議,WinCC從7.0版本開(kāi)始支持.NET自定義控件,所以我們可以將一些業(yè)務(wù)和通信封裝在自定義控件中,然后嵌入到WinCC中來(lái)實(shí)現(xiàn)一些WinCC實(shí)現(xiàn)不了的功能。
這里以ModbusRTU協(xié)議為例,其他自定義協(xié)議類(lèi)似,我們都知道,WinCC是不能直接支持ModbusRTU通信的。
這里我做了一個(gè)測(cè)試,開(kāi)發(fā)了一個(gè)自定義控件,里面集成了串口連接及ModbusRTU通信協(xié)議讀取溫濕度,僅為測(cè)試使用,因此功能做的很簡(jiǎn)單:
我將這個(gè)控件集成到WinCC中,和一個(gè)單片機(jī)連接,成功讀取到了溫濕度數(shù)據(jù)。
-
PLC控制
+關(guān)注
關(guān)注
9文章
252瀏覽量
27658 -
OPC
+關(guān)注
關(guān)注
7文章
354瀏覽量
46800 -
上位機(jī)
+關(guān)注
關(guān)注
27文章
952瀏覽量
55399 -
WinCC
+關(guān)注
關(guān)注
6文章
205瀏覽量
48463 -
SQL數(shù)據(jù)庫(kù)
+關(guān)注
關(guān)注
0文章
25瀏覽量
7028
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
LV和組態(tài)王上位機(jī)軟件在同一電腦通過(guò)網(wǎng)線讀寫(xiě)同一個(gè)PLC失敗

組態(tài)型工控機(jī)(嵌入式工業(yè)電腦)、上位機(jī)組態(tài)軟件
上位機(jī)組態(tài)軟件Intouch10入門(mén)手冊(cè)
Windows環(huán)境與PLC相連的上位機(jī)監(jiān)控操作軟件應(yīng)該使用組態(tài)好
PLC和上位機(jī)組態(tài)軟件通訊方式

納米軟件分享:上位機(jī)軟件是什么?快速上手上位機(jī)開(kāi)發(fā)軟件分享

上位機(jī)那些事兒

聊聊Netty那些事兒之從內(nèi)核角度看IO模型

評(píng)論