西门子PLC的DP站点丢失检测
实验目的:西门子PLC的DP总线上挂有多个DP远程站,当出现DP站点丢失时,如何通过系统自带库程序检测出对应的远程站丢失,同时触发相应的报警?
(资料图)
如上图所示315-2 CPU的PROFIBUS总线上挂有多个DP远程站和一个传动站,当出现站点丢失,如何有效的判断出所丢失的远程站到底是几号站点?
实验步骤:
1、 新建项目;
2、组建硬件组态,如上图所示;
3、编写控制程序;
3.1:新建FC功能块,例如:FC1,名称定义为DP_Number_Check;
3.2:建立内部临时变量length,定义为结构变量Struct,包含两个子变量,size、number,数据类型为word;
3.3.1:建立数据存储DB块,例如DB3,命名为Dp_Number_Data1,建立一个数组变量,内部数组元素类型为BYTE;
3.3.2:建立数据存储DB块,例如DB1,命名为Dp_Number_Data,
3.4:编写控制程序
调用系数块SFC51,
说明 :SZL_ID:W#16#292:功能为读取DP总线上的各站点是否存在;
INDEX:W#16#1;根据总线的数据号填写相应的数据;
4、模拟仿真;
打开仿真软件PLCSIM,将项目程序和硬件组态下载到仿真PLC当中,然后在PLCSIM中执行ExecuteàTrigger Error OB,在弹出的界面中对需要模拟丢失的站点进行模拟测试,如下所示,模拟3#站点丢失,则在线诊断DP总线数据后,发现3#站点已用红色斜杠标记(标识3#站点丢失)。
5、总结
通过以上程序可以有效的模拟仿真出对应DP站点丢失的情况,若连接到WINCC可以更直观的显示出各DP站点通讯状态情况。
关键词: