zoukankan      html  css  js  c++  java
  • 【新阁教育】这样玩PLC,是不是有意思多了

    01 前言

            近几年,在工控自动化领域,物联网必然是最热门的话题之一。

            然而,对于很多PLC工程师来说,物联网似乎仍然是一个很遥远的概念。

            今天,主要分享一下如何基于阿里云的物联网平台,实现PLC控制系统数据远程上云,这里以西门子1500PLC为例,其他品牌PLC开发思路是一样的。

    02 Iot平台

    1、Iot平台选择的是阿里云的物联网平台,阿里云物联网平台链接:https://www.aliyun.com/product/iot/iot_instc_public_cn
    2、点击进入控制台,并登录阿里云账号

    3、选择公共实例进入,如果没有开通,需要开通一下。

    4、在设备管理 >> 产品 ,右侧点击创建产品,按照下图进行设置:

     5、产品创建成功后,按照提示添加设备,点击前往添加按钮即可。

     6、点击添加设备按钮,在弹出的窗体中,输入DeviceName,名字可以自己定义,这里设置为S7-1500。

     7、设备添加完成后,点击设备详情,可以进入下列界面,我们可以看到相关的信息,会自动分配一个ProductKey,点击查看,可以看到详细信息,如下图所示:

     8、详细信息包含ProductKey、DeviceName和DeviceSecret,阿里云称之为三元组,这三个信息要注意保密,可以点击一键复制,把这三个信息复制到记事本中,下一步会用到。

    9、MQTT连接最终需要的是域名、用户名、密码之类的信息,所以我们需要将三元组转换成我们需要的信息,这里使用一个在线转换工具:https://www.nnhpiot.com/aliyunmqtt.html,输入相关信息,其中timestamp和clientId可以自己定义,然后点击Generate生成即可:

     10、至此,一个阿里云的MQTT服务器设备就创建好了,我们需要进行测试,这里采用MQTT工具——MQTT.fx,打开MQTT.fx,将生成的相关信息输入进去,然后点击Connect:

     11、刷新阿里云物联网平台,查看设备状态,设备状态由未激活变成了在线,说明MQTT连接成功:

     12、添加一个Topic主题,平台默认已经有了一些Topic,所以可以使用现成的,也可以自己添加自定义Topic,如下图所示:

    03 PLC采集

            当我们准备好MQTT服务器之后,如果要实现数据远程上传,接下来就要实现PLC数据采集,针对西门子PLC,我们可以采用开源的通信库S7.NET。1、首先确定一下需要远程上传的数据        本案例采集8组温度传感器和流量传感器数据,因此创建了16个浮点型变量,如下所示:

    2、PLC连接及MQTT连接

            这里主要涉及到与PLC的连接以及与MQTT服务器的连接,其中PLC连接采用S7.Net,MQTT连接采用MqttNet。

     

    3、实现PLC数据读取及解析及数据远传

            由于本案例数据是连续的64个字节,并且都是浮点型数据,因此直接读取之后转换成浮点数组,然后通过索引赋值即可。

    04 上位机开发

    1、上位机UI界面设计
            上位机部分的UI界面设计主要是根据功能来做的,包括功能菜单、导航菜单及设备状态、系统报警显示,以及实时监控界面。2、上位机监控实现

            运行上位机监控界面,可以看到上位机系统正确读取到PLC数据,并进行实时显示,同时上位机将数据远传到阿里云物联网平台,我们设置的上传周期为五秒。

    05 平台监控

    1、平台数据监控
            在阿里云物联网平台的日志服务中,可以看到每隔五秒收到一组来自设备端的数据,通过查看消息内容判断与PLC中的数据保持一致。

     2、平台数据处理

            由于一组设备三元组信息只能支持一个MQTT连接,所以上传到云端的数据,是无法通过开启其他MQTT客户端再获取的,如果想要获取平台数据,有以下三种方案:

    • 如果是实物模型数据,可以直接通过调用云端api来获取。

    • 如果要实时订阅,也可以使用amqp服务端订阅。

    • 如果要存储,可以通过规则引擎流转到想存储的数据目的地。

     

    06 写在后面

            近几年, 随着越来越多的设备开始加入IIoT 网络(Industrial Internet of Things,工业物联网简称IIoT),IT与OT之间的界限将逐渐消失,直到成为一个或相同的系统为止。

            所以,越来越多的电气工程师开始转型上位机开发。因为在已有电气技能的基础上,如果掌握了上位机开发技能,薪资达到20K,甚至30K,将会变得很容易。

            为了便于大家更好地学习这个项目,避免踩坑,浪费自己的宝贵时间,我们特意准备了一次免费的直播课,带大家一步一步实现整个过程。想要学习的童鞋,可以扫描下方二维码加入学习群。

    PS:名额有限,微信群仅限200人,先到先得,仅限当天。

  • 相关阅读:
    RESTful 、RESTful API 、REST 介绍
    微服务 第三章:SpringBoot 创建web项目(调用jsp)
    微服务 第二章:SpringBoot 创建web项目(用Thymeleaf模板引擎)
    SpringBoot学习之 Thymeleaf
    Junit测试
    ---run-pat 测试 crontab 命令
    ---iproute2 策略路由
    ---曾经整混的两个词
    ---Under Ubuntu 14.04
    ---Ubuntu 14.04 虚拟机器和主机时间同步
  • 原文地址:https://www.cnblogs.com/xiketang/p/14200357.html
Copyright © 2011-2022 走看看