早期对DP进行诊断时,西门子提供了FB125/FC125 2个程序块给大家使用,后来PROFINET大行其道,西门子提供了 可以同时诊断PN和DP网络的FB126功能块,这个功能块需要根据CPU型号选择不同版本的FB126,大家需要选择合适的FB126(主要是不同型号的CPU所支持的程序块大小不一样,低端的最大支持16K);坑爹的是FB126是对外保密的,结合第三方系统使用,需要自己分析DB里类容。所以 在那段时间,楼主都是自己通过调用"S7_RDSYSST"系统功能来进行诊断的,虽然功能简单了点,但是够用了。
使用1500+TIA PORTAL后,指令 "DeviceStates"让你的需求变的简单,而且 支持PN/DP诊断;
先看下PORTAL 里的指令帮助吧
首先,是指令的参数接口
1:LADDR PN IO 或者DP的硬件标识,数据类型是HW_IOSYSTEM,这值怎么找?其实在我们组态完PN IO或者DP 主站系统后,会在 PLC变量默认变量表系统常数里找到它见下图
看硬件配置图
其次找到相应的PN IO系统的HW_IOSYSTEM值
2:MODE PLC 会根据在此所设的参数来读取相应的信息,模式定义见下图
3:RET_VAL 返回值