威纶通触摸屏通过宏指令将数据转发数据给第三方设备(PLC)

项目调试过程中,因现场设备自带的PLC无备用通讯口,无法直接与S7-1200PLC进行通讯,故采取折中方案:通过触摸屏将数据转发给PLC,并读取PLC数据写入设备中。
本文采取替代设备进行测试:
请添加图片描述
摸屏通过Modbus RTU协议读取测距传感器(代替设备自带的海为PLC)的数据,然后触摸屏通过Modbus TCP协议转发给电脑上的Modbus Slave软件(代替现场S7-1200 PLC),实现数据转发功能。

1. 调试环境

1.1 硬件设备

设备名称 接口 协议 备注
测距传感器 RS485 Modbus RTU
触摸屏MT8121iE RS485+以太网 Modbus RTU/TCP
Modbus Slave软件 以太网 Modbus TCP

1.2 软件

EasyBuilder Pro V6.08.02.449 Build 2023.06.19

2. 设备参数

2.1 测距传感器

  1. 传感器引脚说明
颜色 引脚 功能
红色 VCC 供电
黑色 GND 地线
绿色 RS485-A
白色 RS485-B
  1. 通讯参数
    115200,N,8,1

  2. 功能码及寄存器

    • 支持的功能码:03,06
    • 寄存器地址:0(距离值,单位cm),Modbus地址:400001

2.2 触摸屏参数

  1. RS485接口
    串口配置:Com1(RS485):1-Data-,2-Data+
    请添加图片描述
    请添加图片描述

  2. 以太网接口
    请添加图片描述

  3. 标签名(寄存器地址)设置
    请添加图片描述

  • 添加Modbus RTU标签名
    请添加图片描述
  • 添加Modbus TCP/IP标签名
    请添加图片描述

2.3 Modbus Slave参数设置

本机电脑IP地址为:192.168.3.201,端口号:502
在这里插入图片描述

Modbus 地址:4x0100
在这里插入图片描述

3. 通过宏指令进行数据转发

3.1 宏指令的概述

  1. 宏指令的作用
    宏指令提供了应用程序之外所需的附加功能。在HMI人机界面运行时,宏指令可以自动的执行这些命令。它可以担负执行譬如数据运算,传送等。

  2. 常见变量类型
    在这里插入图片描述

  3. 如何实现一个简单的宏指令?
    a. 确定变量类型
    b. 编写脚本语句
    c. 宏指令触发条件.

3.2 操作步骤

  1. 本文传送的信号,类型为 Unsigned Short短整型。
  2. 编写脚本,将触摸屏中的"Dist"信号传送给另一个变量"Dist_TCP"。
    • 打开宏指令编辑界面,新增“宏指令”
      在这里插入图片描述
    • 编写“宏指令
      在这里插入图片描述

代码:

macro_command main()
unsigned short distance
GetData(distance, "MODBUS RTU (Adjustable)", "Dist", 1)
SetData(distance, "MODBUS TCP/IP", "Dist_TCP", 1)

end macro_command
  1. 执行周期,本例为周期性执行,触发周期为0.1S。
    注:大家也可以选择其他触发条件,比如:功能键触发宏指令、开机的时候执行、开启窗口时执行或关闭窗口时执行。

  2. 执行结果
    在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