【西门子PLC】你们要的Iot物联网项目来了

不得不说,工业圈是个比较奇怪的圈子,各种各样的项目需求都有,有的人就希望价格低,功能实现即可,有的人又不在乎价格,就要界面好看。最近有一个小伙伴又提出了这样的需求,用最简单的方式,最低的成本,最少的代码,实现本地的PLC数据上云。我想了一下,如果想实现这种需求,我们就要站在巨人的肩膀上,用现成的轮子,将它们进行组装,变成自己的东西。那么这次,我们就采用S7.NET+Log4Net+SQLSugar+MySQL来实现一个西门子PLC数据上云的案例。1、框架实现关于这4个组件,有一个共同点,那就是开源免费,这样我们就不用担心价格和授权的问题了,我们先对这4个组件做一个简单的介绍:组件名称功能说明S7.NET西门子PLC的开源通信库Log4Net一款.NET下免费的日志工具SQLSugar一款轻量级、强大的ORMMySQL一款开源的关系型数据库这个实现过程分为两部分,首先在阿里云服务器中部署一个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之间的界限将逐渐消失,直到成为一个或相同的系统为止。本文主要从电气工程师的角度出发,让大家学会使用开源组件来搭建一个简单的物联网平台。为了便于大家更好地学习,我将整个实现过程录制成视频,并且做了整理,针对本公众号粉丝,提供视频和源码,大纲如下:

想要学习的童鞋,赶紧扫描下方二维码,加小助教领取。

(0)

相关推荐

  • 基于C#平台通过S7.net实现与西门子S-1200PLC

    需要提前准备的软件和文件: 1.Visual Studio 2019(自己到官网上下载安装) 2.S7.net.dll文件(需要的话链接我会放在文末) 3.西门子PLC软件TIA PORTAL V15 ...

  • 【干货】 西门子S7-1500PLC 存储卡使用详解

    关于启程 启程自动化培训成立于2012年,培训项目主打西门子PLC编程系统集成.工业机器人编程.EPLAN电气设计.视觉等培训与技术服务的机构.推荐高薪就业,越努力越幸运 S7-1500使用SIMAT ...

  • 【工业物联网】西门子PLC数据上云案例

    不得不说,工业圈是个比较奇怪的圈子,各种各样的项目需求都有,有的人就希望价格低,功能实现即可,有的人又不在乎价格,就要界面好看.最近有一些小伙伴又提出了这样的需求,用最简单的方式,最低的成本,最少的代 ...

  • 【西门子案例】西门子PLC控制彩灯项目

    导读:本案例主要让读者练习西门子S7-200SMART系列PLC位逻辑指令.定时器.移位指令.子程序的结构等. 01左中括号[控制示意图]左中括号如图3-1所示为彩灯控制示意图. 图3-1 彩灯控制0 ...

  • 西门子PLC编程经典实例

    一.小车往返运动 用S7-200实现小车往返的自动控制 ,控制过程为按下启动按钮 ,小车从左边往右边(右边往左边运动) 当运动到右边(左边)碰到右边(左边)的行程开关后 小车自动做返回运动,当碰到另一 ...

  • 西门子PLC编程接线图详解及梯形图程序实例

    一.电动机顺序启动.顺序停止控制(I/O分配表.PLC接线图.梯形图程序) 二.电动机的顺序启动.同时停止(I/O分配表.PLC接线图.梯形图程序) 三.电动机的顺序启动.逆序停止(I/O分配表.PL ...

  • 西门子PLC第三大坑,最近剖析了西门子两...

    西门子PLC第三大坑,最近剖析了西门子两大坑,引起了许多网友的反响,然而这些坑仍然在继续存在在300/400 和 S71200/1500中. 对于那些没有经过九九八十一难的读者来说,还是需要继续前赴后 ...

  • 西门子PLC编程应用实例:简易机械手的PLC控制

    蓝字   '电气达人"  今天,小编给大家介绍一个西门子PLC入门级应用实例,简易机械手的控制. 下面进入正题: 如上图所示,M1为控制机械手左右移动的电动机,M2为控制机械手上下升降的电动 ...

  • 西门子PLC与变频器的模拟量干扰处理实例

    技成PLC课堂 从0到1,带你学习PLC技能! 79篇原创内容 公众号 01 实例一 现象说明: 西门子PLC中AO点发出一路4-20mA电流控制信号,输出至西门子变频器,无法控制变频器启动. 故障查 ...

  • 西门子PLC系列1215C与触摸屏创建配方设置实例

    关于启程 启程自动化成立于2012年,培训项目主打西门子PLC编程系统集成.工业机器人编程.EPLAN电气设计.视觉等培训与技术服务的机构.推荐高薪就业,越努力越辛运 针对同一设备平台生产不同产品型号 ...

  • 西门子PLC编程技巧,经典实例讲解!

    技成PLC课堂 从0到1,带你学习PLC技能! 79篇原创内容 公众号 今天跟大家一起探讨一下具体应用程序的编写方法,我们以运料小车控制系统的编程方法为例进行讲解. 运料车主要用于搬运加工工件,在工矿 ...