为了防止OB122被调用,发生I/O访问失败时如何确定有缺陷的站

描述:
如果在程序中直接访问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)复制到块中。

为了防止OB122被调用,发生I/O访问失败时如何确定有缺陷的站 FUNCTION.pdf ( 4 KB )

关键词:
项目规划

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc330965.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日 下午12:03
下一篇 2021年4月12日 上午12:00

相关推荐

发表回复

登录后才能评论