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(**),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(**),40104/40105写入MDI速度值,40102/40103写入MDI的位置值)后,如果是MDI设定值立即生效,则驱动进行MDI运行。如果是通过上升沿接收MDI设定值,则通过PLC发送控制字的位4的上升沿来接收设定值(45F),驱动进行MDI运行。
详细信息点击下载文档
常问问题
ModBus通信较多能带多少个站点?
较多32个。
上海腾希电气技术有限公司专注于西门子PLC,V90伺服,V20变频器等