基于数传电台的组态王控制实现远程采集控制器PLC
「物联网应用案例」基于数传电台的组态王控制
一.案例介绍
采用亚控科技组态王结合亿佰特E90系列数传电台实现远程采集控制PLC。在这里主要介绍通信环境的搭建,故不采用过于复杂的控制程序,但为了体现控制效果,使用我们最熟悉的点灯系统作为测试工程,并引入一个保持寄存器测试MODBUS 03功能码的工作情况。
工作原理
组态王使用莫迪康的MODBUS RTU接口协议通过RS485串口连接E90数传电台,并作为主机使用。顾美CX3G-PLC(以下称为PLC)的2号串口作为MODBUS RTU从机,处理组态王的查询和控制指令。

图1 通信拓扑
使用PLC的第七路离散输入(X06)口作为开灯的就地控制点,使用第八路离散输入口(X07)作为关灯的就地控制点,使用M2作为组态王远程开灯控制点,使用M3作为组态王远程关灯控制点。
利用PLC特殊寄存器的秒寄存器(D8013)自动为组态王读取寄存器(D0)赋值。
方案优势
中控室与PLC控制柜之间一般都有较远的距离,使用数传电台可以减少布线和后期故障查询的时间成本和施工成本,同时也能方便后期功能拓展。除此之外还具有以下优点。
1. 能够解决难以布线的环境(山地、港口和开阔地等)采用有线的施工周期长,甚至根本无法实现的问题。
2. 配网方便灵活,可扩展性良好。花费较小的时间成本就能实现设备组态。
3. 维护和故障查询方便快捷。
4. 可以方便地实现多点控制。
5. RTU设备都可以通过这种方式进行拓展。
二.PLC程序设计
使用GX Works2编程软件采用梯形图进行编程;
1、首先要配置PLC串口参数,MODBUS地址。
n 通过运行触发继电器(M8002)进行参数配置使能信号。

图2 PLC串口配置寄存器
n PLC的串口参数配置寄存器(D8120),通过图2的配置表将串口设定为H0E0D1(115200-无校验-1个停止位-8个数据位-RTU模式),B13-b15默认都配置为1。
n 配置MODBUS地址寄存器(D8121)设置为地址1。
n 配置MODBUS功能继电器(M8125)和启用协议传输继电器(M8196)。

图3 CX3G-PLC串口参数配置
2、模拟一组保持寄存器数据
使用CX3G-PLC特殊寄存器的秒寄存器(D8013)模拟变化数据传输给保持寄存器(D0),用于组态王读取。

图4 模拟保持寄存器数据
3、设置控制点
配置一个控制点位,可以通过离散输入点位X006、X007进行就地控制,也可通过M2、M3利用组态王上位机进行远程控制。

图5 控制点位
三.组态王配置
首先创建一个基本组态王工程,设备组态与直接连接设备时方法相同,数传电台只有代替在原来RS485线缆的作用,不影响工程的配置。
1、组态王设备配置
这里我采用通用的MODEBUS RTU协议来配置组态王设备,如图6所示。采用PLC选项下的莫迪康公司的MODBUS RTU协议。

图6 组态王设备配置
点击下一步后选择对应的端口号,在上一节中我将PLC的MODBUS地址设为1,组态王的通信设备地址也设置为1,否则将无法正常通信。
2、组态王变量配置
从功能设计出发组态王需要配置2个控制点位、2个离散量采集点位、1个线圈采集点位和1个保持寄存器采集。如有不明之处可参考组态王寄存器配置帮助。

