0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

自定义Modbus通信块指令的搭建教程

工控论坛 ? 来源:跟我学PLC吧 ? 2025-01-20 10:37 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

以下文章来源于跟我学PLC吧,作者凌云

一、 导读

Modbus 通信是一种应用广泛的通信协议 ,在变频器智能仪表或是其他的一些智能设备上应用的一种通用通信协议,本文以S7-200SMART系列PLC作为Modbus主站,以西门子V20变频器和欧姆龙E5EZ的智能温控仪表作为从站为例,为大家分享如何使用自定义的Modbus RTU的通信程序块,来实现快速高效的Modbus通信程序设计。同时在本文的结尾会为大家提供参考程序和打包好的Modbus RTU通信块的库指令,后续大家可以把该库指令添加到自己软件中的库指令中,方便后续直接使用。

二、自定义Modbus通信块指令介绍

如下图所示为一条自定义的Modbus通信块指令,在进行Modbus通信时,不管有多少个从站,都只需要使用一条该指令,使用时配合数据块对通信数据的定义即可。

909cad4a-d5a5-11ef-9310-92fbcf53809c.png

90b4eb08-d5a5-11ef-9310-92fbcf53809c.png

三、通信程序的设计

(1) 硬件需求与接线

90c3ed4c-d5a5-11ef-9310-92fbcf53809c.png

(2) 控制要求说明

实现对西门子V20变频器的运行控制,速度调节、运行状态反馈、运行速度反馈、输出电流和输出电压监控,实现对欧姆龙E5EZ的当前温度值PV值监控和设定值SV的调整。根据V20变频器说明书和欧姆龙E5EZ说明书得到对应通信的Modbus 寄存器地址如下图所示。

90d73848-d5a5-11ef-9310-92fbcf53809c.png

注:通信参数设置可根据V20变频器说明书和欧姆龙E5EZ说明书来设置,对于V20变频器可通过设置为链接宏Cn11快速完成通信参数的设置,需要注意的是要变频器和智能仪表必须要设置相同的数据位,停止位、起始位、奇偶校验位和波特率。

(3) 在数据页中定义通信数据

在数据页中以10个字节为单位定义通信需要数据和读写数据存储的地址,如图所示:

90e47c06-d5a5-11ef-9310-92fbcf53809c.png

(4)通信程序

调用自定义的Modbus通信块指令,完成通信程序的设计,程序如下图所示:

91169e3e-d5a5-11ef-9310-92fbcf53809c.png

调用的库指令需要为其分配库存储器地址,该自定义的Modbus通信块占用594个字节的地址,分配如下图所示,分配时需要保证分配的库存储器地址在程序的其他地方未被使用。

911eb51a-d5a5-11ef-9310-92fbcf53809c.png

V20控制程序,主要用于完成对V20变频器的控制命令给定和速度给定的换算程序,程序如下图所示:

912db556-d5a5-11ef-9310-92fbcf53809c.png

9145812c-d5a5-11ef-9310-92fbcf53809c.png

四、结语

使用该自定义的Modbus 通信块指令,可以无需考虑Modbus通信库指令的使用和通信轮询的设计方法,只需要定义好需要通信的数据区域即可。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • plc
    plc
    +关注

    关注

    5037

    文章

    13999

    浏览量

    475620
  • 通信
    +关注

    关注

    18

    文章

    6211

    浏览量

    138003
  • MODBUS
    +关注

    关注

    28

    文章

    2159

    浏览量

    79850
  • 指令
    +关注

    关注

    1

    文章

    617

    浏览量

    36694

原文标题:

