打开程序后,至少有一个被作为子程序调用的块不可用

在机床上下了个PLC程序,打开OB1提示"至少有一个被作为子程序调用的块不可用",点击确定程序能打开,其中有几段"call"和"ENDCALL"是红的,这是怎么回事.
 Call
      BLD   1
      =     L     21.0
      UC    FC   184
            P#L 20.0
      BLD   2
      End Call
M023: NOP   0
      AN    DB99.DBX   10.7
      JC    M022
      Call
      BLD   1
      =     L     21.0
      UC    FC   184
            P#L 20.0
      BLD   2
      End Call

问题补充:
还有几句,"IN0="是红的,等于号后没有数值,这程序是从机床上下载下来的呀,不可能程序编的时候不写值,怎么回事.

AN    DB99.DBX  693.2
      JC    M021
      CALL  FC   231
       IN0:=

最佳答案

这个可能是由梯形图转换转换的,程序不完整,CALL语句没有指定具体的块。
看看这个帖子。
http://www.ad.siemens.com.cn/club/bbs/post.aspx?b_id=4&a_id=907973&s_id=0&num=3

提问者对于答案的评价:
后来看一下是没有有这个块,可能程序改过,改的不完整,老外的设备,但还是不明白程序不完整PLC也能运行.

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年11月29日
下一篇 2017年11月29日

相关推荐