我最近遇到一个令人相当郁闷的问题,希望有从事汽车行业自动化的前辈可以帮帮我。
我从事的是汽车行业的自动化设计,现在正在汽车厂里面进行滚边机器人工作站的调试工作,CPU用的是315-2DP,转台上的阀岛用的是日本的SMC品牌(该阀岛作为一个从站连接在PROFIBUS网络中),上面有很多传感器线的接口,这些接口将现场的传感器信号收集起来、并且通过网络送到CPU。传感器用的是图尔克品牌,也就是那种接近开关。当有金属接近传感器的时候,传感器上面有个黄色的指示灯会亮,程序中也会收到相应的 I 点的信号。我目前遇到的问题是:当金属之前靠近传感器,但是紧接着离开传感器的探测距离的时候,传感器上面的黄色指示灯灭了,但是,但是,但是,程序中还会收到对应的 I 点信号。比若说传感器A,对应的点是I 0.0。现在传感器A没有感应到任何物体,但是程序里面还是有对应的 I0.0有信号。这下问题就来了,反正这个会导致很严重的后果,在这里一两句也说不清楚。出现这个问题后,我把阀岛的24VDC电源断掉,然后重新上电,恢复正常,可是每隔一段时间就会出现类似的问题,我想找个治本的办法。
传感器的质量应该没有问题(之前那批传感器我全部更换了,不可能新更换的一批传感器全部都有质量问题吧,德国的东西质量应该比较可靠),传感器线放在桥架里面,和380V动力电压已经隔开,但是不可能保证一点也不受380V的干扰。再说阀岛上有很多传感器的信号,其他的传感器(都是一样的品牌)不出现这个问题,唯独这一个出现这样的问题,而且后果很严重。
首先,请各位前辈帮我分析下出现这样问题的原因,是传感器质量问题?传感器线的问题?受380V的干扰?阀岛的质量问题?还是CPU访问I/O模块出错?
目前我认为极有可能是最后一种可能,即CPU访问I/O模块出错。我查了资料的,OB122是专门用来处理这类问题的,但是我不知道在OB122里面写些什么内容。应该怎么写?但是不让CPU停机。最终输出一个变量,比如M0.0=1,然后我再利用M0.0去写逻辑。
说了这么多,就是不知道0B122该如何写?上网查了,也没有找到合适的例子。
求指教,不甚感激!