中文字幕精品无码亚洲字精舞,爱丫爱丫影院在线观看免费,a片毛片免费看,337P日本欧洲亚洲大胆人人

用低成本方式實現西門子PLC數據上云案例

2020/9/21 2:19:26 人評論 次瀏覽 分類:PLC應用  文章地址:http://m.wxmqjy.com/tech/3350.html

不得不說,儀表圈是個比較奇怪的圈子,各種各樣的項目需求都有,有的人就希望價格低,功能實現即可,有的人又不在乎價格,就要界面好看。最近有一個小伙伴又提出了這樣的需求,用最簡單的方式,最低的成本,最少的代碼,實現本地的PLC數據上云。如果想實現這種需求,大家就要站在巨人的肩膀上,用現成的輪子,將它們進行組裝,變成自己的東西。那么這次,昌暉儀表就采用S7.NET+Log4Net+SQLSugar+MySQL來實現一個西門子PLC數據上云的案例。

1、框架實現

關于這4個組件,有一個共同點,那就是開源免費,這樣大家就不用擔心價格和授權的問題了,昌暉儀表先對這4個組件做一個簡單的介紹:

組件名稱          功能說明
S7.NET            西門子PLC的開源通信庫
Log4Net         一款.NET下免費的日志工具
SQLSugar       一款輕量級、強大的ORM
MySQL           一款開源的關系型數據庫

這個實現過程分為兩部分,首先在阿里云服務器中部署一個MySQL數據庫,一側通過S7.NET采集西門子PLC,然后使用Log4Net直接插入到阿里云服務器中,另一側通過SQLSugar從數據庫進行查詢解析,再進行顯示。
在阿里云服務器中部署一個MySQL數據庫

2、Iot傳輸實現

首先在PLC中準備好需要傳輸的數據,最好提前都數據到放到同一個存儲區中,并且是連續的N個字節,這里以一個結構體為例,里面包含25個浮點數,占100個字節,如下圖所示:
在PLC中準備好需要傳輸的數據

然后創建一個DB塊,取名為IotDB,DB號為DB1,添加一個Iot結構體變量,如下圖所示:



創建一個控制臺應用程序,取名為thinger.cn.IotDataTransfer,該項目用于和PLC通信,并將數據傳輸到阿里云服務器中的MySQL數據中,這里為了方便,直接將讀取的字節數組轉換16進制字符串進行傳輸。


首先在Nuget服務器中搜索S7netplus,添加到項目中,如下圖所示:

Nuget服務器添加項目S7netplus

接著搜索log4net,添加到項目中,如下圖所示:

Nuget服務器中添加項目log4net

最后再搜索mysql,添加到項目中,如下圖所示:

Nuget服務器中添加項目mysql

添加完成之后,初始化PLC對象,然后連接PLC,連接成功后,開啟一個定時器,編寫程序如下所示:

編寫程序
定時器定時讀取PLC數據,然后通過Log4Net直接存儲到數據中,如下圖所示:

定時器定時讀取PLC數據,然后通過Log4Net直接存儲到數據中
運行程序后,結果如下所示:

程序運行結果

使用SQLyog查看服務器數據庫數據, 如下所示:

使用SQLyog查看服務器數據庫數據

通過這種方式,我們可以很輕松實現PLC數據讀取并存儲到云端數據庫中,初步實現了數據上云,接下來我們可以通過創建一個上位機程序,實現數據的查詢、解析及顯示。


3、Iot接收實現

創建一個Windows窗體應用程序,取名為thinger.cn.IotDataReceiver,該項目用于從云服務器的MySQL數據庫中查詢數據,并將數據解析成需要的數值,然后進行顯示。

由于參數類型各種情況都有,因此針對參數創建了一個參數實體類,如下所示:

針對參數創建了一個參數實體類

UI界面設計如下圖所示:

UI界面設計

這里采用多線程的方式,持續從數據庫中進行數據查詢,如果查詢到數據,進行解析賦值,否則進行狀態顯示,代碼如下所示:

持續從數據庫中進行數據查詢
最終運行結果如下所示:

最終運行結果

4、整體總結

隨著越來越多的設備開始加入IIoT網絡(Industrial Internet of Things,工業物聯網簡稱IIoT),誕生了很多向前發展的機會。IT與OT的融合將為工廠自動化、資產管理和生產制造執行系統提供開箱即用的集成解決方案。按目前的趨勢發展下去,IT與OT之間的界限將逐漸消失,直到成為一個或相同的系統為止。本文主要從儀表工程師的角度出發,讓大家學會使用開源組件來搭建一個簡單的物聯網平臺。

共有訪客發表了評論 網友評論

  客戶姓名:
郵箱或QQ:
驗證碼: 看不清楚?
主站蜘蛛池模板: 岑巩县| 周至县| 海兴县| 阿合奇县| 原阳县| 安丘市| 镇赉县| 北辰区| 沅陵县| 榆林市| 霍林郭勒市| 霍山县| 玉树县| 综艺| 兴文县| 静乐县| 太仆寺旗| 黔江区| 广东省| 平果县| 东明县| 桐城市| 拜泉县| 乐昌市| 鄱阳县| 泰安市| 澄迈县| 永善县| 城市| 榕江县| 日照市| 镇原县| 汉沽区| 拉萨市| 高阳县| 文安县| 同德县| 泽库县| 海宁市| 伊川县| 洛川县|