到底是谁动了我的PLC输出

时间:2023-03-17作者:佚名
I/O - 输入输出,大家都非常熟悉,自动化系统中无处不在。我们通过操纵一系列的I/O来达到预期的控制目标。然而调试中却经常会出现一些不按预设逻辑工作的输出,如图1中所显示的,Q0.0~Q0.3已经接通了,但实际模板却没有输出,在变量表中监视这些地址,发现这些地址确实为断开状态。到底是谁动了我的输出呢?

到底是谁动了我的PLC输出
通常大家首先会考虑,可能程序的其他地方也使用了这些输出从而导致不正常,我们可以使用go to Location功能来查找整个项目中哪些地方都使用了Q0.0,如图2。

到底是谁动了我的PLC输出
在图3的Go to Location中选中“Overlapping access to memory access”可以查找项目中包含地址Q0.0的所有变量,但是发现除了在OB1的Network1有对Q0.0进行写操作的指令,即目前监视的位置外,再没有其他的地方使用这个地址。查到这可能很多人就不淡定了,认为自己的程序完全没有问题,接着开始抱怨模板问题,CPU问题。。。

到底是谁动了我的PLC输出
其实对程序的排查并没有完成,Go to Location功能只能搜索离线的程序,无法搜索实际在plc中运行的程序。一台PLC可能被下载过很多套程序,而我们拿来后,未经任何处理,就直接下载自己的项目到PLC,可能会遇到PLC在执行一些离线项目中并不存在的OB块的情况。例如曾经下载到PLC的程序中包含OB35,但目前的离线项目中却并没有使用OB35,PLC依然会周期执行OB35里的指令,如果OB35里包含对Q0.0的复位指令,也会出现图1所示的故障。STEP 7提供了一个简单的方法来排除这种情况:使用SIMATIC Manager 窗口下PLC菜单中的“Download User Program to Memory Card”功能重新下载项目程序,此功能会先删除PLC中所有的内容,然后再下载离线项目到PLC中,这样就能避免“隐藏”在PLC中程序的干扰。
另外还有一种情况是程序中使用了间接寻址,Go to Location功能只能搜索到已使用的静态地址,而无法确定需要在运行中动态计算出的地址。
例如:
CLR
= Q [MD100 ]
MD100不同的值将导致不同的Q点被复位
MD100 = 16#0 ,Q0.0 = 0
MD100 = 16#1 ,Q0.1 = 0
对于自己编写的程序,大家都确切的知道在哪使用了间接寻址,可以单独把这些程序段拿出来进行单步调试,以避免对地址的误操作,而调试由其他人编写的或厂家提供的功能块,甚至这些块被加密保护了,则只能使用排除法,先将这些块都删掉,然后再一点点添加到程序中,来判断是哪些程序段造成的错误输出。例如FM350-1 lib提供的功能块FC2,如果硬件组态时忘记将FM350-1的模板地址设置到指定的DB中,由于DB初始值默认都是0,就会影响QB0~QB15的输出。
最后为了快速定位到底是不是程序问题,一个简单的方法就是在线删掉PLC中所有OB块,然后在硬件组态窗口中启用模板的监视/修改(Monitor/Modify)功能,通过此对话框直接修改输出,如图4所示,输出显示都正常,说明问题还是出在程序上。

到底是谁动了我的PLC输出

热销商品

德国进口雅马哈风力灭火机大功率手提森林灭火器落叶工地吹雪机汽

德国进口雅马哈风力灭火机是一款高效、可靠的森林灭火和清理设备。它拥有大功率风机,能够迅速吹散落叶、杂草和积雪,有效清理工地和森林地面。这款灭火机采用先进技...
¥ 692.5

3M自粘橡胶条高硬度耐压实心幕墙玻璃舞台搭建货架专用减震密封条

3M自粘橡胶条是一款专为高要求工业及建筑场景设计的高性能密封减震材料,采用高硬度实心橡胶材质,具备优异的耐压性、抗老化性和持久弹性。其独特的自粘背胶设计,安装...
¥ 1.6

公牛官方旗舰店开关插座空调16A插座五孔10A面板暗装多孔G12白灰

公牛官方旗舰店提供一系列高质量的开关插座和空调配件。这款16A插座五孔面板采用暗装设计,适用于多种安装环境,如墙面、天花板等。它具有10A的电流容量,可以满足家庭...
¥ 5.55

电位器旋钮电流调节螺帽直流逆变电焊机二保焊送丝机通用旋钮B102

电位器旋钮电流调节螺帽适用于直流逆变电焊机和二保焊送丝机,是一款通用的旋钮B102。该旋钮采用优质材料制造,具有耐磨损、耐高温、耐腐蚀等特点,能够长时间稳定运行...
¥ 0.7

西门子开关插座无框皓彩米绒白亚光二三插USB10A五孔一开旗舰店

西门子开关插座无框皓彩米绒白亚光二三插USB10A五孔一开旗舰店,作为西门子品牌的专卖店,提供了一系列高品质、设计新颖的家居电气产品。这里销售的开关插座采用无框...
¥ 8.77

网站栏目