热门搜索:
西门子PM207电源模块
S7-200与V20的MODBUS RTU通讯
1、本例程的系统配置:
(1)安装Step7 Micro/Win software和Modbus协议库,西门子在Micro/WIN V4.0 SP5
2、在使用MicroWin software 创建项目之前,确认Modbus Master 库文件已经安装:
3、创建一个例程:
3.1 设置通讯接口
本例程使用PC/PPI电缆。
3.2 建立PC和PLC之间的连接
“双击刷新”搜索到PLC后,点击”确认”。
3.3 用电缆将S7-200 Port 1端口与V20的RS485接口相连(注意端口连接规则:V20的
3.4 变频器参数设置:
V20 可以通过选择连接宏Cn011实现Modbus RTU控制,也可以通过直接更改变频器参数的方法来实现。参数设置如下表所示:
更多的V20寄存器信息,请访问下面链接:
67267484
3.6 库存储区分配:在编译程序之前,选择 “程序块” ->“ 库” 右键,选择“库存储区”。在点击 “建议地址” 选择V存储区的地址后点击 “OK”退出。
3.6 初始化Modbus Master端口:
EN 使能: 必须保证每一扫描周期都被使能(使用 SM0.0) 。
0=无校验
Timeout **时: 主站等待从站响应的时间,以毫秒为单位,典型的设置值为 1000 毫秒(1 秒),允许设置的范围为 1 - 32767。
3.7 调用 Modbus RTU 主站读写功能块MBUS_MSG,发送一个Modbus 请求:
3.7.1 写入控制字1和速度实际值:
EN 使能: 同一时刻只能有一个读写功能(即 MBUS_MSG)使能 。
Done 完成位:读写功能完成位 。
047E :运行准备
3.7.2 读取状态字1和速度实际值:
3.7.3 读取斜坡上升时间P1120:
3.7.4 写入斜坡下降时间P1121:
3.8 通过状态表控制和读取变频器的状态:
对于斜坡上升时间P1120,从寄存器列表中可以看到40322的寄存器的定标系数是100,读取过来的值为:VW1310=1000,所以参数P1120=1000/100=10。
通过以太网可以实现S7-1200与S7-200连接通信。S7-200可以使用 模块(CP243-1或CP 243-1 IT)连接到以太网上,该模块提供S7 通信的功能,既可作为客户机,也可以作为服务器,可以同时与较多8个S7 通信伙伴进行通信;S7-1200 集成以太接口,提供S7 通信的功能,只能作为服务器,可以同时建立3 个通信连接。
2.硬件需求
?? S7-1214C AC/DC/RLY
?? S7-1200编程软件 STEP 7 Basic V10.5
4.组态
4. 1 S7-1200 配置
?? 添加S7-1200 设备 CPU1214C;
4. 2 S7-1200 PLC 编程
?? 打开全局DB2,输入2个数组类型数据,每个数组有16 个元素;
?? 创建两个Watch table(Watch table_1, Watch table_2) 用来观察DB2的实时状态;
4. 3 S7-200 配置
?? 设置模块位置,可以使用“读取模块”来自动识别;
?? 设置模块CP243-1 IT 的IP地址192.168.0.8和子网掩码255.255.255.0;
?? 设置模块的连接数1 ,较多只能设置8个,也就是说S7-200可同时与较多 8 个 S7 通讯伙伴进行通讯;
?? 建立客户端连接 Connection_1,设置服务器传输层服务接入点 TSAP 03.01和服务器IP地址 192.168.0.18 , TSAP 由 2 个字节组成。**个字节为连接资源。*二个字节为通讯模板的机架号和插槽号;
?? 创建读取数据传输 PeerMessage_1, 读取服务器 16字节 DB2.DBB0~ DB2.DBB15 到VB0~VB15;
?? 创建读取数据传输 PeerMessage_2, 将 16字节VB16~VB31写入服务器DB2.DBB16~ DB2.DBB31 ;
?? 为配置分配存储区;
4. 4 S7-200 PLC 编程
中正式推出Modbus RTU主站协议库。
(2)PC/PPI电缆、S7-200、电源模块、通信电缆。
(3)V20驱动装置和一台PC机。
P+对3、N-对8),如下图所示:
参数
描述
Cn011默认值
实际设置
备注
P0700[0]
选择命令源
5
5
RS485为命令源
P1000[0]
选择频率
5
5
RS485为速度设定值
P2023[0]
RS485协议选择
2
2
MODBUS RTU协议
P2010[0]
USS/MODBUS波特率
6
6
波特率为9600bps
P2021[0]
MODBUS地址
1
3
V20的MODBUS 地址
P2022[0]
MODBUS应答**时
1000
2000
向主站发回应答的较大时间
P2014[0]
USS/MODBUS报文间断时间
100
0
接收数据时间
3.5 V20常用寄存器说明
寄存器编号
描述
访问类型
定标系数
读取
写入
控制数据
40100
控制字
R/W
1
PZD1
PZD1
40101
主设定值
R/W
1
PZD2
PZD2
状态数据
40110
状态字
R
1
PZD1
40111
速度实际值
R
1
PZD2
P1120
40322
斜坡上升时间
R/W
100
P1120
P1120
P1121
40323
斜坡下降时间
R/W
100
P1121
P1121
Mode 模式: 为 1 时,使能 Modbus 协议功能;为 0 时恢复为系统 PPI 协议 。
Baud 波特率: 支持的通讯波特率为4800,9600,19200 。
Parity 校验: 校验方式选择 (V20采用偶校验)
1=奇较验
2=偶较验
注意: 这个值必须设置足够大以保证从站有时间响应。
Done 完成位: 初始化完成,此位会自动置1。
Error:初始化错误代码。
注意:V20对于写指令同一时刻只运行对一个保持寄存器操作;读指令同一时刻较大允许操作125 个保持寄存器。
First 读写请求位: 每一个新的读写请求必须使用脉冲触发。
Slave 从站地址: 可选择的范围 1 - 247 。
RW 请求方式: 0 = 读, 1 = 写 。
Count 数据个数 通讯的数据个数(位或字的个数) 。
注意: Modbus主站可读/写的较大数据量为120个字(是指每一个 MBUS_MSG 指令)。西门子PM207电源模块
DataPtr 数据指针: 1. 如果是读指令,读回的数据放到这个数据区中 ;
2. 如果是写指令,要写出的数据放到这个数据区中 。
Error 错误代码: 只有在 Done 位为1时,错误代码才有效。
常用的控制字:
047F :正转启动
0C7F :反转启动
04FE :故障确认
下面会用一个实例来描述S7-200 如何与S7-1200建立通信连接。
图1: 实例网络拓扑图
?? CPU 224 XP CN DC/DC/DC
?? CP243-1 IT
?? SCALANCE X204-2
?? PG/PC(使用编程电缆)
3.软件需求
?? S7-200 编程软件 STEP 7 –MicroWIN V4.0 SP6
?? 使用STEP 7 Basic 创建项目“comS7200”;
图2: 创建项目
图3: 添加PLC设备
?? 在Program blocks 下,添加程序块(DB1,DB2,DB3),其中DB1和DB3为符号DB(选择 Symbolic access only),DB3为**地址DB(不选择 Symbolic access only) , S7 通信只支持**地址DB 寻址通信;
图4: 创建**地址DB2
图5: 在DB2中添加数据
?? 将程序下载到PLC CPU1214C 中。
使用STEP 7-MicroWIN 中以太网向导将CP243-1 IT 配置为 S7 客户端。
?? 通过菜单打开以太网向导工具;
图6: 以太网向导
图7: 模块位置设置
图8: 设置IP 地址
图9: 设置模块连接数;
图10: 配置连接
图11: 配置数据传输0
图12: 配置数据传输1
图13: 分配存储区
?? 在STEP 7-MicroWIN 中主程序中,调用子程序ETH0_CTRL;
图14: 调用ETH0_CTRL
西门子PM207电源模块