抖音粉丝群1
『7x24小时有问必答』

一、产品概述

IFM AL13xx系列简介

型号
产品名称
防护等级
接口类型
AL1300
IO-Link Master DL PN 4P IP67
IP67
PROFINET + TCP/IP JSON
AL1301
IO-Link Master DL PN 4P IP69K
IP69K
PROFINET + MQTT JSON
AL1303
IO-Link Master DL PN 4P
IP67
PROFINET

AL13xx主要功能

功能
说明
IO-Link通道
最多4个IO-Link端口(A/B类可配置)
通信协议
PROFINET IO RT实时通信
IT集成
独立TCP/IP JSON或MQTT接口
防护等级
IP67/IP69K(适用于食品饮料行业)
工作电压
20~30V DC(SELV/PELV)
诊断功能
通道级诊断、参数备份、设备识别

通信架构

1.png

---

二、硬件与软件要求

1. 软件要求

软件
最低版本
推荐版本
TIA Portal(博途)
V15.1
V17/V18/V19
IFM AL13xx固件
最新版本
官网下载更新
GSDML文件
V2.3
IFM官网下载
ifm Agent软件
可选
用于AL13xx参数配置

2. 硬件要求

设备
型号/订货号
说明
S7-1200
CPU 1214C/1215C/1217C V4.0及以上
IO控制器
IFM AL13xx
AL1300/AL1301/AL1303
IO-Link主站(PROFINET接口)
IO-Link设备
支持IO-Link的传感器/执行器
最多4个通道
网线
CAT5e及以上
标准工业以太网线
电源
24V DC
为AL13xx和IO-Link设备供电
交换机
可选
多设备连接时使用

3. GSD文件下载

文件类型
说明
获取方式
GSDML
PROFINET设备描述文件
IFM官网下载中心
版本
GSDML V2.3
支持最新功能
下载链接
https://www.ifm.cn
产品页面→下载→GSD文件

---

三、配置步骤(TIA Portal)

第一步:下载并导入GSDML文件

