e.g.Q0.0~Q0.3设定为FC100'SWR_START'中的冗余映射,A站为主站
1.如果A站写Q0.0为1,B站在冗余程序FB101‘SWR_ZYK’外(不被跳过),写Q0.0为0,实际输出为啥?
2.如果A站写Q0.5为1,B站在冗余程序FB101‘SWR_ZYK’外(不被跳过),写Q0.5为0,实际输出为啥?
答:原理:
在软冗余系统进行工作时,主、备控制系统(处理器,通讯、I/O)独立运行,由主系统的plc掌握对冗余部分ET200M从站中的I/O控制权,主、备系统通过软冗余专用程序进行数据同步。PLC程序由非冗余(non-duplicated)用户程序段和冗余(redundantbackup)用户程序段组成,主系统PLC执行全部的用户程序,备用系统PLC通过判断冗余状态跳过冗余程序,只执行非冗余用户程序。当主系统中的组件发生故障,备用系统会自动切换为主系统,执行冗余程序,控制任务不会出现中断。
1.如果A站写Q0.0为1,B站在冗余程序FB101‘SWR_ZYK’外(不被跳过),写Q0.0为0,实际输出为啥?
B系统冗余程序不被跳过,只有在A系统组件发生故障时,备用系统会自动切换为主系统,执行冗余程序,如果A系统正常,则B系统PLC通过判断冗余状态跳过冗余程序。
所以,实际输出为0。
2.如果A站写Q0.5为1,B站在冗余程序FB101‘SWR_ZYK’外(不被跳过),写Q0.5为0,实际输出为啥?
B系统冗余程序不被跳过,只有在A系统组件发生故障时,备用系统会自动切换为主系统,执行冗余程序,如果A系统正常,则B系统PLC通过判断冗余状态跳过冗余程序。
所以,实际输出为0。