|
——以读取参数r2902[5]和修改参数P1121为例 项目文件下载链接: 公众号回复关键词获取更多资源。 关键词:20260130 试验条件(参考): 硬件 | 软件 | PLC | 变频器-控制单元CU | 变频器-功率单元PM | TIA博途 | 型号:CPU1215C DC/DC/DC 版本:4.4.1 订货号: 6ES7 215-1AG40-0XB0 | 型号:CU250S-2 PN Vector 版本:4.7.10 订货号:6SL3246-0BA22-1FA0 | 型号:PM240-2 订货号:6SL3210-1PE12-3ULx | V17 |
一、硬件组态和变频器配置 注意!需要将报文改为353报文或354报文。 353报文和354报文的PKW通道功能完全相同,区别在于过程值通道PZD数量的不同。 二、编写程序 添加指令: 双击打开Main[OB1]打开程序编辑界面---》单击右侧“指令”---》“扩展指令”---》“分布式I/O”---》“其他”---》找到“DPRD_DAT”和“DPWR_DAT”指令,拖拽到程序编辑区 为系统功能“DPRD_DAT”、“DPWR_DAT”分配硬件标识: 单击块参数“LADDR”,在下拉列表中选择“西门子报文353” 定义数据缓冲区: 新建DB块并重新命名---》根据下图完成读写缓冲区的定义 在数据块属性中,勾选掉“优化的块访问” RECORD引脚关联读写缓冲区(指针格式) DPWR_DAT 写入缓冲区从DB1数据块中的DW0开始6个字; DPRD_DAT 读取缓冲区从DB1数据块中的DW20开始6个字; 注意!因报文长度为6个字,所以此处至少6个字的长度,否则报错。<o:page></o:page> 定义错误代码变量并关联RET_VAL引脚 三、调试 (一)读取参数r2902[5] 以读取参数r2902[5]数值为例,根据PKW参数通道数据结构计算得知:<o:page></o:page> 因执行的是读请求操作,AK=1 PNU=2902-2000=902(十进制)=386(十六进制) 子索引(参数下标)=5 r2902参数范围在2000-3999之间,根据偏移和分区索引对照表得出分区索引值=0x80 表:读取参数r2902[5]值的数据请求格式(PLC---》变频器) PKE(第1个字) | IND(第2个字) | PWE(第3、4个字) | 15...12 | 11 | 10...0 | 15...8 | 7...0 | 15...0 | 15...0 | AK | SPM | PNU | 子索引 | 分区索引 | PWE1 | PWE2 | 0x1 | 0x386 | 0x05 | 0x80 | 0x0000 | 0x0000 |
|
|
|
|
|
|
|
在监控表中,将计算出的数据请求值写入到数据缓冲区。并观察数据缓冲区的数据应答格式。<o:page></o:page> 表:读取参数r2902[5]值的数据应答格式(变频器---》PLC) PKE(第1个字) | IND(第2个字) | PWE(第3、4个字) | 15...12 | 11 | 10...0 | 15...8 | 7...0 | 15...0 | 15...0 | AK | SPM | PNU | 子索引 | 分区索引 | PWE1 | PWE2 | 0x2 | 0x386 | 0x05 | 0x80 | 100.0(浮点数) |
|
|
|
|
|
|
|
(二)修改参数P1121=5.0 因执行的是修改请求操作,AK=3 PNU = 1121(十进制)= 461 (十六进制)。 子索引=0x00 P1121 参数范围在0-1999之间,分区索引值为0x00。 修改参数值P1121= 5.0 表:修改参数r2902[5]值的数据请求格式(PLC---》变频器) PKE(第1个字) | IND(第2个字) | PWE(第3、4个字) | 15...12 | 11 | 10...0 | 15...8 | 7...0 | 15...0 | 15...0 | AK | SPM | PNU | 子索引 | 分区索引 | PWE1 | PWE2 | 0x3<o:page></o:page> | 0x461 | 0x00 | 0x00 | 5.0 |
|
|
|
|
|
|
|
<o:p> 四、验证 读取参数验证:经过检验G120变频器r2902[5]的参数值和数据应答的数值一致。 修改参数验证<o:page></o:page> <o:p> 附件: 表:DPWR_DAT指令错误代码表 表:DPRD_DAT指令错误代码表
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
|