本文将通过永宏PLC点位采集控制的组态案例和大家分享一款名为IOT-FAST的物联网软件。
软件集合了数据采集、上报云端、图形组态为一体,仅三步就让你快速完成设备的数据采集控制组态项目。下载地址:https://www.gkiiot.com/download.html
在这里面我们选择Windows版本安装包下载
下面我们详细介绍该套软件的操作案例,以采集监控永宏PLC的IO点位状态为例,文章主要分为五个部分:
前期准备
永宏跑马灯的介绍:设备的连线,串口服务器IP和端口的配置。
IOT-FAST-采集控制系统
对底层设备进行数据读取、写入的配置界面,还可以进行数据处理。
IOT-FAST-云平台
将采集控制系统收集的数据进行分类展示、告警阈值设置、历史数据查询等功能。
IOT-FAST-云组态
进行2D组态,组态元素绑定云平台上展示的数据,来进行动作的执行或是数据展示。
IOT-FAST-App
通过手机app进行远程数据的查看,以及动作的执行。
一、前期准备
1.1 准备工具
实现采集监控永宏PLC的IO点状态组态案例,需要准备以下工具:
- 一台永宏plc,该案例采用的永宏PLC型号为FBs-14MCR2-AC;
- 一个按钮开关,用于物理控制跑马灯启动关闭;
- 一对LED灯,该案例采用四个灯展示。
此案例所使用的永宏PLC正面有一个网口,除此之外,分别还有电源、外部接门磁门锁的485口和接读卡器的韦根接口。这里只需要把电源和网线接上就行。但需要给永宏PLC先分配一个IP地址(新设备会有一个初始IP地址),我们需要下载修改IP的软件Fatek Ethernet Module Configuration setup进行IP设置。
1.2 永宏PLC软件WinProladder应用
首先简单说明一下WinProladder的使用,是永宏PLC的编程软件之一,用于编写梯形图和修改PLC参数等。
1.2.1 连接PLC
打开WinProladder软件,单击档案,选择开新专案,点击编辑,选择PLC的型号,点击确定,具体操作如下。
1.2.2 修改软件连接设备的IP地址和配置端口
在PLC中找到联机,点击编辑,修改PLC的IP地址和本地模块一致。配置端口和勾选连接机制,最后点击确定即可。(如果是新的PLC首次连接,要先将电脑IP修改为和PLC同一个网段,PLC和电脑用网线直连通讯,然后修改PLC的IP,重启PLC之后就可以通过交换机以太网通讯了。)
1.3 梯形图
1.3.1 编写
WinProladder中输入为X,输出为Y,中间寄存器为M。M可读可写,X和Y可读,因此要控制输出点Y的通断,只能通过M或其它可写入点间接控制Y,如下图,用M1、M2、M3、M4分别控制输出Y1、Y2、Y3、Y4。
1.3.2 联机
写好程序后,点击PLC下的联机,将程序和参数下载到PLC当中,再点击执行。
三、IOT-FAST-采集控制系统
使用IOT-FAST采集控制系统对永宏PLC跑马灯进行采集和控制。
1.控件选择
从左边的控制引擎和采集引擎中分别拖出永宏控件。
按下图配置,上面是是读取的采集引擎,下面是写入的控制引擎。
2.控件节点配置
Fatek-Write的配置如下:
添加4个控制量,分别为M1-M4,类型为布尔,值就是写入的值(0或者1) | 地址和端口是根据配置好的PLC地址和端口填入 |
---|---|
Fatek-Read的配置大致相同,读取M0-M4以及Y1-Y4 9个点的状态。
配置完成后,在Fatek-Write节点中将M1和M3的值改成1,然后点击部署。
3.流程部署调试
点击写入定时器,调试界面显示写入成功,然后点击读取定时器,显示M1和M3以及Y1和Y3的值为true。
回到WinProladder的监视界面,可以看到M1和M3以及Y1和Y3闭合。
再试一次,M1-M4写入0101,点击部署,点击写入和读取定时器,查看WinProladder的监视界面。
成功对PLC进行读取和写入了,文章末尾附上快速复用码,导入便可快速部署。
四、IOT-FAST-云平台
IOT-FAST云平台能够与IOT-FAST采集控制系统进行联动,将采集到的数据可视化。
1. 产品和设备的创建
登录IOT-FAST云平台,依次点击设备管理-产品-创建产品。
然后在该产品下创建一个设备,操作顺序如下图,最后点击确定即可。
2. 采集量的定义
回头查看刚刚创建的产品,在功能定义中,自定义功能中添加采集量。
注:标识符一定要和采集引擎中的标识符一致,功能名称无所谓。
所有灯光功能自定义添加完成如下:
3. 可视化控件部署调试
回到IOT-FAST采集控制系统,在IOT-FAST云平台中拖出海创上行和下发,点击节点进行产品设备的选择配置。控件显示连接成功后,读取数据的数据即可展示在右方调试界面。
回到IOT-FAST云平台,在设备的运行状态中可以实时显示LED灯的状态了。
五、IOT-FAST-云组态
4.1 创建项目及应用
点击云组态按钮进入云组态首页。
先新建一个项目,填写项目名称,保存,进入项目。
点击应用-我的应用,点击图示位置新增一张图纸,来构建组态。
填写图纸名称后就可以开始画组态图了。
4.2 设计所需模型图标
以在左侧项目树中选择图标使用现成的组件,也可以在设计中设计自己需要的组件。设计完成的个性化组件可以直接拉到后面你所创建项目图纸中,重复使用,方便快捷。
下面以LED指示灯为例,介绍软件绘画中涉及线段、图形、文本、图形对齐的编辑,以及修改图形的背景颜色、线条宽度等操作。具体操作入径如下图所示,是不是很明了简单呢。
组件基础部分设计完成后,即可拖拽至项目应用图纸中。
灯光组件中的LED灯颜色是不同的,并且满足可控制可绑定数据的要求,我们需要单独进行LED指示灯组件的设计,设计过程和上面介绍相同。
然后我们将指示灯组件拖拽至项目应用图纸中,在原有基础上设定该指示灯接通和断开状态的颜色。
4.3 绑定云平台数据
图形绘画完成,下一步就可以通过采集系统采集到的设备灯光状态上传至云平台的数据绑定到组态上。只要我们选中指定灯光组件,点击基础配置页面中绑定数据源按钮。
在弹出的标签页中选择数据源-设备,来源-我的,产品-云平台创建的产品,设备-云平台创建的设备,属性-选择灯1状态,点击确定。下面的灯光以及其他的设备数据源同理,进行绑定。
全部完成后点击保存,然后点击右上角的预览,即可查看组态的永宏PLC跑马灯动态效果。
在这个案例中我们详细介绍一下交互的功能操作,即通过点击组态上的设备控制实际的设备执行相应的操作。以灯光1为例,鼠标单击灯光1节点让实际的灯光1设备亮起。
首先我们点击灯光1节点,在“交互”操作栏下选择“鼠标单击时”。
在弹出的标签页中,点击“添加条件”
我们设置灯光1实际为亮的情况下为前提条件
上一步操作确定后会返回事件编辑页面,我们选择“数据反馈”,弹出动作配置页面,选择相应设备属性,配置值为false,即关闭灯光1。
其他节点依照此操作一一配置完成,返回组态页面,即可实现灯光单点控制。
五、IOT-FAST-微信小程序/APP
软件上的数据支持在微信小程序或者APP上查看,小程序和APP的二维码在云平台首页的右侧,目前只支持安卓APP,ios的用户可以直接用微信小程序查看。
扫码进入IOT-FAST小程序,输入PC端注册的账号密码进入首页。
选择永宏PLC跑马灯设备,点击查看可以看到设备的详细信息。
点击运行状态右侧箭头可以查看设备的实时数据。
点击设备控制右侧箭头可以控制设备的状态。
回到首页,点击组态查看该账号下的所有组态,选择永宏PLC跑马灯这个组态,点击查看。
在组态页面中同样支持灯的单点控制。
六、附录
快速复用码
以上教程可以通过拷贝下面代码实现快速复用,在新建的流程中点击界面右侧 菜单栏-导入-剪贴板,在文本框中粘贴下面代码后点击确定,即可快速复用
[
{
"id": "ec012c20.aa733",
"type": "tab",
"label": "跑马灯采集控制",
"disabled": false,
"info": ""
},
{
"id": "8ca478dc.221348",
"type": "iot-fatek",
"z": "ec012c20.aa733",
"name": "跑马灯 ",
"server": "a15ce727.607098",
"columns": [
{
"Key": "M0",
"Lable": "物理开关",
"Area": "M",
"Address": "0",
"Number": "1",
"ValueType": "Boolean",
"Arithmetic": ""
},
{
"Key": "M1",
"Lable": "第一个灯逻辑开关",
"Area": "M",
"Address": "1",
"Number": "1",
"ValueType": "Boolean",
"Arithmetic": ""
},
{
"Key": "M2",
"Lable": "第二个灯逻辑开关",
"Area": "M",
"Address": "2",
"Number": "1",
"ValueType": "Boolean",
"Arithmetic": ""
},
{
"Key": "M3",
"Lable": "第三个灯逻辑开关",
"Area": "M",
"Address": "3",
"Number": "1",
"ValueType": "Boolean",
"Arithmetic": ""
},
{
"Key": "M4",
"Lable": "第四个灯逻辑开关",
"Area": "M",
"Address": "4",
"Number": "1",
"ValueType": "Boolean",
"Arithmetic": ""
},
{
"Key": "Y1",
"Lable": "第一个灯亮",
"Area": "Y",
"Address": "1",
"Number": "1",
"ValueType": "Boolean",
"Arithmetic": ""
},
{
"Key": "Y2",
"Lable": "第二个灯亮",
"Area": "Y",
"Address": "2",
"Number": "1",
"ValueType": "Boolean",
"Arithmetic": ""
},
{
"Key": "Y3",
"Lable": "第三个灯亮",
"Area": "Y",
"Address": "3",
"Number": "1",
"ValueType": "Boolean",
"Arithmetic": ""
},
{
"Key": "Y4",
"Lable": "第四个灯亮",
"Area": "Y",
"Address": "4",
"Number": "1",
"ValueType": "Boolean",
"Arithmetic": ""
}
],
"x": 550,
"y": 260,
"wires": [
[
"7423bd4d.8c5a84",
"ee2406b5a424ef27"
]
]
},
{
"id": "87a641ed.eade5",
"type": "iot-fatek-out",
"z": "ec012c20.aa733",
"name": "",
"server": "a15ce727.607098",
"columns": [
{
"Key": "M1",
"Lable": "第一个灯逻辑开关",
"Area": "M",
"Address": "1",
"Number": "1",
"ValueType": "Boolean",
"Val": "0"
},
{
"Key": "M2",
"Lable": "第二个灯逻辑开关",
"Area": "M",
"Address": "2",
"Number": "1",
"ValueType": "Boolean",
"Val": "0"
},
{
"Key": "M3",
"Lable": "第三个灯逻辑开关",
"Area": "M",
"Address": "3",
"Number": "1",
"ValueType": "Boolean",
"Val": "0"
},
{
"Key": "M4",
"Lable": "第四个灯 逻辑开关",
"Area": "M",
"Address": "4",
"Number": "1",
"ValueType": "Boolean",
"Val": "0"
}
],
"x": 570,
"y": 380,
"wires": [
[]
]
},
{
"id": "45b3bf68.ba482",
"type": "inject",
"z": "ec012c20.aa733",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "0.3",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 460,
"y": 260,
"wires": [
[
"8ca478dc.221348"
]
]
},
{
"id": "7423bd4d.8c5a84",
"type": "debug",
"z": "ec012c20.aa733",
"name": "",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 750,
"y": 120,
"wires": []
},
{
"id": "f088ef4cc5776e0d",
"type": "hc-iot-driveIn",
"z": "ec012c20.aa733",
"name": "",
"prodId": "{\"prodId\": \"gHCjEh9AC8BF6BB1\", \"prodKey\": \"undefined\"}",
"device": "{\"deviceKey\": \"0HfBF70B2i1fGB1f\", \"deviceSecret\": \"8c9268e3a0b656a03fa7abe327195ee2\"}",
"clientId": "app:gHCjEh9AC8BF6BB1:0HfBF70B2i1fGB1f:1651822987281",
"username": "md5:1651822987281",
"password": "3d8f53b0a70f96fae83346e1d8036524",
"x": 280,
"y": 380,
"wires": [
[
"8e886f28a6dddf7f"
]
]
},
{
"id": "8e886f28a6dddf7f",
"type": "json",
"z": "ec012c20.aa733",
"name": "",
"property": "payload",
"action": "obj",
"pretty": false,
"x": 370,
"y": 380,
"wires": [
[
"e313d24b4a1acc08"
]
]
},
{
"id": "e313d24b4a1acc08",
"type": "function",
"z": "ec012c20.aa733",
"name": "",
"func": " msg.payload ={\n \"M1\":msg.payload.data.params.M1,\n \"M2\":msg.payload.data.params.M2,\n \"M3\":msg.payload.data.params.M3,\n \"M4\":msg.payload.data.params.M4\n}\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 450,
"y": 380,
"wires": [
[
"87a641ed.eade5"
]
]
},
{
"id": "ee2406b5a424ef27",
"type": "hc-iot-driveOut",
"z": "ec012c20.aa733",
"name": "",
"prodId": "{\"prodId\": \"gHCjEh9AC8BF6BB1\", \"prodKey\": \"undefined\"}",
"cmdType": "{\"cmdKey\": \"up\", \"cmdName\": \"灯光状态上报\"}",
"device": "{\"deviceKey\": \"0HfBF70B2i1fGB1f\", \"deviceSecret\": \"8c9268e3a0b656a03fa7abe327195ee2\"}",
"clientId": "app:gHCjEh9AC8BF6BB1:0HfBF70B2i1fGB1f:1651890663254",
"username": "md5:1651890663254",
"password": "2a9f411fa896977d4877170ca0eaee23",
"x": 660,
"y": 260,
"wires": [
[]
]
},
{
"id": "a15ce727.607098",
"type": "iot-fatek-client",
"name": "",
"communicate": "TCP",
"host": "192.168.21.105",
"post": "500",
"baudrate": "9600",
"databits": "8",
"stopbits": "1",
"parity": "None",
"expand": {
"UnitId": ""
},
"showActivity": false
}
]
案例介绍
行业分类 | 案例名称 | 案例简介 |
---|---|---|
智慧能源 | 智慧能源系统 | 通过IOT-FAST平台实现智能电表设备、智能水表设备、智能燃气表设备管控。 |
智慧能源 | 智慧燃气安全管理平台 | 通过IOT-FAST平台实现SCADA、GIS、巡检及监控等功能,提升燃气安全监管水平,全面实行“一张网、全过程、智慧化”。 |
智慧能源 | 配电房环境监测系统 | 通过IOT-FAST平台实现分布在配电室内的各类传感器、采集与通信设备,将各种电气信号、运行参数和环境数据传送到智能运维监控平台上,对用户配电室进行远程、集中、实时监控,实现配电室“无人值班,少人值守”。用户可对配电室运行和能效数据进行实时监控。 |
智慧能源 | 共享换电柜系统 | 通过IOT-FAST平台实现一体化租换电服务,电动车产业物联网SAAS服务商,专门致力于做外卖和快递行业的运力解决商。 |
智慧城市 | 智慧街区平台 | 通过IOT-FAST平台赋能智慧街区,实现“万物互联”,实施社区基础设施的智慧化升级改造工程,应用社区综合管理系统,加快传统信息系统数字化转型;以感知为核心,智慧化推动系统集成及实施,实现智慧管理、智慧服务、智慧体验、智慧运营。 |
智慧园区 | 智慧园区系统 | 通过IOT-FAST平台综合管控平台授权感知视频监控、门禁、人脸识别、梯控、水电表、大门人行通道、车辆管理、动环监控、充电桩、系统集成安装等实现设备的综合管控,对时实与历史报表的动态分析展示。 |
智慧水务 | 水质监控系统 | 通过IOT-FAST平台实现水质检测仪、测深仪、气象检测仪、GPS、摄像头、无人机等设备进行管控。 |
智能工业 | 云计算中心数据采集 | 通过IOT-FAST平台实现BA系统、照明系统、极早期系统的管控。 |
智能工业 | 钣金工厂数据采集 | 通过IOT-FAST平台实现冲压机、电焊机、电泳产线的管控。 |