来自西门子技术支持热线的故事:一个上升沿引发的现象

已锁定

西门子Auto

官方工程师

  • 帖子

    132
  • 精华

    16
  • 被关注

    227

论坛等级:侠圣

注册时间:2007-08-03

普通 普通 如何晋级?

来自西门子技术支持热线的故事:一个上升沿引发的现象

7472

28

2012-03-23 11:57:50

作为一名西门子技术热线工程师,每天都会通过电话接触到全国各地的客户,会遇到各种各样的问题。解答问题的过程有点像中医里的望闻问切,通过客户的描述,对客户引导和询问,抽丝剥茧,从表面的现象,找到问题的根源。有时候,现象很离奇,原理其实并不复杂。
一次,碰到有位客户在现场调试,他很着急,告诉我说他有一套CPU226,原本运行正常,现在由于工艺需要,他在程序里添加了一个网络,里面包含一条定时器指令,令他感到奇怪的是编译时一切正常,然而在程序下载即将完成时却会报错(见图1):



(图1)
客户查看了PLC信息,发现有非致命错误91:“范围错误(带地址信息);检查操作数范围”。错误正好指向他刚刚添加的那个网络。将该网络删掉,即可正常下载和运行(见图2)。



(图2)
听到这里,我心想一定是这个网络有问题,正要开口,然而客户接下来的描述却令我有些吃惊,他告诉我,如果新建的网络不动,把原先任何一个含定时器的网络删掉,也可以正常下载和运行!客户很迷惑,甚至有点怀疑200PLC。
看来这个问题并不简单。那么,这个听起来甚是离奇的现象,背后究竟隐藏着什么样的原因呢?
我理了理思路:嗯,多半是程序的问题,只是根据客户目前的描述,还无法判断,需要他提供更多的信息。
关键词一:定时器。经过询问,客户强调自己使用了几十个定时器,他已经仔细检查过,定时器的类型和编号是正确对应的。
继续引导,这些定时器指令是怎么触发的,每个网络里还有什么指令吗?它们有哪些相同点?客户告知,定时器指令用一个开点触发,同时在一个网络里这个开点还通过上升沿指令触发一些置(复)位指令。
关键词二:上升沿。问题很可能就在这里。于是询问客户使用了多少个边沿指令,客户说程序差不多有7k,用了很多边沿指令。于是我建议他删掉几个试试。果然,客户之前的程序已经用到了256个边沿指令,而我们的200plc最多同时可以有256个边沿指令。客户增加的那个网络里恰好有一个上升沿,就多了这一个,导致下载报错。而删掉其他的网络,因为里面有边沿指令,所以也会恢复正常。
S7-200系统手册告诉我们,200PLC均支持256个正/负跳变,也就是上升沿和下降沿一共可以使用256个(见图3)。



(图3)
点击菜单“调试”------“RUN(运行)模式下程序编辑”,一方面,可以在程序中看到所使用的边沿指令的序号(见图4):



(图4)
另一方面,可以在交叉引用里看到沿使用的数量(见图5):



(图5)
那么,如果像这位客户碰到的情况,程序的确比较大,256个边沿指令不够用,那该怎么办呢?一方面,可以优化程序;另一方面,可以使用相关的库指令。于是一一告知客户,并将指令库下载和使用说明的链接发给了他。
详见:http://support.automation.siemens.com/CN/view/zh/17542200

原理在手册上就几个字,而引发的现象可能会使当局者迷。无论是客户还是我们自己,都在不断学习新东西,遇到新问题。记得一位专家曾和我们分享他的方法:“。。。正向学习是学习手册,了解掌握相关的知识,是一个量的积累过程;反向学习是在遇到问题时,对问题进行分析、判断到最终解决,期间对所学知识进行综合、深入、融合的过程。正向与反向不断转换。。。”
一个上升沿,一个故事,一点体会,与大家分享和共勉。
来自西门子技术支持热线的故事:一个上升沿引发的现象 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33080条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

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