建立连接 通过几个步骤建立连接 通过 DCP 识别请求,控制器扫描网络以查找 PROFINET 具有已定义站名的设备。 控制器使用 DCP set 命令设置所需的 IP 地址 PROFINET 设备。 控制器向设备发送连接请求(RPC 协议)。该请求包含控制器想要与之交换数据的子模块列表。 这 PROFINET 设备将预期子模块列表与实际可用子模块进行比较。在出现偏差的情况下,连接响应包含带有不匹
PROFINET 诊断 本章描述了诊断机制如何从 PROFINET 可用于 CODESYS . 系统相关故障(例如,由防火墙引起)的检测和纠正在 故障排除 章节。 为了防止工厂运行期间的停机,诊断旨在允许快速检测甚至预防故障。去做这个, PROFINET 提供广泛的诊断机制,提供有关故障来源和位置的信息。因此,可以将设备或模块甚至特定的 I/O 通道识别为故障的触发器。诊断提供有关错误严重性的附加
诊断数据库 发生的每一个错误 PROFINET 设备(例如,“断线”或“电涌”类型)存储在本地诊断数据库中 PROFINET 设备。当错误原因得到纠正时,错误也会从那里再次删除。该诊断存储器中的条目可随时通过非循环服务读取。这可以通过两个来完成 PROFINET 控制器和不与控制器交换数据的“主管”工具 PROFINET 设备。 诊断信息存在两种不同的变体,因此 USI 格式应仅在特殊情况下使用。
警报 在更改诊断数据库条目的情况下, PROFINET 设备发送警报到 PROFINET 控制器。这会立即发出故障发生或发生的信号。报警包含源(槽、子槽、通道)以及诊断信息。 除诊断报警外,还有与诊断条目无关的“PULL”/“PLUG”报警(如拔出或插入模块时触发PLUG报警)。 本节内容如下 :
I/O 数据的有效性 对于传入和传出数据, PROFINET 设备(控制器和设备)以子模块粒度形式发送状态字节,将 I/O 数据标记为有效或无效。从应用程序的角度来看,这个提供者/消费者状态最终指定了子模块的数据是否有效。消费者状态被理解为确认发送的数据已经被接收者接收。 IO PS/CS“BAD”的原因可能如下: 不与设备进行数据交换 模块缺失或出现故障 本节内容如下 :
模块/子模块状态 这 SubmoduleState 是一个状态字,指示每个单独的子模块是否存在诊断条目或其他故障,例如配置损坏。 这样,当与设备建立连接时,控制器还会发送它将用于数据交换的模块和子模块的列表。如果设备的现有模块与控制器投射的模块之间的指定/实际状态不同或存在诊断,则相应地在状态中设置标志。 本节内容如下 :
PNIO 状态(错误代码) 这 PNIOStatus 是一个 8 位十六进制代码,它不属于 PROFINET 真正意义上的诊断。这 PNIOStatus 是失败服务的错误/中止代码,例如在日志错误或连接尝试失败的情况下发出。用户通常只在非循环读/写服务( RDREC / WRREC ) 或与设备建立连接。 该值被解释为具有以下元素的 4 字节数组: ErrorCode 0x40 编码系统 CODE
常问问题 问题 回答 当一个 PROFINET 设备或模块标记为红色(错误),这会影响其他设备或模块吗? 不会。它们在数据交换期间不受影响。 当我重置或重新启动应用程序时,现场设备中的诊断是否被删除? 这会有所不同:硬件问题并不能由此解决,但参数设置错误导致的错误却可以解决。 控制器可以删除或确认诊断 PROFINET 设备? 不, PROFINET 设备管理诊断条目并设置模块的状态。这 PROF
一般的 的配置 PROFINET 控制器由控制器和 PROFINET 插入其下方的设备(从站)。设备由控制器配置并与之交换数据。 CODESYS 提供两种不同的 PROFINET 控制器: 一种变体,特别适用于 Hilscher CIFX-Karten 一种独立于硬件的变体, CODESYS PROFINET 控制器。此变体可在任意数量的以太网适配器上运行。 插入基于以太网的控制器时,会隐式创建两