当前位置: 首页 > article >正文

【VM服务管家】VM4.0软件使用_1.4 通讯类

目录

  • 1.4.1 通讯管理:ModBus通信发送非整型数据的方法
  • 1.4.2 通讯管理:使用Modbus TCP通讯协议与流程交互

1.4.1 通讯管理:ModBus通信发送非整型数据的方法

描述
环境:VM4.0.0
现象:Modbus通信发送数据只能为Int类型,如下图所示:
在这里插入图片描述

解答

  1. 可以发送Int和Float数据,如下图所示:
    在这里插入图片描述
    在这里插入图片描述

  2. 通信设备配置如下:
    在这里插入图片描述 在这里插入图片描述

  3. 发送事件配置如下:
    在这里插入图片描述
    在这里插入图片描述

问题根因

  1. 通信管理界面显示有问题,显示为Int类型存在一定误导;
  2. 可以发送Int与Float类型,一般Float类型乘以1000后都可以转化为Int类型。

1.4.2 通讯管理:使用Modbus TCP通讯协议与流程交互

描述
环境:VM4.0.0
问题:使用Modbus TCP 通讯协议与视觉通讯,当地址为0000的保持型寄存器(4x寄存器)变为1时,触发视觉流程执行一次,同时视觉将地址为0000的寄存器复位(也即写为0),视觉流程执行完成后,将结果数据:特征匹配状态、特征匹配点X、特征匹配点Y、特征角度分别写入到地址为0001,0002,0004,0006的保持型寄存器中。
在这里插入图片描述

解答
VM4.0相比VM3.X最大的改进就是新增了网关功能,能够满足视觉和绝大多数上位机,机器人,PLC通过用户自定义协议通讯。这个问题主要涉及4个知识点。

  1. 全局模块中通讯设备的创建
  2. 通讯接收事件与全局触发的关系
  3. 通讯发送事件的使用
  4. 发送整数和浮点数到Modbus寄存器
    首先第一步:创建通讯设备,在工具栏中点通讯管理图标,进入通讯管理界面,图标如下图黄色箭头所示:
    在这里插入图片描述

进入通讯管理界面后,创建一个Modbus通讯设备如下图所示:
在这里插入图片描述

注意目标IP,填的是PLC的IP地址,在本例中由于没有连接实际的PLC,是以Modbus仿真设备来模拟,所以IP地址填127.0.0.1,目标端口要填502,因为Modbus TCP 协议默认端口就是502。
第二步添加触发流程运行一次的寄存器地址,注意轮询使能要打开,设置如下图所示:
在这里插入图片描述

这里要注意地址的数据类型,寄存器个数,发送顺序。发送顺序和PLC类型有关,有的PLC使用大端模式,有的PLC使用小端模式(所谓大端模式,小端模式也就是数据的高低字节顺序不同,大端是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,小端模式恰恰相反)。
添加特征匹配模块状态状态寄存器地址,由于这个是写入寄存器,轮询不必打开,如下图所示:
在这里插入图片描述

添加特征匹配坐标X存放地址,由于这个是写入寄存器,轮询不必打开,如下图所示:
在这里插入图片描述

添加特征匹配坐标Y存放地址,由于这个是写入寄存器,轮询不必打开,如下图所示:
在这里插入图片描述

添加特征匹配角度存放地址,由于这个是写入寄存器,轮询不必打开,如下图所示:
在这里插入图片描述

第三步,定义接收事件,如下图所示:
在这里插入图片描述

在接收事件中,绑定地址下拉选择之前添加的触发寄存器地址。
在规则列表中,定义规则,如上图所示。
第四步,配置全局触发,在工具栏中点全局触发图标,如下图黄色箭头所示图标:
在这里插入图片描述

点击黄色箭头所示图标进入全局触发设置,选择事件触发Tab页,在触发事件中下拉选择上一步配置好的接收事件,触发命令类型选择执行流程,触发配置选择流程1,触发字符无需填写。
第五步,定义发送事件,如下图所示:
在这里插入图片描述

发送事件中配置好需要发送的数据,上图中配置好了触发数据(注意选择正确的绑定地址,绑定地址在前面添加通讯设备时已经创建)接着配置特征匹配状态,如下图所示:
在这里插入图片描述

配置特征点X坐标数据,如下图所示:
在这里插入图片描述

配置特征点Y坐标数据,如下图所示:
在这里插入图片描述

配置发送角度,如下图所示: 在这里插入图片描述

第六步,在流程中配置发送数据模块,在流程编辑页面添加数据发送模块,如下图所示:
在这里插入图片描述

如图中所示的那样,这里配置了5个数据发送模块,之所以要配置5个数据发送模块,是因为单个数据发送模块,发送非字符串类型且每一项数据类型又不相同是做不到的,其中复位寄存器,匹配状态数据类型是整数类型,而匹配点X,匹配点Y,匹配角度是浮点数类型,因此,这里只能用5个数据发送模块来实现。以上图中,发送数据1为例,需要发送0到寄存器0000,所以配置如下图所示:
在这里插入图片描述

由于输出数据,订阅的值不可以是常量,所以这里选择订阅一个全局变量,这个全局变量的值为0。
其他4个发送数据模块的配置,也同样配置,主要是发送事件中下来选择正确的地址即可。匹配状态的数据发送配置如下图所示:
在这里插入图片描述

坐标X的数据发送配置,坐标Y的数据发送,如下图所示:
在这里插入图片描述

匹配坐标Y的数据发送,如下图所示:
在这里插入图片描述

匹配角度的数据发送,如下图所示:
在这里插入图片描述

至此为止,所有配置全部完成了,其实需要配置的步骤并不多,这里之所以把详细的每一步都贴图出来,目的就是为了让阅读本文的初级用户,按照本文的操作步骤一步一步来,也能解决该问题。
问题根因

  1. 不了解接收事件怎么用
  2. 不了解发送事件怎么用
  3. 发送非字符串类型的多个组合数据怎么操作
  4. 不了解全局触发工具怎么用

http://www.kler.cn/a/15314.html

相关文章:

  • day-17 反转字符串中的单词
  • VScode使用Batch Runner插件在终端运行bat文件
  • 父组件提交时让各自的子组件验证表格是否填写完整
  • 一文说清:c++标准库
  • 安全、便捷、效率高,明达边缘计算网关助力制药装备企业远程调机
  • 搭建Spring gateway网关微服务
  • 【五一创作】 SAAS-HRM系统概述与搭建环境
  • Qt音视频开发42-网络推流(视频推流/本地摄像头推流/桌面推流/网络摄像头转发推流等)
  • 数学建模第五天:数学建模算法篇之层次分析法AHP
  • 随机过程 Brown 运动(上)
  • 新一代边缘计算盒子,英码科技边缘计算盒子SY-E160
  • 多通道振弦传感器无线采集仪 多类型数字传感器独立发送协议
  • C语言函数大全-- n 开头的函数
  • OSCP-Escape(gif绕过)
  • Nacos注册中心的使用
  • Android studio 使用入门
  • Leetcode171. Excel 表列序号
  • ChatGpt 能取代人类吗?
  • 如何解决服务器认证失败
  • 喜报 | ScanA内容安全云监测获评“新一代信息技术创新产品”
  • threejs学习随笔(入门篇)
  • ROS第四十三节——定位
  • 【C++】7. auto和nullptr(c++11)
  • ChatGPT国内可用版-国内chatGPT哪个软件好用
  • 经典重装上阵,更好用的中小手游戏鼠标,雷柏V300W上手
  • 临沂大学张继群寄语