图7 变量配置
变量配置表为本次案例所需的采集控制点位表。
|
变量名 |
变量类型 |
寄存器 |
数据类型 |
读写属性 |
|
开灯 |
I/O离散 |
00003 |
Bit |
只写 |
|
关灯 |
I/O离散 |
00004 |
Bit |
只写 |
|
Y00 |
I/O离散 |
013057 |
Bit |
只读 |
|
X06 |
I/O离散 |
113319 |
Bit |
只读 |
|
X07 |
I/O离散 |
113320 |
Bit |
只读 |
|
D0 |
I/O整数 |
40001 |
USHORT |
只读 |
表1 变量配置表
3、界面制作
制作一个包含离散量输入提示、线圈状态提示、线圈控制、保持寄存器读取的简单组态王界面,如图8所示。

图8 组态王界面
四.设备配置
我以E90-DTU(2G4HD12)数传电台为例,使用其他E90系列电台也可以,电台只是作为传输介质使用,与我所使用的电台只在配置电台连接时有少许差异。
|
工作模式 |
M1(输入引脚) |
模式介绍 |
|
透传模式 |
0(低电平) |
无线处于收发状态,透明传输 |
|
配置模式 |
1(高电平) |
用户可通过串口查询配置模块参数,无线关闭 |
表2 数传电台模式配置
进入配置模式,使用上位机配置软件将两台数传电台的波特率、校验位、流控、链路设置配置为相同参数,这里我使用115200-无校验-无流控-12链路。由于PLC将串口参数固定,电台所使用的串口参数应与其保持一致。

图9 数传电台上位机配置
五.设备连接
PLC与电台之间使用RS485电缆连接,如图10所示。

图10 PLC连接图
PC(组态王)使用USB转RS48转换器与电台连接,如图11所示。

图11 PC连接图
X006与X007分别接上SB1、SB2用于就地控制Y00连接的LED有源电灯,如下图10所示。
给各设备通上对应的电压,待PLC启动完成,案例系统开始运行。
六.效果展示
1、就地控制
按下SB1按键LED亮起,组态王收到X06触发信号以及Y00线圈吸合信号,按下SB2按键LED熄灭,组态王收到X07触发信号以及Y00线圈释放信号。

图12 就地控制关灯
2、组态王控制
按下开灯按键Y00吸合LED亮起,按下关灯按键Y00释放LED熄灭。

