汇川AM403PLC作为ModbusTCP主站通讯实例

2 篇文章 1 订阅
订阅专栏
本文介绍了如何将汇川AM403PLC配置为ModbusTCP主站,详细讲解了从站添加、通讯参数设置、读写操作配置以及通讯地址映射的过程,旨在实现主站与从站的有效数据交互。
摘要由CSDN通过智能技术生成

AM403作为ModbusTCP主站通讯实例

一、通讯方案实例

 1.客户端/服务端

  客户端和服务端是计算机网络中常见的两种网络设备类型,在工业通信中也称之为主站/从站,它们在网络通信过程中扮演着不同的角色。简单来说,客户端通常在网络中发起请求,而服务端则为客户端提供资源或数据。本例中使用主站/从站来描述这种关系。

   本例以汇川AM403作为ModbusTCP主站,与从站进行数据交互,主站IP设为 192.168.0.10,从站IP设为192.168.0.11。
阅读本博文前请先熟悉汇川中型PLC的编程环境,即 InoProShop。

 2.通讯方案设计

   在从站未指定的前提下实现以下几种通讯方案:
   ● 读取从站输入状态;
   ● 读取从站状态寄存器;
   ● 更新从站线圈;
   ● 更新保持寄存器;
   ● 读取地址连续的混合类型变量(即struct,结构体);
   ● 更新地址连续的混合类型变量(即struct,结构体)。

二、AM403作为Modbus主站的配置过程

 1.将AM403设为主站

  AM403本体带一路EtherNET口(CN3),本例使用该网口作为ModbusTCP通讯口。
  如下图所示展开项目树,从设备树中找到网络组态(或者Network Configuration):
在这里插入图片描述

  双击该节点标题打开网络组态设置界面,在Ethernet选项框中找到ModbusTCP 主站,勾选该复选框,如下图所示:
在这里插入图片描述

 2.给主站添加从站节点

  展开【网络设备列表】中的【以太网口】节点:
在这里插入图片描述
  双击【Modbus_TCP】或拖动【Modbus_TCP】放置到网络组态界面即可添加从站设备,可以添加多个从站。
在这里插入图片描述

 3.修改通讯参数
  • 修改主站通讯参数
     双击设备节点打开设备属性界面,选择【系统设置】选项框:
    在这里插入图片描述

  找到【网络】→【网口0】,在此处的EhtherNet 口地址即是 Modbus TCP 通讯口,将该网口参数设置为工程实际值。

  • 修改从站通讯参数
     找到并展开设备节点下的Modbus TCP主站节点,该节点下挂载了刚才添加的从站设备:
    在这里插入图片描述

  双击从站节点打开通讯设置:
在这里插入图片描述

  在【ModbusTCP从站设置】选项卡里即可设置从站IP等通讯参数,当寄存器SM3001为1时从站被使能。

三、Modbus主站与从站通讯任务配置

汇川AM403通过设置通讯任务而不需要编程即可完成Modbus通讯。

 1.通讯任务设置入口

  汇川中型PLC的Modbus TCP通讯任务是配置在从站节点中的:

  a).找到Modbus TCP主站节点下挂载的从站设备节点:
在这里插入图片描述

  b).双击从站设备打开通讯设置,切换选项卡到【Modbus TCP通信设置】选项:
在这里插入图片描述

  c).点击选项卡最底部的【添加】按钮或者右击选项卡空白处在右键选项卡中选择【添加】,弹出【Modbus 通信设置】页面:
