描述:
如果在程序中直接访问I/O而不使用PCS7驱动块,当I/O失败时就会产生每次访问都会调用OB122(I/O访问失败)的问题。这就会使CPU超载。如果I/O失效,就应该 确定受影响的站以及禁用I/O访问。
OB86包含这一过程所需的启动信息。可用SFC6(RD_SINFO)读出这些信息。
下面所附的功能块对SFC6 (RD_SINFO)作相应的评估。必须将OB86与OB100中的块结合. 不得在循环OB中调用该块。
如果在OB100中调用所附的FB (FUNCTION.pdf),必须在源代码中,对于启动CPU时出现机架故障的情况手动地为设定需要的变量预设置值。最好对所有的变量都进行设置,从而使 全部I/O都可被访问 一旦发生I/O失败,该变量被复位。
如果OB86(机架故障)被调用,就能确定机架是否失败或恢复。输出 QRACKF(失败)和QRACKOK(机架恢复)相应地被置为 1 。输出SUBN_ID 规定了子网的号,以及故障站的输出RACK_NO与 PROFIBUS地址。这些值始终只对功能块的一次调用有效。
参考SFC6 (RD_SINFO)与OB86的在线帮助可得到更多关于评估的信息。
在建议的评估中必须为每个被监控的站定义一个变量 这一变量在站失败时被置为 1 ,站恢复时又被置为 0 。根据这一变量,对I/O的访问必须被禁用以防止OB122被调用。还可选择在块中定义一个根据状态设置的布尔(开关量)输出。
在编译SCL代码前必须将SFC6 (RD_SINFO)复制到块中。
FUNCTION.pdf ( 4 KB )
关键词:
项目规划
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc330965.html