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

这篇具有很好参考价值的文章主要介绍了汇川AM403PLC作为ModbusTCP主站通讯实例。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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):
am403-cpu1608tp/tn 内存地址和modbus地址的关系,Modbus通讯实战,制造,tcp/ip,网络协议

  双击该节点标题打开网络组态设置界面,在Ethernet选项框中找到ModbusTCP 主站,勾选该复选框,如下图所示:
am403-cpu1608tp/tn 内存地址和modbus地址的关系,Modbus通讯实战,制造,tcp/ip,网络协议

 2.给主站添加从站节点

  展开【网络设备列表】中的【以太网口】节点:
am403-cpu1608tp/tn 内存地址和modbus地址的关系,Modbus通讯实战,制造,tcp/ip,网络协议
  双击【Modbus_TCP】或拖动【Modbus_TCP】放置到网络组态界面即可添加从站设备,可以添加多个从站。
am403-cpu1608tp/tn 内存地址和modbus地址的关系,Modbus通讯实战,制造,tcp/ip,网络协议

 3.修改通讯参数
  • 修改主站通讯参数
     双击设备节点打开设备属性界面,选择【系统设置】选项框:
    am403-cpu1608tp/tn 内存地址和modbus地址的关系,Modbus通讯实战,制造,tcp/ip,网络协议

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

  • 修改从站通讯参数
     找到并展开设备节点下的Modbus TCP主站节点,该节点下挂载了刚才添加的从站设备:
    am403-cpu1608tp/tn 内存地址和modbus地址的关系,Modbus通讯实战,制造,tcp/ip,网络协议

  双击从站节点打开通讯设置:
am403-cpu1608tp/tn 内存地址和modbus地址的关系,Modbus通讯实战,制造,tcp/ip,网络协议

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

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

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

 1.通讯任务设置入口

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

  a).找到Modbus TCP主站节点下挂载的从站设备节点:
am403-cpu1608tp/tn 内存地址和modbus地址的关系,Modbus通讯实战,制造,tcp/ip,网络协议

  b).双击从站设备打开通讯设置,切换选项卡到【Modbus TCP通信设置】选项:
am403-cpu1608tp/tn 内存地址和modbus地址的关系,Modbus通讯实战,制造,tcp/ip,网络协议

  c).点击选项卡最底部的【添加】按钮或者右击选项卡空白处在右键选项卡中选择【添加】,弹出【Modbus 通信设置】页面:
am403-cpu1608tp/tn 内存地址和modbus地址的关系,Modbus通讯实战,制造,tcp/ip,网络协议
  每个从站可以配置多个Modbus TCP通信通道,每个通道对应一条通讯任务。下面分别介绍实现实例的通讯目标。

 2.读取从站输入状态
  • Channel 01:电平触发读取一个输入状态,读取失败则返回最后一次成功的值,输入状态地址为0x0000
     存取类型设置为【读输入状态(功能码02)】,触发器设置为电平触发,触发变量为 SM3101;起始地址为0x0000,长度为1;错误处理方式是保持最后的值。
    am403-cpu1608tp/tn 内存地址和modbus地址的关系,Modbus通讯实战,制造,tcp/ip,网络协议
  • Channel 02:持续读取八个输入状态,读取失败则返回0,状态起始地址为0x0010
     存取类型设置为【读输入状态(功能码02)】,触发器设置为循环执行,每隔100ms发起一次请求;起始地址为0x0010,长度为8;错误处理方式是设置为0。
    am403-cpu1608tp/tn 内存地址和modbus地址的关系,Modbus通讯实战,制造,tcp/ip,网络协议
      不建议将循环事件设置的太短,会增加CPU的负担。
 3.读取从站输入寄存器
  • Channel 03:电平触发读取一个输入寄存器,读取失败则返回最后一次成功的值,输入寄存器地址为0x0002
     存取类型设置为【读输入寄存器(功能码04)】,触发器设置为电平触发,触发变量为 SM3102;起始地址为0x0002,长度为1;错误处理方式是保持最后的值。
    am403-cpu1608tp/tn 内存地址和modbus地址的关系,Modbus通讯实战,制造,tcp/ip,网络协议

  • Channel 04:持续读取2个输入寄存器,读取失败则返回0,输入寄存器起始地址为0x0003
     存取类型设置为【读输入寄存器(功能码04)】,触发器设置为循环执行,每隔100ms发起一次请求;起始地址为0x0003,长度为2;错误处理方式是设置为0。
    am403-cpu1608tp/tn 内存地址和modbus地址的关系,Modbus通讯实战,制造,tcp/ip,网络协议

 4.更新从站线圈
  • Channel 05:电平触发更新一个线圈状态,线圈地址为0x0000
     存取类型设置为【写单个线圈(功能码05)】,触发器设置为电平触发,触发变量为 SM3103;起始地址为0x0000。
    am403-cpu1608tp/tn 内存地址和modbus地址的关系,Modbus通讯实战,制造,tcp/ip,网络协议

  • Channel 06:持续更新一组连续线圈状态,线圈起始地址为0x0010
     存取类型设置为【写多个线圈(功能码15)】,触发器设置为循环执行,起始地址为0x0010,长度为8。同理,循环时间应当适当延长以降低CPU负载。
    am403-cpu1608tp/tn 内存地址和modbus地址的关系,Modbus通讯实战,制造,tcp/ip,网络协议

 5.更新保持寄存器
  • Channel 07:电平触发更新一个寄存器,寄存器地址为0x0000
     存取类型设置为【写单个寄存器(功能码06)】,触发器设置为电平触发,触发变量为 SM3104;起始地址为0x0000。
    am403-cpu1608tp/tn 内存地址和modbus地址的关系,Modbus通讯实战,制造,tcp/ip,网络协议

  • Channel 08:持续更新2个寄存器,寄存器起始地址为0x0001
     存取类型设置为【写多个寄存器(功能码16)】,触发器设置为循环执行,循环时间即为两次通讯间隔时间;起始地址为0x0001,长度为2。同理,循环时间应当适当延长以降低CPU负载。
    am403-cpu1608tp/tn 内存地址和modbus地址的关系,Modbus通讯实战,制造,tcp/ip,网络协议

 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