这是最关键的第一步,因为AL13xx是第三方设备:
下载GSD文件
访问IFM易福门官网(https://www.ifm.cn)
进入「产品」→「工业通信」→「IO-Link主站」
选择AL13xx型号,进入产品页面
点击「下载」→「GSDML文件」
保存GSDML文件到本地
导入GSD文件
打开TIA Portal
点击「选项」→「管理通用站描述文件(GSD)」
选择GSDML文件所在文件夹
点击「安装」按钮
等待安装进度条完成
验证导入
安装完成后,硬件目录会自动更新
在「其他现场设备」→「PROFINET IO」→「I/O」→「ifm electronic」中可查看AL13xx

第二步:创建TIA Portal项目

打开TIA Portal软件
点击「创建新项目」,输入项目名称
选择「添加新设备」

第三步:添加S7-1200 CPU(IO控制器)

添加PLC
选择「控制器」→「SIMATIC S7-1200」→「CPU」
选择具体型号(如CPU 1215C DC/DC/DC)
选择固件版本(V4.0及以上)
配置PROFINET接口
进入「设备视图」→ 点击CPU上的PROFINET接口
在「属性」→「以太网地址」中设置:
IP地址:如  192.168.0.1
子网掩码:255.255.255.0
勾选「自动生成PROFINET设备名称」

第四步:添加IFM AL13xx(IO设备)

添加AL13xx
进入「网络视图」
在右侧「硬件目录」→「其他现场设备」→「PROFINET IO」→「I/O」→「ifm electronic」→「AL13xx」
选择对应型号(AL1300/AL1301/AL1303)
拖拽到网络视图中
配置PROFINET接口
双击网络视图中的AL13xx
在「属性」→「以太网地址」中设置:
IP地址:如  192.168.0.2(与PLC同一网段)
子网掩码:255.255.255.0
取消勾选「自动生成PROFINET设备名称」
手动设置设备名称(如:"ifm_al1300_station1")
分配IO控制器
在网络视图中选中AL13xx
点击「未分配」
选择S7-1200作为Controller

第五步:配置数据交换区(过程映像)

这是最关键的配置,决定数据交换格式:
进入设备视图
双击AL13xx图标
进入「设备视图」
配置子模块
数据类型
长度
说明
输入数据
32~128字节
IO-Link过程数据、状态字、诊断信息
输出数据
16~64字节
控制命令、参数设置
选择合适的子模块(过程数据区)
典型配置包括:
配置I/O地址
输入地址(PLC读取):如 %IW0-%IW63
输出地址(PLC写入):如 %QW0-%QW31
IO-Link通道配置
通道
模式
输入字节
输出字节
通道1
IO-Link A/B
8字节
4字节
通道2
IO-Link A/B
8字节
4字节
通道3
IO-Link A/B
8字节
4字节
通道4
IO-Link A/B
8字节
4字节
数字量输入
DI
4字节
-
数字量输出
DO
-
4字节

第六步:建立网络连接

进入「网络视图」
选中S7-1200的PROFINET接口(绿色方块)
拖拽连线到AL13xx的PROFINET接口
连接成功后显示绿色实线

第七步:分配设备名称(关键步骤)

这是最关键的步骤,AL13xx需要正确的设备名称才能通信:
连接PLC
使用网线连接PC与S7-1200
确保PC与PLC在同一网段
在线访问
点击「在线」→「访问PG/PC」
选择连接的网卡
点击「更新」搜索网络设备
分配名称
找到未分配名称的AL13xx(显示MAC地址)
输入配置的设备名称(如:"ifm_al1300_station1")
点击「分配名称」
验证
点击「显示」确认名称已分配
设备名称必须与TIA Portal组态完全一致

第八步:AL13xx参数配置(可选)

使用ifm Agent软件或Web界面配置AL13xx参数:
参数
说明
推荐设置
IO-Link模式
通道工作模式
A类(传感器)/B类(执行器)
过程数据长度
每个通道的数据长度
根据设备配置
通信周期
PROFINET更新周期
4ms~10ms
设备名称
PROFINET设备名称
与TIA组态一致
IP地址
网络IP地址
与TIA组态一致
诊断使能
启用诊断功能
建议启用

第九步:编译并下载

编译项目
点击「编译」→「编译全部」
检查是否有错误
下载组态
连接S7-1200 PLC
下载组态到PLC
将PLC切换到RUN模式
AL13xx上电
AL13xx会自动从PLC获取组态
无需单独下载

---

四、数据交换格式详解

1. 输入数据(AL13xx→PLC)

偏移
数据类型
长度
说明
0
状态字
2字节
设备状态、就绪标志
2
通道1状态
2字节
IO-Link通道1状态
4
通道1过程数据
8字节
传感器数据
12
通道2状态
2字节
IO-Link通道2状态
14
通道2过程数据
8字节
传感器数据
22
通道3状态
2字节
IO-Link通道3状态
24
通道3过程数据
8字节
传感器数据
32
通道4状态
2字节
IO-Link通道4状态
34
通道4过程数据
8字节
传感器数据
42
诊断信息
4字节
错误代码、警告

2. 输出数据(PLC→AL13xx)

偏移
数据类型
长度
说明
0
控制字
2字节
启动/停止/复位命令
2
通道1控制
4字节
通道1参数/命令
6
通道2控制
4字节
通道2参数/命令
10
通道3控制
4字节
通道3参数/命令
14
通道4控制
4字节
通道4参数/命令

3. 状态字详解

名称
功能
0
1
0
就绪
设备就绪
未就绪
就绪
1
通信正常
PROFINET通信
故障
正常
2
通道1有效
IO-Link通道1
无效
有效
3
通道2有效
IO-Link通道2
无效
有效
4
通道3有效
IO-Link通道3
无效
有效
5
通道4有效
IO-Link通道4
无效
有效
6
故障
故障状态
无故障
故障
7
报警
报警状态
无报警
报警

4. 控制字详解

名称
功能
0
1
0
启动
启动设备
停止
启动
1
复位
故障复位
-
复位
2
参数加载
加载参数
-
加载
3
数据复位
清除数据
-
清除
4-15
保留
-
-
-

---

五、编程示例

1. 标准PROFINET IO编程

// 定义数据块

DATA_BLOCK "IFM_AL13xx_Data"

STRUCT

      // 输入数据(从AL13xx读取)

      Status_Word : WORD;          // 状态字 %IW0

      Channel1_Status : WORD;    // 通道1状态 %IW2

      Channel1_Data : Array[0..7] OF BYTE; // 通道1数据 %IW4

      Channel2_Status : WORD;    // 通道2状态 %IW12

      Channel2_Data : Array[0..7] OF BYTE; // 通道2数据 %IW14

      Channel3_Status : WORD;    // 通道3状态 %IW22

      Channel3_Data : Array[0..7] OF BYTE; // 通道3数据 %IW24

      Channel4_Status : WORD;    // 通道4状态 %IW32

      Channel4_Data : Array[0..7] OF BYTE; // 通道4数据 %IW34

      Diagnostic : DWORD;          // 诊断信息 %IW42

      // 输出数据(写入AL13xx)

      Control_Word : WORD;         // 控制字 %QW0

      Channel1_Control : DWORD; // 通道1控制 %QW2

      Channel2_Control : DWORD; // 通道2控制 %QW6

      Channel3_Control : DWORD; // 通道3控制 %QW10

      Channel4_Control : DWORD; // 通道4控制 %QW14

END_STRUCT

END_DATA_BLOCK

// 主程序OB1

// 读取AL13xx状态

"IFM_AL13xx_Data".Status_Word := %IW0;

"IFM_AL13xx_Data".Channel1_Status := %IW2;

"IFM_AL13xx_Data".Channel2_Status := %IW12;

"IFM_AL13xx_Data".Channel3_Status := %IW22;

"IFM_AL13xx_Data".Channel4_Status := %IW32;

// 判断设备就绪

IF ("IFM_AL13xx_Data".Status_Word AND 160001) <> 0 THEN

      "Device_Ready" := TRUE;

ELSE

      "Device_Ready" := FALSE;

END_IF;

// 判断通信正常

IF ("IFM_AL13xx_Data".Status_Word AND 160002) <> 0 THEN

      "Communication_OK" := TRUE;

ELSE

      "Communication_OK" := FALSE;

END_IF;

// 读取通道1传感器数据(示例:温度传感器)

"Temperature_Value" := REAL("IFM_AL13xx_Data".Channel1_Data[0]) * 0.1;

// 读取通道2传感器数据(示例:压力传感器)

"Pressure_Value" := REAL("IFM_AL13xx_Data".Channel2_Data[0]) * 0.01;

// 设备启动

IF "System_Start" AND NOT "System_Stop" AND "Device_Ready" THEN

      "IFM_AL13xx_Data".Control_Word := 160001;   // 启动命令

      %QW0 := "IFM_AL13xx_Data".Control_Word;

END_IF;

// 故障复位

IF "Reset_Button" AND ("IFM_AL13xx_Data".Status_Word AND 160040) <> 0 THEN

      "IFM_AL13xx_Data".Control_Word := 160002;   // 复位命令

      %QW0 := "IFM_AL13xx_Data".Control_Word;

END_IF;

2. IO-Link设备参数读写(通过AL13xx)

// 读取IO-Link设备参数(ISDU读)

"Read_ISDU"(

      Enable := "Read_Trigger",

      Channel := 1,                     // IO-Link通道1

      Index := 160020,               // 参数索引

      SubIndex := 0,                   // 子索引

      Done => "Read_Done",

      Error => "Read_Error",

      Data => "Read_Data"

);

// 写入IO-Link设备参数(ISDU写)

"Write_ISDU"(

      Enable := "Write_Trigger",

      Channel := 1,                     // IO-Link通道1

      Index := 160021,               // 参数索引

      SubIndex := 0,                   // 子索引

      Data := "Write_Data",

      Done => "Write_Done",

      Error => "Write_Error"

);

// 读取设备标识(厂商ID、设备ID等)

"Read_DeviceID"(

      Enable := "ID_Read_Trigger",

      Channel := 1,

      VendorID => "Vendor_ID",

      DeviceID => "Device_ID",

      Done => "ID_Read_Done"

);

3. 完整控制程序示例

// 主程序OB1

// 初始化

IF "First_Scan" THEN

      "IFM_AL13xx_Data".Control_Word := 160001;   // 启动命令

      %QW0 := "IFM_AL13xx_Data".Control_Word;

      "First_Scan" := FALSE;

END_IF;

// 读取状态

"IFM_AL13xx_Data".Status_Word := %IW0;

"IFM_AL13xx_Data".Diagnostic := %ID42;

// 设备就绪判断

IF ("IFM_AL13xx_Data".Status_Word AND 160001) <> 0 THEN

      "Device_Ready" := TRUE;

ELSE

      "Device_Ready" := FALSE;

END_IF;

// 通信状态判断

IF ("IFM_AL13xx_Data".Status_Word AND 160002) <> 0 THEN

      "Communication_OK" := TRUE;

ELSE

      "Communication_Fault" := TRUE;

END_IF;

// 通道状态监控

FOR  ch  := 1 TO 4 DO

      CASE  ch  OF

            1: "Channel_Status" := "IFM_AL13xx_Data".Channel1_Status;

            2: "Channel_Status" := "IFM_AL13xx_Data".Channel2_Status;

            3: "Channel_Status" := "IFM_AL13xx_Data".Channel3_Status;

            4: "Channel_Status" := "IFM_AL13xx_Data".Channel4_Status;

      END_CASE;

      // 判断通道有效

      IF ("Channel_Status" AND 160001) <> 0 THEN

            "Channel_Valid"[ch] := TRUE;

      ELSE

            "Channel_Valid"[ch] := FALSE;

      END_IF;

END_FOR;

// 传感器数据采集

IF "Channel_Valid"[1] THEN

      // 通道1:温度传感器

      "Temperature_Raw" := WORD("IFM_AL13xx_Data".Channel1_Data[0]);

      "Temperature_Value" := REAL("Temperature_Raw") * 0.1;

END_IF;

IF "Channel_Valid"[2] THEN

      // 通道2:压力传感器

      "Pressure_Raw" := WORD("IFM_AL13xx_Data".Channel2_Data[0]);

      "Pressure_Value" := REAL("Pressure_Raw") * 0.01;

END_IF;

// 故障处理

IF ("IFM_AL13xx_Data".Status_Word AND 160040) <> 0 THEN

      "Device_Fault" := TRUE;

      // 输出故障信号

      %QX0.0 := TRUE;

      // 自动复位尝试

      IF "Auto_Reset_Enable" THEN

            "Reset_Timer"(IN := TRUE, PT := T5S);

            IF "Reset_Timer".Q THEN

                  "IFM_AL13xx_Data".Control_Word := 160002;   // 复位

                  %QW0 := "IFM_AL13xx_Data".Control_Word;

                  "Reset_Timer"(IN := FALSE);

            END_IF;

      END_IF;

ELSE

      "Device_Fault" := FALSE;

      %QX0.0 := FALSE;

END_IF;

// 诊断信息记录

IF "Device_Fault" THEN

      "Fault_Code" := "IFM_AL13xx_Data".Diagnostic;

      "Fault_Time" := LOCAL_TIME;

END_IF;

---

六、通信状态监控与诊断

1. AL13xx LED状态指示

LED
颜色/状态
含义
RUN
绿色常亮
运行正常
RUN
黄色闪烁
启动中/待机
RUN
红色
故障
LINK
绿色
网络连接正常
LINK
熄灭
网络连接断开
PORT1-4
绿色
IO-Link通道正常
PORT1-4
黄色
IO-Link通道待机
PORT1-4
红色
IO-Link通道故障

2. TIA Portal在线监控

状态指示
颜色
含义
通信正常
绿色
PROFINET连接建立成功
通信故障
红色
连接中断或配置错误
正在连接
黄色
设备正在建立连接

3. 诊断缓冲区

在TIA Portal中查看CPU的「诊断缓冲区」
可获取详细的通信错误信息
常见错误:设备名称不匹配、IP冲突、网线故障等

4. 常见错误代码

错误码
含义
解决方案
0x0000
无错误
正常
0x0001
通信超时
检查网络连接
0x0002
配置错误
检查PROFINET配置
0x0003
设备名称不匹配
重新分配设备名称
0x0100
IO-Link通道故障
检查传感器接线
0x0101
设备未识别
检查IO-Link设备
0x0102
参数读写失败
检查参数索引
0x0200
电源故障
检查24V供电

---

七、常见问题与解决方案

问题现象
可能原因
解决方案
AL13xx无法识别
GSD文件未导入
在TIA Portal中导入GSDML文件
设备名称分配失败
未在线操作
点击「在线」→「访问PG/PC」分配名称
通信超时
IP地址不在同一网段
检查并统一IP网段
IO-Link通道无数据
传感器未连接
检查IO-Link设备接线
连接显示红色
PLC未运行
将PLC切换到RUN模式
设备名称不匹配
名称不一致
确保TIA组态与实际分配一致
过程数据不更新
通信周期配置错误
检查PROFINET更新周期
诊断信息为空
诊断功能未启用
在AL13xx参数中启用诊断
频繁通信中断
网线质量差
更换高质量网线
Web界面无法访问
IP地址错误
确认AL13xx的IP地址
IO-Link设备不识别
通道模式配置错误
检查A/B类模式设置
参数读写失败
索引/子索引错误
查阅IO-Link设备手册

---

八、配置要点总结

配置项
关键要点
软件版本
TIA Portal V15.1及以上
GSD文件
必须从IFM官网下载并导入
IP地址
同一网段,不能冲突
设备名称
必须在线分配且与组态一致
数据交换区
正确配置输入/输出地址
IO-Link通道
配置A/B类模式
通信周期
根据应用选择4ms~10ms
诊断功能
启用诊断便于故障排查
网络连接
使用标准网线,确保连接可靠
电源供电
24V DC稳定供电

---

九、推荐参考资料

资料名称
来源
链接
AL13xx产品手册
IFM易福门官网
下载
AL13xx PROFINET配置指南
IFM易福门官网
下载
AL13xx GSD文件下载
IFM易福门官网
下载
IO-Link技术白皮书
IO-Link组织
下载
TIA Portal PROFINET配置指南
西门子工业支持中心
查看

---

十、总结

S7-1200与IFM AL13xx IO-Link主站的PROFINET IO通信是工业自动化的经典传感器集成方案,具有以下优势:
优势
说明
高速实时
PROFINET RT通信,周期可达4ms
数据丰富
IO-Link提供过程数据+参数+诊断
配置简单
TIA Portal统一组态+导入GSD
诊断完善
通道级诊断和设备级诊断
扩展灵活
支持多AL13xx、多站点连接
成本优化
减少布线,简化安装
即插即用
IO-Link设备自动识别和参数备份
防护等级高
IP67/IP69K适用于严苛环境

配置流程简图

2.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码