EsDA 为智慧工厂系统赋能,MPC-ZC1 工控单板 搭配 ZLM3100S 大功率电机驱动器,快速搭建出产线车间的智能风机控制系统。
简介
本文基于 EsDA MPC-ZC1 应用——IoT 监测控制系统(二) ,将方案应用于实际的厂房温度检测控制系统中,并进一步完善应用。
业务扩展
此次新增业务主要以下 2 方面:
1. 大功率风机 将原先风机设备替换成厂房大功率风机,选用致远电子推出的新一代工业风机驱动器 ZLM3100S 的配套的风机设备。
该驱动器最大输出功率高达 1KW,转速支持 500~1320 RPM。同时可实时监测电机状态,如过压、过流、堵转、母线电压、IPM 温度等数据。
电机控制、状态读取都是通过 RS485 Modbus RTU 通信来实现的。
2. 云端组态UI ZWS 物联网平台提供了一个在线的组态模块,用户可以很方便的构建出自己的UI界面。 * 详细信息 https://www.zlgcloud.com:20000/web/#/5?page_id=48 一、系统框图 硬件上,将上一期的 DO 风机控制替换成大功率风机 ZLM3100S,由于ZLM3100S与温湿度传感器一样是RS485 Modbus RTU通信,所以,两种设备可以并联接入都同一个总线接口上,通过配置成不同的从机地址来区分。
二、风机控制 控制 ZLM3100S 大功率电机,需要使用到 zlm3100s_in 和 zlm3100s_out 2个节点。 1. 节点介绍 1.1 zlm3100s_in zlm3100s_in 节点,实现了周期性获取电机状态功能。 1.1.1 属性
名称(name): 节点名称,用于索引查找本节点;
显示名称(displayName): 用于画布上显示的名称;
Modbus配置参数(modbus): 绑定一个Modbus RTU配置节点;
从机ID(slave_id): 电机设备从机地址;
输出周期(period): 读取电机状态的轮询周期。
1.1.2 输出
start: 电机的启动/关闭状态,启动为”on”,关闭为”off”;
rpm: 电机设定转速值,单位rpm;
devaddr:Modbus RTU 从机地址;
minrpm: 最低允许转速,单位rpm;
maxrpm: 最高运行转速,单位rpm;
starthold: 启动前保持停转时间(秒);
devnum: 设备编号;
overvol: 过压保护限制,单位V;
undervol: 欠压保护限制,单位V;
overtemp: 高温保护限制,单位摄氏度;
maxerr: 最大容错次数;
errperiod: 容错清除周期;
errwait: 错误等待时间(秒);
pwrlimit: 功率限制(W);
errcode: 错误码;
actrpm: 实际转速,单位rpm;
ipmtemp:IPM温度,单位摄氏度;
errcnt: 错误次数;
sysruntime: 系统运行时间,单位秒;
focruntime: 电机运行时间,单位秒;
state: 系统状态;
iq: 转矩电流(毫安);
ia:A相电流(毫安);
ib:B相电流(毫安);
ic:C相电流(毫安);
ubus: 母线电压,单位毫伏;
cpuload:CPU 负载;
fwver: 固件版本;
btime: 固件编译时间;
uid: 设备唯一ID。
* ZLM3100S 提供了丰富的寄存器接口,具体可以参考产品用户手册。 1.2 zlm3100s_out 1.2.1 属性
名称(name): 节点名称,用于索引查找本节点;
显示名称(displayName): 用于画布上显示的名称;
Modbus配置参数(modbus): 绑定一个Modbus RTU配置节点;
从机ID(slave_id): 电机设备从机地址;
错误重试次数(retry_times): 通信错误重试最大次数。
1.2.2 输入
start: 电机启动控制,“on” :启动,“off” : 停止;
rpm: 设定电机转速,单位rpm;
devaddr: 设定电机 Modbus RTU 从机地址;
minrpm: 设定最低允许转速,单位rpm;
maxrpm: 设定最高运行转速,单位rpm;
starthold: 设定启动前保持停转时间(秒);
aispeed: 模拟调速使能(1:使能,0:禁止);
devnum: 设定设备编号;
overvol: 设定过压保护限制,单位V;
undervol: 设定欠压保护限制,单位V;
overtemp: 设定高温保护限制,单位摄氏度;
maxerr: 设定最大容错次数;
errperiod: 设定容错清除周期;
errwait: 设定错误等待时间(秒);
pwrlimit: 设定功率限制(W)。
2. 控制验证 2.1 风机控制 尝试直接启动风机。 2.1.1 添加节点 添加 zlm3100s_out、timer、fscript 节点,如下图所示。 2.1.2 配置节点
双击 zlm3100s_out 节点,打开配置窗口,如下图所示进行配置。
Modbus配置参数(modbus): 与温湿度传感器共用一个配置;
从机ID(slave_id): 此处从机地址为 7(具体根据实际情况而定)。
控制脚本如下所示,直接启动风机运转。
2.1.3 下载流图 点击下载流图。
可以看到风机正常启动,随着转速提升,百叶窗逐渐被吹起。
* 默认转速为 1320 RPM,启动等待时间 20 秒。
2.1.4 合并流图 将 zlm3100s_out 节点添加到上一期的流图中,取代原先的GPIO风机控制节点,如下所示。
双击 智能控制 脚本节点,如下图所示进行调整。
调整后脚本。
if (global.fan_control == "on") {
/* 手动启动 */
msg.start = "on"
} else if (global.fan_control == "off") {
/* 手动停止 */
msg.start = "off"
} else {
if (global.high_temp_anomaly == true) {
/* 高温异常自动启动 */
msg.start = "on"
} else {
/* 常温自动停止 */
msg.start = "off"
}
}
2.1.5 下载流图
通过外部加热传感器直至超过默认高温预警值(30℃),可以看到警报LED亮起,并且在持续约 20 秒后,风机自动启动。
通过云端下发风机启动命令,手动启动风机。
2.2 读取状态 尝试读取电机状态。 2.2.1 添加节点 在流图上添加 zlm3100s_in、to_json、log 节点,如下图所示。
2.2.2 配置节点 双击 zlm3100s_in 节点,打开配置窗口,如下图所示进行配置。
Modbus配置参数(modbus): 与温湿度传感器共用一个配置;
从机ID(slave_id): 此处从机地址为 7(具体根据实际情况而定)。
2.2.3 下载流图 电机在线运行。
下载完成。
可以看到在获取到温湿度的同时读取到了电机的状态。
2.2.4 上报风机状态
为了能够在云端查看到风机的状态,需要将风机的状态上报物联网云平台,这里选择上报风机的实际转速(actrpm)和 IPM温度(ipmtemp)。
在温湿度采集 和 上报数据 节点添加一个 sync 节点,用来同步温湿度和点击状态数据,确保数据同步上报至云平台。
sync节点配置如下。
上报数据节点添加 IPM温度 和 风机转速数据点。
2.2.5 ZWS 添加数据点 按照上一期的方法,在ZWS云平台上为MPC-ZC1添加新的数据点,如下图所示。 添加风机 IPM 温度状态。
添加风机实际转速。
最终数据点如下。
2.2.6 下载验证
下载流图。
远程启动风机。
云端查看数据。
三、云端组态
1. 创建组态
点击 数据管理 -> 组态应用,进入组态应用页面。
点击 添加组态。
输入组态应用名称。
2. 设计UI 进入组态编辑页面。
选择工业组件。
添加2个刻度组件,用于显示温度和湿度。
为刻度添加文本说明。
为控件绑定数据点(湿度控件则绑定湿度数据点)。
点击运行,查看效果。
实时获取到 MPC-ZC1 的温湿度。
添加开关控件。
绑定风机控制命令。
点击运行,查看效果,通过点击开关控件,发送启动命令。
3. 美化并保存
按照上述步骤,继续添加风扇控件,绑定风机转速数据点,添加文本控件,绑定IPM温度,最后进行美化设计。
四、完成
至此,完成了大功率风机的接入,云端组态设计。已经可以初步应用实际场景中,完成IoT检测控制系统的所有业务开发。最终流图如下所示。
实际应用中,风机数量远不止一台,可以按照上述过程,复制添加更多的风机控制节点,和远端组态控件,如下所示效果。
评论
查看更多