汇川IS620F/810F非周期数据读写与端子点动功能应用示例
S620F/810F 系列伺服是汇川技术研制的支持 Profinet 通讯协议的高性能交流伺服驱动器。 支持 1、 2、 3、 111、 102、 105 号报文及附加报文 750,可以与 S7-200 SMART 、s7-300/400、 S7-1200、 S7-1500/1500T 等多款 PN 总线上位机配合实现各种运动控制功能,广泛应用于印刷包装、物流等行业。
IS620F 为通用单传伺服,功率范围为 50W~7.5KW,匹配 MS1 系列 23bit 绝对值编码器电机,实现高精度的运动控制。
IS810F 为通用多传伺服, 采用多轴共直流母线设计,节省制动电阻的同时,实现
能量在轴间的循环,高效节能。同时采用等高等深的书本型模块设计, 在有限的空间内并排紧凑安装,柜体利用率更高,占地面积更小, 功率范围 7.5KW~18.5KW,可匹配 MS1系列以及 ISMG 系列伺服电机。
![[西门子PLC]S7-1500读写汇川伺服IS620F/810F驱动参数](https://pic.songma.com/blogimg/20250425/609c2b24b84c4ba68f403806ccc07a39.jpg)
2.1 FB287 Sina-Para-S 非周期读写
这个功能块能让 PLC 和 620F/810F 驱动器进行非周期的数据交互,重点在于伺服参数的读取和写入。不过呢,目前只能够支持单个参数的读和写。
引脚功能介绍:
![[西门子PLC]S7-1500读写汇川伺服IS620F/810F驱动参数](https://pic.songma.com/blogimg/20250425/c3506bf85e6c489f857d5c15c591c31b.jpg)
1.2 FB287 非周期读写的注意事项
① 要是 IS620F 的话,SINA_PARA_S 里的 AxisNO 默认从 1 开始。不管后面连着多少个 620F ,AxisNO 全都设成 1 ,轴的区分靠 hardWare 端口来弄。
② 功能块输入参数 Parameter_No 是这么设置的:上位机 Parameter_NO(用 10 进制表明)设定的地址在 10000 – 20000 之间,功能码算出十进制数后再加 10000 。这里面,bit2—bit3 表明:功能码组号(16 进制)换成 10 进制。bit0 – bit1 表明功能码组内的偏置(10 进制)。列如说:10000 就表明 H00 – 00 。11002 就表明 H0A02 。15010 就表明 H3210 。11900 就表明 H1300 。
③ valueWriter1 是 16 位数据的写入区,valueWriter2 是 32 位数据的写入区,ValueRead1 是 16 位数据的读取区,ValueRead2 是 32 位数据的读取区。要是伺服参数的数据范围在 16 位数据的范围里,那就得在 valueWriter1 里赋值。要是伺服参数的数据范围在 16 位数据范围之外,那就得在 valueWriter2 里赋值。
![[西门子PLC]S7-1500读写汇川伺服IS620F/810F驱动参数](https://pic.songma.com/blogimg/20250425/3c051270876948c98beab47a0cae4e2e.jpg)
图 1 FB287 功能块介绍
2.1.3 FB287 非周期读写案例
拿 H17 – 63 (VDO16 端子功能选择)(数据范围是 16 位)来介绍 :由于十六进制的 (17) 等于十进制的 (23) ,所以功能块输入参数 Parameter_No 就等于 12363 。这表明的是伺服参数 H17 – 63 。
1、读取 H17 – 63 的数值:就像下面的图显示的那样,当 Start 引脚的 I0.0 被触发之后,MD48 会自动显示为 2 ,这样就能读取 H17 – 63 的数值。
![[西门子PLC]S7-1500读写汇川伺服IS620F/810F驱动参数](https://pic.songma.com/blogimg/20250425/f43854fd3c32456983f2e05e96b86dbf.jpg)
图 3 读取 H17-63 的数值
2、给 H17 – 63 赋值:先在 valueWriter1 里赋值为 10 ,接着切换成写入模式,让 ReadWrite 变成 1 ,然后再触发 Start ,这时候观察伺服后台,参数就会变更为 10 。
![[西门子PLC]S7-1500读写汇川伺服IS620F/810F驱动参数](https://pic.songma.com/blogimg/20250425/4d483fbf486844d8a62a8cb7d932eea9.jpg)
图 4 写入 H17-63 的数值
2.2 WRREC 与 RDREC 非周期读写
下面来介绍 S7 – 1500 PLC 和 IS620F 借助 WRREC/ RDREC(SFC59/SFC58)指令读写伺服参数的情况。第一新建一个数据块 1 ,同时在里面定义两个结构体(一个是请求,一个是响应),就像图 1 显示的那样。
![[西门子PLC]S7-1500读写汇川伺服IS620F/810F驱动参数](https://pic.songma.com/blogimg/20250425/257a8e4be58a4a499844359f8d13a629.jpg)
图 1 数据交互缓冲区
接着在程序里调用 WRREC 与 RDREC 的功能块,这里面 ID 是硬件标识符,Index 是固定值 47 ,LEN 等于 0 。
![[西门子PLC]S7-1500读写汇川伺服IS620F/810F驱动参数](https://pic.songma.com/blogimg/20250425/655b5c5bbb534849bbbbf05588cb7456.jpg)
图 2 WRREC 与 RDREC 程序
① 以读取 H05-07 为例进行介绍:
第一,H05-07=8388608,如图 3 所示。
![[西门子PLC]S7-1500读写汇川伺服IS620F/810F驱动参数](https://pic.songma.com/blogimg/20250425/a15722bb9d27416ab66f168958ba31c6.jpg)
图 3 H05-07 当前值
接着在 DB3 里给相应的数据进行赋值,Request Reference 等于 16#1 ,Request ID 等于 16#1 (这是读功能码参数),Axis ID 等于 16#1 ,Parameters number 等于 16#1 (参数个数),Attribute 等于 16#10 (参数属性) ,Parameter 等于 10507 (功能码参数是 H05 – 07 ,而且数据类型定义成了 int ),在响应区把 Value 的数据类型定义为 Dint (数据长度为 32 位的定义成 Dint )。
在程序里触发 Req ,就能完成参数的读取,读取的数据会在响应的 Value 里显示出来,就像图 4 显示的那样。
![[西门子PLC]S7-1500读写汇川伺服IS620F/810F驱动参数](https://pic.songma.com/blogimg/20250425/b3cebb58a54940d8969d78c6a1fbf189.jpg)
![[西门子PLC]S7-1500读写汇川伺服IS620F/810F驱动参数](https://pic.songma.com/blogimg/20250425/7a03b306bc614ec7a4270b8bceeeba91.jpg)
图 4 读取 H05-07=8388608
② 以读取 H0B-00 为例进行介绍:
第一,H0B-00= -200,如图 5 所示。
![[西门子PLC]S7-1500读写汇川伺服IS620F/810F驱动参数](https://pic.songma.com/blogimg/20250425/6a16e43c0b434c7fad53c9be257eaa60.jpg)
图 5 H0B-00 当前值
接着在 DB3 里给相应的数据进行赋值,Request Reference 是 16#1,Request ID 是 16#1 (这表明读功能码参数),Axis ID 是 16#1,Parameters number 是 16#1 (这是参数个数),Attribute 是 16#10 (这是参数属性) ,Parameter 是 11100 (功能码参数是 HOB – 00 ,并且数据类型定义成了 int),在响应区把 Value 的数据类型定义为 int (数据长度为 16 位的就定义为 int)。在程序里触发 Req ,就能完成参数的读取,读取的数据会在响应的 Value 里显示出来,就像图 6 显示的那样。
![[西门子PLC]S7-1500读写汇川伺服IS620F/810F驱动参数](https://pic.songma.com/blogimg/20250425/57e95881cef0425b952b29e5804a1ca9.jpg)
![[西门子PLC]S7-1500读写汇川伺服IS620F/810F驱动参数](https://pic.songma.com/blogimg/20250425/d95766cb6dee4a3a9efdef6dd1a9187a.jpg)
图 6 读取 H0B-00= -200
③ 以写 H05-36=-998877 为例进行介绍:
在 DB3 里给相应的数据进行赋值,Request Reference 等于 16#1,Request ID 等于 16#2 (这是写功能码参数),AxisID 是 16#1,Parametersnumber 是 16#1 (这是参数个数),Attribute 是 16#10 (这是参数属性),Parameter 是 10536 (功能码参数是 HO5 – 36 ,而且数据类型定义成了 int),WriteFormat 是 16#43 (双字),Write Value 的数据类型定义为 Dint (数据长度为 32 位的就定义为 Dint),并且要给它赋值写入的数据 – 998877 。在程序里触发 Req ,就能完成参数的写入,就像图 7、8 显示的那样。
![[西门子PLC]S7-1500读写汇川伺服IS620F/810F驱动参数](https://pic.songma.com/blogimg/20250425/3aaa7027dfe340e9858f3f0c10e3e6ce.jpg)
![[西门子PLC]S7-1500读写汇川伺服IS620F/810F驱动参数](https://pic.songma.com/blogimg/20250425/e60f3937575743dc9ee45beb5b5b6840.jpg)
图 7 写 H05-36= -99887
![[西门子PLC]S7-1500读写汇川伺服IS620F/810F驱动参数](https://pic.songma.com/blogimg/20250425/34eecc233d5a4f20a55e1369b8c7b033.jpg)
图 8 写完后 H05-36 的数据
④ 以写 H06-04=22334 为例进行介绍:
在 DB3 里给相应的数据进行赋值,Request Reference 等于 16#1 ,Request ID 等于 16#2 (这表明写功能码参数),AxisID 是 16#1 ,Parametersnumber 是 16#1 (这是参数个数),Attribute 是 16#10 (这是参数属性),Parameter 是 10604 (功能码参数是 HO6 – 04 ,并且数据类型定义成了 int ),WriteFormat 是 16#42 (字),WriteValue 的数据类型定义为 int (数据长度为 16 位的就定义为 int ),而且要给它赋值写入的数据 2334 。在程序里触发 Req ,就能完成参数的写入,就像图 9 、10 显示的那样。
![[西门子PLC]S7-1500读写汇川伺服IS620F/810F驱动参数](https://pic.songma.com/blogimg/20250425/6de0eafdae764f61983b97b8dacfbc7b.jpg)
![[西门子PLC]S7-1500读写汇川伺服IS620F/810F驱动参数](https://pic.songma.com/blogimg/20250425/680b872675c94a4dbca6dff18281b235.jpg)
图 9 写 H06-04= 22334
![[西门子PLC]S7-1500读写汇川伺服IS620F/810F驱动参数](https://pic.songma.com/blogimg/20250425/afc969ca08d34798822c518ad8360a57.jpg)
图 10 写完后 H06-04 的数据
2.3 本地 DI 端子速度点动功能
IS620F 支持 DI 速度点动功能。把 DI 端子功能设置成 40(也就是点动速度模式),拨动 DI1 端子切换到点动速度模式,点动速度和斜坡在参数 H0604 与 H0605 里进行设置。
【注】:要是使用 PLC 通过 Profinet 总线来控制,就得把 DI1 置为 OFF ,关闭点动速度模式。
![[西门子PLC]S7-1500读写汇川伺服IS620F/810F驱动参数](https://pic.songma.com/blogimg/20250425/dbe82936f51e48dbadcf2218f5ff7f0e.jpg)
图 1 点动速度模式配置
![[西门子PLC]S7-1500读写汇川伺服IS620F/810F驱动参数](https://pic.songma.com/blogimg/20250425/40726424d24d45e796ea17d571b6366a.jpg)
图 2 点动速度模式测试波形
2.4 本地 DI 端子位置增量点动功能
IS620F/IS810F 不光支持 DI 速度点动功能,还支持 DI 端子位置增量点动功能。第一得把 DI 端子功能分别设置成 42(远程/本地定位切换)、43(本地定位使能)、44(本地位置 JOG1 使能)和 45(本地位置 JOG2 使能),接下来点动的加减速时间、位置增量以及点动速度在伺服参数 H0562 到 H0569 里设置。其中 H0564(位置 JOG1 指令)和 H0566(位置 JOG2 指令)的单位都是 LU ,H0568(位置 JOG1 速度)和 H0569(位置 JOG2 速度)的单位都是 rpm 。还有 H0563(位置 JOG 加减速时间)线性对应 1000rpm 。把 DI1 与 DI2 端子设置为 TRUE 之后,触发 DI3 端子就会反向点动一段距离,触发 DI4 端子就会正向点动一段距离。要注意哦,点动 JOG 信号是电平有效的。【注】:要是想切换成 PLC 进行使能控制,就得把 DI1 与 DI2 置为 FALSE 。要是上位机给使能的同时本地 DI 使能也有效,那伺服就会报警 ER121(伺服使能 ON 无效故障)。要是在本地点动运行模式下把 JOG1 与 JOG2 端子同时触发,那伺服就会报警 ERB05(位置 JOG 参数设置无效)。
![[西门子PLC]S7-1500读写汇川伺服IS620F/810F驱动参数](https://pic.songma.com/blogimg/20250425/7f379c5507d64dbeb41e349e7a5cc372.jpg)
图 3 本地 DI 端子点动增量参数
干货来啦!西门子PLC如何读取/写入汇川伺服驱动参数
http://bbs.plcjs.com/forum.php?mod=viewthread&tid=506222&fromuid=42656
(出处: PLC论坛-全力打造可编程控制器专业技术论坛)
#西门子PLC#
#非标自动化#
















- 最新
- 最热
只看作者