200smart编译报警的理解

已锁定

WWCWWC

西门子1847工业学习平台

  • 帖子

    9206
  • 精华

    158
  • 被关注

    1480

论坛等级:至圣

注册时间:2008-07-26

钻石 钻石 如何晋级?

200smart编译报警的理解

8616

9

2023-03-16 10:32:41

200smart编译报警的理解

  今天下午,公司同事打电话给我,让我帮忙看看公司一个工厂的自动钻孔机无法启动喷淋、润滑问题(钻孔过程中的一种冷却和润滑泵的启动功能)。

我到现场,同事已经将用户程序上传,几个关键输出点的硬件连接也基本查询好了,就等我过去确认了。问题非常简单,很快通过在线监控查找到无法喷淋是由于钻孔工位的一个门关闭的信号没有到位(事后才知道的),地址是I2.6无法满足输出。因为是上传程序,没有必要的注释,也不清楚这个I2.6是哪一路外部输入信号。让公司同事拿来电气原理图,很快找到该输入信号的钻孔工位的关闭信号,是气缸下降到位的磁性开关检测信号,稍微调整一下位置,尝试着进入工件后,钻孔上压板下降到位后,喷淋正常了。过程处理非常简单,没有悬念。而今天要写的帖子的起因是公司同事问我,如何把原程序的注释复制到新上传上来的用户程序。我让公司同事打开原程序,编译后将“符号表”复制到上传的程序中,后保存就可以了。同事操作了几次,说编译无法通过,我看了看,原来所谓的原程序编译时有报警,双击报警信息,软件很快搜索到报警的网络段,我为了说明编译报警,把原程序做了一些简化,程序很简单,原程序是做一个一分钟的计数器脉冲控制,图示:

  编译后,出现“程序段 1:错误 58: 多堆栈指令(CTU、CTD、CTUD、SBRx)不支持将布尔输入逻辑与垂直线互连”。报警信息很直观,计数器的R管脚输入使能V1.0触点,不允许直接连接到SM0.0的触点下。修改程序后,能够编译通过了,图示:

  因为在现场维保设备,没有时间细想,这样的程序编辑为什么会报警,因为此程序简单被我记了下来,晚上吃完饭后,我想起这个事情,打开电脑来还原当时的编译报警。编译报警很清楚的提示,当计数器或者子程序调用时,是不允许垂直堆栈指令下应用,我尝试着创建几个子程序,再次测试,看编译是否出错,利用SM0.0无条件调用,图示:

  无条件调用SBR_0和SBR_1,并没有出现如同计数器编辑那种的编译错误。重新编辑一个稍微复杂一些的SBR_0子程序,编译后,报警出现了,图示:

  但是,报警内容是“程序段无效,或过于复杂”的错误。此,我对开始的编译错误计数器及子程序SBR_的报警不理解,明明按计数器报警时的做法调用子程序,并没有出现报警信息。


200smart编译报警的理解 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有9127条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。