西门子PLC S7-200 通过串口服务器连接 Modbus物联网平台

西门子PLC S7-200 通过串口服务器连接 Modbus物联网平台缩略图
本文目录
  1. 1. 一.选择产品:
  2. 2. 二.设置PLC通讯信息
  3. 3. 四:配置串口服务器
  4. 4. ZLAN5143串口服务器的配置
  5. 5. MODBUS 物联网平台 上的准备工作

本案例中 PLC 和 串口服务器 通讯利用的是的“透传模式”,PLC 和平台之间利用的是 MODBUS-RTU 协议进行通讯。

S7-200 通过以下两种方式支持 MODBUS-RTU 通信协议:

  (1): S7-200 CPU 上的通信口 0(port0)通过指令库支持 Modbus RTU 从站模式。

  (2): S7-200 CPU 上的通信口 0 和 1(port0 和 port1)通过指令库支持 Modbus RTU 主站 模式。

(注:指令库可在西门子提供的相关网站进行下载) .

  本案例中用到的是第一种方式,S7-200 用作从站和 Modbus物联网平台通信。

一.选择产品:

  1.PLC:S7-200CN

  2.卓岚串口服务器ZLAN5143

二.设置PLC通讯信息

S7-200 通讯的举例程序如下图所示:(本页有例程下载)。

西门子PLC S7-200 通过串口服务器连接 Modbus物联网平台插图

  Mode:启动/停止 Modbus,1=on;0=off

  Addr: Modbus 从站地址,取值 1-247

  Baud:波特率,可选 1200,2400,4800,9600,19200,38400,57600,115200

  Parity:奇偶校验位,0=无校验;1=奇校验;2=偶校验

  Delay: 延时,附加字符间延时,缺省值为 0

  MaxIQ:最大 IO 点数,一般可设置为 128.

  MaxAI:最大 AI 通道数,视 PLC 的具体情况而定,一般可设置为 16 或 32.

  Maxhold:最大保持寄存器区.

  Holdstart:保持寄存器起始区,以&VBx 指定.

  Done(网络 1 中):初始化完成标志,成功初始化后置 1.

  Error(网络 1 中):初始化错误代码,0 为无错误.

  Done(网络 2 中):通信时置 1,无 Modbus 通信时为 0.

  Error(网络 2 中):通信错误代码,0 为无错误.

Holdstart 和 MaxHold 规定的是保持寄存器的区域,保持寄存器区域的范围一定不能和 程序存储区的范围冲突,否则无法通信。

上图中指定的保持寄存器起始区的值为 1000,也 可以不指定 1000.只要设置好程序存储的区域就能成功通信,程序存储区的设定如下图所示:

西门子PLC S7-200 通过串口服务器连接 Modbus物联网平台插图1

 在程序块中,程序储存区分配的为 1050 至 1829.因为 Holdstart 和 Maxhold 规定的区域 是 1000 至 1040(Maxhold 规定的是 VW 的个数,所以变成 VB需要乘以 2)所以程序储存 区分配为 VB1050 至 VB1829.

三.编写控制程序

  写好通信程序,分配好存储区之后便可以作为从站和主站进行通信了。为了更好的展示 效果,这里编写了一些额外的控制程序,控制程序如下图所示:

西门子PLC S7-200 通过串口服务器连接 Modbus物联网平台插图2
西门子PLC S7-200 通过串口服务器连接 Modbus物联网平台插图3

四:配置串口服务器

ZLAN5143串口服务器的配置

打开 卓岚 虚拟串口&设备管理器 配置软件,连上网口或串口,只需要填写以下几个部分:

第一步:

  • 工作模式:TCP 客户端
  • 目的IP或域名:cloud.modbus.cn
  • 47.104.68.157 (备用)
  • www.wulianwang.net.cn (备用)
  • 目的端口:50001
  • 修改配置(保存)
    如下图:
西门子PLC S7-200 通过串口服务器连接 Modbus物联网平台插图4

第二步:

点击“固件与配置”

西门子PLC S7-200 通过串口服务器连接 Modbus物联网平台插图5

