您好,杭州萧优自动化科技有限公司网站欢迎您!
西门子 SIMATIC S7-200 CN,数字输入端 EM 221,仅用于 S7-22X CPU, 8数字输入,24V DC,源型输出(P schaltend)/漏型输出(M schaltend) 此 S7-200 CN 产品 只具有 CE 认证
SIMATIC S7-200 CN,数字输入端 EM 221,仅用于 S7-22X CPU, 8数字输入,24V DC,源型输出(P schaltend)/漏型输出(M schaltend) 此 S7-200 CN 产品 只具有 CE 认证
访问定时器位或者定时器的当前值
计数器存储区:C
S7--200提供三种类型的计数器,可计算计数器输入上的低--高跳变事件:一种类型仅计算向上事件,
一种类型仅计算向下事件,还有一种类型计算向上和向下两种事件。计数器有两种形式:
? 当前值:该16位有符号整数可存储累加计数。
? 计数器位:在比较当前值和预设值后,可设置或清除该位。预设值是计数器指令的一部分。
可以用计数器地址(C + 计数器号)来访问这两种形式的计数器数据。是否访问计数器位或当前值取决
于所使用的指令:带位操作数的指令访问计数器位,而带字操作数的指令则访问当前值。如图4--7中
所示,常开触点指令是存取计数器位;而移动字指令则是存取计数器的当前值。
格式: C[计数器编号] C24
当前值
C0
C1
C2
C3
I2.1
MOV_W
EN
OUT VW200 IN C3
C3
计数器位
C0
C3
C1
C2
0 (LSB) 15 (MSB)
存取当前值 存取计数器位
图4--7
存取计数器位或者计数器的当前值
S7-200可编程序控制器系统手册
30
高速计数器:HC
高速计数器对高速事件计数,它独立于CPU的扫描周期。高速计数器有一个32位的有符号整数计数值
(或当前值)。若要存取高速计数器中的值,则应给出高速计数器的地址,即存储器类型(HC)加上计数
器号(如HC0)。高速计数器的当前值是只读数据,仅可以作为双字(32位)来寻址。
格式: HC[高速计数器编号] HC1
累加器:AC
累加器是可以象存储器一样使用的读写设备。例如,可以用它来向子程序传递参数,也可以从子程序
返回参数,以及用来存储计算的中间结果。S7--200提供4个32位累加器(AC0、AC1、AC2和AC3)。
并且您可以按字节、字或双字的形式来访问累加器中的数值。
被访问的数据长度取决于存取累加器时所使用的指令。如图4--8所示,当以字节或者字的形式存取累
加器时,使用的是数值的低8位或低16位。当以双字的形式存取累加器时,使用全部32位。
关于如何在中断程序中使用累加器的相关信息,参见第6章中的中断指令部分。
格式: AC[累加器编号] AC0
MSB
7 0
LSB
15 0
LSB
31
MSB
0
LSB
AC2 (按字节访问)
AC2 (按字访问)
MSB
7 8
7 8 15 16 23 24
最低有效
最低有效 最高有效
字节0
字节1
字节0
字节1
字节2
字节3
最高有效
AC3 (按双字访问)
图4--8
存取累加器
PLC的基本概念 第4章
31
特殊存储器:SM
SM位为CPU与用户程序之间传递信息提供了一种手段。可使用这些位来选择和控制S7--200 CPU的
某些特殊功能,例如:一个第一个扫描时接通的位、一个以固定速率切换的位或一个显示数学或运算
指令状态的位。(有关SM位的详细信息参见附录D)。并且可以按位、字节、字或双字来存取SM位:
位:SM[字节地址].[位地址] SM0.1
字节、字或双字: SM[大小][起始字节地址] SMB86
局部存储器区域:L
S7-200有64个字节的局部存储器,其中60个可以用作临时存储器或者给子程序传递参数。
提示
如果用梯形图或功能方块图编程,STEP7--Micro/WIN保留这些局部存储器的最后四个字节。
局部存储器和变量存储器很相似,但只有一处区别。变量存储器是全局有效的,而局部存储器只在局
部有效。全局是指同一个存储器可以被任何程序存取(包括主程序、子程序和中断中断程序程序)。局
部是指存储器区和特定的程序相关联。S7--200给主程序分配64个局部存储器;给每一级子程序嵌套
分配64个字节局部存储器;同样给中断程序分配64个字节局部存储器。
子程序或者中断程序不能访问分配给主程序的局部存储器。子程序不能访问分配给主程序、中断程序
或者其他子程序的局部存储器。同样的,中断程序也不能访问分配给主程序或子程序的局部存储器。
S7--200 PLC根据需要分配局部存储器。也就是说,当主程序执行时,分配给子程序或中断程序的
局部存储器是不存在的。当发生中断或者调用一个子程序时,需要分配局部存储器。新的局部存储器
地址可能会覆盖另一个子程序或中断程序的局部存储器地址。
局部存储器在分配时PLC不进行初始化,初值可能是任意的。当在子程序调用中传递参数时,在被调
用子程序的局部存储器中,由CPU替换其被传递的参数的值。局部存储器在参数传递过程中不传递
值,在分配时不被初始化,可能包含任意数值。
位:L[字节地址].[位地址] L0.0
字节、字或双字: L[大小] [起始字节地址] LB33
模拟量输入:AI
S7--200将模拟量值(如温度或电压)转换成1个字长(16位)的数字量。可以用区域标识符(AI)、数据长度
(W)及字节的起始地址来存取这些值。因为模拟输入量为1个字长,且从偶数位字节(如0、2、4)开
始,所以必须用偶数字节地址(如AIW0、AIW2、AIW4)来存取这些值。模拟量输入值为只读数据。
格式: AIW[起始字节地址] AIW4
S7-200可编程序控制器系统手册
32
模拟量输出:AQ
S7--200把1个字长(16位)数字值按比例转换为电流或电压。可以用区域标识符(AQ)、数据长度(W)及
字节的起始地址来改变这些值。因为模拟量为一个字长,且从偶数字节(如0、2、4)开始,所以必须
用偶数字节地址(如AQW0、AQW2、AQW4)来改变这些值。模拟量输出值是只写数据。
格式: AQW[起始字节地址] AQW4
顺序控制继电器(SCR)存储区:S
SCR或S位用于组织机器操作或者进入等效程序段的步骤。SCR提供控制程序的逻辑分段。可以按
位、字节、字或双字来存取S位。
位:S[字节地址].[位地址] S3.1
字节、字或双字: S[大小][起始字节地址] SB4
实数的格式
实数(浮点数)由32位单精度数表示,其格式按照ANSI/IEEE 754--1985标准中所描述的形式,参见图
4--9。实数按照双字长度来存取。
对于S7--200来说,浮点数精确到小数点后第六
位。因而当您使用一个浮点数常数时,最多可
以指定到小数点后第六位。
31 0
LSB MSB
22 23
尾数 指数
30
S
符号位
图4--9
实数的格式
实数运算的精度
在计算中涉及到非常大和非常小的数,则有可能导致计算结果不精确。例如数值相差10的x次方倍,
而x>6时。
例如: 100 000 000 + 1 = 100 000 000
字符串的格式
字符串指的是一系列字符,每个字符以字节的形式存储。字符串的第一个字节定义了字符串的长度,
也就是字符的个数。4--10给出了一个字符串的格式。一个字符串的长度可以是0到254个字符,再加
上长度字节,一个字符串的最大长度为255个字节。而一个字符串常量的最大长度为126字节。
字符1
字节3
字节2
字节1
字节0
长度 字符2 字符3
字节4
字符4
字节254
字符254 ...
图4--10
字符串的格式
PLC的基本概念 第4章
33
在S7--200指令中输入常数值
在S7--200的许多指令中,都可以使用常数值。常数可以是字节、字或者双字。S7--200以二进制数的
形式存储常数,可以分别表示十进制数、十六进制数、ASCII码或者实数(浮点数)。见表4--2。
表4--2
常数表示法
数制 格式 举例
十进制 [十进制值] 20047
十六进制 16#[十六进制值] 16#4E4F
二进制 2#[二进制数] 2#1010_0101_1010_0101
ASCII码
’[ASCII码文本]’ ’ABCD’
实数 ANSI/IEEE 754--1985 +1.175495E--38 (正数)--1.175495E--38 (负数)
字符串 “[字符串文本]” “ABCDE”
提示
S7--200CPU不支持数据类型检测(例如指定常数存储为一个整数、有符号整数或者双整数)。例如:
可以在加法指令中使用VW100中的值作为有符号整数,同时也可以在异或指令中将VW100中的数
据当作无符号的二进制数。
本地I/O和扩展I/O的寻址
CPU提供的本地I/O具有固定的I/O地址。您可以将扩展模块连接到CPU的右侧来增加I/O点,形成I/O
链。对于同种类型的输入输出模块而言,模块的I/O地址取决于I/O类型和模块在I/O链中的位置。举例
来说,输出模块不会影响输入模块上的点地址,反之亦然。类似的,模拟量模块不会影响数字量模块
的寻址,反之亦然。
提示
数字量模块总是保留以8位(1个字节)增加的过程映像寄存器空间。如果模块没有给保留字节中每一
位提供相应的物理点,那些未用位不能分配给I/O链中的后续模块。对于输入模块,这些保留字节中
未使用的位会在每个输入刷新周期中被清零。
模拟量I/O点总是以两点增加的方式来分配空间。如果模块没有给每个点分配相应的物理点,则这些
I/O点会消失并且不能够分配给I/O链中的后续模块。
S7-200可编程序控制器系统手册