am403-cpu1608tp/tn 内存地址和modbus地址的关系,Modbus通讯实战,制造,tcp/ip,网络协议

  • 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

am403-cpu1608tp/tn 内存地址和modbus地址的关系,Modbus通讯实战,制造,tcp/ip,网络协议
   同理,将float变量换成结构体,即可利用联合实现由寄存器数组到结构体的数据转换。

 6.更新复杂数据的寄存器
  • Channel 11:更新Real类型变量,寄存器地址为0x0007
     和读取Real类型变量同理。
    am403-cpu1608tp/tn 内存地址和modbus地址的关系,Modbus通讯实战,制造,tcp/ip,网络协议

  • Channel 12:更新struct类型变量,寄存器地址为0x0009
     和读取复杂结构数据同理。
    am403-cpu1608tp/tn 内存地址和modbus地址的关系,Modbus通讯实战,制造,tcp/ip,网络协议

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

四、配置通讯地址

 1.IO映射

  完成通讯配置后在从站属性里会多出一个Internal I/O映射选项卡,通过【通道】名称,I/O映射表和通讯设置里的变量形成映射关系。
  只能将从站的数据映射到主站的I/O存储区,用户需要通过编程将数据转移到需要的变量存储区。
am403-cpu1608tp/tn 内存地址和modbus地址的关系,Modbus通讯实战,制造,tcp/ip,网络协议

 2.修改映射地址

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

