您的位置 首页 编程

一些PLC指令的用法,一些PLC编程的经历

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

一、时间继电器:

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

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

一些PLC指令的用法,一些PLC编程的经历

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

一些PLC指令的用法,一些PLC编程的经历

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

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

以上三种计数器能够经过复位指令复位。

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

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

当要改动计数方向时(增计数或减计数),只需A相和B相的接线交流一下就能够了。

二、译码指令和编码指令:

译码指令和编码指令履行成果如图所示:

一些PLC指令的用法,一些PLC编程的经历

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

三、填表指令(ATT)

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

一些PLC指令的用法,一些PLC编程的经历

这一点在编程手册中也没有阐明,需求留意。其他的表格指令也相同。

四、数据转化指令

运用数据转化指令时,必定要留意数据的规模,数据规模大的转化为数据规模小的发留意不要超越规模。如下图所示为数据的巨细及其规模。

一些PLC指令的用法,一些PLC编程的经历

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

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

一些PLC指令的用法,一些PLC编程的经历

整数转化为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所示。

一些PLC指令的用法,一些PLC编程的经历

输出线路未重复运用

一些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。diangon.com程序履行结束,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十六位输出进行置位、复位。

一些PLC指令的用法,一些PLC编程的经历

几种置位、复位的办法

在以上几种办法中,除移位循环指令外,其他指令比较好了解。

移位循环指令的办法,置位是对16#FFFF十六位常数左循环16位,送入输出字QW0(由Q0.0~0.7、Q1.0~1.7组成),不管16#FFFF怎么循环,仍是16#FFFF,16位输出。复位选用对QW0一次扫描周期一次履行16位左移位指令,将QW0中的数据悉数移出(如果是带符号位的字,连符号位也移出),输出复位。

在上面的办法中,直接选用置位、复位的办法不只能够对字节、字、双字中的位进行置位、复位操作,也能够对不成字节、字、双字的位进行操作。而数据传送指令、移位循环指令、填充指令只能对字节、字、双字中的位进行置位、复位操作,其间填充指令还只能对字操作。

比方单单对Q0.0~0.6七个位输出进行置位、复位,选用数据传送指令、移位循环指令、填充指令是很难完成的,此刻只要选用直接置位、复位指令的办法。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/biancheng/337492.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部