S7-1200通过 Modbus RTU通信实现V90内部位置控制的MDI功能

V90 PTI 固件版本 1.05 以上开始,伺服驱动器提供了 Modbus RTU 通信功能。PLC可以通过Modbus的FC3及 FC6功能代码读取或写入伺服驱动的寄存器,S7-1200可通过标准的Modbus功能块完成发送伺服驱动器的控制指令及读写驱动的参数。
1. 通信连接

V90 伺服驱动通过 RS485 接口(X12)使用 MODBUS 协议与 PLC RS485 端口进行通讯。


2. 通过 Modbus 通信实现 V90 内部位置控制的 MDI 功能控制

(1) V90 Modbus 寄存器说明

对于不同固件版本V90 PTI,内部控制的控制数据寄存器是不同的。

对于FW V1.07及后续版本:

寄存器编号 描述 单位 定标系数 范围
40100 IPOS控制模式控制字      
40102 MDI 位置设定值高字 LU 1 -2147482648

2147482647
40103 MDI 位置设定值低字
40104 MDI 速度设定值高字 1000
LU/min
1 1 至
2147482647
40105 MDI 速度设定值低字
40934 MDI 加速度倍率 % 100 0.1 至 100
40935 MDI 减速度倍率 % 100 0.1 至 100

对于FW V1.07以前版本:

寄存器编号 描述 单位 定标系数 范围
40100 IPOS控制模式控制字      
40102 MDI 位置设定值高字 LU 1 -2147482648

2147482647
40103 MDI 位置设定值低字
40932 MDI 速度设定值高字 1000
LU/min
1 1 至
2147482647
40933 MDI 速度设定值低字
40934 MDI 加速度倍率 % 100 0.1 至 100
40935 MDI 减速度倍率 % 100 0.1 至 100

 

IPOS控制模式寄存器 40100控制字的定义:

3. V90参数设置

按照下表设置伺服驱动器的相关参数:

4. PLC 的指令说明

博途中为S7-1200的MODBUS通信提供了MODBUS(RTU)V3.0的指令库。

MODBUS(RTU)V3.0 指令库在满足以下条件时可以使用:
S7-1200 CPU 硬件版本>=V4(订货号:6ES721x-1xx40-0XB0) ,并且:
(1) 使用 CB 1241 RS485 (订货号: 6ES7241-1CH30-1XB0)时,S7-1200 CPU 固件版本 >= V4.1.1。
(2) 使用 CM 1241 RS422/485 (订货号: 6ES7241-1CH32-0XB0)时, CM 1241 固件版本 >= V2.1。
(3) 使用 CM 1241 RS232 (订货号: 6ES7241-1AH32-0XB0)时, CM 1241 固件版本 >= V2.1。
满足以上条件时,也可使用 MODBUS V2.2 的指令库。但当以上条件不满足时,只能使用 MODBUS V2.2 的指令。
"MB_COMM_LOAD"指令用于组态端口使用 Modbus RTU 协议来通信。组态该端口后,可通过执行"MB_SLAVE"或"MB_MASTER"指令以通过 Modbus 进行通信。
"MB_COMM_LOAD"只需被调用一次,就可修改某个通信参数,每次调用会删除通信缓冲区中的内容。为避免通信期间数据丢失,应避免不必要地调用该指令。
插入"MB_MASTER"或"MB_SLAVE"指令时,将指定背景数据块。当在"MB_COMM_LOAD"指令中指定 MB_DB 参数时,将引用该背景数据块。

下表列出了指令"MB_COMM_LOAD"的主要参数:

"MB_MASTER"指令允许程序作为 Modbus 主站使用点对点模块 (CM) 或通信板 (CB) 上的端口进行通信。传送启动后,EN 参数 (LAD/FBD) 必须保持设置为值"1",直到指令将 DONE 或 ERROR 输出参数设置为"1"为止。

指令"MB_MASTER"的主要参数:

注意:在使用 V3.0 版本的 Modbus_Comm_Load 时,需手动将背景数据块的静态参 数 MODE 修改为 4(0 = 全双工 (RS232), 1 = 全双工 (RS422) 四线模式, 4 = 半双工 (RS485) 两线模式)。

5. PLC 编程

(1) 在设备视图中将实际使用的通信模块拖入到画面中

(2) 配置通信模块参数

(3) 初始化Modbus通信接口,确保与V90设置的相一致,设置校验方式为偶校验,波特率为38400

(4) 通过寄存器40100写入控制字,必须置寄存器的第10位置1以允许PLC控制驱动器。使能驱动器,先将16进制40E写入寄存器,然后再写入40F。

(5) 如需对增量编码器电机执行回零操作,在驱动使能状态时,通过写控制字40100第13位来实现。

(6) 通过MB_MASTER功能块,将位置设定值和速度设定值以及加速度减速度倍率写入寄存40102、40103、40932、40933、40934和40935中

6. MDI相对定位的40100控制寄存器操作
(1) 在IPos 控制模式中,控制字的位6=0选择相对定位模式(40F)
(2) 控制字的位5=0,设置使用上升沿来接收MDI 设定值(40F)
(3) 将寄存器写入需要的值 (如40934及40935写入十进制的10000(100%),40104/40105写入MDI速度值,40102/40103写入MDI的位置值) 后,通过PLC发送控制字的位4上升沿来接收设定值,驱动进行MDI运行(41F)。

6. MDI绝对定位的40100控制寄存器操作
(1) 在IPos 控制模式中,控制字的位6=1来选择绝对定位模式(44F)
(2) MDI设定值的生效有两种:
MDI设定值立即生效: 控制字的位5=1,设置接收的MDI设定值立即生效(46F);
上升沿来接收MDI设定值:控制字的位5=0,设置使用上升沿来接收MDI 设定值(44F)
(3) 将寄存器写入需要的值 (如40934及40935写入十进制的10000(100%),40104/40105写入MDI速度值,40102/40103写入MDI的位置值)后,如果是MDI设定值立即生效,则驱动进行MDI运行。如果是通过上升沿接收MDI设定值,则通过PLC发送控制字的位4的上升沿来接收设定值(45F),驱动进行MDI运行。

详细信息点击下载文档

常问问题

ModBus通信最多能带多少个站点?

最多32个。