产品描述
说明:
1) 普通计数器有两个控制逻辑行,上边的为计数输入逻辑CP,在下边的为复位逻辑R,位置不能颠倒。当R端为OFF的前提下,CP端每来一个上升沿(由OFF→ON状态变化)计数器就做减1 计数。当CP端、R端同时有输入信号时**执行复位,即复位**。
2) FP1-C40型PLC默认44个计数器,序号为C100~C143此序号可用系统寄存器NO.6重新设置。同一程序中相同序号的CT只能使用一次,与定时器一样每一个计数器都有无数个与之序号相同的常开、常闭触点供编程使用。
3) 计数器的设置值就是计数初始值,设置值范围为K1~K32767中的任意十进制整数。计数器的设置值与经过值自动存放在与计数器同一序号的SV和EV中
计数器工作过程
1) 当PLC 为RUN方式时,K20被送入预置值寄存器SV100中,如果此时复位行为OFF,则SV100中的K20又被送到经过值寄存器EV100中。
2) 每检测到一个计数器逻辑行X0的上升沿(OFF→ON的状态变化),EV100中的数值减1计数。
3) 当EV100中的数值减至“0”时,计数器C100的触点动作并保持,即常开触点闭合,常闭触点断开。
4) 当检测到复位逻辑行X1的上升沿(即OFF→ON)时C100的各触点复位。再检测到复位行X1的下降沿(ON→OFF状态变化)时SV100中的数值K20再次传送到EV100中准备计数。
5) 在计数过程中,若复位行发生OFF→ON状态变化则EV100被复位为“0”,但C100的触点不动作。直到复位行由ON→OFF时刻,SV100中的数值K20再次送到EV100中。
S7-200 寻址时,可以使用不同的数据长度。不同的数据长度表示的数值范围不同。S7-200 指令也分别需要不同的数据长度。
S7-200系列在存储单元所存放的数据类型有布尔型( BOOL)、整数型( INT )、实数型和字符串型四种。数据长度和数值范围如表6所列。
表1 数据长度和数值范围
数据类型
数据长度
字节 (8位值)
字 (16位值)
双字 ( 32位值)
无符号整数
0~255
0~FF
0~65535
0~FFFF
0~4294967295
0~FFFF FFFF
有符号整数
-128~ 127
80~7F
-32768~ 32767
8000~7FFF
-217483648~ 2147483647
8000 0000~7FFF FFFF
实数IEEE32位
浮点数
1.175495E-38~ 3.402823E
38(正数)
-1.175495E-38~-3.402823E 38
(负数)
● 实数的格式
实数(浮点数)由32位单精度数表示,其格式按照ANSI/IEEE 754-1985标准中所描述的形式。实数按照双字长度来存取。对于S7-200来说,浮点数精确到小数点后*六位。因而当使用一个浮点数常数时,较多可以*到小数点后*六位。
● 实数运算的精度
在计算中涉及到非常大和非常小的数,则有可能导致计算结果不精确。
● 字符串的格式
字符串指的是一系列字符,每个字符以字节的形式存储。字符串的**个字节定义了字符串的长度,也就是字符的个数。一个字符串的长度可以是0到254个字符,再加上长度字节,一个字符串的较大长度为255个字节。而一个字符串常量的较大长度为126字节。
● 布尔型数据(0或1)。
● S7-200CPU不支持数据类型
例如:可以在加法指令中使用VW100中的值作为有符号整数,同时也可以在异或指令中将VW100中的数据当作无符号的二进制数。
● S7-200提供各种变换指令,使用户能方便地进行数据制式及表达方式的变换
OMRON PLC二进制运算指令举例
用二进制运算指令完成(250×8 – 1000)/50运算的例子。
分析程序功能
(1)当满足条件时,执行一次BSET指令将DM0000~DM0004清零,以备开始运算。
(2)当00001ON、00000OFF时,执行如下操作:
①执行@MOV指令将#00FA(十进250)传送到HR00中;
②执行@MLB指令将HR00的内容与#0008相乘,将结果的低位07D0(十进2000)存在DM0000中、结果高位0000存在 DM0001中;
③执行 @CLC指令将CY清零,以备相减运算。
④执行@SBB指令,DM0000的内容减去#03E8(十进1000),将结果#03E8存在DM0002中;
⑤执行指令@DVB,将DM0002的内容除以#0032(十进50),把商#0014(十进20)存在DM0003中、把余数#0000存在DM0004中CPM1A PLC子程序调用举例( 1 )
分析程序功能
(1) 当00100为OFF时,执行主程序。
①执行指令MOV向通道220传送数据0001(使22000ON)。
② 执行指令KEEP,由01100输出秒脉冲(注意25502的作用)。
(2) 当00100为ON时,执行主程序中的指令SBS,中断执行主程序,转去执行子程序 005:
① 只要00100一直ON,每个扫描周期都执行移位寄存器指令SFT,使22000的ON状态每秒向高位移一位。
移位时间取决于00100 ON的时间。
② 执行指令MOV,将通道220的内容传送到通道010。
③ 返回主程序,继续执行主程序中的指令KEEP。
只要00100ON,上述过程将持续进行。
注意几个问题:
① 程序中若将SBS改成@SBS,会产生什么现象?
② 当22007为ON时,通道220的内容将如何变化?此后220的内容如何变化?
产品推荐