PLC个人经验点滴-PLC技术网(www.plcjs.com)-可编程控制器技术门户


PLC个人经验点滴

(点击题目可以在互联网中搜索该题目的相关内容)
日期:2007-8-21 0:52:31     来源:   作者: 点击:
点击【】,可以选择字体的大小,以便你阅读.

一、时间继电器:

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决定的。

 

本新闻共2页,当前在第11 2  

上一篇: 什么是软PLC和硬PLC
下一: PLC双线圈输出的规则及在程序设计中的应用详解