在如下连接下载PNIODiag诊断包:https://support.industry.siemens.com/cs/cn/zh/view/98278878/en
该诊断包是免费的。需要注意所支持FB126的CPU和CP板的模块的类型。
然后解压该诊断包,完整安装PNIODiag V1.8.2 Setup.exe。安装完毕后,会在桌面上出现3个文件,其中HMI PNIODiag WinCC flexible,HMI PNIODiag WinCC,以及Onlinehilfe PNIODiag。
前两个快捷方式文件夹分别用于WinCC flexible诊断和WinCC诊断,最后的文件是帮助文件。
打开Step7,点击“打开”按钮,选择“Libraries”页面,点击“PNIODiag”打开。
打开“PNIODiag”库中存在两个S7程序。一个表示>16k。这个项目中存在功能块FB126。
16K用于表示FC,FB,OB的机器代码指令的大小。打开>16K项目中的FB126的属性,在General Part2,可以看到MC7的大小为18194bytes,超过了16K。
对于一些CPU,比如S7-300 CPU315-2DP (6ES7 315-2AG10-0AB0) 的性能参数中要求每一个FC,FB,DB,OB的大小不超过16K。那么如果选择这一类型的CPU去诊断PROFIBUS DP或PROFINET IO,那么就必须使用<16K的库文件。
这里组态CPU319-3PN/DP作为IO控制器,由于该CPU的FB的最大限制为64K,这样可以使用>16K的库文件。
新建一个PROFINET IO项目,使用CPU319-3PN/DP作为IO控制器,硬件组态如下。IO控制器CPU319-3PN/DP的IP地址为192.168.0.100。
然后在Step7的SIMATIC Manager中平行排列该项目和PNIODiag库文件。把>16k的库中的程序托拽到新建的CPU319的项目中,如果在CPU319的项目中已经对相应的OB块进行了编程,那么只需托拽FB126,然后对应相应的OB调用该功能块即可。然后下载硬件组态和程序到CPU中。
在OB中调用FB126。
打开桌面的HMI PNIODiag WinCC flexible快捷方式文件夹,双击PNIODiag.hmi文件打开。这时可能会弹出如下警示对话框,这是由于该项目使用WinCC flexible 2005 SP1,所以必须要高于该版本,才能使用FB126用于诊断。打开这个文件后,自动会在该文件夹中生成一个原项目的备份文件。点击OK,自动该转换项目。
点击SIMATIC HMI-Station,然后选择Project菜单,选择Change Device Type…,修改实际的HMI设备,这里使用默认的WinCC flexible Runtime。
然后双击左侧目录树Connections,设置PC和PLC的地址参数。这里PC的IP地址为192.168.0.156。
点击左侧目录树Device SettingsàLanguages and Fonts,设置运行语言为英语。通过点击向上箭头,使English的优先级最高为0。或者取消德语设置。
在工具栏中,点击启动运行按钮,运行该WinCC Flexible项目。可以看到起始诊断画面。
点击PNIO-System100按钮,进入诊断站点状态画面。
点击5号站,进入该站详细诊断画面,可知5号站丢站。
在IM151-3PNFO的DO模块没有连接执行器时,如果使能DO模板输出,会激活过程中断,参考组态PNIODiag步骤4。这时可见3号站IM151-3PNFO显示故障状态。
然后,点击3号站,可以观察3号站的详细诊断信息,例如Broken Wire,断线。
打开桌面的HMI PNIODiag WinCC 快捷方式文件夹,可以看见3个WinCC项目。
这里表示WinCC项目可以诊断PROFINET和PROFIBUS系统的个数。如果需要诊断的PB和PN系统超过4个,那么就需要在WinCC中创建新的原始数据类型和脚本,具体方式参考Onlinehilfe PNIODiag帮助文件。
这里诊断同样的PROFINET系统,所以任意选择一个WinCC项目HMI_FB126.mcp打开,然后更改Server名字为本地计算机名,最后修改连接的属性参数,CPU的IP地址192.168.0.100,以及CPU的槽号2。
在工具栏中,点击启动运行按钮,运行该WinCC项目。可以看到起始诊断画面。画面和诊断方式与WinCC flexible相同。