改造西门子S7-200 Smart之Modbus RTU主站指令库及其应用 点击:982 | 回复:10



关育谋

    
  • [版主]
  • 精华:5帖
  • 求助:22帖
  • 帖子:738帖 | 5640回
  • 年度积分:68
  • 历史总积分:84034
  • 注册:2004年5月28日
发表于:2022-04-07 13:02:50
楼主

改造西门子S7-200 Smart之Modbus RTU主站指令库及其应用


一、前言:

实际应用当中,多数从站设备给出的均是寄存器实际地址,而非寄存器编号,且西门子Modbus RTU主站指令库对于从站离散输入、离散输出和输入寄存器读写的寄存器起始地址和数量均达不到Modbus规定的最大化,使用起来有诸多不便,特此封装此库,方便自己使用!

二、系统概述:

西门子S7-200 Smart系列PLC做Modbus RTU主站、顺丰通W200变频器做Modbus RTU从站,PLC可以对变频器实现启动、停止、给定频率、读取输出参数等操作。

三、通信连接:

1、USB转RS485电缆之RS485通信口连接至西门子S7-200 Smart系列PLC本体RS485通信口;

2、西门子S7-200 Smart系列PLC本体RS485通信口连接至顺丰通W200变频器RS485通信口。

四、顺丰通W200变频器通信参数设定:

1、Pr0.00:设定为1,变频器起停由通信方式实现;

2、Pr0.01:设定为2,变频器频率给定由通信方式实现;

3、Pr1.00:设定为1,通信协议选择Modbus RTU协议;

4、Pr1.01:设定为1,变频器做Modbus RTU从站站号为1;

5、Pr1.02:设定为5,通信波特率设置为9600bps;

6、Pr1.03:设定为6,通信格式为8、E、1,即就是8位数据位、偶校验、1位停止位。

五、西门子S7-200 Smart系列PLC之Modbus通信指令库安装:

西门子S7-200 Smart相关Modbus TCP客户端、Modbus TCP服务器、Modbus RTU主站和Modbus RTU从站指令库需要先行安装,方可使用,如下所示:

01.png
六、顺丰通W200变频器Modbus通信寄存器地址表:
02.png

七、西门子S7-200 Smart系列PLC编程详解:

1、网络1:初始化复位各标志位
03.png

2、网络2:Modbus RTU主站初始化完成后置位M0.1,即可进行读写操作
04.png

3、网络3:调用MRM_INIT_0指令实现Modbus RTU主站初始化,各个参数如下所示

输入参数:

ProtocolSeting:通信协议选择,为1选择Modbus协议;为0选择PPI协议,故而一般使用SM0.0

BaudRateSeting:通信波特率设定,这里设定9600,即就是通信波特率为9600bps

CheckBitSeting:校验方式选择,这里设定为2,即就是校验方式为偶校验

TimeoutSetting:超时时间设定,单位为毫秒,这里设定为1000毫秒

输出参数:

CompletionMark:初始化完成标志位

ErroCodeOutput:错误代码
05.png

4、网络4:停止变频器程序命令段,停止变频器时,只需对M1.0进行置位即可

5、网络5:正转变频器程序命令段,置位M1.1即可使变频器正转启动

6、网络6:给定频率程序命令段,只需给VW106中写入实际频率值的100倍,即可给定频率
10.png

7、网络7:给定频率执行命令段

8、网络8:写操作命令执行段,调用MRM_TRAN_0指令,各参数如下所示:

输入参数:

CommandWSwitch:命令开关,为1时开始执行MRM_TRAN_0指令、为0时停止执行;

SlaveAddressID:从站站号,范围为1~247;

ModbusFunction:Modbus功能码,支持1、2、3、4、5、6、15、16等8个功能码;

RegisterAddres:寄存器地址,设置范围为0~65535;

RegisterNumber:寄存器数量

对于 01 和 02 功能码,设定范围为 1~2000 个位 

对于 03 和 04 功能码,设定范围为 1~125 个字 

对于 05 和 06 功能码,设定为 1 

对于 15 功能码,设定范围为 1~1968 个位 

对于 16 功能码,设定范围为 1~123个字

RegisterBuffer:读写缓冲区,参数 RegisterBuffer 是间接地址指针,指向 CPU 中与读/写请求相关的数据的 V 存储器地址。