到了这里,关于汇川AM403PLC作为ModbusTCP主站通讯实例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于AM62x的ARM+FPGA+Codesys低成本软PLC解决方案

    GPMC并口简介 GPMC(General Purpose Memory Controller)是TI处理器特有的通用存储器控制器接口,支持8/16bit数据位宽,支持128MB访问空间,最高时钟速率133MHz。GPMC是AM62x、AM64x、AM437x、AM335x、AM57x等处理器专用于与外部存储器设备的接口,如: (1)FPGA器件 (2)ADC器件 (3)SRAM内存 (4)NOR/NAND闪存

    2024年01月23日
    浏览(50)
  • 汇川小型PLC-MODBUS(485)通讯模式

    MODBUS通讯的底层为RS485信号,采用 双绞线 进行连接就可以了,因此传输距离较远,可达 1000米,抗干扰性能比较好,且成本低,在工业控制设备的通讯中被广泛使用,现在众多厂家的变频器、控制器都采用了该协议。 传送数据格式有HEX码数据和ASCII码两种,分别称为MODBUS-RT

    2023年04月25日
    浏览(106)
  • 上位机与PLC:ModbusTCP通讯之数据类型转换

    从PLC读取的数值,不管是读正负整数还是正负浮点数,读取过来后都会变成UInt16,也就是Ushort类型 前请提要:Int32是32位,ushort是16位,byte是8位 (1)使用原因 向PLC的地址读取数据,PLC向地址写入32位整数,数值为100,但Modbus传输走的是16位,因此无法直接把数值展示到页面上

    2024年02月03日
    浏览(54)
  • 【西门子PLC S7-200smart与汇川变频器通过通讯控制】

    一,变频器通讯设置部分 先查看汇川变频器的使用说明书,将FD组“通讯参数设置”设置好对应波特率,数据格式,本机地址,通讯协议 FD-00 波特率设置   0:300bps 1:600bps 2:1200bps 3:2400bpd 4:4800bps 5:9600bps9:115200bps FD-01 数据格式    1:偶校验  2:奇校验  3:无校验 FD-02 本机地

    2024年02月04日
    浏览(77)
  • S7-1200PLC 作为MODBUSTCP服务器通信(多客户端访问)

    S7-1200PLC作为MODBUSTCP服务器端通信编程应用,详细内容请查看下面文章链接: ModbusTcp通信(S7-1200PLC作为服务器端)-CSDN博客 文章浏览阅读239次。S7-200Smart plc作为ModbusTcp服务器端的通信S7-200SMART PLC ModbusTCP通信(ModbusTcp服务器)_s7-200 modbustcp-CSDN博客文章浏览阅读2.3k次。 https://rxxw-con

    2024年02月01日
    浏览(50)
  • 基于西门子S7-200smart作为客户端的modbustcp通讯

    具体PLC实施及排配和上位机modbustcp对应地址关系 1.启动按钮—I0.0 -------modbus地址:2000 2.停止按钮—I0.1 -------modbus地址:2001 3.急停按钮—I0.2 -------modbus地址:2002 4.进料感应器—I0.3 -------modbus地址:2010 5.出料感应器—I0.4 -------modbus地址:2015 6.电机运行—Q0.0 -------modbus地址:2

    2024年02月03日
    浏览(72)
  • Modbus通信从入门到精通_2_Modbus TCP通信详解及仿真(搭建ModbusTCP仿真环境:创建虚拟PLC并进行ModbusTCP通讯;寄存器与PLC中映射关系;适合理解如何编写上位机)

    本篇将会以西门子PLC软件搭建ModbusTCP仿真环境,并通过仿真环境,介绍基础知识及模拟实际应用中写一个简单的通信读取PLC数据方法,并简介了编写上位机的方法。 由于具有TCP/IP栈协议,通常在Modbus TCP通讯的上位机开发中, 上位机是作为客户端,控制器作为服务器 。Modbu

    2024年02月08日
    浏览(179)
  • ARM微控制器 AM2432BSEFHIALXR、AM2432BSFFHIALV技术参数(32位MCU)

    1、AM2432BSEFHIALXR 32位MCU采用293引脚FCCSP封装,工作频率最高可达800MHz。该微控制器专为需要结合处理和实时通信的工业应用而构建,例如远程I/O模块和电机驱动器。 核心处理器:ARM® Cortex®-M4F,ARM® Cortex®-R5F 内核规格:32 位三核 速度:400MHz,800MHz 连接能力:CANbus,以太网,

    2024年02月16日
    浏览(41)
  • 【调制解调】AM 调幅

    学习数字信号处理算法时整理的学习笔记。同系列文章目录可见 《DSP 学习之路》目录,代码已上传到 Github - ModulationAndDemodulation。本篇介绍 AM 调幅信号的调制与解调,内附全套 MATLAB 代码。 目录 说明 1. AM 调制算法 1.1 算法描述 1.2 调制信号 m(t) 为确知信号时 1.3 调制信号 m

    2024年02月13日
    浏览(59)
  • AM振幅调制器

    AM振幅调制器是一种基础电路,其原理是将信息信号调制到载波信号上,从而实现信号的传输。在现代通信系统中,AM振幅调制器被广泛应用于调制和解调模拟信号,如广播电视和无线电通信等领域。 本报告旨在设计一种简单的AM振幅调制器电路,以便学生更好地了解和掌握这

    2024年02月03日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包