文章出处:【微信号:gkongbbs,微信公众号:工控论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    NIOS II自定义指令设计之实例篇

    在【原创】SOPC用户自定义指令设计之软件篇  和【原创】SOPC用户自定义指令设计之硬件篇 中分别讲述了自定义
    发表于 03-27 17:56 ?3339次阅读
    NIOS II<b class='flag-5'>自定义</b><b class='flag-5'>指令</b>设计之实例篇

    LabVIEW运动控制(三):EtherCAT运动控制器的高效加工指令自定义封装

    LabVIEW高效加工指令自定义封装
    的头像 发表于 04-08 13:49 ?2751次阅读
    LabVIEW运动控制(三):EtherCAT运动控制器的高效加工<b class='flag-5'>指令</b><b class='flag-5'>自定义</b>封装

    自定义外设和自定义指令在SOPC系统中是如何运行的?

    自定义外设和自定义指令在SOPC系统中是如何运行的?怎样去验证?
    发表于 05-26 06:33

    SOPC中自定义外设和自定义指令性能分析

    SOPC中自定义外设和自定义指令性能分析 NiosII是一个建立在FPGA上的嵌入式软核处理器,灵活性很强。作为体现NiosII灵活性精髓的两个最主要方面,自
    发表于 03-29 15:12 ?1739次阅读
    SOPC中<b class='flag-5'>自定义</b>外设和<b class='flag-5'>自定义</b><b class='flag-5'>指令</b>性能分析

    1602自定义字符

    1602液晶能够显示自定义字符,能够根据读者的具体情况显示自定义字符。
    发表于 01-20 15:43 ?1次下载

    erlang如何自定义_ERLANG环境搭建

    本文详细介绍了erlang 如何自定义 behaviour以及ERLANG环境搭建。要定义一个behaviour,首先你要创建一个模块,它必须导出 behaviour_info/1 这个函数(注意必须带u),函数的
    发表于 02-23 08:42 ?1644次阅读
    erlang如何<b class='flag-5'>自定义</b>_ERLANG环境<b class='flag-5'>搭建</b>

    如何通过LUA实现自定义串口指令设置

    本章节主要讲述通过 LUA 实现自定义串口指令设置按钮按下、设置文本、设置蜂鸣器响。并在按下按钮或通过键盘输入数据后发送自定义指令。本文将分为以下是 4 个阶段讲述教程 DEMO 是如
    发表于 10-17 08:00 ?8次下载
    如何通过LUA实现<b class='flag-5'>自定义</b>串口<b class='flag-5'>指令</b>设置

    嵌入式的CPU自定义指令有什么特点

    Arm的自定义指令最早将在2020年上半年在ArmCortex?M33CPU中开展,而新的和现有的被许可人将无需支付额外费用,因此SoC设计人员可以为嵌入式和互联网添加自己的指令而不会出现软件碎片的风险。
    的头像 发表于 02-05 17:32 ?3108次阅读

    C#与STM32自定义通信协议

    C#与STM32自定义通信协议功能:1.可通过C#上位机对多台STM32下位机进行控制2.自定义上位机与下位机通信协议
    发表于 12-24 18:59 ?37次下载
    C#与STM32<b class='flag-5'>自定义</b><b class='flag-5'>通信</b>协议

    自定义视图组件教程案例

    自定义组件 1.自定义组件-particles(粒子效果) 2.自定义组件- pulse(脉冲button效果) 3.自定义组件-progress(progress效果) 4.
    发表于 04-08 10:48 ?15次下载

    ArkUI如何自定义弹窗(eTS)

    自定义弹窗其实也是比较简单的,通过CustomDialogController类就可以显示自定义弹窗。
    的头像 发表于 08-31 08:24 ?2739次阅读

    基于AWTK和AWPLC开发自定义功能

    AWPLC 是 ZLG 自主研发的 PLC 系统(兼容 IEC61131-3),本文用定时器为例介绍一下如何扩展自定义功能
    的头像 发表于 10-26 11:50 ?1278次阅读

    自定义算子开发

    一个完整的自定义算子应用过程包括注册算子、算子实现、含自定义算子模型转换和运行含自定义op模型四个阶段。在大多数情况下,您的模型应该可以通过使用hb_mapper工具完成转换并顺利部署到地平线芯片上……
    的头像 发表于 04-07 16:11 ?3446次阅读
    <b class='flag-5'>自定义</b>算子开发

    labview超快自定义控件制作和普通自定义控件制作

    labview超快自定义控件制作和普通自定义控件制作
    发表于 08-21 10:32 ?14次下载

    串口屏LUA教程10-自定义串口指令

    串口屏LUA教程10-自定义串口指令
    发表于 04-29 13:17 ?17次下载