新閣上位機(jī)開發(fā)---基于西門子PLC 開發(fā)Iot物聯(lián)網(wǎng)項(xiàng)目

?????不得不說万栅,工業(yè)圈是個(gè)比較奇怪的圈子佑钾,各種各樣的項(xiàng)目需求都有,有的人就希望價(jià)格低烦粒,功能實(shí)現(xiàn)即可休溶,有的人又不在乎價(jià)格,就要上位機(jī)界面好看扰她。最近有一個(gè)小伙伴又提出了這樣的需求兽掰,用最簡(jiǎn)單的方式,最低的成本徒役,最少的代碼孽尽,實(shí)現(xiàn)本地的PLC數(shù)據(jù)上云。我想了一下忧勿,如果想實(shí)現(xiàn)這種需求杉女,我們就要站在巨人的肩膀上,用現(xiàn)成的輪子鸳吸,將它們進(jìn)行組裝宠纯,變成自己的東西。那么這次层释,我們就采用S7.NET+Log4Net+SQLSugar+MySQL來實(shí)現(xiàn)一個(gè)西門子PLC數(shù)據(jù)上云的上位機(jī)案例婆瓜。

1、框架實(shí)現(xiàn)

關(guān)于這4個(gè)組件贡羔,有一個(gè)共同點(diǎn)廉白,那就是開源免費(fèi),這樣我們就不用擔(dān)心價(jià)格和授權(quán)的問題了乖寒,我們先對(duì)這4個(gè)組件做一個(gè)簡(jiǎn)單的介紹:

組件名稱功能說明

S7.NET西門子PLC的開源通信庫(kù)

Log4Net一款.NET下免費(fèi)的日志工具

SQLSugar一款輕量級(jí)猴蹂、強(qiáng)大的ORM

MySQL一款開源的關(guān)系型數(shù)據(jù)庫(kù)

這個(gè)實(shí)現(xiàn)過程分為兩部分,首先在阿里云服務(wù)器中部署一個(gè)MySQL數(shù)據(jù)庫(kù)楣嘁,一側(cè)通過S7.NET采集西門子PLC磅轻,然后使用Log4Net直接插入到阿里云服務(wù)器中珍逸,另一側(cè)通過SQLSugar從數(shù)據(jù)庫(kù)進(jìn)行查詢解析,再進(jìn)行顯示聋溜。

2谆膳、Iot傳輸實(shí)現(xiàn)

首先在PLC中準(zhǔn)備好需要傳輸?shù)臄?shù)據(jù),最好提前都數(shù)據(jù)到放到同一個(gè)存儲(chǔ)區(qū)中撮躁,并且是連續(xù)的N個(gè)字節(jié)漱病,這里以一個(gè)結(jié)構(gòu)體為例,里面包含25個(gè)浮點(diǎn)數(shù)把曼,占100個(gè)字節(jié)杨帽,如下圖所示:

然后創(chuàng)建一個(gè)DB塊,取名為IotDB嗤军,DB號(hào)為DB1注盈,添加一個(gè)Iot結(jié)構(gòu)體變量,如下圖所示:

創(chuàng)建一個(gè)控制臺(tái)應(yīng)用程序叙赚,取名為thinger.cn.IotDataTransfer当凡,該項(xiàng)目用于上位機(jī)和PLC通信,并將數(shù)據(jù)傳輸?shù)桨⒗镌品?wù)器中的MySQL數(shù)據(jù)中纠俭,這里為了方便沿量,直接將讀取的字節(jié)數(shù)組轉(zhuǎn)換16進(jìn)制字符串進(jìn)行傳輸。

首先在Nuget服務(wù)器中搜索S7netplus冤荆,添加到項(xiàng)目中朴则,如下圖所示:

接著搜索log4net,添加到項(xiàng)目中钓简,如下圖所示:

最后再搜索mysql乌妒,添加到項(xiàng)目中,如下圖所示:


添加完成之后外邓,初始化PLC對(duì)象撤蚊,然后連接PLC,連接成功后损话,開啟一個(gè)定時(shí)器侦啸,編寫程序如下所示:

定時(shí)器定時(shí)讀取PLC數(shù)據(jù),然后通過Log4Net直接存儲(chǔ)到數(shù)據(jù)中丧枪,如下圖所示:

運(yùn)行程序后光涂,結(jié)果如下所示:

使用SQLyog查看服務(wù)器數(shù)據(jù)庫(kù)數(shù)據(jù), 如下所示:

通過這種方式拧烦,我們可以很輕松實(shí)現(xiàn)PLC數(shù)據(jù)讀取并存儲(chǔ)到云端數(shù)據(jù)庫(kù)中忘闻,初步實(shí)現(xiàn)了數(shù)據(jù)上云,接下來我們可以通過創(chuàng)建一個(gè)上位機(jī)程序恋博,實(shí)現(xiàn)數(shù)據(jù)的查詢齐佳、解析及顯示私恬。

