为什么 FM352-5 有嵌套程序时会出现错误?


n

在 STEP 7 编程语言梯形图 (LAD) 和功能块图 (FBD),当使用 FM352-5 编译时会发生错误。n

以下信息是针对 LAD 和 FBD 的。
推荐在多段 network 中使用以下解决方案n

注意:
如果工作在调试模式,所有的例子都将被正确地执行。这是因为程序没有运行在 FM352-5 模块中,而是在 CPU存储器中。n

有效性:
Programming Tools V1.2.1.0 的下一个发布的版本将清除这种编译器行为。n

LAD 解决方案
如果使用 OR 连接直接从总线连接一个或多个嵌套子逻辑回路将会发生编译错误。n

为什么 FM352-5 有嵌套程序时会出现错误?
图01: 第二个顺序程序中带有嵌套逻辑的 OR 连接n

因为第二 (2) 顺序中有嵌套,在执行编译时产生错误。
编译器使 OR 连接成为第一个子逻辑 (1)与触点#Din[0] 的连接功能替代第二个子逻辑的功能。n

通过在 network 的开始进行逻辑嵌套做补救措施
为了避免编译错误,先编写嵌套子逻辑 (3) ,然后编写无嵌套的子逻辑 (4) 。n

为什么 FM352-5 有嵌套程序时会出现错误?
图02: 第二顺序控制使用简单逻辑进行 OR 连接n

因为顺序控制 4 是一个简单的连接,顺序 3 和 4 的 OR 连接在编译后产生正确结果。n

通过分离成几个单独的 network (首选的解决方案)
如果可能,通常应该将顺序控制分解成几个独立的 network避免编译错误发生。n

为什么 FM352-5 有嵌套程序时会出现错误?
图03: Network 1n

为什么 FM352-5 有嵌套程序时会出现错误?
图04: Network 2n

为什么 FM352-5 有嵌套程序时会出现错误?
图05: Network 3

因为顺序 5 和 6 在不同的 network 中, 逻辑编译正确。顺序 7 的逻辑现在变为了简单的 OR 连接,并且不会产生编译错误。

FBD 解决方案
如果使用 OR 连接直接从总线连接一个或多个嵌套子逻辑回路将会发生编译错误。

为什么 FM352-5 有嵌套程序时会出现错误?
图06: 第二个顺序程序中带有嵌套逻辑的 OR 连接

因为第二 (2) 顺序中有嵌套,在执行编译时产生错误。
编译器使 OR 连接成为第一个子逻辑 (1)与触点#Din[0] 的连接功能替代第二个子逻辑的功能。

通过在 network 的开始进行逻辑嵌套做补救措施
为了避免编译错误,先编写嵌套子逻辑 (3) ,然后编写无嵌套的子逻辑 (4) 。

为什么 FM352-5 有嵌套程序时会出现错误?
图07: 第二顺序控制使用简单逻辑进行 OR 连接

因为顺序控制 4 是一个简单的连接,顺序 3 和 4 的 OR 连接在编译后产生正确结果。

通过分离成几个单独的 network (首选的解决方案)
如果可能,通常应该将顺序控制分解成几个独立的 network避免编译错误发生。

为什么 FM352-5 有嵌套程序时会出现错误?
图08: Network 1

为什么 FM352-5 有嵌套程序时会出现错误?
图09: Network 2

为什么 FM352-5 有嵌套程序时会出现错误?
图10: Network 3

因为顺序 5 和 6 在不同的 network 中, 逻辑编译正确。顺序 7 的逻辑现在变为了简单的 OR 连接,并且不会产生编译错误。

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

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

相关推荐

发表回复

登录后才能评论