输出参数:

CompletionMark:完成标志位,当 MRM_TRAN_0 指令执行完成后,该标志位被置位

ErroCodeOutput:错误代码
13.png

9、网络9:写操作执行完成后,复位各个标志位,又开始执行读操作
19.png

10、网络10:主站初始化完成后延时后开始执行读取参数操作
15.png

11、网络11:读取输出电压程序命令段 
16.png

12、网络12:读取到的输出电压暂存至VW100中,复位各标志位,判断有无写操作
17.png

13、网络13:读取输出电流程序命令段
18.png

14、网络14:读取到的输出电流暂存至VW102中,复位各标志位,判断有无写操作
19.png

15、网络15:读输出频率程序命令段
20.png

16、网络16:读取到的输出频率暂存至VW104中,复位各标志位,判断有无写操作
21.png

八、顺丰通W200变频器通信测试:

1、停止变频器测试:

串口调试助手发送:01 0F 50 00 00 10 02 01 00 B3 B5  

变频器返回:01 0F 50 00 00 10 45 07

2、启动变频器测试:

串口调试助手发送:01 0F 50 00 00 10 02 02 00 B3 45

变频器返回:01 0F 50 00 00 10 45 07

3、给定频率测试:

串口调试助手发送:01 06 20 00 13 88 8F 5C

变频器返回:01 06 20 00 13 88 8F 5C

4、读取参数测试:

串口调试助手发送:01 04 30 05 00 03 AF 0A

变频器返回:01 04 06 0E D9 00 E1 11 AD E1 B5

串口调试助手收发截图如下所示:
22.png

九、西门子S7-200 Smart系列PLC通信测试:

使用串口调试助手监控PLC发出之读写命令,如下所示:
23.png

十、系统联调:

经过测试,PLC可对变频器实现启动、停止、给定频率和读取参数等操作:


1分不嫌少!


楼主最近还看过



hucaishu

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 13回
  • 年度积分:61
  • 历史总积分:1919
  • 注册:2013年1月16日
发表于:2022-04-07 16:57:34
1楼

指令库及其应用

a忆

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:126
  • 注册:2022年4月05日
发表于:2022-04-09 16:36:12
2楼

yanzhg

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 22回
  • 年度积分:4
  • 历史总积分:104
  • 注册:2007年11月11日
发表于:2022-04-15 15:59:36
3楼

很细致,好好学习学习

hja18693015696

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 17回
  • 年度积分:0
  • 历史总积分:52
  • 注册:2011年11月15日
发表于:2022-05-23 13:21:32
4楼

hgxmm123

  • 精华:0帖
  • 求助:1帖
  • 帖子:12帖 | 2637回
  • 年度积分:23
  • 历史总积分:30072
  • 注册:2020年3月27日
发表于:2022-05-31 11:25:52
5楼

论文的架构

郭冬冬

  • 精华:0帖
  • 求助:0帖
  • 帖子:19帖 | 619回
  • 年度积分:91
  • 历史总积分:147000
  • 注册:2022年4月24日
发表于:2022-06-17 19:54:03
6楼

很细致,学习学习

bjzzkj

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 8回
  • 年度积分:298
  • 历史总积分:1218
  • 注册:2009年3月09日
发表于:2022-06-18 15:39:34
7楼

谢谢楼主分享

Mr_GCT

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 4回
  • 年度积分:44
  • 历史总积分:44
  • 注册:2023年2月06日
发表于:2023-02-08 13:44:55
8楼

fangsr

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 75回
  • 年度积分:270
  • 历史总积分:332
  • 注册:2018年12月21日
发表于:2023-04-04 11:51:13
9楼

谢谢楼主分享,

henryma

  • 精华:0帖
  • 求助:0帖
  • 帖子:18帖 | 105回
  • 年度积分:22
  • 历史总积分:236
  • 注册:2003年12月06日
发表于:2023-05-12 09:00:12
10楼

Profinet网关,配置GSD文件,实现PLC数据在LED屏上实时显示。采用ModBUS RTU协议传输数据。玲珑轮胎现场屏.jpg

可以连接多个LED屏,实现数据显示


热门招聘
相关主题

官方公众号

智造工程师