3、Iot接收實(shí)現(xiàn)

創(chuàng)建一個(gè)Windows窗體應(yīng)用程序炼吴,取名為thinger.cn.IotDataReceiver本鸣,該項(xiàng)目用于從云服務(wù)器的MySQL數(shù)據(jù)庫(kù)中查詢數(shù)據(jù),并將數(shù)據(jù)解析成需要的數(shù)值缺厉,然后進(jìn)行顯示永高。

由于參數(shù)類型各種情況都有隧土,因此針對(duì)參數(shù)創(chuàng)建了一個(gè)參數(shù)實(shí)體類提针,如下所示:

上位機(jī)UI界面設(shè)計(jì)如下圖所示:

這里采用多線程的方式,持續(xù)從數(shù)據(jù)庫(kù)中進(jìn)行數(shù)據(jù)查詢曹傀,如果查詢到數(shù)據(jù)辐脖,進(jìn)行解析賦值,否則進(jìn)行狀態(tài)顯示皆愉,代碼如下所示:

最終運(yùn)行結(jié)果如下所示:

4嗜价、整體總結(jié)

????????隨著越來越多的設(shè)備開始加入IIoT 網(wǎng)絡(luò)(Industrial Internet of Things,工業(yè)物聯(lián)網(wǎng)簡(jiǎn)稱IIoT)幕庐,誕生了很多向前發(fā)展的機(jī)會(huì)久锥。IT與OT的融合將為工廠自動(dòng)化、資產(chǎn)管理和生產(chǎn)制造執(zhí)行系統(tǒng)提供開箱即用的集成解決方案异剥。按目前的趨勢(shì)發(fā)展下去瑟由,IT與OT之間的界限將逐漸消失,直到成為一個(gè)或相同的系統(tǒng)為止冤寿。本文主要從電氣工程師的角度出發(fā)歹苦,讓大家學(xué)會(huì)使用開源組件來搭建一個(gè)簡(jiǎn)單的上位機(jī)物聯(lián)網(wǎng)平臺(tái)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末督怜,一起剝皮案震驚了整個(gè)濱河市殴瘦,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌号杠,老刑警劉巖蚪腋,帶你破解...
    沈念sama閱讀 218,122評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異姨蟋,居然都是意外死亡辣吃,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門芬探,熙熙樓的掌柜王于貴愁眉苦臉地迎上來神得,“玉大人,你說我怎么就攤上這事偷仿×ú荆” “怎么了宵蕉?”我有些...
    開封第一講書人閱讀 164,491評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)节榜。 經(jīng)常有香客問我羡玛,道長(zhǎng),這世上最難降的妖魔是什么宗苍? 我笑而不...
    開封第一講書人閱讀 58,636評(píng)論 1 293
  • 正文 為了忘掉前任稼稿,我火速辦了婚禮,結(jié)果婚禮上讳窟,老公的妹妹穿的比我還像新娘让歼。我一直安慰自己,他們只是感情好丽啡,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評(píng)論 6 392
  • 文/花漫 我一把揭開白布谋右。 她就那樣靜靜地躺著,像睡著了一般补箍。 火紅的嫁衣襯著肌膚如雪改执。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,541評(píng)論 1 305
  • 那天坑雅,我揣著相機(jī)與錄音辈挂,去河邊找鬼。 笑死裹粤,一個(gè)胖子當(dāng)著我的面吹牛终蒂,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蛹尝,決...
    沈念sama閱讀 40,292評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼后豫,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了突那?” 一聲冷哼從身側(cè)響起挫酿,我...
    開封第一講書人閱讀 39,211評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎愕难,沒想到半個(gè)月后早龟,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,655評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡猫缭,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評(píng)論 3 336
  • 正文 我和宋清朗相戀三年葱弟,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片猜丹。...
    茶點(diǎn)故事閱讀 39,965評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡芝加,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出射窒,到底是詐尸還是另有隱情藏杖,我是刑警寧澤将塑,帶...
    沈念sama閱讀 35,684評(píng)論 5 347
  • 正文 年R本政府宣布,位于F島的核電站蝌麸,受9級(jí)特大地震影響点寥,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜来吩,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評(píng)論 3 329
  • 文/蒙蒙 一敢辩、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧弟疆,春花似錦戚长、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)正塌。三九已至嘀略,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間乓诽,已是汗流浹背帜羊。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留鸠天,地道東北人讼育。 一個(gè)月前我還...
    沈念sama閱讀 48,126評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像稠集,于是被迫代替她去往敵國(guó)和親奶段。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容