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

开疆智能ModbusTCP转Devicenet网关连接远程I/O配置案例

网关配置

步骤1:使用开疆智能网关配置工具,设置网关的参数(IP地址、设备名称由PLC组态软件分配侧一致)。

步骤2设置数据传输长度以及掉线后数据处理方式

步骤3:配置DeviceNet参数:

波特率(通常为125kbps/250kbps/500kbps,需与从站一致)。

节点地址(网关作为DeviceNet主站,地址需唯一,例如地址1)。

数据映射:将Profinet输入/输出数据与DeviceNet的I/O区域对应。

步骤4:添加从站并根据从站EDS文件填写参数

将远程I/O接线,站地址波特率设置好即可正常通讯。

PLC本体的IP地址设置

首先需要确认一个概念:PLC本体网口只有一个IP,无论使用什么功能都是共用一个IP。

二、ModbusTCP主站功能

三菱的PLC做ModbusTCP主站功能一般通过程序实现,需要用到“通信协议支持功能”。

1)在对象设备连接配置设置中添加“Active连接设备”选择“通信协议”,需要填写本机的端口号,对方IP以及对方端口号(图4)。其中本机端口号需要注意不要使用系统默认已经分配的端口。(图5)

active设备是指主动发起连接的设备

【记得点击“反应设置并关闭”】

2)打开“通信协议支持功能”,选择CPU(以太网),并新建,添加协议,选择ModbsuTCP,选择功能码。(图6-图7)

3)红色字“变量未设置”意思为:没有对这个连接协议分配对应的软元件用来写参数和数据存储用。可以右键“软元件批量设置”,占用其实软元件后一部分用作通讯协议用。(图7)

4)分配好后可以点进去看分配的每个软元件对应的定义,现在以03功能码D400做起始地址,对主要用到的寄存器做说明,后面一些储存报错信息的寄存器可以点开变量设置查看。(图8)

D400:握手ID,如果是本体以太网口,握手ID就是0,模块就不是0

D401:从站站号

D402:03功能码对应就是读取的寄存器起始Modbus地址

D403:读取的点数(寄存器数)

D406~D531:储存读取到的数据(注意!,D406保存的是数据的个数(数据长度),D407开始才是数据内容)

5)编辑好后通过在线、写入模块,将这部分内容写入PLC

(这部分通信协议编辑,保存的时候是一个独立的文件,与Works3文件独立,需要注意关闭这个窗口前记得保存)

6)在程序中建立连接、调用通信协议。

①建立连接,使用SP.SOCOPEN指令,对应关闭连接使用SP.SOCCLOSE指令

SP.SOCOPEN的第一个操作数没有实际意义,按照说明填写“U0”即可;

S1:连接编号对应图4中的连接编号;

S2:对应OPEN指令的一些参数占用10个寄存器,其中如果我们在图4中做了参数设置,我们只需要把参数首地址置位0,就可以调用设置好的参数。

其中,SD10680,SD10681是通信打开和请求标志位,在这两个标志位都没有导通的情况下我们才执行建立连接的动作。

②通过SP.ECPRTCL指令调用预先设置好的通讯协议。

其中

S1 的连接编号是指图4中的连接编号

S2 连续执行的协议数是指中S3+2开始的“执行协议编号指定”,如果只有1个就写K1,并且给S3+2赋值需要执行的协议,对应的是图8中的协议编号。

下面是通信协议触发示例

SP.ECPRTCL的第三个操作数为k1,对D202赋值1,表示执行且只执行通信协议1。

D402赋值k10,D403赋值K4,表示从 从站保持寄存器的10地址开始读取,读取4个寄存器。

在触发后,我们可以在D407开始的4个寄存器看到读取到的值。

点击工具-通信协议支持功能

选择好模块类型

设置好连接变量后下载到PLC

到此,完整配置结束,全部设备上电后观察指示灯正常后即可正常通讯。

http://www.xdnf.cn/news/993583.html

相关文章:

  • [免费]微信小程序音乐播放器(爬取网易云音乐数据)(node.js后端)【论文+源码】
  • AI大模型竞赛升温:百度发布文心大模型4.5和X1
  • NocoBase 本周更新汇总:优化及缺陷修复
  • 计算机系统(6)
  • React状态管理——zustand
  • 【Java开发日记】简单说一说使用 Netty 进行 Socket 编程
  • STM32——“扩展动态随机存储器SDRAM”
  • C#实现无声视频的配音与字幕生成器
  • DevSecOps实践:用Terraform策略检查筑牢基础设施安全防线
  • 阿里云实践创建实例步骤
  • 通信网络基础概念
  • Linux 进程和计划任务管理
  • ARXML可视化转换工具使用说明
  • 湖北理元理律师事务所:债务优化的法律逻辑与生活平衡术
  • K8s 指标收集方案对比
  • 在Ubuntu中使用Apache2部署项目
  • FastJSON 1.2.83版本升级指南:安全加固与性能优化实践
  • 二维磁光材料新纪元!NYUAD论文展示CCPS如何解决硅基光子芯片热耗散难题
  • 若依框架中权限字符(perms)的作用
  • Spark on yarn的作业提交流程
  • Android7 Input(十一)App View InputEvent事件分发
  • Appium + Python 测试全流程
  • STM32外设学习之串口
  • ABP vNext + Redis Streams:构建实时事件驱动架构
  • Redis的常用配置详解
  • 如何彻底解决缓存击穿、缓存穿透、缓存雪崩
  • Redis集群模式之Redis Cluster(1)
  • SPP——神经网络中全连接层输出尺寸限制的原因和解决办法
  • 【强连通分量 拓扑序】P9431 [NAPC-#1] Stage3 - Jump Refreshers|普及+
  • HashMap真面目