C盘新建一个”web”空文件夹,选择这个文件夹,然后点击“注册包”

西门子PLC S7-200 通过串口服务器连接 Modbus物联网平台插图6

注册包和心跳包”ASCII”格式都先打钩,然后填入云平台生成的设备号,心跳包间隔输入“60”秒,点击确定进行保存。

西门子PLC S7-200 通过串口服务器连接 Modbus物联网平台插图7

跳转页面后,点击“下载”即可。

西门子PLC S7-200 通过串口服务器连接 Modbus物联网平台插图8

五.配置 Modbus物联网平台读写命令

MODBUS 物联网平台 上的准备工作

在实践中,我们通常将 串口服务器 作为透传网关,用于在 Modbus 子设备和云平台之间起到消息转发作用。这里我们使用 串口服务器 的 TCP客户端 模式,准备工作只需要以下几步:

  • 创建项目(项目管理→新增项目)。
  • 创建设备(设备管理→设备信息→新增设备)
  • 填写设备名称,随机生成或者手动填写设备号,在设备协议中选择ModBus RTU,定位设备所在经纬度,保存即可。(设备号复制保存备用)
西门子PLC S7-200 通过串口服务器连接 Modbus物联网平台插图9

具体的步骤请浏览:Modbus入门 ,通常几分钟就可以完成。

  在Modbus物联网平台 点击设备管理,选择一个项目,在设备列表中选择“添加从机”,新增从设备节点:

  PLC 各个区域对应的 Modbus 地址如下:

   ·00001-09999:数字量输出(线圈,可读可写

   ·10001-19999:数字量输入(触点,只可读)

   ·30001-39999:输入数据寄存器(通常为模拟量输入,只可读)

   ·40001-49999:数据保持寄存器(可读写)

上述程序中写入寄存器的值对应的地址为 40001 和 40002,对应平台中的 03 功能码(可读写)寄存器对应为 1 和 2

数据格式依据实际情况可填写为 16 位无符号或有符号数。

西门子PLC S7-200 通过串口服务器连接 Modbus物联网平台插图10
技术术语(共 9 个)—— 点击展开
Modbus RTU基于串行链路的Modbus协议,使用二进制编码和CRC校验
功能码Modbus功能码指定读/写操作类型,如01读线圈、03读保持寄存器
寄存器Modbus 寄存器存储数据单元,分线圈/离散输入/保持/输入寄存器四类
PLC可编程逻辑控制器,工业自动化控制的核心设备
波特率串行通信每秒传输符号数,Modbus RTU常用9600/19200
网关协议转换设备,如 Modbus RTU ↔ Modbus TCP
串口计算机与外部设备进行串行通信的物理接口
线圈Modbus位可读写数据,地址从00001开始
保持寄存器Modbus 16位可读写数据,地址从40001开始
来源/工具信息 —— 点击展开
来源 Modbus中文网(modbus.cn) —— 国内领先的Modbus通信协议技术社区 分类 Modbus技术文档 字数 1878 字 · 阅读约 5 分钟 更新 2023-11-28 永久链接 https://www.modbus.cn/%e8%a5%bf%e9%97%a8%e5%ad%90plc-s7-200-%e9%80%9a%e8%bf%87%e4%b8%b2%e5%8f%a3%e6%9c%8d%e5%8a%a1%e5%99%a8%e8%bf%9e%e6%8e%a5-modbus%e7%89%a9%e8%81%94%e7%bd%91%e5%b9%b3%e5%8f%b0/
推荐工具:Modbus调试助手 微信小程序
Modbus中文网官方推出的Modbus调试工具,支持 Modbus RTU/TCP 实时通信调试、寄存器读写、线圈控制、数据监控和报文分析。 无需安装,微信搜索「Modbus调试助手」即可使用。 电脑端入口:https://www.modbus.cn/modbustool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 modbus.cn
把这篇资料用于真实项目?

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

《 “西门子PLC S7-200 通过串口服务器连接 Modbus物联网平台” 》 有 9 条评论

发表回复

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