基于PCS7的四容水箱控制仿真系统与云平台的通讯
2018-05-14刘昊
刘昊
1 工业云的发展
云计算、大数据将成为未来10年乃至更长时间新一代信息技术和产业的关键和核心,其和移动互联网、物联网等其他新一代信息技术一起正驱动互联网向传统工业制造业渗透,推动互联网企业和传统工业企业融合发展,并作为现代服务业的有机组成部分,不断与新业务形态、新商业模式互动融合,催生新产品、新技术、新模式。工业云通常指基于云计算架构的工业云平台和基于工业云平台提供的工云服务,涉及产品研发设计、实验和仿真、工程计算、工艺设计、加工制造及运营管理等诸多环节。工业云基于云计算技术架构,使工业设计和制造、生产运营管理等工具大众化、简洁化、透明化,通过工业云计算服务,可大幅提升工业企业全要素劳动生产率。
2 四容水箱的仿真系统在PCS7系统上的实现
本文所使用的控制器是西门子S7300 PLC,其配套的上位机软件为STEP7,STEP7是一款用于SIMATIC 57300/40GPLC组态及编程的标准软件,用户可以使用梯形图逻辑、功能块图、语句表进行程序的编译。同时为用户提供了在线诊断、实时在线监测等功能。
首先要进行的是硬件组态。硬件组态就像是一座桥梁,连接上位机与S7300 PLC,进行硬件组态是要将CPU型号,数字量的输入输出、模拟量的输入输出、电源信息等进行配置,给模块分配相应的物理地址。在STEP7中进入硬件组态,本文所用的S7300 PLC的CPU型号为“CPU 3152PN/DP”,PN/IO中的PLC的IP地址为192.168.2.4,模拟量输入为AI8×12Bit,输入为超声波传感器测量的液位值,因此参数配置时测量范围为4~20mA,模拟量输出为A08×12Bit,输出为给电机的电压信号,因此参数配置为1~5V。
基于PCS7控制仿真的基础上,通过Profinet将PLC中的实时数据传输到网关当中,并在网关中通过赫优讯网关的NODERED工作区间对节点进行编程组态,在通过MQTT协议与阿里云对接,最后在阿里云平台上对数据做进一步的分析处理。
3 MQTT连接使用说明
首先注册阿里云账号开通物联网套件项目,登录控制台创建项目。初步进入控制台后,需要创建产品。点击创建产品。产品相当于某一类设备的集合,用户可以根据产品管理其设备等。
产品名称:对产品命名,例如可以填写产品型号。产品名称在账号内保持唯一。
productKey:阿里云IoT为产品颁发的全局唯一标识符
设备:指不能挂载子设备的设备,这种设备可以直连IoT Hub,也可以作为网关的子设备连接。
网关:指可以挂载子设备的直连设备,网关具有子设备管理模块,维持子设备的拓扑关系,并且可以将拓扑关系同步到云端
创建完产品之后,可以为该产品添加设备。进入产品管理页面下的设备管理,点击“添加设备”。用户可以自定义设备名称,这个名称即可作为设备唯一标识符,用户可以基于该设备名称与IoT Hub进行通信,需要指出的是,用户需要保证设备名称产品内唯一。
设备证书:添加设备之后,物联网套件为设备颁发的唯一标识符,设备证书用于设备认证以及设备通信。
基于TCP连接:阿里云使用MQTT基于TCP的连接方式有两种:
(1)MQTT客户端域名直连(资源受限设备推荐)
(2)先HTTPS发送授权后再连接MQTT(一些特殊增值服务,比如设备级别的引流)
根据本课题的情况使用第一种连接方式进行通信。根据阿里云提供的官方文档说明,需要设备的productKey、deviceName、deviceSecret、clientId。四种参数提供给MQTT以进行连接。
如果clientId = 12345,deviceName = device, productKey = pk, timestamp = 789,signmethod=hmacsha1,deviceSecret=secret,那么使用tcp方式提交给mqtt参数分别如下:
mqttclientId=12345|securemode=3,signmethod=hmacsha1,timestamp=789|
username=device&pk
Password=通过哈希加密算法计算出来的密码。设备的productKey和用于加密的deviceSecret可以在控制台的设备详情中查看。productKey和deviceName在控制台中创建项目时由阿里云自动提供以作为设备的唯一标识。
到此我们已经得到了用于MQTT协议的所有参数:
productKey:F7PdPm8hkHj 、deviceName:hilscherTIB100
deviceSecret:9GnITgl6AlxOa3M5uft1ztI1gYF5qRp8、clientId:12345、timestamp:随便设置一个3位数
根据以上信息可以得到哈希加密算法的铭文是:
clientId12345deviceNamehilscherTIB100productKeyF7PdPm8hkHjtimestamp789
带入到哈希加密计算公式中得到用于网关中的密码为:
a025f3a1cd250027c4b3f899b7ba91af55dbf97b
将上述参数填入到赫优讯网关的MQTT节点中。点击连接,可以在阿里云控制台端看到设备的上线日志。证明通信成功。
4 结语
(1)本文首先通过在西门子PCS软件中对四容水箱的控制系统进行组态仿真,实现了对水箱水位的實时监控和控制。
(2)通过阿里云平台与物联网通讯协议MQTT以及工业网关把PLC中的数据实时的传输到了云平台中,可以高效、便捷的对工业控制器的数据进行处理和分析。
参考文献:
[1]赵丹丹,邹志云,郭宁,冯文强.二阶双容水箱液位的串级控制[J].冶金自动化,2008:10011003.
[2]郑长兵. 基于H_∞回路成形的四容水箱控制系统设计[D]. 北方工业大学,2015.
[3]关庆余,李鸿彬,于波.MQTT 协议在 Android 平台上的应用与研究.计算机系统应用.