在这里插入图片描述
  每个从站可以配置多个Modbus TCP通信通道,每个通道对应一条通讯任务。下面分别介绍实现实例的通讯目标。

 2.读取从站输入状态
  • Channel 01:电平触发读取一个输入状态,读取失败则返回最后一次成功的值,输入状态地址为0x0000
     存取类型设置为【读输入状态(功能码02)】,触发器设置为电平触发,触发变量为 SM3101;起始地址为0x0000,长度为1;错误处理方式是保持最后的值。
    在这里插入图片描述
  • Channel 02:持续读取八个输入状态,读取失败则返回0,状态起始地址为0x0010
     存取类型设置为【读输入状态(功能码02)】,触发器设置为循环执行,每隔100ms发起一次请求;起始地址为0x0010,长度为8;错误处理方式是设置为0。
    在这里插入图片描述
      不建议将循环事件设置的太短,会增加CPU的负担。
 3.读取从站输入寄存器
  • Channel 03:电平触发读取一个输入寄存器,读取失败则返回最后一次成功的值,输入寄存器地址为0x0002
     存取类型设置为【读输入寄存器(功能码04)】,触发器设置为电平触发,触发变量为 SM3102;起始地址为0x0002,长度为1;错误处理方式是保持最后的值。
    在这里插入图片描述

  • Channel 04:持续读取2个输入寄存器,读取失败则返回0,输入寄存器起始地址为0x0003
     存取类型设置为【读输入寄存器(功能码04)】,触发器设置为循环执行,每隔100ms发起一次请求;起始地址为0x0003,长度为2;错误处理方式是设置为0。
    在这里插入图片描述

 4.更新从站线圈
  • Channel 05:电平触发更新一个线圈状态,线圈地址为0x0000
     存取类型设置为【写单个线圈(功能码05)】,触发器设置为电平触发,触发变量为 SM3103;起始地址为0x0000。
    在这里插入图片描述

  • Channel 06:持续更新一组连续线圈状态,线圈起始地址为0x0010
     存取类型设置为【写多个线圈(功能码15)】,触发器设置为循环执行,起始地址为0x0010,长度为8。同理,循环时间应当适当延长以降低CPU负载。
    在这里插入图片描述

 5.更新保持寄存器
  • Channel 07:电平触发更新一个寄存器,寄存器地址为0x0000
     存取类型设置为【写单个寄存器(功能码06)】,触发器设置为电平触发,触发变量为 SM3104;起始地址为0x0000。
    在这里插入图片描述

  • Channel 08:持续更新2个寄存器,寄存器起始地址为0x0001
     存取类型设置为【写多个寄存器(功能码16)】,触发器设置为循环执行,循环时间即为两次通讯间隔时间;起始地址为0x0001,长度为2。同理,循环时间应当适当延长以降低CPU负载。
    在这里插入图片描述

 5.读取复杂数据的寄存器
  • Channel 09:读取Real类型变量,寄存器地址为0x0003
     Modbus无法直接读取浮点型变量,需要将数据进行转换。假如从站有一个地址为0x0003的Real类型变量(长度为32位),主站可以通过读取两位寄存器,然后再组装的方式获取该Real类型变量。
     利用InoProShop中的联合数据单元可以方便的实现数据转换,联合中可以设置内存对齐的数据,这样无需编程就可以安全的实现数据转换:
// wBuffer 、byteBuffer 和 rValue 是长度相同的数据结构,通过联合 (UNION) ,使它们共用一块对齐的内存。
// 如果你熟悉西门子的PLC,你可能很容易理解 MW0、MW2和MD0的联系,联合即是这种关系的另一种描述。
TYPE uW_R:
UNION
    wBuffer : ARRAY[0..1] OF WORD ;
	byteBuffer : ARRAY[0..3] OF BYTE;
	rValue : REAL;
END_UNION
END_TYPE

在这里插入图片描述

  • Channel 10:读取struct类型变量,寄存器地址为0x0005
     假如从站有连续的 16个 bool 型变量、1个 word 、1个 float ,主站读取这写数据,bool、word、float 都属于值类型。InoProShop 中,struct 也是值类型的,int、word、float 等都是 struct 的简单方式。使用Modbus通讯复杂结构的数据时可以将复杂数据组装成 struct ,然后通过联合获取 struct 序列化的寄存器(word)数组:
// 将数据组装成 STRUCT
TYPE MixData :
STRUCT
	arrayBool : ARRAY[0..15] OF BOOL;
	wValue : WORD;
	fValue : REAL;
END_STRUCT
END_TYPE
// 将数据序列化成 WORD 数组
TYPE uW_St:
UNION
    wBuffer : ARRAY[0..1] OF WORD ;
	stValue : MixData ;
END_UNION
END_TYPE

在这里插入图片描述
   同理,将float变量换成结构体,即可利用联合实现由寄存器数组到结构体的数据转换。

 6.更新复杂数据的寄存器
  • Channel 11:更新Real类型变量,寄存器地址为0x0007
     和读取Real类型变量同理。
    在这里插入图片描述

  • Channel 12:更新struct类型变量,寄存器地址为0x0009
     和读取复杂结构数据同理。
    在这里插入图片描述

  其它通信任务请自行测试,此处不再赘述。

四、配置通讯地址

 1.IO映射

  完成通讯配置后在从站属性里会多出一个Internal I/O映射选项卡,通过【通道】名称,I/O映射表和通讯设置里的变量形成映射关系。
  只能将从站的数据映射到主站的I/O存储区,用户需要通过编程将数据转移到需要的变量存储区。
在这里插入图片描述

 2.修改映射地址

  I/O映射表中的【地址】即为主站与从站通讯的数据,配置完通信通道后编程环境会自动为用户匹配默认的通讯地址,用户可自行修改该地址,但不能修改寄存器类型。对于单次读取一个输入状态和单次读取多个输入状态,时间开销差别并不大,建议将需要通讯的数据放到一起一次完成通讯以节省握手等待时间。

