-
-
zhoumingyuan | 当前状态:在线
总积分:683 2024年可用积分:0
注册时间: 2011-02-19
最后登录时间: 2015-01-21
-
S7—200 CPU存储器的范围和特性
zhoumingyuan 发表于 2014/4/13 14:16:13 1836 查看 1 回复 [上一主题] [下一主题]
手机阅读
S7—200 CPU存储器的范围和特性 | ||||
描述 | CPU221 | CPU222 | CPU224 | CPU226 |
用户程序区大小 | 2048字 | 4096字 | ||
拥护数据区大小 | 1024字 | 2560字 | ||
输入映像寄存器 | I0.0~I15.7 | |||
输出映像寄存器 | Q0.0~Q15.7 | |||
模拟量输入(只读) | - | AIW0~AIW30 | AIW0~AIW62 | |
模拟量输出(只写) | - | AQW0~AQW30 | AQW0~AQW62 | |
变量积存器(V)① | VB0.0~VB2047.7 | VB0.0~VB5119.7 | ||
局部寄存器(L)② | LB0.0~LB63.7 | |||
位寄存器(M) | M0.0~M31.7 | |||
特殊寄存器(SM) 特殊寄存器(只读) | SM0.0~SM179.7 SM0.0~SM29.7 | SM0.0~SM299.7 SM0.0~SM29.7 | ||
定时器 保持型通电延时,1ms 保持型通电延时,10ms 保持型通电延时,100ms On/Off延时,1ms On/Off延时,10ms On/Off延时,100ms | 256(T0~T255) T0,T64 T1~T4,T68~T68 T5~T31,T65~T95 T32,T96 T33~T36,T97~T100 T37~T63,T101~T255 | |||
计数器 | C0~C255 | |||
高速计数器 | HC0,HC3,HC4,HC5 | HC0~HC5 | ||
顺序控制继电器 | S0.0~S31.7 | |||
累加寄存器 | AC0~AC3 | |||
跳转/标号 | 0~255 | |||
调用/子程序 | 0~63 | |||
中断子程序 | 0~127 | |||
PID回路 | 0~7 | |||
串行通信口 | 端口0 | 端口0, | ||
S7—200操作数的范围 | ||||
寻址方式 | CPU221 | CPU222 | CPU224,CPU226 | |
位存取(字节,位) | V0.0~V2047.7 | V0.0~V55119.7 | ||
I0.0~I15.7 Q0.0~Q15.7 M0.0~M31.7 SM0.0~SM179.7 S0.0~S31.7 T0~T255 C0~C255 L0~L63.7 | ||||
字节存取 | VB0~VB2047 | VB0~VB5119 | ||
IB0~IB15 QB0~QB15 MB0~MB31 SMB0~SMB179 SB0~SB31 LB0~LB63 AC0~AC3 常数 | ||||
字存取 | VW0~VW2046 | VW0~VW5118 | ||
IW0~IW14 QW0~QW14 MW0~MW30 SMW0~SMW178 SW0~SW30 T0~T255 C0~CC255 LW0~LW62 AC0~AC3 | ||||
AIW0~AIW30 AQW~AQW30 | AIW0~AIW62 AQW0~AQW62 | |||
常数 | ||||
双字存取 | VD0~VD2044 | VD0~VD5116 | ||
ID0~ID12 QD0~QD12 MD0~MD28 SMD0~SMD176 SD0~SD28 LD0~LD60 AC0~AC3 | ||||
HC0,HC3,HC4,HC5 | HC0~HC5 | |||
常数 |
① V存储器都可以存储在永久存储区。
② LB60—LB63为STEP7-Micro/WIN32的3.0版本或以后的版本保留。
一.存储器的数据类型与寻址方式
1.位、字节、字和双字
二进制数1位(bit)只有0和1两种不同的取值,可用来表示开关量(或称数字量)的两种不同的状态:通和断。
8位二进制数组成1个字节(Byte),第0位最低位(LSB)、第7位为最高位(MSB)。两个字节组成1字(Word)。两个字组成1双字(D表示双字)。
数据的位数与取值范围
B(字节),8位值:无符号数 十进制: 0~255 ;十六进制:0~FF
W(字),16位值:无符号数 十进制:0~65535;十六进制:0~FFFF
D(双字),32位值:无符号数 十进制:0~4294967295;十六进制:0~FFFFFFFF
2.数据的存取方式
位存储单元的地址由字节地址和位地址组成,如:I3.2中的I表示区域标识符input,字节地址为3,位地址为2。这种存取方式称为“字节.位”寻址方式。
输入字节IB3(B是Byte的缩写)由I3.0~I3.7这8位组成。相邻的两个字节组成一个字,VW100表示由VB100和VB101组成的1个字,V表示区域标识符;W表示字(Word);100表示起始字节的地址。
VD100表示由VB100~VB103组成的双字,V为区域标识符;D表示存取双字(DoubleWord);100为起始字节的地址。
二. 存储取的寻址(I、Q、V、M、SM、L均可按位、字节、字和双字来存取)
1.输入映像寄存器(I)寻址
输入映像寄存器的标识符为I(I0.0~I15.7),在每个扫期描周的开始,CP对输入点进行采样,并将采样值存入映像寄存器中。
2.输出映像寄存器(Q)寻址
输出映像寄存器的标识符为Q(Q0.0~Q15.7),在扫期描周的末尾,CPU输出映像寄存器数据传输给输出模块,再由后者驱动外部负载。
3.量存储器(V)寻址
在程序执行的过程中存放中间结果,或用来保存与工序或任务有关的其他数据。
4.位存储区(M)区寻址
内部存储器标志位(M0.0~M31.7)用来保存控制继电器的中间操作状态或其他控制信息。
5.特殊存储器(SM)标志位寻址
特殊存储器用于CPU与用户之间交换信息,例如SM0.0一直为“1”状态,SM0.1仅在执行用户程序的第一个扫描周期为“1”。SM0.4、SM0.5分别提供周期为1min和1s的时钟脉冲。SM1.0、SM1.1和SM1.2分别是零标志、溢出标志和负数标志。
6.局部存储器(L)区寻址
7.定时器存储器(T)区寻址
S7—200 有三种定时器为1sm、10sm、100sm,当前值寄存器是16位有 号整数,时基增量值1~32767。地址:T0~T255
8.计数器存储器(C)区寻址
计数器用来累计其计数输入端电平由低到高的次数CPU提供加计数器、减计数器和加减计数器当前值为16位有符号整数用来存放累计的脉冲数1~32767。地址:C0~C255。
9.顺序控制继电器(S)寻址
顺序控制继电器(SCR)位用于组织机器的顺序操作,SCR提供控制程序的逻辑分段。
10.拟量输入(AI)寻址(一个字长16位,地址为偶数字节如:AIW2、AIW4、AIW6等)
11.模拟量输出(AQ)寻址(一个字长16位,地址为偶数字节如:AQW2、AQW4、AQW6等)
12.累加器(AC)寻址
13.高速计数器(HC)寻址
IEC1131-3的复杂数据类型
数据类型 | 名称 | 数据范围 |
TON | 通电延时定时器 | 1ms:T32,T96 10ms:T33~T36,T97~T100 100ms:T37~T63,T101~T255 |
TOF | 断电延时定时器 | |
TP | 脉冲 | |
CTU | 加计数器 | C0~C255 |
CTD | 减计数器 | |
CTUD | 加减计数器 | |
SR | 值位优先触发器 | — |
RS | 复位优先触发器 | — |
S7-200的SIMATIC 指令集简表
布尔指令 | |
LD N LDI N LDN N LDNI N | 装载(开始的常开触点) 立即装载 取反后装载(开始的常开触点) 取反后立即装载 |
A N AI N AN N ANI N | 与(串联的常开触点) 立即与 取反后与(串联的常开触点) 取反后立即与 |
O N OI N ON N ONI N | 或(并联的常开触点) 立即或 取反后或(并联的常开触点) 取反后立即或 |
LDBx N1,N2 | 装载字节比较结果 N1( x:<,>,=,≤,≥,〈 〉)N2 |
ABx N1,N2 | 与字节比较结果 N1( x:<,>,=,≤,≥,〈 〉)N2 |
OBx N1,N2 | 或字节比较结果 N1( x:<,>,=,≤,≥,〈 〉)N2 |
LDWx N1,N2 | 装载字比较结果 N1( x:<,>,=,≤,≥,〈 〉)N2 |
AWx N1,N2 | 与字比较结果 N1( x:<,>,=,≤,≥,〈 〉)N2 |
Owx N1, N2 | 或字比较结果 N1( x:<,>,=,≤,≥,〈 〉)N2 |
LDDx N1, N2 | 装载双字比较结果 N1( x:<,>,=,≤,≥,〈 〉)N2 |
ADx N1, N2 | 与双字比较结果 N1( x:<,>,=,≤,≥,〈 〉)N2 |
ODx N1, N2 | 或双字比较结果 N1( x:<,>,=,≤,≥,〈 〉)N2 |
LDRx N1, N2 | 装载实数比较结果 N1( x:<,>,=,≤,≥,〈 〉)N2 |
ARx N1, N2 | 与实数比较结果 N1( x:<,>,=,≤,≥,〈 〉)N2 |
ORx N1, N2 | 或实数比较结果 N1( x:<,>,=,≤,≥,〈 〉)N2 |
NOT | 栈顶值取反 |
EU | 上升沿检测 |
ED | 下降沿检测 |
= N | 赋值(线圈) |
=1 N | 立即赋值 |
S S_BIT, N | 置位一个区域 |
R S_BIT, N | 复位一个区域 |
SI S_BIT, N | 立即置位一个区域 |
RI S_BIT, N | 立即复位一个区域 |
传送、移位、循环和填充指令 | |
MOVB IN, OUT MOVW IN, OUT MOVD IN, OUT MOVR IN, OUT BIR IN, OUT BIW IN, OUT | 字节传送 字传送 双字传送 实数传送 立即读取物理输入字节 立即写物理输出字节 |
BMB IN, OUT,N BMW IN, OUT,N BMD IN, OUT, N | 字节块传送 字块传送 双字块传送 |
SWAP IN | 交换字节 |
SHRB DATA, S_BIT, N | 移位寄存器 |
SRB OUT,N SRW OUT,N SRD OUT,N | 字节右移N位 字右移N位 双字右移N位 |
SLB OUT,N SLW OUT,N SLB OUT,N | 字节左移N位 字左移N位 双字左移N位 |
RRB OUT,N RRW OUT,N RRD OUT,N | 字节循环右移N位 字循环右移N位 双字循环右移N位 |
RLB OUT,N RLW OUT,N RLD OUT,N | 字节循环左移N位 字循环左移N位 双字循环左移N位 |
FILL IN, OUT, N | 用指定的元素填充存储器空间 |
逻辑操作 | |
ALD OLD | 电路块串联 电路块并联 |
LPS LRD LPP LDS | 入栈 读栈 出栈 装载堆栈 |
AENO | 对ENO进行与操作 |
ANDB IN1, OUT ANDW IN1, OUT ANDD IN1, OUT | 字节逻辑与 字逻辑与 双逻辑与 |
ORB IN1, OUT ORW IN1, OUT ORD IN1, OUT | 字节逻辑或 字逻辑或 双字逻辑或 |
XORB IN1, OUT XORW IN1, OUT XORD IN1, OUT | 字节逻辑异或 字逻辑异或 双字逻辑异或 |
INVB OUT INVW OUT INVB OUT | 字节取反(1的补码) 字取反 双字取反 |
表、查找和转换指令 | |
ATT TABLE, DATA | 把数据加到表中 |
LIFO TABLE, DATA FIFO TABLE, DATA | 从表中取数据,后入先出 从表中取数据,先入后出 |
FND= TBL, PATRN, INDX FND< > TBL, PATRN, INDX FND< TBL, PATRN, INDX FND> TBL, PATRN, INDX | 在表中查找符合比较条件的数据 |
BCDI OUT IBCD OUT | BCD码转换成整数 整数转换成BCD码 |
BTI IN, OUT ITB IN, OUT ITD IN, OUT DTI IN, OUT | 字节转换成整数 整数转换成字节 整数转换成双整数 双整数转换成整数 |
DTR IN, OUT TRUNC IN, OUT ROUND IN, OUT | 双整数转换成实数 实数四舍五入为双整数 实数截位取正为双整数 |
ATH IN, OUT, LEN HTA IN, OUT, LEN ITA IN, OUT, FMT DTA IN, OUT, FMT RTA IN, OUT, FMT | ASCⅡ码→16进制数 16进制数→ASCⅡ码 整数→ASCⅡ码 双整数→ASCⅡ码 实数→ASCⅡ码 |
DECO IN, OUT ENCO IN, OUT | 译码 编码 |
SEG IN, OUT | 7段译码 |
中断指令 | |
CRETI | 从中断程序有条件返回 |
ENI DISI | 允许中断 禁止中断 |
ATCH INT,EVENT DTCH EVENT | 给事件分配中断程序 解除中断事件 |
通信指令 | |
XMT TABLE,PORT RCV TABLE,PORT | 自由端口发送 自由端口接收 |
NETR TABLE,PORT NETW TABLE,PORT | 网络读 网络写 |
GPA ADDR,PORT SPA ADDR,PORT | 获取端口地址 设置端口地址 |
高速计数器指令 | |
HDEF HSC,MODE | 定义高速计数器模式 |
HSC N | 激活高速计数器 |
PLS X | 脉冲输出 |
数学、加1减1指令 | |
+I IN1,OUT +D IN1,OUT +R IN1,OUT | 整数,双整数或实数加法 IN1+OUT=OUT
|
-I IN1,OUT -D IN1,OUT -R IN1,OUT | 整数,双整数或实数加法 IN1-OUT=OUT |
MUL IN1,OUT *R IN1,OUT *I IN1,OUT *D IN1,OUT | 整数乘以整数得双整数 实数,整数或双整数乘法 IN1×OUT=OUT |
DIV IN1,OUT /R IN1,OUT /I IN1,OUT /D IN1,OUT | 整数除整数得双整数 实数,整数或双整数除法 OUT/IN1=OUT |
SQRT IN,OUT | 平方根 |
LN IN,,OUT | 自然对数 |
EXP IN,OUT | 自然指数 |
SIN IN,OUT | 正弦 |
COS IN,OUT | 余弦 |
TAN IN,OUT | 正切 |
INCB OUT INCW OUT INCD OUT | 字节加1 字加1 双字加1 |
DECB OUT DECW OUT DECD OUT | 字节减1 字减1 双字减1 |
PID Tab1,Loop | PID回路 |
定时器和计数器指令 | |
TON Txxx,,PT TOF Txxx,PT TONR Txxx,PT | 通电延时定时器 断电延时定时器 保持型通电延时定时器 |
CTU Cxxx,PV CTD Cxxx,PV CTUD Cxxx,PV | 加计数器 减计数器 加/减计数器 |
实是时钟指令 | |
TODR T TODW T | 读实时时钟 写实时时钟 |
程序控制指令 | |
END | 程序的条件结束 |
STOP | 切换到STOP模式 |
WDR | 看门狗复位(300ms) |
JMP N LBL N | 跳到指定的标号 定义一个跳转的标号 |
CALL N(N1…) CRET | 调用子程序,可以有16个可选参数 从子程序条件返回 |
FOR INDX,INIT,FINAL NEXT | FOR/NEXT循环 |
LSCR N SCRT N SCRE | 顺控继电器段的启动 顺控继电器段的转换 顺控继电器段的结束 |