物联网应用案例」基于数传电台的组态王控制

一.案例介绍

采用亚控科技组态王结合亿佰特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的更多相关文章

  1. 组态王6.55WEB全新发布步骤

    转载请... 算了 估计没有人转..自己留着看 目的: 本教程通过组态王6.55实现一个WEB服务器和一个WEB画面的客户端,总共两个工程.服务器工程名为 Server , 客户点为 Client.S ...

  2. 基于VHDL利用PS2键盘控制的电子密码锁设计

    基于VHDL利用PS2键盘控制的密码锁设计 附件:下载地址 中文摘要 摘 要:现代社会,人们的安全意识正在不断提升.按键密码锁由于其具有方便性.低成本等特征,还是大有用武之地的.但是通常的按键密码锁开 ...

  3. Struts2中基于Annotation的细粒度权限控制

    Struts2中基于Annotation的细粒度权限控制 2009-10-19 14:25:53|  分类: Struts2 |  标签: |字号大中小 订阅     权限控制是保护系统安全运行很重要 ...

  4. 基于maven插件的缓存控制插件

    asset-cache-control github源码及下载地址: https://github.com/StruggleBird/asset-cache-control 基于maven插件的缓存控 ...

  5. Shiro入门之二 --------基于注解方式的权限控制与Ehcache缓存

    一  基于注解方式的权限控制 首先, 在spring配置文件applicationContext.xml中配置自动代理和切面 <!-- 8配置自动代理 -->    <bean cl ...

  6. 西门子 S7300 以太网模块连接组态王方法

    北京华科远创科技有限研发的远创智控ETH-YC模块,以太网通讯模块型号有MPI-ETH-YC01和PPI-ETH-YC01,适用于西门子S7-200/S7-300/S7-400.SMART S7-20 ...

  7. 西门子 S7200 以太网模块连接组态王方法

    北京华科远创科技有限研发的远创智控ETH-YC模块,以太网通讯模块型号有MPI-ETH-YC01和PPI-ETH-YC01,适用于西门子S7-200/S7-300/S7-400.SMART S7-20 ...

  8. 性能测试 基于Python结合InfluxDB及Grafana图表实时采集Linux多主机性能数据

    基于Python结合InfluxDB及Grafana图表实时采集Linux多主机性能数据   by:授客 QQ:1033553122 实现功能 测试环境 环境搭建 使用前提 使用方法 运行程序 效果展 ...

  9. 性能测试 基于Python结合InfluxDB及Grafana图表实时采集Linux多主机或Docker容器性能数据

    基于Python结合InfluxDB及Grafana图表实时采集Linux多主机性能数据   by:授客 QQ:1033553122 实现功能 1 测试环境 1 环境搭建 3 使用前提 3 使用方法 ...

随机推荐

  1. 截取url传值

    // 页面传值 subStr(url) { var obj = {}; var str = url.split('?')[1]; var str2 = str.split('&'); cons ...

  2. FastAPI(七十一)实战开发《在线课程学习系统》接口开发-- 查看留言

    之前FastAPI(七十)实战开发<在线课程学习系统>接口开发--留言功能开发分享了留言开发,这次我们分享查看留言 梳理这里的逻辑,这个接口要依赖登录. 1.判断用户是否登录 2.判断对应 ...

  3. [ Shell ] 通过 Shell 脚本导出 CDL 网表

    https://www.cnblogs.com/yeungchie/ 通过 si 导出电路网表,实际上在 Virtuoso 中通过 export - cdl 和 Calibre LVS 的步骤中也是通 ...

  4. OllyDbg---循环、串操作和寻址方式

    循环 字符串指令和寻址方式 循环 XOR ECX,ECX MOV ECX,15H LABEL: DEC ECX CMP ECX,0 JNE LABEL LOOP 重复循环,直到计数器的值为0,每次循环 ...

  5. 如何使用 python 爬取酷我在线音乐

    前言 写这篇博客的初衷是加深自己对网络请求发送和响应的理解,仅供学习使用,请勿用于非法用途!文明爬虫,从我做起.下面进入正题. 获取歌曲信息列表 在酷我的搜索框中输入关键词 aiko,回车之后可以看到 ...

  6. Jenkins 从小白入门到企业实践打怪放弃之路系列笔记 【持续集成与交付快速入门必备】

    Jenkins 从小白入门到企业实践打怪放弃之路系列笔记 [持续集成与交付快速入门必备]

  7. JavaScript基础第01天笔记

    JavaScript基础第01天 1 - 编程语言 1.1 编程 编程: 就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程. 计算机程序: 就是计算机所执行的一系列的 ...

  8. Java 从零开始实现一个画图板、以及图像处理功能,代码可复现

    Java 从零开始实现一个画图板.以及图像处理功能,代码可复现 这是一个学习分享博客,带你从零开始实现一个画图板.图像处理的小项目,为了降低阅读难度,本博客将画图板的一步步迭代优化过程展示给读者,篇幅 ...

  9. android软件简约记账app开发day07-备注界面完善

    android软件简约记账app开发day07-备注界面完善 ## 昨天我们已经绘制了备注页面,今天来用Java代码组装完善一下. 首先我们新建BeiZhuDialog类关联备注页面,并且实现点击接口 ...

  10. 保姆级教程:VsCode调试docker中的NodeJS程序

    最近在写NodeJS相关的项目,运行在docker容器中,也是想研究一下断点调试,于是查阅相关资料,最终顺利配置好了. 首先我选择了VsCode作为ide,并用VsCode来做NodeJS可视化deb ...