基于数传电台的组态王控制实现远程采集控制器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 使用方法 ...
随机推荐
- 技术管理进阶——什么Leader值得追随?
原创不易,求分享.求一键三连 Leader眼里的主动性 前几天孙狗下面小A身上发生了一件Case,让他感到很疑惑: 有一个跨部门较多的项目推进不力,于是善于交流的他被临时提拔成项目负责人,但马上令人 ...
- Linux内核--链表结构(二)
Linux内核链表定义了一系列用于链表遍历的宏,本章详细描述. 一.container_of和offsetof 首先介绍两个很好用的宏container_of和offsetof.offsetof宏用于 ...
- JDK7u21反序列链学习
JDK7u21 1.前置知识 jdk7u21是一条不依赖CommonsCollections库依赖的,看利用链所有知识其实跟CommonsCollections也有重复,我们来学习一下以前没学过的类或 ...
- Python学习阵痛期
Python和之前学习的Java语法上有较大的区别,例如Java中for循环常使用++自增符,在Python中是没有++的. 因为Python中整型.字符型等都是不可变的,一改变值就重新分配了新的内存 ...
- JavaWeb学习day4-Maven&IDEA中的使用
1.创建本地仓库 ,因为使用apache官方的下载方式需要挂梯,下载速度慢且容易出错,可以配置阿里的下载路径,同时配置如下图的仓库路径 2.创建原型项目 3.等待jar包下载导入完成,出现下图即代表成 ...
- 使用Lua 脚本实现redis 分布式锁,报错:ERR Error running script (call to f_8ea1e266485534d17ddba5af05c1b61273c30467): @user_script:10: @user_script: 10: Lua redis() command arguments must be strings or integers .
在使用SpringBoot开发时,使用RedisTemplate执行 redisTemplate.execute(lockScript, redisList); 发现报错: ERR Error run ...
- angular.js中 路由 用法及概念
在开讲之前,首先谈谈APP应用.平时我们用的app总是多页面,如果用原生安卓或者苹果,那当然很流畅啦.但是当我们用一般的html页面做移动端,简单时候我们可以用<a href="&qu ...
- Java语言学习day31--8月06日
今日内容介绍1.正则表达式的定义及使用2.Date类的用法3.Calendar类的用法 ###01正则表达式的概念和作用 * A: 正则表达式的概念和作用 * a: 正则表达式的概述 * 正则表达式也 ...
- Photoshop图片处理在线网页使用无需下载绿色
今天给大家推荐一个ps在线版网页 实测使用效果不错,绿色简介,无需下载,不卡顿一般的电脑配置都可以带起来 因为是在线的所以是精简版的,但是一般ps软件有的工具,功能他都有,比较适合及时性使用 废话不多 ...
- vue-mobile-template 前端开源框架
开源项目的由来 某天因公司业务需求,想寻找一款H5移动端的模板进行二次开发.但搜遍整个HUB都没法找到合适的空模板进行二次开发,所以心血来潮,于是有了 vue-mobile-template . 介绍 ...