程序怎么做?用cfc还是梯形图?用cfc那个收发地址怎么定义?用梯形图脉冲信号怎么给出,中间变量能用么?怎么判断和那一cpu通讯呢?
望做过的给点建议?
最佳答案
S7-400H与S7-300的通讯可通过如下方式:
400H冗余PROFIBUS双网挂接Y-LINK,Y-link下的PROFIBUS子网下挂接S7-300,400H作为主站,300作为从站进行主从通讯,与普通S7-400与S7-300的PROFIBUS主通讯类似。
至于判断与哪个cpu通讯,则是相当于判断哪个在工作,哪个在备用?利用SFC51,读出S7-400H系统当前的状态,可以在OB1或循环中断组织块OB3X中调用。
系统信息内容如下:
内容 长度 含义
Redinf 2 bytes 冗余信息
W#16#0011:单机 H CPU运行
W#16#0012:H系统2备1运行
Mwstat1 1 byte 状态字节1
Bit 0:保留
Bit 1:保留
Bit 2:保留
Bit 3:保留
Bit 4:机架0中CPU的状态
=0:从 CPU
=1:主 CPU
Bit 5:机架1中CPU的状态
=0:从 CPU
=1:主 CPU
Bit 6:保留
Bit 7:保留
Mwstat2 1 byte 状态字节2
Bit 0:同步连接状态 01:
CPU 0 和CPU 1同步
=0:不可能
=1:可能
Bit 1: 0
Bit 2::0
Bit 3:保留
Bit 4:=0:CPU没有在机架0
=1:CPU在机架0上
(冗余模式: bit 4 = 0)
Bit 5:=0:CPU没有在机架1
=1:CPU在机架1上
(冗余模式: bit 5 = 0)
Bit 6:保留
Bit 7:主从切换是否从新使能
=0:否
=1:是
Hsfcinfo 2 bytes SFC 90 "H_CTRL"状态字
Bit 0:=0:从新使能没有激活
=1:从新使能激活
Bit 1:=0:从站Updating使能
=1:从站Updating没有使能
Bit 2:=0: Link-up 模式没有使能
=1: Link-up 模式使能
Bit 3:保留
Bit 4:保留
Bit 5:保留
Bit 6:保留
Bit 7:保留
Bit 8:保留
Samfehl 2 bytes 保留
Bz_cpu_0 2 bytes CPU在机架0的模式
W#16#0001:停止 (update)
W#16#0002:停止 (reset memory)
W#16#0003:停止(self-initialization)
W#16#0004:停止(internal)
W#16#0005:启动(cold restart)
W#16#0006:启动(warm restart)
W#16#0007:启动(hot restart)
W#16#0008:运行(solo mode)
W#16#0009:运行(redundant mode)
W#16#000A:HOLD模式
W#16#000B:LINK-UP模式
W#16#000C:UPDATE模式
W#16#000D:故障
W#16#000E:自检测
W#16#000F:没有开机
Bz_cpu_1 2 bytes CPU在机架1的模式
(与 bz_cpu_0相同)
Bz_cpu_2 2 bytes 保留
Cpu_valid 1 byte 信息变量 bz_cpu_0 和 bz_cpu_1有效性
B#16#01: bz_cpu_0 有效
B#16#02:bz_cpu_1 有效
B#16#03: bz_cpu_0 和 bz_cpu_1 有效
hsync_f 1 byte 连接质量的状态 (只有mwstat2 bit 0为1时有效)
Bit 0:上部插孔的同步模块光纤连接质量被限制
Bit 1:下部插孔的同步模块光纤连接质量被限制
Bit 2 到 7: 0
后半段参见《冗余系统S7-400H官方培训资料》第五章 S7-400H系统信息及诊断
提问者对于答案的评价:
很详细
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc191305.html