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

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

3天内不再提示

S7-1200与欧姆龙智能仪表Modbus通信案例

工控论坛 来源:跟我学PLC吧 2025-03-27 17:25 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

来源:跟我学PLC

一、 导读

Modbus 通信是一种应用广泛的通信协议 ,在变频器、智能仪表或是其他的一些智能设备上应用的一种通用通信协议,本文以S7-1200系列PLC作为Modbus主站,以欧姆龙E5EZ的智能温控仪表作为从站为例,使用SCL编程语言编写S7-1200实现对欧姆龙智能温控仪表的当前温度值的读取和修改设定温度值。

二、硬件选择与仪表通信参数设置

(1)硬件选配

在本案例中S7-1200PLC选择CPU型号为 CPU1214C,RS485通信接口,选择通信板CB1241 ,欧姆龙智能仪表为欧姆龙E5EZ型仪表。PLC通信信号板与欧姆龙智能仪表的接线如下图所示:

4dc45e8e-0a4b-11f0-9310-92fbcf53809c.png

(2)仪表通信参数设置 仪表通信参数主如下图所示,主要包括通信协议选择,站号设置,波特率,数据位,校验位等。

4dd1632c-0a4b-11f0-9310-92fbcf53809c.png

ü通信协议选择Modbus通信协议,在仪表上选择Mod。

ü通信单元号(站号),这里设置为01

ü通信波特率设置,这里设置9.6,表示9600bps

ü数据位,这里设置为8位数据位

ü停止位,这里设置为1个停止位

ü奇偶校验,这里设为EVEN(偶校验)

三、通信程序编写

(1)地址的计算

根据欧姆龙E5EZ仪表的通信说明书中关于Modbus通信数据的查询表,可查找到PV值的数据地址为0404H,大小为32位,设定温度值的地址为0106H,大小同位32位地址,如下标所示:

4de85596-0a4b-11f0-9310-92fbcf53809c.png

根据S7-1200Modbus通信指令上对地址的规定采用的是Modbus寄存器地址,所以经过换算后地址PV值的地址Modbus寄存器地址为十进制数的41029,设定温度值的Modbus寄存器地址为十进制数的40263。

注:Modbus寄存器地址主要有4种类型,分别为0XXXX类型,表示对线圈的读写,1XXXX类型,表示对输入离散量的读取,3XXXX,表示对输入寄存器读取(对应Modbus功能码为04),4XXXX表示对保持性寄存器的读写操作(对应功能码为06,03,16)。 计算方法,把对应的十六进制的数据地址换算为十进制数后,再加上1,最后在等到的结果前面添加一个数字4,表示对应类型。

(2)新建通信数据块DB1000

新建一个数据块DB1000,在该数据块中定义通信相关的变量,并给对应的变量赋值通信相关的数值,如下图所示:

4dfa7e1a-0a4b-11f0-9310-92fbcf53809c.png

其中,变量CommunicationData的定义结构按通信指令“Modbus_Master”指令管脚进行定义,可根据通信数据调试多少来修改定性的数组元素的数量。

(3)新建通信程序块FB1000

新建一个FB块并对该FB块命名为”仪表通信程序”,该块的编程语言选择SCL编程语言,在该FB块的接口区中建立如下图所示的接口区变量。

4e18e85a-0a4b-11f0-9310-92fbcf53809c.png

启用通信连接和调用通信端口初始化操作程序

4e2c86e4-0a4b-11f0-9310-92fbcf53809c.png

4e441b24-0a4b-11f0-9310-92fbcf53809c.png

调用Mast指令完成数据交换和改变需要发送数据的程序

4e5336a4-0a4b-11f0-9310-92fbcf53809c.png

在OB块中调用该通信程序,并为该通信程序的接口分配对应的实参。

4e6200bc-0a4b-11f0-9310-92fbcf53809c.png

四、结语

该案例中需要注意:

(1)修改修改初始指令中的模式,在首次扫描位接通时,把4传送给“Modbus_Comm_Load_DB.MODE”变量中。

(2)若CommunicationData变量数值的元素是从0开始时,那么在通信程序的FB块的接口区中定义的常量StartValue的值应设置为0。

(3)若通信的条数增加时,可修改CommunicationData变量数值的元素的数量,并对元素中的变量定义相关的数据,然后在DataCount中指定通信的数据条数,无需对通信程序进行调整。

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

    关注

    28

    文章

    1073

    浏览量

    41869
  • MODBUS
    +关注

    关注

    28

    文章

    2387

    浏览量

    82276
  • 欧姆龙
    +关注

    关注

    3

    文章

    416

    浏览量

    66962
  • S7-1200
    +关注

    关注

    11

    文章

    334

    浏览量

    19233

