论坛专区
在线教育
 

PLC初学者必须熟悉的几个基本指令

放大字体  缩小字体 发布日期:2016-07-25  来源:互联网  作者:工控网  浏览次数:533
    一、时间继电器:
    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:输出线路未重复使用   图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编程时,重复使用数出线圈。尽管在语法上是正确的,但是应该避免使用的。
    几种置位、复位的方法和比较
    位置位、复位操作方法上,有好几种方法,可以直接采用置位、复位指令,也可以采用数据传送指令、表格填充指令,甚至可以采用移位循环指令。
    这几种方法在具体运用时,也要根据情况而定。下面用一个范例来讲解他们的不同之处。要求对Q0.0~0.7、Q1.0~1.7十六位输出进行置位、复位。
    图几种置位、复位的方法
    在以上几种方法中,除移位循环指令外,其他指令比较好理解。
    移位循环指令的方法,置位是对16#FFFF十六位常数左循环16位,送入输出字QW0(由Q0.0~0.7、Q1.0~1.7组成),无论16#FFFF如何循环,还是16#FFFF,16位输出。复位采用对QW0一次扫描周期一次执行16位左移位指令,将QW0中的数据全部移出(如果是带符号位的字,连符号位也移出),输出复位。
    在上面的方法中,直接采用置位、复位的方法不仅可以对字节、字、双字中的位进行置位、复位操作,也可以对不成字节、字、双字的位进行操作。而数据传送指令、移位循环指令、填充指令只能对字节、字、双字中的位进行置位、复位操作,其中填充指令还只能对字操作。
    比如单单对Q0.0~0.6七个位输出进行置位、复位,采用数据传送指令、移位循环指令、填充指令是很难实现的,此时只有采用直接置位、复位指令的方法。
 
关键词: PLC指令
 
 
[ 大学堂搜索 ]  [ 加入收藏 ]  [ 告诉好友 ]  [ 打印本文 ]  [ 关闭窗口 ]

0条 [查看全部]  相关评论

 
按分类浏览
PLC基础知识 (2046)
PLC编程 (477)
三菱PLC (678)
西门子PLC (954)
欧姆龙PLC (209)
AB PLC (35)
松下PLC (137)
永宏PLC (20)
台达PLC (36)
LG PLC (12)
富士PLC (13)
日立PLC (8)
点击排行
 
展会
微信公众号
qq群
 
工控网 | 工控文库 | 工控视频 | 工控软件 | 在线教育 | 用户使用指南 | 关于我们 | 联系方式 | 使用协议 | 版权隐私 | 网站地图 |手机版 | 广告服务

本网站所有文档及文件资料,除特别标明本站原创外,均来自互联网及网友上传,如有涉及版权问题,请联系我们,我们将第一时间处理。
我们保留版权,任何涉嫌侵犯本站版权的行为,本站保留追究其法律责任的权利。

Copyright © 2018-2020 www.gkwo.net  滨州新大新机电科技有限公司 版权所有 鲁ICP备11011731号-4