找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2571|回复: 12

【C#上位机必看】你们要的Iot物联网项目来了

 火.. [复制链接]
  • 打卡等级:即来则安
  • 打卡总天数:28
  • 打卡月天数:7
  • 打卡总奖励:7961
  • 最近打卡:2025-12-22 17:16:30

3317

主题

285

回帖

2万

积分

管理员

积分
24106
发表于 2020-10-3 09:53:08 | 显示全部楼层 |阅读模式
LAIYUAN: dotNet工控上位机
不得不说,工业圈是个比较奇怪的圈子,各种各样的项目需求都有,有的人就希望价格低,功能实现即可,有的人又不在乎价格,就要界面好看。最近有一个小伙伴又提出了这样的需求,用最简单的方式,最低的成本,最少的代码,实现本地的PLC数据上云。我想了一下,如果想实现这种需求,我们就要站在巨人的肩膀上,用现成的轮子,将它们进行组装,变成自己的东西。那么这次,我们就采用S7.NET+Log4Net+SQLSugar+MySQL来实现一个西门子PLC数据上云的案例。
1、框架实现
关于这4个组件,有一个共同点,那就是开源免费,这样我们就不用担心价格和授权的问题了,我们先对这4个组件做一个简单的介绍:


这个实现过程分为两部分,首先在阿里云服务器中部署一个MySQL数据库,一侧通过S7.NET采集西门子PLC,然后使用Log4Net直接插入到阿里云服务器中,另一侧通过SQLSugar从数据库进行查询解析,再进行显示。


2、Iot传输实现
  • 首先在PLC中准备好需要传输的数据,最好提前都数据到放到同一个存储区中,并且是连续的N个字节,这里以一个结构体为例,里面包含25个浮点数,占100个字节,如下图所示:


  • 然后创建一个DB块,取名为IotDB,DB号为DB1,添加一个Iot结构体变量,如下图所示:


  • 创建一个控制台应用程序,取名为thinger.cn.IotDataTransfer,该项目用于和PLC通信,并将数据传输到阿里云服务器中的MySQL数据中,这里为了方便,直接将读取的字节数组转换16进制字符串进行传输。
  • 首先在Nuget服务器中搜索S7netplus,添加到项目中,如下图所示:


  • 接着搜索log4net,添加到项目中,如下图所示:


  • 最后再搜索mysql,添加到项目中,如下图所示:


  • 添加完成之后,初始化PLC对象,然后连接PLC,连接成功后,开启一个定时器,编写程序如下所示:


  • 定时器定时读取PLC数据,然后通过Log4Net直接存储到数据中,如下图所示:


  • 运行程序后,结果如下所示:


  • 使用SQLyog查看服务器数据库数据, 如下所示:


  • 通过这种方式,我们可以很轻松实现PLC数据读取并存储到云端数据库中,初步实现了数据上云,接下来我们可以通过创建一个上位机程序,实现数据的查询、解析及显示。
3、Iot接收实现
  • 创建一个Windows窗体应用程序,取名为thinger.cn.IotDataReceiver,该项目用于从云服务器的MySQL数据库中查询数据,并将数据解析成需要的数值,然后进行显示。
  • 由于参数类型各种情况都有,因此针对参数创建了一个参数实体类,如下所示:


  • UI界面设计如下图所示:


  • 这里采用多线程的方式,持续从数据库中进行数据查询,如果查询到数据,进行解析赋值,否则进行状态显示,代码如下所示:


  • 最终运行结果如下所示:




4、整体总结
随着越来越多的设备开始加入IIoT 网络(Industrial Internet of Things,工业物联网简称IIoT),诞生了很多向前发展的机会。IT与OT的融合将为工厂自动化、资产管理和生产制造执行系统提供开箱即用的集成解决方案。按目前的趋势发展下去,IT与OT之间的界限将逐渐消失,直到成为一个或相同的系统为止。本文主要从电气工程师的角度出发,让大家学会使用开源组件来搭建一个简单的物联网平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
工控课堂 www.gkket.com
  • 打卡等级:即来则安
  • 打卡总天数:29
  • 打卡月天数:1
  • 打卡总奖励:7791
  • 最近打卡:2025-12-13 17:25:16

2540

主题

1355

回帖

2万

积分

管理员

积分
21304
发表于 2020-10-3 09:58:05 | 显示全部楼层
感谢分享,佩服佩服!
工控课堂 www.gkket.com

0

主题

100

回帖

348

积分

注册会员

积分
348
发表于 2020-10-9 12:27:06 | 显示全部楼层
楼主您的技术水准,我最服你,其他都是浮云
工控课堂 www.gkket.com

0

主题

125

回帖

358

积分

注册会员

积分
358
发表于 2025-11-15 16:39:24 | 显示全部楼层
水贴也要有仪式感,我先来打卡~
工控课堂 www.gkket.com

0

主题

97

回帖

536

积分

中级会员

积分
536
发表于 2025-11-16 11:48:10 | 显示全部楼层
楼主辛苦啦,期待下一篇分享
工控课堂 www.gkket.com

0

主题

93

回帖

137

积分

新手上路

积分
137
发表于 2025-11-16 11:48:32 | 显示全部楼层
浅蹲一个后续,楼主更新踢我一下
工控课堂 www.gkket.com

0

主题

99

回帖

155

积分

新手上路

积分
155
发表于 2025-11-19 06:56:06 | 显示全部楼层
救命!这回复笑到我捶桌,必须置顶~
工控课堂 www.gkket.com

0

主题

79

回帖

119

积分

新手上路

积分
119
发表于 2025-11-19 07:01:05 | 显示全部楼层
救命!这波发言太秀了,直接原地封神~
疯狂认同!楼主说出了我不敢说的话
工控课堂 www.gkket.com

0

主题

81

回帖

126

积分

新手上路

积分
126
发表于 2025-11-19 07:10:29 | 显示全部楼层
谁懂啊!真的被戳中笑点 / 泪点了
工控课堂 www.gkket.com

0

主题

92

回帖

143

积分

新手上路

积分
143
发表于 2025-11-19 07:12:55 | 显示全部楼层
哈哈哈哈笑不活,楼主这脑洞绝了!
工控课堂 www.gkket.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|手机版|免责声明|本站介绍|工控课堂 ( 沪ICP备20008691号-1 )

GMT+8, 2025-12-23 11:26 , Processed in 0.524478 second(s), 27 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表