FAQ-欧姆龙主机通过CoE指令对SM693H-1R(T)H22-ECT读写PID参数
发布时间:2022-05-13 14:20:17 来源:本文档介绍说明如何通过COE读写指令实现欧姆龙主机对SM693H-1R(T)H22-ECT温控模块的PID参数等数据的读写,在程序中使用EC_CoESDOWTIRE和EC_CoeSDOREAD指令进行参数的读写(COE读写指令只能单边执行,需要采用轮询读写的方式来实现数据的持续性读入和写出)
相关硬件
1、欧姆龙控制器(本例使用NX1P2-9024DT)
2、SM693H-1R(T)H22-ECT
1. 相关COE指令说明
1.1 EC_CoESDOREAD指令说明
1.2 EC_CoESDOWTIRE指令说明
1.3 SDO结构体说明
2. SM693H-1R(T)H22-ECT温控模块COE地址说明
3. EC_CoESDOREAD用法详情
1、建立变量,新建的变量在指令中需要用到,因此数据类型需要正确:
2、打开编程软件,在工具箱中的communication下找到EC_CoESDOREAD指令并调用:
指令中各参数说明:
①设置要访问的从站的节点地址(如上图:节点地址1)
②SDO参数,SDO参数需要额外添加程序对Index、Subindex、IsCompleteAccess三个地址写相应的值:
网络7编辑对应SDO设置参数
③设置超时时间2S(20*0.1s)
④读取数据保存用缓存地址(本案例使用数组形式:ARRAY[0..39] OF UINT)
⑤功能块为上升沿有效读取一次,因此需要保持周期性脉冲来实现数据的持续性读入。
4. EC_CoESDOWTIRE用法详情
打开编程软件,在工具箱中的communication下找到EC_CoESDOWTIR指令并调用:
指令中各参数说明:
①要访问的从站的节点地址(如上图:节点地址1)
②SDO参数,SDO参数需要额外添加程序对Index、Subindex、IsCompleteAccess三个地址写相应的值:
网络7编辑对应SDO设置参数
③设置超时时间2S(20*0.1s)
④写入数据地址(本案例使用数组形式:ARRAY[0..39] OF UINT)
⑤写入数据大小(单位:字节)
⑥功能块为上升沿有效读取一次,因此需要保持周期性脉冲来实现数据的持续性写入。
5. COE参数的连续性读写
注:(由于COE读写指令只能单边单个指令执行,同时多个读或多个写,指令将不能正常运行)
①本案例采用定时器实现轮询持续性读写,仅供参考。
设定定时器1.6S,置位m,定时器计时到1.6S,D0输出1使定时器重新计时,如此循环。
网络1:Read1在0—0.2S执行一次读取
网络2:Read2在0.2—0.4S执行一次读取
以下网络4...6的读取和写入依次按照此规律实现持续读取和写入。
6. 监控结果
编程完后编译没有错误将程序传送到CPU
置位m位,下图是读取到的所有通道数据
置位m1,设置新的比例值,执行数据写入
监控读取发现数值已经写入成功。
以上为多个值持续性读取,写入,因此每次写入时需要多个地址都必须设置有值,否则其他地址为0时,也会把0值写入,如果需要单个地址写入数据可参考以下设置。
如:要设置第二个温控通道的积分Ti值
设定SDO参数:
1、Index---主索引地址:0x2000
2、Subindex---子索引地址:2(第二个温控通道的积分Ti)
3、IsCompleteAccess访问:FALSE(访问指定子索引的数据)
新建变量进行关联,如下步骤
在线,监控到的第二个通道的数值是400:
将320值设置进变量Tivalue,置位m2:
再次监控第二通道的地址发现单个数值已写入成功。
- 上一篇:S7-1200与692H-TCP通讯使用说明2022-05-21
- 下一篇:FAQ-SMART200如何获取S7-TCP从站连接状态2022-05-13