cpu是416-2dp ,有20个从站,分成两个网段,想知道哪个从站通讯故障,不想知道太详细的信息,用fc125可以吗?谁有fc125功能块,能不能发我
最佳答案
可以使用0B86,只需简单编程
S7-300/400的OB86的局部变量OB86_EV_CLASS(LB0)为16#39和16#38分别表示故障出现和故障消失。OB86_FLT_ID(LB1)为16#C3和16#C4分别表示DP主站系统(DP网络)故障和DP从站故障。LB10是DP主站系统的ID(网络的编号),LB11是有故障的DP从站的编号。
假设项目中只有一个DP网络,12个DP从站的编号分别为3~14,它们分别对应于M10.3~M11.6。
出现DP主站系统故障时(LW0为W#16#39C3),将M10.3~M11.6全部置为1(将W#16#F87F送MW10)。
某个DP从站出现故障时(LW0为W#16#39C4),将故障从站编号和M10.0的地址相加,计算出故障从站对应的地址,然后用间接寻址点亮故障从站对应的指示灯。
某个DP从站故障消失时(LW0为W#16#38C4),将故障从站编号和M10.0的地址相加,计算出故障从站对应的地址,然后用间接寻址熄灭故障从站对应的指示灯。
在SIMATIC管理器中生成一个人机界面的站点,双击站点中的画面1,打开WinCCflexible的项目,在画面中生成12个指示灯。它们分别通过M10.3~M11.6来显示3~14号从站的状态。
下面是OB86中的程序。
LW#16#39C3
LLW0
==I
JCNm001//不是主站系统故障则跳转
LW#16#F87F
TMW10//点亮3~14号从站的指示灯
m001:LW#16#39C4
LLW0
==I
JCNm002//不是从站故障出现则跳转
LLB11//故障从站编号送累加器1
LP#10.0//起始地址送累加器1
+D
TLD20//故障从站地址送地址指针
SM[LD20]//点亮故障从站对应的指示灯
m002:LW#16#38C4
LLW0
==I
JCNm003//不是从站故障消失则跳转
LLB11//故障从站编号送累加器1
LP#10.0//起始地址送累加器1
+D
TLD20//故障从站地址送地址指针
RM[LD20]//熄灭故障从站对应的指示灯
m003:NOP0
提问者对于答案的评价:
十分感谢达人,同时也谢谢其他两位
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc225808.html