Modbus RTU 通信应用案例
如何打开项目归档文件
例程中的TIA博途项目文件与STEP 7项目文件均为归档文件,需要按如下方式打开:
TIA博途项目文件
1. 打开TIA博途软件,通过软件左下方“项目视图”按钮切换至项目视图:
2. 在打开的项目视图中,点击“项目>恢复”
3. 浏览到下载的TIA项目归档文件
4. 打开并恢复,在OB1的块标题有程序的整体说明,每一程序段均有该段的说明
STEP 7项目文件:
1. 打开STEP 7软件,点击“文件>恢复”
2. 浏览到下载的STEP 7项目归档文件
3. 打开并恢复,在OB1的块标题有程序的整体说明,每一程序段均有该段的说明
S7-1200 与S7-1200 Modbus RTU 通信例程
1.使用环境
① S7-1217C V4.2、S7-1215C V4.2、CM1241 RS422/RS485 V2.2
② TIA 博途 STEP 7 V14SP1
2.实现功能
CPU 1217 作为 Modbus RTU 主站, CPU 1215 作为 Modbus RTU 从站,实现 S7-1200 PLC 两个串口通信模块 CM1241 RS422/485 之间的 Modbus RTU 通信,主站轮询读写从站数据。
① CPU 1217 Modbus RTU 主站读取 CPU1215 Modbus RTU 从站保持寄存器 40001 地址开始的两个字长的数据并存储到 DB3.DBW0 和 DB3.DBW2。
② CPU 1217 Modbus RTU 主站将 DB3.DBW20~DB3.DBW26 四个字长的数据写入到 CPU1215 Modbus RTU 从站 40003 开始的保持寄存器。
③ CPU 1217 Modbus RTU 主站将 DB3.DBX40.0~DB3.DBX40.7 八个位的数据写入到 CPU1215 Modbus RTU 从站 Q0.0~Q0.7。
S7-1200 PLC 的 Modbus RTU 有两类指令"MODBUS (RTU) "和"MODBUS",如图1所示。指令区别和适用范围参考以下的各指令编程例程介绍。
图1.S7-1200 PLC 的 Modbus RTU 通信指令
1. MODBUS (RTU) 指令编程例程
“MODBUS (RTU) ”指令集指令适用于S7-1200 中央机架的 CM1241 V2.1 或 CB1241 且 S7-1200 CPU V4.1以上和分布式 IO PROFINET 或 PROFIBUS 的 ET200MP、ET200SP 串口通信模块。
2. MODBUS 指令编程例程
“MODBUS” 指令集指令只适用于 S7-1200 中央机架的 CM1241 或 CB1241。
本例程仅供参考,程序中的CPU版本、类型可能与用户实际使用不同,用户可能需要先对例子程序做修改和调整,才能将其用于测试。本例程的作者和拥有者对于该例程的功能性和兼容性不负任何责任,使用该例程的风险完全由用户自行承担。由于它是免费的,所以不提供任何担保,错误纠正和热线支持,用户不必为此联系西门子技术支持与服务部门。
Modbus RTU 通信应用案例的更多相关文章
- Modbus RTU 通信工具设计(转)
Modbus RTU 通信工具设计 Modbus 是一个工业上常用的通讯协议.一种通讯约定. ModBus 协议是应用层报文传输协议(OSI 模型第7层),它定义了一个与通信层无关的协议数据单元(PD ...
- FreeModbus 移植于STM32 实现Modbus RTU通信
http://ntn314.blog.163.com/blog/static/161743584201233084434579/ 毕业设计自己要做个基于STM32的PLC能直接跑语句表的,现在看来好像 ...
- Modbus RTU新版本指令介绍
Modbus RTU新版本指令介绍 TIA V13 SP1版本软件中提供了2个版本的Modbus RTU指令: 图1. 两个版本Modbus RTU指令 早期版本的Modbus RTU指令(图1. 中 ...
- Modbus RTU 介绍
S7-1200 Modbus RTU 通信概述 Modbus具有两种串行传输模式:分别为ASCII和RTU.Modbus是一种单主站的主从通信模式,Modbus网络上只能有一个主站存在,主站在Modb ...
- C# NModbus RTU通信实现
Modbus协议时应用于电子控制器上的一种通用语言.通过此协议,控制器相互之间.控制器经由网络/串口和其它设备之间可以进行通信.它已经成为了一种工业标准.有了这个通信协议,不同的厂商生成的控制设备就可 ...
- C# 开发Modbus Rtu客户端 modbus测试Demo,Modbus 串口通信 , 虚拟MODBUS-RTU测试
前言 本文将使用一个NuGet公开的组件技术来实现一个ModBus RTU的客户端,方便的对Modbus rtu的服务器进行读写,这个服务器可以是电脑端C#设计的,也可以是PLC实现的,也可以是其他任 ...
- 0-20ma 0-5V,0-10V ,0-15V ,0-20V,0-30V模拟量(范围可以定制)多功能采集模块,支持1路继电器输出,2路Di输入,8路Ai输入,可电脑控制,支持485 modbus rtu协议。端口参数可以配置保存,支持定制修改。
多功能模拟量采集模块MRD-5017具有8 通道模拟量采集(支持0-20mA,0-5V,0-10V混合测量),2路DI,1路继电器输出,1路485接口(支持MODBUS RTU),能实现8路AI(12 ...
- ModBus通信协议的【Modbus RTU 协议使用汇总】
1.RTU模式 当控制器设为在Modbus网络上以RTU(远程终端单元)模式通信,在消息中的每个8Bit字节包含两个4Bit的十六进制字符.这种方式的主要优点是:在同样的波特率下,可比ASCII方式传 ...
- Modbus RTU 协议使用汇总
原创地址:https://blog.csdn.net/u012166958/article/details/64920144 标准的Modbus 口是使用RS-232C 兼容串行接口,它定义了连接口的 ...
随机推荐
- sql server 查询存储过程指令
Sp_helptext PROCEDUREName 例子 创建存储过程 CREATE PROCEDURE SelectFromBitTable AS BEGIN select pkid,isdelet ...
- Win10 如何以管理员身份设置开机自启程序(2)
原文:Win10 如何以管理员身份设置开机自启程序(2) 自己水平太菜,对Windows的权限问题一直不是特别了解.之前在<Win10 如何以管理员身份设置开机自启程序(1)>一文中介绍了 ...
- Visual C++ 编译器自动假定带 .C 扩展名的文件是 C 文件而不是 C++ 文件,并且拒绝 C++ 语法和关键字(c语言只能在大括号最前面申明变量)
今天在编译OpenGL红宝书附带源码中的light.c文件时遇到一个诡异的问题: 如图light .c,在不做任何修改的情况编译OK.然而只要在某些地方写了可执行代码,则会无法通过编译器编译! (这几 ...
- redis SERVER INSTALL WINDOWS SERVICE
以管理 员身份 运行 CMD 命令,进入redis所在目录,并运行下 脚本redis-server --service-install redis.windows-service.conf --log ...
- 【Git】原Git库拆分子目录作为新仓库,并保留log记录
一.需求描述: 现有一个git仓库,Team A和Team B的人操作同一仓库的不同目录,Team A的dev希望Team B的dev没有权限review属于Team A的代码目录,故现需要先将这个g ...
- MS SQL SERVER搜索某个表的主键所在的列名
原文:MS SQL SERVER搜索某个表的主键所在的列名 SELECT SYSCOLUMNS.name FROM SYSCOLUMNS,SYSOBJECTS,SYSINDEXES,SYSINDEX ...
- SQL之连接查询
这几天忙着笔试.面试,遇到了好几个关于数据库的试题,当然只是简单的多表查询.我第一时间都是选择select...from...where...group by...having...这个结构去写的.但 ...
- EnterpriseLibrary 6.0 AOP 使用问题
因为EnterPrise Library 6.0改动了模块的功能类不再自动从Unity创建了,也就是引导也不依赖Unity容器组件,需要先使用静态方法注册一下 private static void ...
- C#图片旋转
这里以Bitmap为例说明问题. 可以看到,旋转方法需要传入一个参数,而这个参数是一个枚举类型,RotateFlipType. 系统提供了两大类型的旋转, 1.旋转后不翻转. 2.旋转后接着翻转.翻转 ...
- MySQL操作详解
创建并使用数据库 查看服务器上的数据库:SHOW DATABASES; 创建数据库:CREATE DATABASE <数据库名>; 指明使用何数据库:USE <数据库名> 创建 ...