看有人问这种问题就分享一下。
用RDREC指令可以读Profinet的很多信息。下面这个模块可以读取PN名称,MAC地址,IP地址,子网掩码、网关,然后把获得的这些信息拷贝进一个UDT里面。V14 SP1
ReadIP.rar
下图是这些信息所在的Data Record(编号16#8080)的数据结构。我这是在自己弄的UDP可靠传输协议里面,需要封装每个以太网节点的信息。
RDREC可以读很多诊断信息,西门子提供了一个封装库便于使用。
Library for PROFINET data records
使用RDREC,关键是要知道信息所在的DataRecord的编号,和这个数据记录的详细数据结构。
要想知道诊断信息的完整全貌,以便自己任意定制诊断功能,要去Profinet官网下载,但是估计只有开发公司才会花这个大价钱吧。国标GB/T 25105也给出了详细说明,这个标准分为三个部分,第二部分是主要所在。
GB/T 25105.1-2014 PROFINET IO规范 第1部分:应用层服务定义;
GB/T 25105.2-2014 PROFINET IO规范 第2部分:应用层协议规范;
GB/T 25105.3-2014 PROFINET IO规范 第3部分:IO通信行规。
下面这个链接的西门子手册也给了说明和一些例子。
From PROFIBUS DP to PROFINET IO