PLC自我总结

  • 格式:docx
  • 大小:41.69 KB
  • 文档页数:23

PLC自我总结

第一篇:PLC自我总结

本次PLC实训使我对PLC系统设计的过程有了一个清晰的认识,它包括控制方案、系统功能设计、系统示意图、PLC的选型、I/O口的点数及地址分配、电气原理回路设计、流程图、PLC程序设计(包括梯形图和指令表)、系统调试等。

本次PLC实训是设计一个具有一定功能的液体混合机(2种及以上液体),利用不同位置的液位传感器在液体淹没时为ON,来控制不同进液电磁阀的打开,使液体进入搅拌器;进行放液时,当液面低于位置最低的液位传感器时,放液电磁阀关闭。SB1为启动按钮,SB0为停止按钮。SQ1、SQ2、SQ3为功能选择开关,每个开关有两种状态ON、OFF,三个开关可以组合8种不同状态,可实现8种不同的功能。我们设计的液体混合机系统可实现7种不同的进液功能,包括2、3、4种不同液体的混合。通过功能选择开关SQ1、SQ2、SQ3的不同状态的组合,可分别实现这7种功能。首先使SQ1、SQ2、SQ3至于某一种功能状态,再按启动按钮,液体混合机装置自动运行,直到完成此功能。如要再次执行,只需按下启动按钮SB1;停止按钮SB0可在任意时刻停止机器工作。

编写本程序的一个重要思路是利用主控指令MC和指控复位指令MCR,模块化实现这7种功能。具体思路:每一种功能可在一组MC、MCR之间编写,这样7种功能就形成7组MC、MCR,即7个功能模块。当程序满足某种条件,就可以控制执行其中一种功能。此时,可利用功能选择开关SQ1、SQ2、SQ3的不同状态的组合,形成7种不同的条件,可分别控制实现这7种功能。

另一个重要思路是利用辅助继电器实现相应的输出控制。具体思路:在7组MC、MCR中分别使用相应辅助继电器来控制相同的输出继电器。例如,本程序中M11、M21、M31、M41、M51、M61、M71分别是7组MC、MCR中的辅助继电器,它们控制相同的输出继电器Y0(进液体A的电磁阀),在MC、MCR之外,可使它们的常开触点相互并联共同控制Y0,这种方法可避免每组MC、MCR中都出现Y0线圈,进而避免了双线圈输出,而且可使程序逻辑清晰易懂。

本程序的控制过程:以功能1(ABCD四种液体混合)为例,①按下启动按钮SB1,阀A打开,首先加A液,当液面淹没液位传感器4时,传感器4为ON,阀A关闭,停止加A液,阀B打开,开始加B液;②当液面淹没液位传感器3时,传感器3为ON,阀B关闭,停止加B液,阀C打开,开始加C液;③当液面淹没液位传感器2时,传感器2为ON,阀C关闭,停止加C液,阀D打开,开始加D液;④当液面淹没液位传感器1时,传感器1为ON,阀D关闭,停止加D液,启动搅拌电机,开始搅拌;⑤搅拌6s后,停止搅拌电机,阀E打开,开始放液;⑥当液面低于液位传感器5时,传感器5为OFF,阀E关闭,停止放液,工作停止;若要再次启动,需按下启动按钮SB1。停止按钮SB0可随时停止工作。

调试过程中遇到的两个问题:

一、在主控指令MC和指控复位指令MCR之间应用定时器,出现定时器线圈通电时间达到定时时间而其常开或常闭点不动作,在X-Builer PLC软件上用监控命令进行监控,发现定时器线圈的时间从0变化到定时时间,并无限循环。

解决方法:查阅有关资料得知,主控与主控复位指令MC、MCR只能用于输出继电器Y和辅助继电器M(不包括特殊辅助继电器)。故我将定时器线圈移出MC、MCR之间,放到相应位置,重新调试,结果恢复正常。

