704工程
级别: 探索解密
精华主题: 0
发帖数量: 35 个
工控威望: 134 点
下载积分: 740 分
在线时间: 25(小时)
注册时间: 2017-06-03
最后登录: 2024-01-15
查看704工程的 主题 / 回贴
楼主  发表于: 2020-04-22 15:33
如题:

在一个项目中,使用的是FX5U的PLC,内部使用了几个FB块。

那么,FB块中,编程时,内部使用了几个上升沿(使用的是,局部标签,输入类型),我需要把这个FB块重复调用几次,这样,会不会出问题?



详细:

食品机械行业,某个项目,有个机构,上面安装了几个光电,每个光电感应到不锈钢盘子时,PLC会相应作出动作。

因为有两个机构(编号AB),动作完全一样,所以,写了一个FB块,调用了两次。

FB块外部管脚,输入信号,是光电的常开信号,FB块内部,用的是这个输入信号的上升沿。


但现在的问题是,其中 B 机构,从来没出过问题,A机构经常感应不到盘子。频率很高。

程序的顺序,是A调用的FB块,在B调用的上面。


也考虑过不锈钢的反光率太高的问题,也用的是漫反射光电。但是同样的光电,B机构干同样的活,从来没出现过这种问题啊。于是,就怀疑,是否是这个被多次调用的FB块,内部用了上升沿的问题。

对了,光电换过几次,不管用。   光电品牌,先是易福门的   06H201,也用过施克的 GTE6。

如果考虑光线反射的问题,难不成,真得换成对射的?
nbtr小赖
级别: 家园常客
精华主题: 0
发帖数量: 161 个
工控威望: 577 点
下载积分: 566 分
在线时间: 69(小时)
注册时间: 2019-08-28
最后登录: 2023-07-18
查看nbtr小赖的 主题 / 回贴
1楼  发表于: 2020-04-27 11:23
works3的话,FB类型改成宏程序就好,里面的变量地址是独立的,上一个不影响下一个,但是假如你程序里用到了变址寄存器Z的话,建议做头存尾还原的操作,具体就是程序第一行将所有会用到的Z单独存在一个局部变量里,然后程序最后一行将值还原回去。