原文标题:

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    S7-1200S7-1200/S7-1500不同项目下UDP通信

    S7-1200S7-1200 之间的以太网通信可以通过 UDP 协议来实现。本列中使用TSEND_C,TRCV_C指令建立双方的UDP通讯。TSEND_C,TRCV_C指令在两台PLC间必须成对存在。
    的头像 发表于 01-10 09:19 7972次阅读

    基于S7-1200的PLC的编程及扩展

    ,这些特点使它成为控制各种应用的完美解决方案。S7-1200 型号和基于 Windows 的 STEP 7 编程工具。S7-1200 系列提供了各种模块和插入式板,用于通过附加 I/O 或其它
    发表于 09-25 18:39 35次下载

    S7-1200与PROFINET的通信

    S7-1200 CPU 本体上集成了一个PROFINET 通信口,支持以太网和基于TCP/IP 的通信标准。使用这个通信口可以实现S7-1200
    发表于 09-29 18:58 38次下载
    <b class='flag-5'>S7-1200</b>与PROFINET的<b class='flag-5'>通信</b>

    S7-1200S7-1200进行S7通信的详细资料说明

    S7-1200 的 PROFINET 通信口可以做 S7 通信的服务器端或客户端(CPU V2.0及以上版本)。S7-1200 仅支持
    的头像 发表于 08-17 10:51 3.1w次阅读
    <b class='flag-5'>S7-1200</b>和<b class='flag-5'>S7-1200</b>进行<b class='flag-5'>S7</b><b class='flag-5'>通信</b>的详细资料说明

    关于S7-1200S7-1200之间UDP的通信与仿真

    S7-1200S7-1200 之间的以太网通信可以通过 UDP 协议来实现,使用的通信指令是在双方 CPU 调用 T-block ( TCON, TDISCON, TUSEND,
    的头像 发表于 04-22 09:14 6651次阅读
    关于<b class='flag-5'>S7-1200</b>和<b class='flag-5'>S7-1200</b>之间UDP的<b class='flag-5'>通信</b>与仿真

    S7-1200与CU240BE-2之间的Modbus-RTU通讯

    S7-1200与CU240BE-2之间的Modbus-RTU通讯说明。
    发表于 04-29 15:26 20次下载

    S7-1200 Modbus TCP通信指令块编程教程

    S7-1200 Modbus TCP通信指令块编程教程免费下载。
    发表于 03-28 16:08 10次下载

    西门子S7-1200的TCP通信配置过程及数据交换方式

    西门子S7-1200集成以太网接口,通过该接口可以与其它设备进行以太网通信S7-1200的以太网通信主要有S7
    的头像 发表于 11-16 10:54 2w次阅读

    S7-1200 Modbus RTU 从站通信组态及编程步骤

    S7-1200 支持Modbus RTU通信模式的模块可作为Modbus RTU从站。以下以 CPU1215C DC/DC/DC和CM1241 RS485为例,介绍
    发表于 12-07 20:37 1.7w次阅读

    S7-1200S7-300 CP342-5的DP口的主从通信

    使用 S7-1200S7-300 用 CP342-5 进行主从通信,这里S7-1200 的 CM1243-5 做为主站,将 CP342-5 做从站。
    的头像 发表于 02-13 09:32 2555次阅读

    S7-1200 CPU与S7-200 SMART S7通信指南

    S7-1200 CPU 固件版本 V2.0 及其以上,本体集成的 PROFINET 通信接口可以做 S7 通信客户端。S7-1200 仅支持
    的头像 发表于 04-19 15:14 4446次阅读

    S7-1200S7-300的选型区别

    在硬件扩展方面,S7-300的主机架多支持八个扩展模块,而S7-1200支持扩展多八个信号模块和多三个通信模块。以S7-300 CPU313C和S7
    的头像 发表于 05-04 15:18 2453次阅读
    <b class='flag-5'>S7-1200</b>与<b class='flag-5'>S7</b>-300的选型区别

    一文解析S7-1200S7-1500 S7通信

    S7-1200 的 PROFINET 通信口可以做 S7 通信的服务器端或客户端(CPU V2.0及以上版本)。S7-1200 仅支持
    发表于 05-15 17:13 6839次阅读
    一文解析<b class='flag-5'>S7-1200</b>与<b class='flag-5'>S7</b>-1500 <b class='flag-5'>S7</b><b class='flag-5'>通信</b>

    欧姆龙CP1L-EL转Modbus协议欧姆龙PLC转Modbus协议

    欧姆龙PLC转Modbus协议 欧姆龙CP1L-EL转Modbus协议
    的头像 发表于 11-06 15:55 4471次阅读
    <b class='flag-5'>欧姆龙</b>CP1L-EL转<b class='flag-5'>Modbus</b>协议<b class='flag-5'>欧姆龙</b>PLC转<b class='flag-5'>Modbus</b>协议

    开疆智能Profinet转Modbus网关连接欧姆龙智能仪表配置案例

    本案例是PLC通过Modbus转Profient网关将欧姆龙仪表数据采集到西门子1200PLC 具体配置过程如下。 配置过程: PLC配置: 添加网关为Profinet设备 :在PLC
    的头像 发表于 09-16 10:42 441次阅读
    开疆<b class='flag-5'>智能</b>Profinet转<b class='flag-5'>Modbus</b>网关连接<b class='flag-5'>欧姆龙</b><b class='flag-5'>智能仪表</b>配置案例