二、互锁不完善。例如,以功能1为例,按下启动按钮SB1,阀A打开,首先加A液,当液面淹没液位传感器4时,传感器4为ON,阀A关闭,停止加A液,阀B打开,开始加B液;当液面淹没液位传感器3时,传感器3为OFF,传感器2为ON,阀D打开,开始加D液。在这种情况下,C液就没有加入搅拌器,阀B不能关闭,不能停止加B液。这样液面在液位传感器3的位置就同时加B液和D液,等到液面到达液位传感器1时,停止所有加液动作。结果搅拌器中是ABD的混合液体,不是指定的ABCD混合液体。 解决方法的思路:要想加D液,必须满足液位传感器2、3、4必须同时为ON,这样才能打开阀D;同理,要想加C液,必须满足液位传感器3、4必须同时为ON。

最后,本次PLC实训给我最大的收获就是在解决实际问题的过程中,提高了自己的自学能力和独立思考能力,在错误中不断反省,在实践中身体力行,做到学以致用,学有所思。老师的指导使自己的思路开阔了,实贱训练使自己解决问题的能力提高了,与组员的讨论使自己看问题的视角转变了。这些收获将成为我日后工作和学习的指路明星,希望自己能利用好这样的实训机会,不断完善自己的理论体系和提高实践能力。

第二篇:PLC自我经验总结

一、时间继电器:

TON 使能=1计数,计数到设定值时(一直计数到32767),定时器位=1。使能=0复位(定时器位=0)。

TOF 使能=1,定时器位=1,计数器复位(清零)。使能由1到0负跳变,计数器开始计数,到设定值时(停止计数),定时器位=0。如下图:

图1:使能=1时,TOF(T38)的触点动作图

图2:使能断开后,计数到设定值后,TOF(T38)的触点动作图(其中T38常开触点是在使能由1到0负跳变后计数器计时到设定值后变为0的)

TONR 使能=1,计数器开始计数,计数到设定值时,计数器位=1。使能断开,计数器停止计数,计数器位仍为1,使能位再为1时,计数器在原来的计数基础上计数。

以上三种计数器可以通过复位指令复位。

正交计数器 A相超前B相90度,增计数

B相超前A相90度,减计数

当要改变计数方向时(增计数或减计数),只要A相和B相的接线交换一下就可以了。

二、译码指令和编码指令: 译码指令和编码指令执行结果如图所示:

DECO是将VW2000的第十位置零(为十进制的1024),ENCO输入IN最低位为1的是第3位,把3写入VB10(二进制11)。

三、填表指令(ATT)

S7-200填表指令(ATT)的使能端(EN)必须使用一个上升沿或下降沿指令(即在下图的I0.1后加一个上升沿或下降沿),若单纯使用一个常开触点,就会出现以下错误:

这一点在编程手册中也没有说明,需要注意。其他的表格指令也同样。

四、数据转换指令

使用数据转换指令时,一定要注意数据的范围,数据范围大的转换为数据范围小的发注意不要超过范围。如下图所示为数据的大小及其范围。

(1)BCD码转化为整数(BCD_I)

关于什么是BCD码,请参看《关于BCD码》。

BCD码转化为整数,我是这样理解的:把BCD码的数值看成为十进制数,然后把BCD到整数的转化看成是十进制数到十六进制数的转化。如下图所示,BCD码为54,转化为整数后为36。

整数转化为BCD码(I_BCD)则正好相反,看成是十六进制到十进制的转化。

(2)整数转化为双整数(I_DI)

此问题需要注意的是:整数转化为双整数后,符号位被扩展,因为整数的精度小于双整数的精度,转化后,双整数除了表示整数的数值所占的位外,其余空位用符号位填充。如整数45转化为双整数后,基二进制表示为:2#0000_0000_0000_0000_0000_0000_0010_1101,而整数-45转化为双整数后则为:2#1111_1111_1111_1111_1111_1111_1101_0011。

五、避免重复使用PLC输出线圈

基本逻辑指令中常开接点和常闭接点,作为使能的条件,在语法上和实际编程中都可以无限次的重复使用。

