QQ登录

只需一步,快速开始

S7-200与CU230P-2 HVAC之间的Modbus RTU通讯

[ 复制链接 ]
S7-200与CU230P-2 HVAC之间的Modbus RTU通讯

1 S7-200与CU230P-2 HVCA装置的连接

1.1本例程的系统配置
1) 安装Micro/Win software以及 Modbus协议库, 西门子在 Micro/WIN V4.0 SP5 中正式推出Modbus RTU 主站协议库。
2) PC/PPI电缆或CP5512、S7-200(如CPU 224XP)、电源模块、通信电缆
3) CU230P-2 HVCA 、PM240以及PC机
1.2在创建项目前,确认Modbus Master库文件已经安装

S7-200与CU230P-2 HVAC之间的Modbus RTU通讯

S7-200与CU230P-2 HVAC之间的Modbus RTU通讯
图 1


2 创建一个例程

2.1设置通讯接口
选择适合自己的通讯接口,本例程使用CP5512(PPI)。

S7-200与CU230P-2 HVAC之间的Modbus RTU通讯

S7-200与CU230P-2 HVAC之间的Modbus RTU通讯
图 2

2.2建立PC和PLC的连接

S7-200与CU230P-2 HVAC之间的Modbus RTU通讯

S7-200与CU230P-2 HVAC之间的Modbus RTU通讯

图 3

“双击刷新”找到PLC后,点击“确认”。

2.3用电缆将CU230P-2 HVCA Modbus 通讯接口与PLC连接起来(注:接线规则2对3;3对8;前面的数字是CU230P-2 HVCA的通讯端子号,后面的是PLC通讯端口的针号)。

S7-200与CU230P-2 HVAC之间的Modbus RTU通讯

S7-200与CU230P-2 HVAC之间的Modbus RTU通讯

S7-200与CU230P-2 HVAC之间的Modbus RTU通讯

S7-200与CU230P-2 HVAC之间的Modbus RTU通讯

S7-200与CU230P-2 HVAC之间的Modbus RTU通讯

S7-200与CU230P-2 HVAC之间的Modbus RTU通讯
图 4

2.4变频器参数设置

S7-200与CU230P-2 HVAC之间的Modbus RTU通讯

S7-200与CU230P-2 HVAC之间的Modbus RTU通讯

注:P2040=1000时,请在程序中确保变频器在这个时间内收到下一个控制字和主给定值。

2.5 CU230P-2 HVCA 寄存器说明

S7-200与CU230P-2 HVAC之间的Modbus RTU通讯

S7-200与CU230P-2 HVAC之间的Modbus RTU通讯

寄存器40100:控制字
寄存器40101:主设定值
寄存器40110:状态字
寄存器40111:实际运行频率

22.6初始化Modbus Master 端口

S7-200与CU230P-2 HVAC之间的Modbus RTU通讯

S7-200与CU230P-2 HVAC之间的Modbus RTU通讯

图 5

说明:
EN 使能: 必须保证每一扫描周期都被使能(使用 SM0.0)
Mode 模式: 为 1 时,使能 Modbus 协议功能;为 0 时恢复为系统 PPI 协议
Baud 波特率: 支持的通讯波特率为4800,9600,19200
Parity 校验: 校验方式选择 (CU230P-2 HVCA采用偶校验)
0=无校验
1=奇较验
2=偶较验
Timeout 超时: 主站等待从站响应的时间,以毫秒为单位,典型的设置值为 1000 毫秒(1 秒),允许设置的范围为 1 - 32767。
注意: 这个值必须设置足够大以保证从站有时间响应。
Done 完成位: 初始化完成,此位会自动置1。
Error 初始化错误代码

2.7调用 Modbus RTU 主站读写功能块MBUS_MSG,发送一个Modbus 请求;
控制字功能块:

S7-200与CU230P-2 HVAC之间的Modbus RTU通讯

S7-200与CU230P-2 HVAC之间的Modbus RTU通讯
图 6 控制字

说明:
EN 使能: 同一时刻只能有一个读写功能(即 MBUS_MSG)使能
注意:CU230P-2 HVCA对于写指令同一时刻只运行对一个保持寄存器操作;读指令同一时刻最大允许操作125 个保持寄存器。
First 读写请求位: 每一个新的读写请求必须使用脉冲触发
Slave 从站地址: 可选择的范围 1 - 247
RW 请求方式: 0 = 读, 1 = 写
Count 数据个数 通讯的数据个数(位或字的个数)
注意: Modbus主站可读/写的最大数据量为120个字(是指每一个 MBUS_MSG 指令)
DataPtr 数据指针: 1. 如果是读指令,读回的数据放到这个数据区中
2. 如果是写指令,要写出的数据放到这个数据区中
Done 完成位:读写功能完成位
Error 错误代码: 只有在 Done 位为1时,错误代码才有效

主设定值功能块:

S7-200与CU230P-2 HVAC之间的Modbus RTU通讯

S7-200与CU230P-2 HVAC之间的Modbus RTU通讯
图 7 主设定值

状态字和实际运行频率功能块:

S7-200与CU230P-2 HVAC之间的Modbus RTU通讯

S7-200与CU230P-2 HVAC之间的Modbus RTU通讯
图 8 状态字和实际频率

2.8在编译程序之前,选择 “程序块” ->“ 库” 右键: 选择“库存储区”. 在点击 “建议地址” 选择V存储区的地址后点击 “OK”退出。

S7-200与CU230P-2 HVAC之间的Modbus RTU通讯

S7-200与CU230P-2 HVAC之间的Modbus RTU通讯
图 9 库存储区

2.9通过状态表控制变频器和读取变频器状态

S7-200与CU230P-2 HVAC之间的Modbus RTU通讯

S7-200与CU230P-2 HVAC之间的Modbus RTU通讯
图 10 状态表

注:
常用的控制字:
047E :运行准备
047F :正转启动
0C7F :反转启动
04FE :故障确认

1) 读取参数P1120

S7-200与CU230P-2 HVAC之间的Modbus RTU通讯

S7-200与CU230P-2 HVAC之间的Modbus RTU通讯

图 11

S7-200与CU230P-2 HVAC之间的Modbus RTU通讯

S7-200与CU230P-2 HVAC之间的Modbus RTU通讯
图 12

读取过来的值为:VW1000=1000,在手册里可以看到40322的寄存器的比率是100,所以参数P1120=1000/100=10.




回复

使用道具 举报

快速回复 返回列表 客服中心 搜索