[西门子] 干货来啦!西门子PLC如何读取/写入汇川伺服驱动参数

[复制链接]
查看222 | 回复0 | 2025-3-16 22:01:08 | 显示全部楼层 |阅读模式


汇川IS620F/810F非周期数据读写与端子点动功能应用示例

2.1   FB287   Sina-Para-S 非周期读写

此功能块实现 PLC  620F/810F 驱动器的非周期数据交互功能,主要是伺服参数读 取与写入功能,目前只支持单个参数的读写。

引脚功能介绍:

.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

 valueWriter116位数据写入区,valueWriter232位数据写入区,ValueRead116位数据读取区,ValueRead232位数据读取区。当伺服参数的数据范围在16数据范围内,则应当在valueWriter1 中赋值。当伺服参数的数据范围在16位数据范围外,则应当在valueWriter2中赋值。

 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 的数值。

 

 3 读取 H17-63 的数值

2、给 H17-63 赋值:首先在 valueWriter1 中赋值为 10,然后切换为写入模式, ReadWrite  1,再接着触发 Start,观察伺服后台参数变更为 10。

 4 写入 H17-63 的数值

2.2   WRREC  RDREC 非周期读写

下面介绍 S7-1500 PLC  IS620F 通过 WRREC/ RDREC(SFC59/SFC58)指令读写伺 服参数。

首先新建一个数据块 1,同时在其中定义两个结构体(请求与响应),如图 1 所示。

 1    数据交互缓冲区

接着在程序中调用 WRREC  RDREC 的功能块,其中 ID 为硬件标识符,Index 为固 定值 47,LEN=0。

 2    WRREC  RDREC 程序

① 以读取 H05-07 为例进行介绍:

首先,H05-07=8388608,如图 3 所示。

 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 所示。

 4  读取 H05-07=8388608

 以读取 H0B-00 为例进行介绍:

首先,H0B-00= -200,如图 5 所示。

 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 所示。

 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 所示。

 7 写 H05-36= -99887

 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 所示。

 9 写 H06-04= 22334

 10 写完后 H06-04 的数据

2.3   本地 DI 端子速度点动功能

IS620F 支持 DI 速度点动功能,通过设置 DI端子功能为 40(点动速度模式),拨动 DI1 端子切 到点动速度模式,点动速度与斜坡在参数 H0604  H0605 中设置。

【注】: 当使用 PLC 通过Profinet总线控制时,需要将 DI1 置为 OFF,关闭点动速度模式。

 1  点动速度模式配置

 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进行使能控制,则需要将DI1DI2置为FALSE,若上位机给使能同时本地DI使能有效,则伺服报警ER121(伺服使能ON无效故障)。若本地点动运行模式下将JOG1 JOG2端子同时触发,则伺服报警ERB05(位置JOG参数设置无效)。

 3    本地 DI 端子点动增量参数

 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则