威纶通触摸屏与西门子S7-200PLC建立Modbus通讯

威纶通触摸屏与西门子S7-200PLC建立Modbus通讯缩略图

在使用西门子 S7-200 时, 在不增加其它通讯接口模块时, 威纶通触摸屏可以通讯 PPI 协议与 S7-200 直 接通讯。但这种通讯方式由于受通讯协议本身限制, 在通讯数据较多时, 通讯速度相对较慢, 使用 Modbus 协议则通讯速度可以提高约一倍。 下面就介绍一下怎么使用 Modbus 协议建立 S7-200 与威纶通触摸屏之 间的通讯:

威纶通触摸屏与西门子S7-200PLC建立Modbus通讯概述

硬件连接

在使用 Modbus 协议时,计算机与 S7-200 之间通讯直接使用 PPI 通讯电缆即可。

选配一触摸屏通讯端口

我们这里以 MT6070IH2 和 s7-200 进行通讯

S7-200 的通讯端口是一个 9 孔(famel) D 型插头,针脚分布如下所示:

威纶通触摸屏与西门子S7-200PLC建立Modbus通讯插图

S7-200 通讯端口(端口 0)与威纶通触摸屏的通讯连接,如下图所示:

两个子程序MBUS_INIT用

S7-200 编程及设置

威纶通触摸屏与西门子S7-200PLC建立Modbus通讯插图1

在缺省情况下 S7-200 的通讯端口是不支持 Modbus 协议的,要想实现 Modbus 通讯必需在 PLC 的主程 序模块中调用 Modbus 通讯子程序。 Modbus 通讯子程序可以从“STEP 7-Micro/WIN Add-On: Instruction Library (STEP 7-Micro/WIN 附件:指令库)”中获得。在安装了“STEP 7-Micro/WIN 附件:指令库”后,在 导航树“指令/库”下面我们可以找到“Modbus Protocol”。在其下面包含了 MBUS_INIT 和MBUS_SLAVE

两个子程序, MBUS_INIT 用于对 Modbus 通讯进行初始化, MBUS_SLAVE 用于在指定端口上提供 Modbus 从站通讯服务。下在介绍如何在主程序中调相关子程序及环境参数设置:

调用 Modbus 通讯初始化命令

首先为 MBUS_INIT 命令建立一个触发条件(只触发一次),如: SM0.1;从导航树“指令/库/ Modbus    Protocol”下面, 将 MBUS_INIT 指令拖拽到主程序块中。再就是正确设置 MBUS_INIT 各项调用参数和执 行结果输出地址,我们可以建立一下如下图所示初始化调用过程:

Parity:校验方式0-无校

威纶通触摸屏与西门子S7-200PLC建立Modbus通讯插图2

Mode:协议类型, 1-Modbus 协议; 0-PPI 协议。

Addr: PLC 地址, 1~247 ,。

Baud: 通讯波特率, 1200 、2400 、4800 、9600 、19200 、38400 、57600 或 11520。

Parity: 校验方式, 0-无校验; 1-奇数校验; 2-偶数校验。

Delay:信息结束超时时间, 0~32767,有线连接设置为 0 即可。

HoldStart:V内存的映

MaxIQ:0~128,映射在离散输入寄存器或离散输出寄存器中的 I 或 Q 数。建议为: 128。

MaxAI:0~32;映射在模拟输入寄存器中 AIW 数;CPU 221 为 0,CPU 222 为 16,CPU 224、226 和 226XM 为 32。

MaxHold:V 内存映射在保持寄存器中的寄存器数。

HoldStart:V 内存的映射时的起始地址。

Done:初始化指完成时,输出为开状态;开关量(Bit)。

Error:指令执行结果只有"

Error:初始化错误代码,请参阅 Modbus 从机协议执行错误代码;输出为字节。                      调用 Modbus 从机通讯命令                                                                   初始化完成后, 就可以调用 Modbus 从机通讯命令(MBUS_SLAVE)了。通常 Modbus 从机通讯命令在 主程序块的每个执行周期都要初执行(始终保持通讯状态) ,因为可以用一个常开量作为命令的触发条件,

如: SM0.0。从导航树“指令/库/ Modbus Protocol”下面,将 MBUS_SLAVE 指令拖拽到主程序块中。调 用过程如下图所示:

威纶通触摸屏与西门子S7-200PLC建立Modbus通讯插图3

Done:  当 MBUS_SLAVE 指令响应对 Modbus 请求时, “Done”为开状态。 没通讯请求时”Done”为关状态。

Error:指令执行结果。只有”Done”为开状态时,此状态有效。请参阅 Modbus 从机协议执行错误代码; 输 出为字节。

触摸屏 EB8000 软件的系统设置

威纶通触摸屏与西门子S7-200PLC建立Modbus通讯插图4

系统参数设置中选择 MODBUS RTU

威纶通触摸屏与西门子S7-200PLC建立Modbus通讯插图5

通讯参数的设置

威纶通触摸屏与西门子S7-200PLC建立Modbus通讯插图6

设置的一个位状态开关

威纶通触摸屏与西门子S7-200PLC建立Modbus通讯插图7

MODBUS RTU 和 s7-200 的地址对应关系

威纶通触摸屏与西门子S7-200PLC建立Modbus通讯插图8

注:  STEP 7-Micro/WIN 附件:指令库哪里有下载:sp5 以上版本自带指令库。不过如果是第一次安装 STEP 7-Micro/WIN,指令库并不会出现。

可以去下载 Toolbox_V32-STEP 7-Micro WIN 32 Instruction Library  。安装这个小软件,在 STEP 7-Micro/WIN 的指令树就有了指令库

技术术语(共 5 个)—— 点击展开
Modbus RTU基于串行链路的Modbus协议,使用二进制编码和CRC校验
寄存器Modbus 寄存器存储数据单元,分线圈/离散输入/保持/输入寄存器四类
PLC可编程逻辑控制器,工业自动化控制的核心设备
波特率串行通信每秒传输符号数,Modbus RTU常用9600/19200
保持寄存器Modbus 16位可读写数据,地址从40001开始
来源/工具信息 —— 点击展开
来源 Modbus中文网(modbus.cn) —— 国内领先的Modbus通信协议技术社区 分类 Modbus技术文档 / 工业物联网 字数 2508 字 · 阅读约 7 分钟 更新 2023-01-23 永久链接 https://www.modbus.cn/%e5%a8%81%e7%ba%b6%e9%80%9a%e8%a7%a6%e6%91%b8%e5%b1%8f%e4%b8%8e%e8%a5%bf%e9%97%a8%e5%ad%90s7-200plc%e5%bb%ba%e7%ab%8bmodbus%e9%80%9a%e8%ae%af/
推荐工具:Modbus调试助手 微信小程序
Modbus中文网官方推出的Modbus调试工具,支持 Modbus RTU/TCP 实时通信调试、寄存器读写、线圈控制、数据监控和报文分析。 无需安装,微信搜索「Modbus调试助手」即可使用。 电脑端入口:https://www.modbus.cn/modbustool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 modbus.cn
把这篇资料用于真实项目?

进入工具中心进行报文解析、CRC 校验和设备调试,或提交需求获取选型与接入建议。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注