最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

C#聯(lián)合WINCC之?dāng)?shù)據(jù)通信

2020-07-11 10:10 作者:新閣教育  | 我要投稿


在工控領(lǐng)域中,WINCC仍然占有很大的市場(chǎng)份額。很多時(shí)候我們說(shuō)學(xué)習(xí)C#開發(fā)上位機(jī)可以取代傳統(tǒng)的組態(tài)軟件,兩者就像冤家一樣,然而,即使是冤家,也會(huì)有聯(lián)合的時(shí)候。當(dāng)我們的項(xiàng)目已經(jīng)采用WINCC落地之后,已經(jīng)學(xué)會(huì)C#的我們,還能做哪些事情呢?今天跟大家分享一下如何使用C#,與WINCC聯(lián)合實(shí)現(xiàn)數(shù)據(jù)通信。【公眾號(hào)docNet工控上位:thinger_swj】

1.環(huán)境搭建

眾所周知,WINCC作為西門子家族的一款組態(tài)軟件,主要是用來(lái)和PLC(主要是西門子PLC)通信,因此我們選擇的硬件就是一款西門子S7-1200 PLC。軟件方面,使用的是WINCC V7.4(其他版本待測(cè)試),以及宇宙第一IDE——VS 2019。

這里有個(gè)問(wèn)題提醒一下,當(dāng)我安裝好WINCC V7.4,通過(guò)添加驅(qū)動(dòng)和S7-1200 PLC通信時(shí),怎么都連接不上,最后發(fā)現(xiàn)應(yīng)該是WINCC的S7-1200 PLC的驅(qū)動(dòng)有點(diǎn)BUG,缺少一些組件,通過(guò)安裝TIA博圖之后,最終解決。

如果想通過(guò)C#聯(lián)合WINCC訪問(wèn)到PLC里的變量,前提是WINCC項(xiàng)目已經(jīng)開發(fā)好,并且處于運(yùn)行狀態(tài),操作步驟如下:

首先創(chuàng)建一個(gè)S7連接,并創(chuàng)建4個(gè)變量分別為data1、data2、data3、data4,地址對(duì)應(yīng)DB100.DBD0、DB100.DBD4、DB100.DBD8、DB100.DBD12。


接著創(chuàng)建一個(gè)畫面,拖入4個(gè)顯示控件,分別綁定這4個(gè)變量,通過(guò)博圖將4個(gè)變量的值分別設(shè)置為50.5、60.5、70.5、80.5,


然后運(yùn)行WINCC畫面。


接下來(lái)我們要做的是通過(guò)編寫一個(gè)簡(jiǎn)單的Winform程序來(lái)讀取WINCC中這4個(gè)變量的值并顯示,這里有兩種方式可以實(shí)現(xiàn)這樣的效果,一種是通過(guò)直接訪問(wèn)WINCC變量進(jìn)行讀取,另一種是通過(guò)訪問(wèn)WINCC畫面中的控件。

2.訪問(wèn)WINCC變量

1、首先創(chuàng)建一個(gè)新的Windows窗體應(yīng)用,再?gòu)腤INCC安裝目錄中找到兩個(gè)dll,分別是CCHMIRuntime.dll和CCHMITags.dll,位置默認(rèn)處于C:\Program Files (x86)\Common Files\Siemens\Bin,將這兩個(gè)dll復(fù)制到debug根目錄下并手動(dòng)添加引用。


2、Windows窗體界面設(shè)計(jì)如下圖所示:


3.編寫讀取代碼


4、編寫寫入代碼


5、讀取結(jié)果:


6、寫入結(jié)果


3.訪問(wèn)WINCC控件

  1. 重新新建一個(gè)窗體,窗體內(nèi)容和布局與之前一致:

  1. 讀取代碼?


3.寫入代碼


4.讀取結(jié)果


5.寫入結(jié)果


這里值得注意的是,通過(guò)訪問(wèn)控件實(shí)現(xiàn)的寫入并沒(méi)有真正寫入PLC,所以這種方式僅限于讀取數(shù)據(jù),但可以通過(guò)這種方式來(lái)設(shè)置控件的其他屬性,比如樣式、背景、文本等。

本文主要以學(xué)習(xí)研究為主,針對(duì)C#與WINCC之間的數(shù)據(jù)通信做了較為詳盡的描述,相信對(duì)于很多電氣工程師,尤其是以西門子PLC為主的電氣工程師來(lái)說(shuō),會(huì)有很大幫助。也許這種情形目前用途不那么廣泛,但是出現(xiàn)這種需求時(shí),就會(huì)變得很有用。

我一直堅(jiān)信因?yàn)榕Σ艜?huì)有結(jié)果,而不是因?yàn)榭吹浇Y(jié)果,才想著去努力,而是就像學(xué)習(xí)C#和上位機(jī)一樣,你如果不學(xué)習(xí),這些內(nèi)容對(duì)你來(lái)說(shuō)可能就是天方夜譚,但是如果你提前學(xué)習(xí)了,你會(huì)發(fā)現(xiàn)其實(shí)很簡(jiǎn)單。

近幾年隨著人工智能、物聯(lián)網(wǎng)的普及,工控行業(yè)發(fā)生了很大的變化,每一位電氣工程師都應(yīng)該及時(shí)作出調(diào)整,至少學(xué)習(xí)一門高級(jí)編程語(yǔ)言,未雨綢繆,以更好的姿態(tài)來(lái)應(yīng)對(duì)即將到來(lái)的智能制造2025。


C#聯(lián)合WINCC之?dāng)?shù)據(jù)通信的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
夏河县| 仙桃市| 黔南| 将乐县| 恭城| 石狮市| 滁州市| 稻城县| 沛县| 常德市| 东山县| 渝北区| 仲巴县| 客服| 宣城市| 黄石市| 陕西省| 北票市| 东阿县| 荆门市| 雷州市| 永宁县| 巴林左旗| 仲巴县| 淮阳县| 建水县| 渭源县| 康乐县| 临西县| 曲水县| 环江| 霍城县| 犍为县| 留坝县| 呼图壁县| 肃南| 宜兰市| 梅河口市| 全州县| 五峰| 通化县|