本文介绍通信案例,FP7通过通信模块SC-HG1-ETC读取HG-T、HG-S测量值。HG-T使用主机HG-TC101,HG-S使用子机HG-SC111,介绍了如何通过SC-HG1-ETC写入/读取主机、子机中的测量结果。
硬件组成
- FP7CPS31E+MC16EC
FP7为PLC的CPU模块,需要借助运动控制模块MC上的EtherCAT接口完成。
- SC-HG1-ETC
EtherCAT通信模块SC-HG1-ETC提供EtherCAT接口。HG-T/HG-S系列产品通过SC-HG1-ETC完成EtherCAT通信。
- HG-TC101、HG-T1010
HG-T1010为检测头,与控制器HG-TC101连接。测量值的输出由控制器HG-T1010完成
- HG-SC111、HG-S1010
HG-S1010为检测头,与控制器HG-SC111连接,测量值的输出由HG-SC111完成。HG-SC111为子机,必需依托主机HG-SC101或HG-TC101使用。
硬件连接
工程配置
双击FP7配置,选择IO映射设置
双击蓝色区域,添加单元,在槽1处选择对应的MC模块(槽1会在之后的程序编写中使用到)
打开CMI,给MC模块添加“轴”
双击“EtherCAT通信设定”下的“FP7运动控制单元,得到下图
导入SC-HG1-ETC的XML文件
- “映射对象”索引对应的功能可以在说明书中找到
- 通过PDO映射页可以查找到“映射对象”索引与“应用程序对象”索引间的关系
- 通过变量页可以查到“应用程序对象”在程序中对应的变量
- 通过程序对变量进行读写实现功能
数据读取流程
发送读取指令后,各单元(控制器)将回传动作状态及设定值。
- 通过1600:0D,将传感器响应数据切换请求设定为指令。
- 通过1A00:0D,确认传感器响应数据切换响应为指令。
- 设定需要通过1600:40~1600:4E发送指令的单元(控制器)。
- 设定发送到1600:50的指令代码。
- 设定发送到1600:51~1600:5F的指令数据(设定参数)。
- 设置1600:01发送请求标志(指令将被发出)。
- 通过1A00:01发送完毕标志与1A00:02错误标志,确认指令已正常结束。
- 请在确认1A00:61~1A00:6F指令响应传感器、1A00:71指令响应代码与已发送的请求内容一致后,读取响应数据1A00:72~1A00:80。
- 如需继续发送其他指令,请清除1600:01的发送请求,并在确认1A00:01发送完毕标志已被清除后,从步骤3.开始重新操作。
数据读取例程
一次同时读取HG-T/HG-S测量值
DT103 ~ DT106 读取数据分别为2.2056mm和3.1445mm
上图显示测量结果分别为3.1440mm和2.199mm。
读取数据与作图显示结果相差几微米是因为数值并非在同一时间点截取,因环境因素变化产生测量结果变化。
数据写入流程
发送读取指令后,各单元(控制器)将回传动作状态及设定值。
- 通过1600:0D,将传感器响应数据切换请求设定为指令。
- 通过1A00:0D,确认传感器响应数据切换响应为指令。
- 设定需要通过1600:40~1600:4E发送指令的单元(控制器)。
- 设定发送到1600:50的指令代码。
- 设定发送到1600:51~1600:5F的指令数据(设定参数)。
- 设置1600:02写入标志。
- 设置1600:01发送请求标志(指令将被发出)。
- 通过1A00:01发送完毕标志与1A00:02错误标志,确认指令已正常结束。
- 请在确认1A00:61~1A00:6F指令响应传感器、1A00:71指令响应代码与已发送的请求内容一致后,读取响应数据1A00:72~1A00:80。
- 如需继续发送其他指令,请清除1600:01的发送请求,并在确认1A00:01发送完毕标志已被清除后,从步骤3.开始重新操作。
数据写入例程
一次同时写入HG-T/HG-S预设值
写入前
写入后
预设值分别变为1mm、2mm,显示值与写入值10000、20000一致。(写入值单位为0.1μm)