PLC输出线圈,作为驱动元件,在语法上是可以无限次的使用。但在实际编程中是不应该的,应该避免使用的。因为,在重复使用的输出线圈中只有程序中最后一个是有效的,其它都是无效的。输出线圈具有最后优先权。

图1:输出线路未重复使用

图2:输出线路未重复使用

图1所示,输出线圈Q0.0是单一使用,表示I0.0和I0.1两个常开接点中任何一个闭合,输出线圈都得电输出。

图2所示,输出线圈Q0.0是重复使用,在网络1和网络2中重复使用两次,目的和图1所示一样,要求I0.0和I0.1两个常开接点中任何一个闭合,输出线圈得电输出。

首先需要肯定是图2所示的程序在语法上是完全正确的。但是,Q0.0重复使用的输出线圈中,真正有效的是网络2,网络1是多余的、无效的。也就是说,I0.0无论是闭合还是断开,都对Q0.0不起作用,Q0.0是否得电是由I0.1决定的。

这是因为PLC在一个扫描周期中,PLC输出点的刷新是在程序执行完毕后执行的,在一个扫描周期中,即使I0.0闭合,I0.1断开,在PLC程序执行网络1时,输出点Q0.0映像存储器为1,在执行网络2时,输出点Q0.0映像存储器又变为0。程序执行完毕,PLC输出点才执行刷新,最终输出点Q0.0失电不输出。同理,在一个扫描周期中,I0.0断开,I0.1闭合,输出点Q0.0映像存储器最终为1,在PLC输出点执行刷新时,输出点得电输出。因此,图2所示的程序中,对Q0.0起作用的只是I0.1。

因此,在PLC编程时,重复使用数出线圈。尽管在语法上是正确的,但是应该避免使用的。

六、合理组织编写梯形图的结构

在编写梯形图时,宜将串联的回路写在上方,并联的回路写在左边。如图所示:

采用右边的形式,可以减少PLC的扫描时间,可以让PLC拿更多的时间来处理输入、输出和通讯部分程序。这是因为,虽然是梯形图,PLC最终还是把梯形图转化为指令语句来执行,而右边的梯形图转化为语句后,显然比左边的要简化的多,这样就可以减少PLC的扫描时间。在比较大的程序中这点儿尤其显得突出。

七、合理使用指令减少PLC扫描时间

PLC每种指令的执行时间是一定的,在编程时,一定要注意不要人为造成PLC的扫描时间加大。如下图所示:

当I0.0闭合时,网络1的执行时间是0.37μs+55μs=55.27μs,而网络2当I0.0未动作时,执行时间是0.37μs。因此,当I0.0保持闭合的过程中,程序会反复执行网络1加法语句,会大大加长PLC的扫描时间。这时可以采用网络2的形式,仅在上升沿或下降沿时执行该加法语句,可以有降低PLC的扫描时间。

八、尽量避免形参不同时,多次调用同一子程序

在程序中,多次调用同一个子程序,在语法方面没有什么错误,但我们要尽量避免这一做法,尤其是在带有形式参数时。下面通过一例来说明。如下图1所示,网络13和14都调用protection子程序,这时,网络14调用时protection子程序的运行状态如图2所示。我们注意到,网络14调用时的形参#protection的数值(1169,网络13调用该子程序时的参数值)并不是网络14调用protection子程序所要的数值(应是481)。这样,就会造成我们所不希望的结果。

第三篇:PLC总结

对这学期开设PLC的课程,我对着门课程有很强兴趣,它充分发挥我的思维,课堂上老师讲课先给一个大概的思路和一个开头,然后让每一个两个人的小组单位自己想。每个人都开散思维去思考,以小组为单位而开展的实践,老师也给予我们足够的时间让我们完成每一个项目,在每一段时间内给一些提醒,这让我觉得压力减轻不少。

刚开始书上面的程序看起很复杂,但老师告诉我们每一个复杂的程序都是由简单的程序构成。在实训中我们组进行了任务的分工,一下子就变得简单化了。原来以为自己负责编程序任务是最轻的,没有想到是最为复杂的,需要的资料很多,然我时不时的翻翻书本。