6SL3220-1YE36-0AF0西门子G120X变频器 内置滤波器版
造成传输信号线短路或断路(由于机械拉扯,线路自身老化,特别是鼠害),当传输信号线出故障时,现场信号无法传送给PLC,造成控制出错;
2)机械触点抖动,现场触点虽然只闭合一次,PLC却认为闭合了多次,虽然硬件加了滤波电路,软件增加微分指令,但由于PLC扫描周期太短,仍可能在计数、累加、移位等指令中出错,出现错误控制结果;
3)现场变送器,机械开关自身出故障,如触点接触不良,变送器反映现场非电量偏差较大或不能正常工作等,这些故障同样会使控制系统不能正常工作。
影响执行机构出错的主要原因有:
1)控制负载的接触不能可靠动作,PLC发出了动作指令,但执行机构并没按要求动作;
2)控制变频器起动,由于变频器自身故障,变频器所带电机并没按要求工作;
3)各种电动阀、电磁阀该开的没能打开,该关的没能关到位,由于执行机构没能按PLC的控制要求动作,使系统无常工作,降低了系统可靠性。要提高整个控制系统的可靠性,必须提高输入信号的可靠性和执行机构动作的准确性,否则PLC应能及时发现问题,用声光等报好办法提示给操作人员,尽快排除故障,让系统安全、可靠、正确地工作。
系统调试
系统调试应首先按控制要求将电源、外部电路与输入输出端子连接好,然后装载程序于PLC中,运行PLC进行调试。将PLC与现场设备连接。在正式调试前全面检查整个PLC控制系统,包括电源、接地线、设备连接线、I/O连线等。在保证整个硬件连接正确无误的情况下即可送电。
把PLC控制单元的工作方式设置为“RUN”开始运行。反复调试可能出现的各种问题。在调试过程中也可以根据实际需求对硬件作适当修改以配合软件的调试。应保持足够长的运行时间使问题充分暴露并加以纠正。调试中多数是控制程序问题。一般分以下几步进行:
(1) 对每一个现场信号和控制量做单独测试;
(2) 检查硬件/修改程序;
(3) 对现场信号和控制量做综合测试;
(4) 带设备调试;
(5) 调试结束。
如果要使PLC多个输出为固定值 1 (常闭),可以采用字传送指令完成,例如 Q2.0、Q2.3、Q2.5、Q2.7同时都为1,可以使用一条指令将十六进制的数据0A9H直接传送QW2即可。
对于非重要设备,可以通过硬件上多个触点串联后再接入PLC输入端,或者通过PLC编程来减少I/O点数,节约资源。例如:我们使用一个按钮来控制设备的启动/停止,就可以采用二分频来实现。
模块化编程思想的应用:我们可以把正反自锁互锁转程序封装成为一个模块,正反转点动封装成为一个模块,在PLC程序中我们可以重复调用该模块,不但减少编程量,而且减少内存占用量,有利于大型PLC 程序的编制。
4 PLC控制系统程序的调试
PLC控制系统程序调试一般包括I/O端子测试和系统调试两部分内容,良好的调试步骤有利于加速总装调试的过程。
4.1 I/O端子测试
用手动开关暂时代替现场输入信号,以手动方式逐一对PLC输入端子进行检查、验证,PLC输入端子的指示灯点亮,表示正常;反之,应检查接线或者是I/O点坏。
我们可以编写一个小程序,在输出电源良好的情况下,检查所有PLC输出端子指示灯是否全亮。PLC输入端子的指示灯点亮,表示正常。反之,应检查接线或者是I/O点坏。
(1) PLC控制系统的程序设计思想。由于生产过程控制要求的复杂程度不同,可将程序按结构形式分为基本程序和模块化程序。
基本程序:既可以作为独立程序控制简单的生产工艺过程,也可以作为组合模块结构中的单元程序;依据计算机程序的设计思想,基本程序的结构方式只有三种:顺序结构、条件分支结构和循环结构。
模块化程序:把一个总的控制目标程序分成多个具有明确子任务的程序模块,分别编写和调试,后组合成一个完成总任务的完整程序。这种方法叫做模块化程序设计。我们建议经常采用这种程序设计思想,因为各模块具有相对独立性,相互连接关系简单,程序易于调试修改。特别是用于复杂控制要求的生产过程。
(2) PLC控制系统的程序设计要点。PLC控制系统I/O分配,依据生产流水线从前至后,I/O点数由小到大;尽可能把一个系统、设备或部件的I/O信号集中编址,以利于维护。定时器、计数器要统一编号,不可重复使用同一编号,以确保PLC工作运行的可靠性。
程序中大量使用的内部继电器或者中间标志位(不是I/O位),也要统一编号,进行分配。
在地址分配完成后,应列出I/O分配表和内部继电器或者中间标志位分配表。
彼此有关的输出器件,如电机的正/反转等,其输出地址应连续安排,如Q2.0/Q2.1等。
(3) PLC控制系统编程技巧。PLC程序设计的原则是逻辑关系简单明了,易于编程输入,少占内存,减少扫描时间,这是PLC 编程必须遵循的原则。下面介绍几点技巧。
PLC各种触点可以多次重复使用,无需用复杂的程序来减少触点使用次数。
同一个继电器线圈在同一个程序中使用两次称为双线圈输出,双线圈输出容易引起误动作,在程序中尽量要避免线圈重复使用。如果必须是双线圈输出,可以采用置位和复位操作