图13 组态王开灯控制
总结
以上便是本次案列测试环境搭建以及控制逻辑实现方式。采用此种控制方式,不只是方便布线,更是为后期升级提供更为方便的可能,减少布线能使工厂环境更加美观,故障查找更加方便。
基于数传电台的组态王控制实现远程采集控制器PLC的更多相关文章
- 组态王6.55WEB全新发布步骤
转载请... 算了 估计没有人转..自己留着看 目的: 本教程通过组态王6.55实现一个WEB服务器和一个WEB画面的客户端,总共两个工程.服务器工程名为 Server , 客户点为 Client.S ...
- 基于VHDL利用PS2键盘控制的电子密码锁设计
基于VHDL利用PS2键盘控制的密码锁设计 附件:下载地址 中文摘要 摘 要:现代社会,人们的安全意识正在不断提升.按键密码锁由于其具有方便性.低成本等特征,还是大有用武之地的.但是通常的按键密码锁开 ...
- Struts2中基于Annotation的细粒度权限控制
Struts2中基于Annotation的细粒度权限控制 2009-10-19 14:25:53| 分类: Struts2 | 标签: |字号大中小 订阅 权限控制是保护系统安全运行很重要 ...
- 基于maven插件的缓存控制插件
asset-cache-control github源码及下载地址: https://github.com/StruggleBird/asset-cache-control 基于maven插件的缓存控 ...
- Shiro入门之二 --------基于注解方式的权限控制与Ehcache缓存
一 基于注解方式的权限控制 首先, 在spring配置文件applicationContext.xml中配置自动代理和切面 <!-- 8配置自动代理 --> <bean cl ...
- 西门子 S7300 以太网模块连接组态王方法
北京华科远创科技有限研发的远创智控ETH-YC模块,以太网通讯模块型号有MPI-ETH-YC01和PPI-ETH-YC01,适用于西门子S7-200/S7-300/S7-400.SMART S7-20 ...
- 西门子 S7200 以太网模块连接组态王方法
北京华科远创科技有限研发的远创智控ETH-YC模块,以太网通讯模块型号有MPI-ETH-YC01和PPI-ETH-YC01,适用于西门子S7-200/S7-300/S7-400.SMART S7-20 ...
- 性能测试 基于Python结合InfluxDB及Grafana图表实时采集Linux多主机性能数据
基于Python结合InfluxDB及Grafana图表实时采集Linux多主机性能数据 by:授客 QQ:1033553122 实现功能 测试环境 环境搭建 使用前提 使用方法 运行程序 效果展 ...
- 性能测试 基于Python结合InfluxDB及Grafana图表实时采集Linux多主机或Docker容器性能数据
基于Python结合InfluxDB及Grafana图表实时采集Linux多主机性能数据 by:授客 QQ:1033553122 实现功能 1 测试环境 1 环境搭建 3 使用前提 3 使用方法 ...
随机推荐
- window.location.href用法与a标签的比较
1.在使用这两种方法进行页面的跳转时,这两种方法都能够有效的实现该功能 但是其原理不尽相同 第一:window.location.href()方法必须书写在js中 <html> <h ...
- 微信小程序命名规则
目录分析 src是主要的开发目录,各个文件实现功能如下所示: ├─.idea │ └─libraries ├─.temp ├─config └─src ├─assets │ └─images ├─co ...
- 【Unity原神AR开发实战 2022】下载原神模型,PMX转FBX,导入到Unity,AR设置,测试应用程序,生成应用程序
文章目录 一.前言 二.模型下载 1.官网下载 2.模之屋官方下载 3.第三方链接 三.pmx转fbx 1.Blender插件CATS的下载与安装 2.pmx模型的导入 四.Unity开发部分 1.V ...
- Python入门-程序测试
1.功能测试 常规测试 #常规测试代码,一个模块写功能,一个模块调用功能 #=============模块1:gongneng_ceshi def func(v1, v2): return v1* v ...
- Spring Boot-@EnableWebMvc注解
作用:当配置类中添加了该注解了之后,就表示某个模块的自动配置就都失效了,全部都要自己配置 例如下面这个MVC模块的配置类 /** * @author:抱着鱼睡觉的喵喵 * @date:2020/12/ ...
- pod和容器(容易混淆的地方)
在Kubenetes中,所有的容器均在 pod 中运行,一个pod可以承载一个或者多个相关的docker容器(或rkt,以及用户自定义容器),同一个Pod中的容器可以部署在同一个物理机器(可以叫宿主机 ...
- kali下安装docker
前期准备 物理机:win10 虚拟机:kali 2021 网络连接方式:桥接 一.简介 Vulhub: 是一个面向大众的开源漏洞靶场,无需docker知识,简单执行两条命令即可编译.运行一个完整的漏洞 ...
- Codeforces Round #704 (Div. 2), problem: (C) Maximum width还是要多学习
Problem - C - Codeforces 看清题目要求, 最重要部分在第二段. 大佬最后给出的代码果然简单, 思路简单化, 未必非要把答案在一个大括号里全部完成, 两个指针同时跑,中间加了一堆 ...
- 11.Flink实时项目之支付宽表
支付宽表 支付宽表的目的,最主要的原因是支付表没有到订单明细,支付金额没有细分到商品上, 没有办法统计商品级的支付状况. 所以本次宽表的核心就是要把支付表的信息与订单明细关联上. 解决方案有两个 一个 ...
- 还在用em strong吗?快来试试 text-emphasis
大家好,我是半夏,一个刚刚开始写文的沙雕程序员.如果喜欢我的文章,可以关注 点赞 加我微信:frontendpicker,一起学习交流前端,成为更优秀的工程师-关注公众号:搞前端的半夏,了解更多前端知 ...