Qt使用ModbusTcp汇川PLC通讯
12-13
自动生成报文,只需输入IP地址与端口号即可使用,支持real(float)数据类型、INT数据类型、DINT数据类型、bool数据类型、string数据类型进行读写
汇川AM系列 Modbus TCP通信设置
viixin的博客
11-11 1万+
汇川AM系列 Modbus TCP通信设置
汇川CodeSysPLC教程03-2-6 ModBus TCP
最新发布
NAV3055的博客
07-27 1297
ModBus TCP是一种基于TCP/IP协议的工业网络通信协议,常用于工业自动化和控制系统。它是ModBus协议的一个变种,ModBus协议最初由Modicon(现在是施耐德电气的一部分)在1979年开发。基于TCP/IPModBus TCP使用以太网和TCP/IP协议进行通信,这使得它能够在现有的以太网络基础设施上运行,具有高传输速度和广泛的兼容性。客户端-服务器模型:ModBus TCP采用客户端-服务器模型。客户端发送请求,服务器处理请求并返回响应。
汇川PLC如何连接电脑进行数据通信和远程上下载
博达智联的博客
01-20 2482
- 一台可联网操作的电脑,- 一台单网口的远程透传网关及博达远程透传配置工具,- 网线一条,用于实现网络连接和连接PLC,- 一台汇川PLC及其编程软件InoPrShop,- 一张4G卡或WIFI天线实现通讯(使用4G联网则插入4G SIM卡,WIFI联网则将WIFI天线插入USB口)
汇川学习笔记6 - Modbus TCP通讯设置
qq_61916672的博客
05-23 2981
Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。此协议定义了一个控制器能认识使用的消息结构,描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。
汇川PLCPLC之间ModebusTCP通讯
panjinliang066333的博客
11-01 1万+
然后在全局变量中创建相应的变量关联IW和QW的寄存器创建全部变量//AM402作为主站——读H3U(D12-D21)//AM402作为主站——写给H3U(D200-D209)或者使用数组的方式。
MODBUS TCP C# 源码 -- 测试过汇川PLC
03-25
modbus 是工业常用的通讯协议,原来是基于串口通讯的。后来随着TCP/IP的发展,出现了基于TCPModbus 这个源码就是基于TCPmodbus C#写的 1.读 D0000 多个寄存器的值 00 00 00 00 00 06 09 03 00 64 00 07 PLC 回答 00 00 00 00 00 11 09 03 0E 00 00 FF BB 00 00 00 00 FF FF AB CD 00 00 06 06写 D0010单一 寄存器的地址 00 00 00 00 00 06 08 06 00 0A 00 08 00 00 00 00 00 06 08 06 00 0A 00 08 复位 00 00 00 00 00 06 1F 06 00 0A 00 01 收板 00 00 00 00 00 06 1F 06 00 0A 00 02 送板 00 00 00 00 00 06 1F 06 00 0A 00 04 急停 00 00 00 00 00 06 1F 06 00 0A 02 00 暂停 00 00 00 00 00 06 1F 06 00 0A 04 00 报警解除 00 00 00 00 00 06 1F 06 00 0A 08 00
汇川am403plc作为modbustcp主站通讯实例
09-06
汇川AM403PLC是一种常用的...总之,汇川AM403PLC作为Modbus TCP主站通讯实例,可以通过配置网络参数、建立连接、数据读写等步骤来实现与其他设备的通讯。这为工业自动化控制系统的设计和实现提供了一种可靠的通讯方式。
C# 实现与汇川H5U PLC Modbus-TCP通讯示例
07-05
汇川H5U PLC是一款高效能的工业控制器,支持Modbus-TCP通讯,使得通过C#进行数据交互变得可能。 首先,理解Modbus-TCP协议是至关重要的。Modbus协议基于ASCII或RTU(远程终端单元)报文格式,而Modbus-TCP则是该...
三菱Q系列与汇川H3u的Modbus TCP通信说明文档.pdf
09-04
通过三菱Q PLC的内置以太网口与汇川H3u MODBUS TCP通信, 实现不同PLC之间的数据交换,实现PLC MODBUS TCP的主从站数据交换;
汇川PLC指令指南(通讯部分)
06-26
汇川技术PLC的内部特殊原件说明,很实用,也很有帮助
汇川H1UH2U-XP系列PLC通信应用手册》(通信案例篇)
08-29
汇川H1UH2U-XP系列PLC通信应用手册》(通信案例篇)
上位机与汇川PLC通讯
04-21
经过两个星期的实际测试,已经可以稳定通讯了,可以读M,Y,X,D,DD,S,R,以及批量读取功能,经自己测试,已经可以使用了,请放心下载。 里面已经标注使用方法,都有中文注释,经测试,可以与H5U与H3U稳定通讯,并且已经使用到项目中,批量读取速度很快,建议使用批量读取方式。 在读的过程中可以同时写入,不像网上所说的那种只能在一种状态下读写PLC.
PC与汇川PLC_ModbusTCP_Test.rar_PC与汇川PLC_汇川PLC_汇川PLCtcp_汇川PLC的DLL_汇川
07-15
上位机读写汇川H3U PLC的寄存器与继电器
三菱Q系列与汇川AM系列 Modbus tcp 通讯总结
u012861256的博客
07-18 1万+
三菱Q03做主站汇川AM401做从站,实现Modbus TCP通讯
modbus_tk模块详细使用
热门推荐
qq_23076153的博客
02-24 1万+
源码:Github 使用及例子modbus_tk模块安装Demo功能码及使用说明: modbus_tk模块 通过modbus-RTU 读取地址,调用后返回反馈数值和故障信息。 modbus_tk模块安装 pip install pymodbus_tk Demo # -*- coding: utf_8 -*- import serial import modbus_tk import modbus_tk.defines as cst from modbus_tk import modbus_rtu
C#汇川PLC通讯
susan的博客
03-09 3041
本篇文章主要介绍汇川PLC通讯开发实例实例项目用的H3U系列通讯,目前只能读取写入整数,其他还未研究,可以读取写入X,Y,M,D,R码。
写文章

