博途中PLC通过Sina Para块对V90参数进行读写操作
博途V16中1200/1500PLC可以通过Sina Para功能块对驱动参数进行读写操作,此功能块可以读取或写入参数多达16个。比以前的SINA_PARA FB286增加了Parameter参数管角,使用起来更加方便。
编程步骤和参数解释
(1)创建博途项目,打开OB1,在指令中选择“选件包”,再选SINAMICS中的“SinaPara”,将其拖到网络中,并填写相关参数。
(2)“SinaPara”功能块输入/输出参数的说明:
1、Start: 上升沿启动任务。
2、ReadWrite:=0 读取操作,=1写入操作。
3、ParaNo:需要读/写参数的数量,范围1~16。
4、AxisNo:驱动编号,V90PN需设置为2。
5、hardwareID: 硬件标识符。
6、Parameter:访问参数的数据区域
7、Ready:程序块没有执行读或写操作,处于准备就绪状态。
2、ReadWrite:=0 读取操作,=1写入操作。
3、ParaNo:需要读/写参数的数量,范围1~16。
4、AxisNo:驱动编号,V90PN需设置为2。
5、hardwareID: 硬件标识符。
6、Parameter:访问参数的数据区域
7、Ready:程序块没有执行读或写操作,处于准备就绪状态。
8、BUSY:正在处理任务时为1,如果完成或者故障后变成 0。
9、DONE:任务执行完成时为1。
10、Error:出错标志位。
11、Errorid:返回值, 第一个字:以二进制编码的形式标注出现了哪个参数访问故障 ;第二个字:故障类型
12、DiagId:返回值。扩展通讯错误:SFB调用错误
9、DONE:任务执行完成时为1。
10、Error:出错标志位。
11、Errorid:返回值, 第一个字:以二进制编码的形式标注出现了哪个参数访问故障 ;第二个字:故障类型
12、DiagId:返回值。扩展通讯错误:SFB调用错误
(3)hardwareId 参数查询方法
在驱动器的组态中,选择需要读取的驱动对象的报文,在属性中到Hardware。
(4)Parameter参数的定义方法
先将选件包中的sinapara指令添加到程序 ,再添加一个新的全局DB块,命名为sinapara_param(可以随意命名) ,打开新建的背景数据编辑器,
添加一个userParameter的元素,数据类型第一步先选择“Array[0..1]of”
然后再选择Array[0..1]of”SinaParameter”
最后再把数组元素的索引值改成1~16,这里要特别注意,参数索引是从1开始的,不是从0开始。
如果数组索引是0~16,会报错提示形参和实参不符
最后形成的DB数据表如下图所示
“Parameter”的数据结构:
∙Parameter[x].siParaNo:参数号
∙一块操Parameter[x].siIndex:参数索引号,如果读写的参数是数组,此处定义数组的下标。
∙Parameter[x].srValue:参数值(数据类型为除DWORD或DINT外的其他数据类型)
∙Parameter[x].sdValue:参数值(数据类型为DWORD或DINT型)
需要注意,在读取/写入参数前,需查看V90手册,清楚需要读/写参数的数据类型。
(5)举例:
读驱动器参数
读取V90参数r0945[8]的值,监控窗口如下图所示,读取的结果为52904。
读驱动器参数
读取V90参数r0945[8]的值,监控窗口如下图所示,读取的结果为52904。
写入驱动参数
对V90进行参数写操作,写入P2585 = 200,在监控窗口中赋值如下图所示。
对V90进行参数写操作,写入P2585 = 200,在监控窗口中赋值如下图所示。
发布评论