故事作者:伊默

最近创作

看看TA的故事

没有咱工程师解决不了的事儿----摊上事的时候,你得注意休息!

已锁定

伊默

西门子1847工业学习平台

  • 帖子

    4263
  • 精华

    118
  • 被关注

    220

论坛等级:至圣

注册时间:2003-10-24

白金 白金 如何晋级?

没有咱工程师解决不了的事儿----摊上事的时候,你得注意休息!

836

50

2013-04-15 17:26:06

        作者:伊默 


        话说上次出差,我连续在现场奋战了三十六个小时,没有睡觉,只吃了一顿饭!熬得脸色都白了…… 最后才发现只是一“小小”的问题!


       我们是做机械设备的。去年有一台设备是同事做的,PLC由314C-2PN/DP + CPU1214C(固件V2.2) + ET200S。设备已经上电了,结果由于一些原因该项目转到我的头上了。   正好我做的设备里有和这个非常类似的项目,只是控制系统是CPU314C-2PN/DP + CPU1215C(固件V3.0)+ ET200S (显然我喜欢用新东西,新东西一出来我就会尝试一下咯,呵呵)。   我想想这很简单嘛,把I/O地址重新改一下就基本差不多了。  


        现场第一天很顺利, 用EXCEL新建了PLC的I/O符号表,按照同事设计的地址对应导入PLC程序,重新编译下载到PLC,试运行一切正常,信心满满啊!  到了晚上生产另一种工艺,需要用到S7-1200的硬件IO中断,这时问题来了! 死活就是工作不正常,按照实际情况分析就是明明没有硬件中断产生,可是硬件中断连接的OB却被执行了! 按照以往的经验,首先想的就是干扰咯!尤其是这种硬件中断触发的条件!  说干咱就干呐! 打开PLC的系统设置,将中断对应点的滤波时间最小值改到6.4ms,蛮有信心地将程序编译了下载,可是我希望的事情并没有发生,现象依旧,动作还是不正常!


        开始有点纠结了,因为已经到了凌晨两点了!我还有两个同事,还有客户的生产人员都在陪着呢!有点小鸭梨了! 细细想想,肯定还是干扰的问题啊! 要不然不可能说是硬件没有触发结果却执行了程序啊!查线吧! 先将I/O线和动力母尽量分开,再将各分布式的IO的PE线重新检查固定,确认没有问题后重新上电开机,还是不行呀!杯具!


        整来整去的,已经搞到第二天早上七点了!还是没有一点头绪呀!想想还是先监控监控硬件中断OB吧! 在该中断内做了个寄存器的累加动作(就是每次OB执行就累加一),结果发现偶尔地该累加器的值会一直飚升! 可是外部的硬件应该是没有给信号呀! 这可奇怪了呀!


       时间是一直折腾到了第二天中午一点了! 没有一点头绪,完全是机械式地瞎猜出问题的可能性,甚至最绝望的时候想着,是不是PLC出问题了? 现场有两台机,我就真把另一台的1200给拆过来换了。可是,老天啊,奇迹还是没有发生呀! 这都熬得两眼通红,脸色发白了!  这时客户的老板(听说以前是搞PC软件开发出身的)过来了,简单了解了一下具体情况。 看到我这个狼狈样就说, 我看你有点累,脸色都不大好,还是先回去休息一下吧,晚上再来搞通宵! Oh,My lady gaga! 晚上还要接着通宵啊! 我这都已经连续36小时没休息了! 不过想着现在就能回去休息一下,我还是舒了口气的。 把东西收拾收拾,就回酒店了,赶紧吃了个饭,倒头就睡!  还没睡三个小时,一堆的电话就来了,烦烦烦! 电话一接,就再也睡不着了, 可是躺在床上却能安静地思考! 


        把整个过程重新捋了一下,硬件明明没有动作,可是中断OB却会连续执行。 这说明该OB是被触发了呀! 可是什么事件会触发该OB呢? 灵光一闪啊! 一个特定的OB可以由多个事件触发呀! 难不成会有别的中断事件也连接到了该OB块? 妈呀,我激动了,赶快开电脑,打开1200的系统设置,不看不知道一看吓一跳啊! 还真是有别的硬件上升沿连接到了该OB块,而且该硬件是设定为高速计数器输入的(该高速计数器接到外部的光栅尺上), 由于光栅尺的分辨率为0.1um,现场一点点位置变化就会触发该高速计数器输入点变化,从而就触发了对应OB的执行,至此终于找到问题了!  


        究其原因,还是由于1200V2.2版和V3.0版有些变化,V2.2版及以前的CPU如果使用高速脉冲输出则会占用相应的高速计数器! 而我原来的项目使用的是1215C由于是V3.0固件不存在这个问题, 同事做过的项目是1214C V2.2固件,使用了高速脉冲输出占用了高速计数器,所以我在IO分配上错开了这些特殊的点,可是偏偏又不小心没有去掉下多个硬件中断触发同一个OB程序块! 苍天啊,累死累活三十六个小时,还害同事客户一起陪着,就这个“小小”的问题啊! 


        事后反醒,项目过程中疏忽大意是一个因素,可是当问题发生时没有冷静去排查,而是偏着经验感性去分析问题,最终搞得越来越急躁,导致束手无策! 反倒是一个偶然的机会让我冷静下来,先休息一下,针绷紧的神经松松气,反倒会有灵光一闪的结局! 所以有的时候经验反被经验误,遇事不要太忙碌! 当你摊上事的时候,记得休息一下,没什么大不了的,或许你休息好了,问题就解决了!

没有咱工程师解决不了的事儿----摊上事的时候,你得注意休息! 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

网友专栏

共有3364条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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