7
6ES7222-1BD22-0XA0型号参数
PLC程序较好的评价标准是实践。看程序能否达到预期的目的。但这还不够。因为能达到目的的程序还有好与不好之分。到底什么样的程序才算好的程序呢?大体有如下几个方面:
1、简短性
使PLC程序尽可能简短,也是应追求的目标。
简短的程序可以节省用户存储区;多数情况下也可节省执行时间,提高对输入的响应速度,还可提高程序的可读性。
程序是否简短,一般可用程序所用的指令条数衡量,用的条数少,程序自然就简短。
要想程序简短,从大的方面讲,要优化程序结构,用流程控制指令简化程序,从小的方面讲还要用功能强的指令取代功能单一的指令,以及注意指令的安排顺序等。
2、省时性
程序简短可以节省程序运行时间,但简短与省时并不完全是一回事。因为运行程序时间虽与程序所拥有指令条数有关,而且还与所使用的是什么指令有关。PLC指令不同,执行的时间也不同。而且,有的指令,在逻辑条件ON时执行与在OFF时执行其时间也不同。另外,由于使用了流程控制指令,在程序中,不是所有指令都要执行等。所以,运行程序的时间计算是较复杂的。但要求其平均时间少,较大时间也不太长是必要的。这样可提高PLC的响应速度。
省时的关键是用好流程控制指令。按情况确定一些必须执行的指令,作*部分,其余的可依程序进行,有选择地执行,或作些分时工作的设计,避免较大时间太长等。
3、可读性
要求所设计的程序可读性要好。这不仅便于程序设计者加深对程序的理解,便地调试,而且,还要便于别人读懂你的程序,便于使用者维护。必要时,也可使程序推广。
要使程序可读性好,所设计的程序就要尽可能清晰。要注意层次,实现模块化,以至于用面向对象的方法进行设计。要多用一些标准的设计。
再就是I/O分配要有规律性,便于记忆与理解。必要时,还要做一些注释工作。内部器件的使用也要讲规律性,不要随便地拿来就用。
可读性在程序设计开始时就要注意。这不易完全做到。因为在程序调试的过程中,指令的增减,内部器件的使用变化,可能使原较清晰的程序,变的有些乱。所以在设计时就对调试增减留有一定的余地,然后调试完毕后再做一下整理,这样所设计的程序具有更高的质量。
4、正确性
PLC的程序一定要正确,并要经过实际工作验证,其能够正确工作。这是对PLC程序的较根本的要求,若这一点做不到,其它的再好也没有用。
要使程序正确,一定要准确的使用指令,正确的使用内部器件。准确的使用指令与准确理解指令相联系,为此对指令含义和使用条件一定要弄清楚。必要时,可编些小程序对一些不清楚的指令作些测试。
同一指令,由于PLC的出厂批次不同或是PLC的系列型号的不同,一些指令细节有可能不一样,应仔细查阅编程手册。
内部器件正确使用也是重要的。如有的PLC有掉电保护,(信息来源://www..cn)有的PLC没有。一定要做到该掉电保护的一定要用掉电保护的器件,反之则不能用。
总之,要准确的使用指令,正确使用内部器件,使所编的程序能正确要作,这是对PLC程序较根本的要求。
5、可靠性
程序不仅要正确,还要可靠。可靠反映着PLC程序的稳定性,这也是对PLC程序的基本要求。
有的PLC程序,在正常的工作条件下或合法操作时能正确工作,而出现非正常工作条件(如临时停电,又很快再通电)或进行非法操作(如一些按钮不按顺序按,或同时按若干按钮)后,程序就不能正常工作了。这种程序,就不大可靠,或说不稳定,就是不好的程序。
好的PLC程序对非正常工作条件出现,能予以识别,并能使其与正常条件衔接,可使程序适应于多种情况。好的PLC程序对非法操作能予以拒绝,且不留下“痕迹”。只接受合法操作。
联锁是拒绝非法操作常用的手段,继电电路常用这个方法,PLC也可继承这个方法。
6、易改性
要使程序易改,也就是要便于修改。
PLC的特点之一就是方便,可灵活地适用于各种情况。其办法就是靠修改或重新设计程序。
重新设计程序用于改变PLC工艺的用途要求的情况,不仅程序重编,而且I/O也要重新分配。多数情况下不需要重编程序,作一些修改就可以了。这就要求程序具有易性,便于修改。
易改也就是弹性,要求只要作很少的改动,即可达到改变参数或理改动作的目的。
在设计PLC程序的过程中,能够满足以上6方面的要求的就能称的上是一个好程序了。PLC程序现场调试通过后,才可以交给用户使用,或试运行。现场调试要事先编制好调试大纲。依照大纲,按部就班地一步步推进。开始调试时,设备可先不运转,甚至了不要带电。可随着调试的进展逐步加电、开机、加载,直到按额定条件运转。具体过程大体是:1要查接线、核对地址。要逐点进行,要确保正确无误。可不带电核对,那就是查线,较麻烦。也可带电查,加上信号后,看电控系统的动作情况是否符合设计的目的。2检查模拟量输入输出。看输入输出模块是否正确,工作是否正常。必要时,还可用标准仪器检查输入输出的精度。3检查与测试指示灯。控制面板上如有指示灯,应先对应指示灯的显示进行检查。一方面,查看灯坏了没有,另一方面检查逻辑关系是否正确。指示灯是反映系统工作的一面镜子,先调好它,将对进一步调试提供方便。4检查手动动作及手动控制逻辑关系。完成了以上调试,继而可进行手动动作及手动控制逻辑关系调试。要查看各个手动控制的输出点,是否有相应的输出以及与输出对应的动作,然后再看,各个手动控制是否能够实现。如有问题,立即解决。5半自动工作。如系统可自动工作,那先调半自动工作能否实现。调试时可一步步推进。直至完成整个控制周期。哪个步骤或环节出现问题,就着手解决哪个步骤或环节的问题。6自动工作。在完成半自动调试后,可进一步调试自动工作。要多观察几个工作循环,以确保系统能正确无误地连续工作。7模拟量调试、参数确定。以上调试的都是逻辑控制的项目。这是系统调试时,首先要调通的。这些调试基本完成后,可着手调试模拟量、脉冲量控制。较主要的是选定合适控制参数。一般讲,这个过程是比较长的。要耐心调,参数也要作多种选择,再从中选出较优者。有的PLC,它的PID参数可通过自整定获得。但这个自整定过程,也是需要相当的时间才能完成的。8完成上述所有的步骤,整个调试基本算是完成了。但较好再进行一些异常条件检查。看看出现异常情况或一些难以避免的非法操作,是否会停机保护或是报警提示。任何设备的异常,都反应调试的结果,要具体分析具体对待。
PLC在工作中很容易受到周围电磁的干扰,可能会出现工作不稳定的现象,这些电磁干扰主要来自空间的辐射,系统外引线,电源,以及接地混乱等,所以在安装布线的时候必须加以处理。
PLC在工作中很容易受到周围电磁的干扰,可能会出现工作不稳定的现象,这些电磁干扰主要来自空间的辐射,系统外引线,电源,以及接地混乱等,所以在安装布线的时候必须加以处理。
(1)来自空间的辐射干扰
空间的辐射电磁场(EMI)主要是由电力网络、电气设备的暂态过程、雷电、无线电广播、电视、雷达、高频感应加热设备等产生的,通常称为辐射干扰,其分布较为复杂。若PLC系统置于所射频场内,就回收到辐射干扰,其影响主要通过两条路径;一是直接对PLC内部的辐射,由电路感应产生干扰;而是对PLC通信内网络的辐射,由通信线路的感应引入干扰。辐射干扰与现场设备布置及设备所产生的电磁场大小,特别是频率有关,一般通过设置屏蔽电缆和PLC局部屏蔽及高压泄放元件进行保护。
(2)来自系统外引线的干扰
主要通过电源和信号线引入,通常称为传导干扰。这种干扰在我国工业现场较严重。
(3)来自电源的干扰
实践证明,因电源引入的干扰造成PLC控制系统故障的情况很多,笔者在某工程调试中遇到过,后更换隔离性能更高的PLC电源,问题才得到解决。
PLC系统的正常供电电源均由电网供电。由于电网覆盖范围广,
将受到所有空间电磁干扰而在线路上感应电压和电路。尤其是电网内部的变化,开关操作浪涌、大型电力设备起停、交直流转动装置引起的谐波、电网短路暂态冲击等,都通过输电线路到电源边。PLC电源通常采用隔离电源,但其机构及制造工艺因素使其隔离性并不理想。实际上,由于分布参数特别是分布电容的存在,**隔离是不可能的
1.程序家族有哪些成员?
PLC的控制程序一般由主程序、子程序和中断程序组成。西门子的S7-300/400将子程序分为功能(Function,或称为函数)和功能块(Function Block)。
在每一个扫描循环周期,CPU都要调用一次主程序,用户程序必须有一个并且只能有一个主程序。小型控制系统可以只有主程序。
中断程序用于快速响应中断事件。在中断事件发生时,CPU将停止执行当时正在处理的程序或任务,去执行用户编写的中断程序。执行完中断程序后,继续执行被暂停执行的程序或任务。
2.哪些情况需要使用子程序?
当系统规模很大、控制要求复杂时,如果将全部控制任务放在主程序中,主程序将会非常复杂,既难以调试,也难以阅读。使用子程序可以将程序分成容易管理的小块,使程序结构简单清晰,易于调试、查错和维护。
子程序也可以用于需要多次反复执行相同任务的地方,只需要编写一次子程序,别的程序在需要的时候多次调用它,而*重写该程序。
3.怎样调用子程序?
主程序可以调用子程序,子程序也可以嵌套调用别的子程序。嵌套调用的层数是有限制的,例如S7-200的较大嵌套深度为8级。
执行完子程序后,返回调用它的程序中的调用指令的下一条指令。
4.每个扫描周期都会执行子程序吗?
子程序的调用可以是有条件的,在被调用期间,每个扫描周期都要执行一次被调用的子程序。调用条件不满足时不会执行子程序中的指令,因此使用子程序可以减少扫描循环时间。
5.停止调用子程序后,子程序中的线圈处于什么状态?
停止调用子程序后,不再执行子程序中的指令。子程序中线圈对应的编程元件如果没有受到别的程序的控制,将保持子程序最后一次执行后的状态不变。即使控制这些线圈的触点的状态变化,该线圈对应的元件的状态也不会变化,因为这时根本就没有执行子程序中的指令。
6.怎样实现子程序的无条件调用?
有的PLC的子程序调用指令不能直接接到左侧的垂直“电源”线上,需要通过触点电路来控制是否调用子程序,即子程序的调用是有条件的。可以用一直为ON的特殊位元件(例如S7-200的SM0.0或FX系列的M8000)的常开触点来实现子程序的无条件调用。不同品牌的PLC的子程序大致可以分为两种,一种子程序没有输入、输出参数和局部变量,另一种则有。
1.什么是全局变量和局部变量?
以西门子的S7-200为例,输入I、输出Q、变量存储器V、内部存储器位M、定时器T、计数器C等属于全局变量,可以在符号表中为全局变量定义符号名。
程序组织单元(Program Organizational Unit)简称为POU,包括主程序、子程序和中断程序。每个POU均有自己的64字节局部变量,局部变量用L(Local)来表示,局部变量只能在它所在的POU中使用。与此相反,全局变量可以在各POU中使用。
2.局部变量有哪些类型?
子程序可以使用下列局部变量:
1) TEMP (临时变量)是暂时保存在局部数据区中的变量。只有在执行该POU时,定义的临时变量才被使用,POU执行完后,不再保存临时变量的数值。主程序和中断程序的局部变量表中只有TEMP变量。
2) IN(输入参数)由调用它的POU提供的传入子程序的输入参数。
3) OUT(输出参数)是子程序的执行结果,它被返回给调用它的POU。
4) IN_OUT(输入_输出参数)的初始值由调用它的POU传送给子程序,并用同一变量将子程序的执行结果返回给调用它的POU。
主程序和中断程序的局部变量表中只有临时变量TEMP。
3.子程序的输入、输出参数有什么作用?
具有输入、输出参数和局部变量的子程序易于实现结构化编程,对于长期生产同类设备或生产线的厂家尤为有用。编程人员为设备的各部件或工艺功能编写了大量的通用的子程序。即使不知道子程序的内部代码,只要知道子程序的功能和输入、输出参数的意义,就可以用它们快速“组装”出满足不同的用户要求的控制程序。就好像可以用数字集成电路芯片组成复杂的数字电路一样。
如果子程序没有输入、输出参数,这种子程序没有明确的软件接口,使用起来很不方便。
4.局部变量有什么优点?
1) 子程序如果没有局部变量,它和调用它的程序之间只能通过全局变量来交换数据,子程序内部也只能使用全局变量。将它移植到别的项目时,需要对各POU使用的全局变量作统一安排,以保不会出现冲突。当程序很复杂,子程序很多时,这种地址分配是很花时间的。
如果子程序有局部变量,并且在子程序中只使用局部变量,不使用全局变量,因为与其他POU没有冲突,不作任何改动,就可以将子程序移植到别的项目中去。
为了减少移植子程序的工作量,在子程序中应尽量避免使用全局变量和全局符号。
2) 如果使用局部变量表中的临时变量(TEMP),同一片物理存储器可以在不同的程序中重复使用。下面以S7-200为例,介绍子程序的编程和调用的过程。
1.创建子程序
生成项目时,自动生成一个子程序。打开程序编辑器,执行“编辑”菜单中的命令“插入”→“子程序”,将自动生成和打开新的子程序。
2.生成局部变量
名为“模拟量计算”的子程序如下图所示,在该子程序的局部变量表中,定义了3个输入(IN)参数,一个输出(OUT)参数,和名为“暂存1”的临时(TEMP)变量。局部变量表较左边的一列是自动分配的每个变量在局部存储器(L)中的地址。
PLC程序的调试可以分为模拟调试和现场调试两个调试过程,在此之前首先对PLC外部接线作仔细检查,这一个环节很重要。外部接线一定要准确无误。也可以用事先编写好的试验程序对外部接线做扫描通电检查来查找接线故障。
为了安全考虑,较好将主电路断开。当确认接线无误后再连接主电路,将模拟调试好的程序送入用户存储器进行调试,直到各部分的功能都正常,并能协调一致地完成整体的控制功能为止。据电工论坛李工介绍,程序的具体调试要按照以下的方法进行。
1.程序的模拟调试
将设计好的程序写入PLC后,首先逐条仔细检查,并改正写入时出现的错误。用户程序一般先在实验室模拟调试,实际的输入信号可以用钮子开关和按钮来模拟,各输出量的通/断状态用PLC上有关的发光二极管来显示,一般不用接PLC实际的负载(如接触器、电磁阀等)。可以根据功能表图,在适当的时候用开关或按钮来模拟实际的反馈信号,如限位开关触点的接通和断开。
对于顺序控制程序,调试程序的主要任务是检查程序的运行是否符合功能表图的规定,即在某一转换条件实现时,是否发生步的活动状态的正确变化,即该转换所有的前级步是否变为不活动步,所有的后续步是否变为活动步,以及各步被驱动的负载是否发生相应的变化。
在调试时应充分考虑各种可能的情况,对系统各种不同的工作方式、有选择序列的功能表图中的每一条支路、各种可能的进展路线,都应逐一检查,不能遗漏。发现问题后应及时修改梯形图和PLC中的程序,直到在各种可能的情况下输入量与输出量之间的关系完全符合要求。
如果程序中某些定时器或计数器的设定值过大,为了缩短调试时间,可以在调试时将它们减小,模拟调试结束后再写入它们的实际设定值。在设计和模拟调试程序的同时,可以设计、制作控制台或控制柜,PLC之外的其他硬件的安装、接线工作也可以同时进行。
2.程序的现场调试
程序的现场调试完成上述的工作后,将PLC安装在控制现场进行联机总调试,在调试过程中将暴露出系统中可能存在的传感器、执行器和硬接线等方面的问题,以及PLC的外部接线图和梯形图程序设计中的问题,应对出现的问题及时加以解决。如果调试达不到指标要求,则对相应硬件和软件部分作适当调整,通常只需要修改程序就可能达到调整的目的。全部调试通过后,经过一段时间的考验,系统就可以投入实际的运行了。