热门文章

  • ABB机器人开发基础之碰撞监控设置 6699
  • ABB机器人开发基础之零点校准 6572
  • PLCopen运动控制规范之〈一〉:概述 5431
  • EPLAN 电气与设计入门之〈一〉:认识结构标识 4774
  • PLCopen运动控制规范之〈二〉:单轴控制功能块 4440

分类专栏

  • Modbus通讯实战 付费 2篇
  • C#开发笔记 1篇
  • 运动控制实战〈一〉:汇川PLC篇
  • PLCopen与运动控制规范 3篇
  • EPLAN 1篇
  • CodeSys 2篇
  • 深入解析C# 3篇
  • AGV 1篇
  • 设计模式 1篇
  • 工业机器人 5篇

最新评论

  • EPLAN 电气与设计入门之〈一〉:认识结构标识

    lb220303082: 在第三个标题设备标识符那里出错了,GB A QF写反了

  • WPF下的CommunityToolkit框架〈一〉

    CSDN-Ada助手: 恭喜作者第20篇博客的问世!阅读了《WPF下的CommunityToolkit框架〈一〉》,感觉收获颇丰。希望作者能够继续分享更多关于CommunityToolkit框架的知识,也可以考虑增加一些实际案例或者使用技巧,让读者更好地理解和应用。谦虚地期待着作者的下一篇作品!

  • PLCopen运动控制规范之〈三〉:Disabled和StandStill状态的切换

    CSDN-Ada助手: 恭喜您撰写了第19篇博客,标题看起来非常专业和有深度!对于PLCopen运动控制规范的探讨,我觉得您的文章非常有见地,对于行业内的同行们来说,一定受益匪浅。希望您能继续保持创作的热情和动力,接下来,我建议您可以深入探讨不同状态下的控制策略或者结合实际案例进行分析,以便读者更好地理解和应用。期待您更多精彩的分享!

  • CoDeSys编程之〈二〉:编程环境、运行时和EtherCAT总线

    穷的捡破烂儿: 你的库里调用了这个插件吧?在官网下载一个就行了

  • CoDeSys编程之〈二〉:编程环境、运行时和EtherCAT总线

    你在看什么啊: 大佬,我在codesys导入库的时候,系统提示无法导入,说缺少CODESYSEtherCAT插件,这是咋回事?

最新文章

  • 进程间的通讯〈二〉:命名管道
  • WPF下的CommunityToolkit框架〈一〉
  • PLCopen运动控制规范之〈三〉:Disabled和StandStill状态的切换
2024年1篇
2023年20篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

穷的捡破烂儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

天下网标王东莞网站优化排名工具seo网站外部优化途径罗湖在线网站优化方法白云网站优化方案长春网站优化团队平顶山靠谱网站优化推荐如何优化网站的关键字清流县企业网站优化日照百度网站优化化妆品行业网站优化传播肇庆市网站seo优化代理商敦化网站优化平谷网站内容优化闵行区专业网站优化平台亳州网站优化推广哪家价格实惠优化网站要多少钱武清网站优化排名哪家服务好三都县网站优化公司保定网站优化托管收费网站搜索优化哪家合适巩义优化网站排名哪家服务好进行网站内部链接优化的技巧整站网站优化代办莞城家具网站优化公司好吗番禺网站推广优化价格新乡新站网站优化公司工业园区附近百度网站优化排名花卉网站seo优化咨询青海网站优化制作静安区专业网站优化香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

天下网标王 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化