PROFINET 概述
PROFINET 是工业以太网。控制器按站名找到现场设备,用设备描述文件(GSDML)组态后,双方周期交换过程数据。
新手知识
不必先读协议书。记住三件事就够用:按站名找设备、用 GSDML 组态、进了周期交换才算连上。
Darra Profinet Slave 是 PROFINET IO Device,实时等级 RT Class 1(不支持 IRT)。接到 IO 控制器上用:
- 写 Q:设备 → 控制器
- 读 I:控制器 → 设备
本产品站在设备侧:它不会主动去扫网上别的设备,也不会自己建应用关系。怎么用见 周期过程数据;数值在,不等于这一拍能用 —— 见 IOPS 与 IOCS。
一次接通要经过什么
- 配置工具里配设备身份、过程数据长度、网卡(见 从配置工具开始)
- 导出 GSDML,导入 TIA 的硬件目录(见 GSD 文件)
- 给这一台分配站名 —— 必须和配置工具里的站点名一致
- TIA 编译、下载到 PLC;配置工具里启动服务
- 双方进入周期交换,这时才算连上(见 发现与连接)
前面几步都是准备工作。只有进入周期交换,控制器才在真的换过程数据 —— 设备启动了、网上能看见设备,都不等于已连接。
支持与不支持
只做下面表里这些。表外的工程里不要按它去组态。
支持:
| 项 | 说明 |
|---|---|
| RT Class 1 循环 IO | 周期由配置工具 / 控制器组态,最低 1 ms;协议按组态发帧,应用不推帧 |
| 固定一个过程数据模块 | 只有槽 1 / 子槽 1 这一个模块:类型不可选、不可增删。字节数由配置工具组态 |
| IOPS / IOCS 与 DataStatus | 每拍数据带质量标志;不是 WKC |
| AR 建立与释放 | 控制器发起,按 GSDML 组态谈妥后进入周期交换 |
| DCP | 识别、设站名、设 IP、恢复出厂。信号灯请求只记日志,不做实机闪烁;不做 DHCP |
| LLDP | 只发 + 有限收(每个端口一个邻居) |
| 记录读写 | 含 I&M0–I&M3 |
| 诊断 | 合格 USI 0x8003 |
| 报警 | 只收和确认,不主动发 |
| SNMP | 只读,所有网口 UDP 161:MIB-II 系统组 + ifTable。只支持 Get / GetNext —— 见下方说明 |
| GSDML 导出 | 在配置工具里「导出」现场生成,不随安装包附送现成文件 |
SNMP 的几条实话
- 只支持 Get / GetNext。它不认 GETBULK,默认参数的
snmpwalk会收不到任何应答 —— 排查时请显式指定 GET/GetNext,别把「walk 没反应」当成 SNMP 没开。 - 它是服务层的功能:
DarraPnSService停着就没有 SNMP。 - 反过来,栈停着 / 未授权时它照样应答 —— 能读到系统信息,不代表设备已经进了周期交换。
- 对 PROFINET 的 IIM / IDM MIB(
1.3.6.1.4.1.4329.*)发 GET 会如实返回 noSuchName(那里什么都没注册),不是 bug。 - 没有远端邻居行:LLDP-MIB 只有本地表,读不到对端邻居。
- GSDML 里写
SupportedProtocols="LLDP"/SupportedMibs="MIB2"不是对控制器的 SNMP 声明,别拿它当依据。
不支持:
| 项 | 说明 |
|---|---|
| RT Class 2 / RT Class 3(IRT) | 按 IRT 组态在连接阶段就被拒 |
| RT_CLASS_UDP、等时模式 | 不做 |
| 时钟同步 | PTCP / PTP / 1588 / SNTP / NTP 一律没有 |
| MRP / MRPD | 不做环网冗余 |
| Shared Device、iDevice、控制器角色 | 本产品只做设备侧 |
| 替代值(substitution) | 只有一个全局填充字节 |
| iPar / 参数服务器 | 不做 |
| PROFINET Security | 不做 |
| HTTP API 鉴权 | 只做回环来源检查,不是鉴权 |
| PI 一致性认证 | GSDML 里声明 Conformance Class A;没有做过 PI 认证测试 |
导出的 GSDML 不是功能清单
导出文件里有些字段是照工程软件的要求填的(结构上参考了西门子的样本工程),不能当成「这台设备支持某功能」的证据 —— 比如文件里出现和时钟同步有关的声明性字段,也不代表有 PTCP。想知道支持什么,看本页和 RT Class 1。