博途软件直接寻址AMS348i读取位置值详解
一、AMS348i简介
AMS348i是一种高性能绝对值编码器,常用于工业自动化领域的位置检测。它具有以下特点:
高精度位置测量
多种通信接口(如SSI、PROFIBUS、PROFINET等)
坚固的工业设计
支持多种安装方式
二、元器件及配件
设备名称 | 订货号 | 型号 | 数量 | 标号 |
激光测距传感器 | 50113725 | AMS58I 40 | 1 | ① |
传感器电源电缆 | 50133839 | KD U-M12-5A-P1-020 | 1 | ③ |
以太网通讯电缆 | 50135080 | KSS ET-M12-4A-RJ45-A-P7-020 | 1 | ② |
酉门子PLC profiNet通讯 | S7- 1200 | 1 | ④ |
三、GSD文件准备及接线
1.从LUZE官网:http://leuze.com/en/usa/index.php下载AMS348I 的GSDML文件
2.电气连接图
AMS358电源连接
管脚号 | 线颜色 | 连接定义 |
1 | 棕 | 24V |
2 | 白 | 信号2 |
3 | 蓝 | 0V |
4 | 黑 | 信号1 |
5 | 灰 | 示教输入 |
AMS358I以太网连接
管脚号 | 名称 | 连接定义 |
1 | TD+ | 发送数据+ |
2 | RD+ | 接收数据+ |
3 | TD- | 发送数据- |
4 | RD- | 接收数据- |
5 | FE | 功能地 |
四、博途软件(TIA Portal)中的配置
1. 硬件组态
打开TIA Portal,创建新项目
PLC类型选择S7 1200 ,加载GSD文件,组态完成进行编译,无出现在错误。
在PLC硬件组态里,打开网络视图介面 ,右击打开分配设备名,进行搜索并分配设备名,和IP地址
数据读取, 位置值的地址为4个BYTE ,从256-259
2. 设备参数配置
- 双击AMS348i模块进入参数设置
- 设置编码器参数:
- 分辨率(每转脉冲数)
- 旋转方向
- 零点偏移
- 测量单位(度、毫米等)
五、直接寻址方法
1. 输入地址分配
在硬件配置完成后,TIA Portal会自动为AMS348i分配输入地址,通常为:
- 起始地址:IWx(x取决于PLC配置)
- 位置值通常占用4个字节(双字)
2. 直接寻址读取位置值
在SCL或LAD编程中,可以直接通过以下方式读取位置值:
SCL示例:
VAR
Position_Value : DINT; // 定义32位整数变量存储位置值
END_VAR
Position_Value := "AMS348i_DB".Position_Input; // 直接读取
LAD示例:
使用MOVE指令将输入地址(如ID100)的值传送到目标变量
3. 地址映射说明
AMS348i的位置值通常映射到以下地址:
- 低字节:IWx
- 高字节:IWx+2
组合为双字(DWORD/DINT)表示完整位置值
六、数据处理
1. 原始值转换
读取的原始值可能需要转换为实际工程单位:
实际位置 = (原始值 × 量程) / 编码器分辨率
2. 示例代码(SCL)
FUNCTION "Convert_Position" : REAL
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
VAR_INPUT
Raw_Value : DINT; // 原始值输入
Resolution : UINT; // 编码器分辨率
Range : REAL; // 量程(如360.0表示360度)
END_VAR
BEGIN
"Convert_Position" := (DINT_TO_REAL("Raw_Value") * "Range") / UINT_TO_REAL("Resolution");
END_FUNCTION
七、常见问题解决
- 通信失败:
- 检查物理连接
- 验证设备地址/IP设置
- 检查PROFINET/PROFIBUS网络配置
- 位置值不更新:
- 确认编码器电源正常
- 检查编码器状态字
- 验证采样周期设置
- 数值跳动:
- 检查机械安装是否稳固
- 验证接地和屏蔽
- 考虑添加软件滤波
八、最佳实践
- 定期读取编码器状态字以监测设备健康状态
- 实现位置值的平滑滤波算法
- 设置合理的位置变化阈值检测机械异常
- 对位置值进行周期性校验(如与参考点对比)
九、注意事项
- 确保编码器与PLC的通信参数匹配
- 大范围位置值变化时注意变量溢出处理
- 重要应用场合建议添加冗余校验机制
- 定期备份设备参数配置
通过以上方法,您可以在TIA Portal中高效地使用AMS348i编码器并直接读取其位置值。