S7300软件基础.docx
- 文档编号:11046058
- 上传时间:2023-02-24
- 格式:DOCX
- 页数:70
- 大小:693.39KB
S7300软件基础.docx
《S7300软件基础.docx》由会员分享,可在线阅读,更多相关《S7300软件基础.docx(70页珍藏版)》请在冰豆网上搜索。
S7300软件基础
S7-300的软件基础
8.1S7-300的数据区
1数据类型
S7-300数据类型有位数据﹑字节数据﹑字数据﹑双字数据﹑整数﹑实数等数据,如表8-1所示。
表8-1S7-300数据类型
类型
格式
范围及示例
位(BOOL)
True或False(数值为1或0)
True或False(1或0)
字节(BYTE)
八位数据:
B#16#(B代表字节)
B#16#0FF
字(WORD)
二进制:
2#
2#01111_1111_1111_1111
十六进制:
W#16#(W代表字)
W#16#0FFFF
BCD码:
C#
C#-999999
双字(DWORD)
二进制:
2#
2#01111_1111_1111_1111_1111
十六进制:
DW#16#(DW代表双字)
DW#16#0FFFF_FFFF
BCD码:
C#
C#0999_9999
整数(INT)
16位数:
-3276832767
双整数(DINT)
32位数:
L#
L#-214783648214783647
实数(REAL)
32位数:
3.402823E+381.1755494E-38
时间
SIMATIC时间
S5T#
S5T#10ms2H46M30S0ms
IEC时间
T#(时基1mS)
T#024D_20H_31M_23S_648ms
字符(CHAR)
八位数据:
用单引号表示‘‘(ASCII)
'A‘
日计时(TIME_OF_DAY)
TOD#
TOD#0:
0:
023:
59:
59.999
日期(DATE)
D#
D#1990-1-12163-12-31
说明:
S5TIME为SIMATIC时间,用16位数表示。
该16位数的第011位为用BCD码表示的时间值(TV值),第13和12位表示时间基准。
其中,00为10ms,01为100ms,10为1s,11为10s。
TIME为IEC时间,时间基准为1ms。
TIME-OF-DAY为日计时,时间基准为1ms。
DATE为日期计时,时间基准1天。
实际时间=时间的过程值时间基准。
2.STEP7的可能寻址范围
STEP7的可能寻址范围是指该软件的可能寻址区域,它包含了S7-300/400各种PLC的全部寻址范围,而不表明一个具体的PLC的可能寻址区域。
STEP7的寻址范围见表8-2。
表8-2STEP7的寻址范围
区域种类
访问区域
缩写
最大区域范围
过程映象I/Q
输入/输出位
I/Q
0.065535.7
输入/输出字节
I/QB
065535
输入/输出字
I/QW
065534
输入/输出双字
I/QD
065532
存储器标志M
存储器位
M
0.0255.7
存储器字节
MB
0255
存储器字
MW
0254
存储器双字
MD
0252
I/Q外部输入/输出
外设I/Q字节
PIB/PQB
065535
外设I/Q字,
PIW/PQW
065534
外设I/Q双字
PID/PQD
065532
定时器
定时器(T)
T
0255
计数器
计数器(C)
C
0255
数据块
(DB)
065,535
用OPNDB打开
位
DBX
0.065535.7
字节
DBB
065535
字
DBW
065534
双字
DBD
065532
用OPNDI打开
位
DIX
0.065535.7
字节
DIB
065535
字
DIW
065534
双字
DID
065532
说明:
DB块包含由任意一个块存取的数据,DB块用“OPNDB”打开。
DI块用于存取FB和SFB块的数据,DI块用“OPNDI”打开。
S7同时只能识别一个DB块和一个DI块的数据。
打开一个数据块,就意味着关闭当前已打开的另一个同类的数据块。
3S7-300CPU的寄存器
S7-300有两个累加器﹑两个地址寄存器﹑两个数据块寄存器﹑一个状态寄存器和一个诊断缓冲区。
1)累加器(ACCUx)
32位累加器用于处理字节、字或双字的寄存器。
S7-300有两个累加器(ACCU1和ACCU2)。
可以把操作数送入累加器,并在累加器中进行运算和处理,保存在ACCU1中的运算结果可以传送到存储区。
处理8位或16位数据时,数据放在累加器的低端(右对齐)。
在使用语句表指令编程时,累加器的状态是编程者应该掌握的。
而使用梯形图或功能图指令时,则可不必太关心累加器的内容。
2)地址寄存器
S7系列的PLCCPU中有两个地址寄存器,即AR1和AR2,每个地址寄存器为32位。
地址寄存器常用于寄存器间接寻址。
在语句表指令中有专门的指令对其进行操作。
如果只使用梯形图或功能图指令,也可不必关心地址寄存器的内容。
3)数据块寄存器
S7系列PLC的CPU中有两个数据块寄存器,每个数据块寄存器的长度为32位。
一个为共享数据块DB的寄存器,另一个为背景数据块DI的寄存器。
数据块寄存器包含了被激活的数据块的块号以及数据块的长度。
用户在访问数据块时,如果指令中没有指明是哪一个数据块,则CPU将访问数据块寄存器中存储的数据块号。
如果指令中指明了数据块号,则CPU将会把该数据块的信息装入数据块寄存器中以备使用。
因此,在编程序时,如果明确指令所访问的数据块的块号,则可不必关心数据块寄存器中的内容。
4)状态字寄存器
状态字是一个16位的寄存器,用于存储CPU执行指令的状态。
状态字中的某些位用于决定某些指令是否执行和以什么样的方式执行,执行指令时可能改变状态字中的某些位,用位逻辑指令和字逻辑指令可以访问和检测它们。
见表8-3。
表8-3STEP7的状态字
位号
159
8
7
6
5
4
3
2
1
0
状态字
BR
CC1
CC0
OV
OS
OR
STA
RLO
FC
首次检测位(FC)
状态字的第0位称为首次检测位(FC).若该位的状态为0,则表明一个梯形逻辑网络的开始,或指令为逻辑串的第一条指令。
CPU对逻辑串第一条指令的检测(称为首次检测)产生的结果直接保存在状态字的RLO位中,经过首次检测存放在RLO中的0或1称为首次检测结果。
该位在逻辑串的开始时总是0,在逻辑串指令执行过程中该位为1,输出指令或与逻辑运算有关的转移指令(表示一个逻辑串结束的指令)将该位清0。
逻辑运算结果(RLO)
状态字的第1位称为逻辑运算结果位(RLO)。
该位用来存储执行位逻辑指令或比较指令的结果。
RLO的状态为1,表示有“电流”流到梯形图中运算点处;为0则表示无“电流”流到该点。
状态位(STA)
状态字的第2位称为状态位(STA),执行位逻辑指令时,STA总是与该位的值一致。
或位(OR)
状态字的第3位称为或位(OR),在先“与”后“或”的逻辑运算中,OR位暂存逻辑“与”的操作结果,以便进行后面的逻辑“或”运算。
其他指令可以将OR位复位。
溢出位(OV)
状态字的第4位称为溢出位(OV),如果算术运算或浮点数比较指令执行时出现错误(例如溢出、非法操作和不规范的格式),溢出位被置1。
如果后面的同类指令执行结果正常,该位被清0。
溢出状态保持位(OS)
状态字的第5位称为溢出状态保持位(OS),或称为存储溢出位。
OV位被置1时OS位也被置1,OV位被清0时OS仍保持,所以它保存了OV位,用于指明前面的指令执行过程中是否产生过错误。
只有JOS(OS=1时跳转)指令、块调用指令和块结束指令才能复位OS位。
条件码1(CCI)和条件码0(CCO)
状态字的第7位和第6位称为条件码1和条件码0。
表8-4STEP7的条件码状态
CC1
CC0
条件
0
0
ACCU2=ACCU1
0
1
ACCU2ACCU1
1
0
ACCU2ACCU1
1
1
非法指令
这两位综合起来用于表示在累加器1中产生的算术运算
或逻辑运算的结果与0的大小关系﹑比较指令的执行结
果或移位指令的移出位状态,见表8-4。
二进制结果位(BR)
状态字的第8位称为二进制结果位。
它将字处理程序与位处理联系起来,在一段既有位操作又有字操作的程序中,用于表示字操作结果是否正确。
将BR位加入程序后,无论字操作结果如何,都不会造成二进制逻辑链中断。
在梯形图的方框指令中,BR位与ENO有对应关系,用于表明方框指令是否被正确执行:
如果执行出现了错误,BR位为0,ENO也为0;如果功能被正确执行,BR位为1,ENO也为1。
状态字的9~15位未使用。
4S7-300的寻址方式
STEP7的寻址方式有三种,立即寻址﹑直接寻址和间接寻址。
1)立即寻址
立即寻址是指操作数直接在指令中。
有些指令的操作数是唯一的,往往不指令中写出,成为无操作数指令,其实也可以看成是一种特殊的立即寻址。
下面的例子中,“S5T#10S”是装入T1计时器的时间常数,可以看出该操作数直接在指令中了,叫立即寻址。
AI1.0//启动电平
LS5T#10S//计时器的时间常数
SDT1//时间常数装入计时器T1
2)直接寻址
直接寻址是指操作数的地址在指令中给出。
下面的例子中,“MW100”是装入T1计时器时间常数的地址,可以看出具体的时间常数在指令中没有给出。
但是,存放时间常数的地址已经由指令给出,这种寻址方式叫直接寻址。
AI1.0//启动电平
LMW100//计时器的时间常数的地址
SDT1//时间常数装入计时器T1
3)间接寻址
间接寻址是指操作数的地址的地址在指令中给出,S7-300有两种间接寻址。
一种是以定时器T﹑计数器C﹑数据块DB﹑功能块FB﹑功能FC字作为地址指针和以MD﹑LD﹑DBD﹑DID双字作为地址指针,其表示形式为“[地址指针]”。
这种寻址方式叫存储器间接寻址。
下面是存储器间接寻址的例子。
“IB[MD0]”是装入QB0操作数的地址的地址,其MD0的313位表示被寻址的字节编号,MD0的20位表示被寻址的位号。
当MD0=W#16#0时,MD0的313位表示被寻址的字节编号为0,即把IB0的数据传送到QB0,当MD0=W#16#8时,MD0的313位表示被寻址的字节编号为1,即把IB1的数据传送到QB0,当MD0=W#16#10时,MD0的313位表示被寻址的字节编号为2,即把IB2的数据传送到QB0。
LIB[MD0]//把IB由MD0的313位指定的字节装入累加器1
TQB0//把累加器1的低8位传送给QB0
S7-300的另一种间接寻址方式是利用两个地址寄存器AR1和AR2对各存储区进行间接寻址,地址寄存器的内容加上偏移量形成地址指针,其表示形式为“[地址寄存器,P#偏移量]”。
这种寻址方式叫寄存器间接寻址。
下面是寄存器间接寻址的例子。
AI0.1//启动电平
LP#1.0//将间接寻址的地址指针装入累加器1
LAR1//将累加器1的内容送到地址寄存器1
AM[AR1,P#1.3]//AR1的P#1.0加偏移量P#1.3,实际是对M2.3操作
=Q[AR1,P#1.0]//把运算结果赋给Q的AR1的P#1.0加偏移量P#1.0位,即Q2.0
LDBW[AR1,P#6.0]//把当前数据快DBW7的数据装入累加器1
TMW4//把累加器1的低16位传送给MW4
8.2S7-300的基本指令
1位逻辑指令
S7-300的位逻辑指令可以分为与操作﹑或操作﹑取反操作﹑中间输出操作﹑置位操作﹑复位操作﹑RS触发器﹑SR触发器﹑逻辑正边沿检测﹑逻辑负边沿检测﹑信号正边沿检测和信号负边沿检测。
具体操作及功能如表8-5所示。
表8-5位逻辑指令表
操作
语句表
梯形图
功能描述
参数说明
与操作
(A/AN)
AI0.1
ANI0.2
=Q0.1
I0.1和I0.2的非进行“与”操作,其结果赋予Q0.1输出。
触点与线圈均为位数据。
或操作
(O/ON)
OI0.2
ONI0.3
=Q0.2
I0.2和I0.3的非,进行“或”操作,其结果赋予Q0.2输出。
触点与线圈均为位数据。
取反操作
(NOT)
A(
OI0.1
ONM0.0
)
NOT
=Q0.3
I0.1和M0.0的非进行“或”操作,其结果“取反”再赋予Q0.3输出。
触点与线圈均为位数据。
中间输出操作
(#)
A(
OI0.1
ONI0.3
)
=M0.1
AM0.1
AI0.2
=Q0.4
I0.1和I0.3的非,进行“或”操作,其中间结果赋予M0.1输出,同时再和I0.2进行“与”操作,最终结果赋予Q0.4输出。
触点与线圈均为位数据。
置位操作(S)
AI0.1
SQ0.1
I0.1为ON时,对Q0.1置位。
触点与线圈均为位数据。
复位操作
(R)
AI0.2
RQ0.1
I0.2为ON时,对Q0.1复位。
触点与线圈均为位数据。
RS触发器
(R/S)
AI0.1
RM0.1
AI0.2
SM0.1
AM0.1
=Q0.1
I0.1为ON时,对M0.1复位。
I0.2为ON时,对M0.1置位。
M0.1的状态赋予Q0.1输出。
置位优先。
触点与线圈均为位数据。
SR触发器
(S/R)
AI0.1
SM0.1
AI0.2
RM0.1
AM0.1
=Q0.1
I0.1为ON时,对M0.1置位。
I0.2为ON时,对M0.1复位。
M0.1的状态赋予Q0.1输出。
复位优先。
触点与线圈均为位数据。
逻辑正边沿检测
(FP)
AI0.1
AI0.2
FPM0.1
=M1.0
I0.1和I0.2的“与”结果赋予M0.1,M0.1上升沿使M1.0产生一个扫描周期的脉冲输出。
触点与线圈均为位数据。
逻辑负边沿检测
(FN)
AI0.1
AI0.2
FNM0.2
=M1.1
I0.1和I0.2的“与”的结果赋予M0.2,M0.2下降沿使M1.1产生一个扫描周期的脉冲输出。
触点与线圈均为位数据。
信号正边沿检测
(FP)
AI0.1
A(
AI1.0
FPM1.1
)
=M8.0
I0.1为ON时,I1.0的状态赋予M1.1,M1.1的上升沿使M8.0产生一个扫描周期的脉冲输出。
触点与线圈均为位数据。
信号负边沿检测
(FN)
AI0.1
A(
AI1.1
FNM1.0
)
=M8.1
I0.1为ON时,I1.1的状态赋予M1.0,M1.0的下降沿使M8.1产生一个扫描周期的脉冲输出。
触点与线圈均为位数据。
2计数器与计时器指令
S7-300的计数器指令可以分为加计数器(CU)﹑减计数器(CD)和双向计数器(CDU)。
S7-300的计时器可以分为脉冲计时器(SP)﹑扩展脉冲计时器(SE)﹑开通延时计时器(SD)﹑保持型开通延时计时器(SS)和关断延时计时器(SF)。
计时器与计数器指令的操作又分为线圈操作和框图操作两种,具体操作及功能如表8-6和表8-7所示。
表8-6计数器指令
操作
语句表
梯形图
功能描述
参数说明
计数器线圈置数操作
(SC)
AI0.1
LC#10
SC1
I0.1为置数脉冲。
I0.1=ON时,把设定值PV装入过程值寄存器CV中。
计数器的设定值PV可以是常数,也可以是某个数据通道的数值。
其值为0999的十进制整数。
计数器线圈加计数操作
(CU)
AI0.2
CUC1
I0.2为加计数脉冲,I0.2使计数CV值加1,当CV=999时,停止加计数。
CV=0时,C1=OFF。
CV0时,C1=ON。
计数器的设定值PV格式同上。
计数器线圈减计数操作
(CD)
AI0.3
CDC1
I0.3为减计数脉冲,I0.3使计数CV值减1,当CV=0时,停止减计数。
CV=0时,C1=OFF。
CV0时,C1=ON。
计数器的设定值PV格式同上。
计数器线圈复位操作
(R)
AI0.4
RC1
I0.4为复位脉冲,I0.4使计数器复位。
计数器的过程值CV=0。
计数器的设定值PV格式同上。
加计数器框图操作
(CU)
AI0.2
CUC1
AI0.1
LC#10
SC1
AI0.3
RC1
AC1
=Q0.1
CU端为加计数脉冲,S端为置数脉冲,
PV为设定值,
R端为复位脉冲,
CV端为计数器当前值十六进制输出。
CV_BCD端为计数器当前值十进制输出,
Q端为计数器状态输出。
I0.1=ON时,把设定值PV装入过程值寄存器CV中。
I0.2脉冲使计数加1,CV=999时,停止加计数。
CV=0时,C1=OFF。
CV0时,C1=ON。
计数器的设定值PV格式同上。
减计数器框图操作
(CD)
AI1.2
CDC2
AI1.1
LC#10
SC2
AI1.3
RC2
AC2
=Q0.2
CD端为减计数脉冲,S﹑PV﹑R﹑CV﹑CV_BCD和Q端的功能同上。
I1.1=ON时,把设定值PV装入过程值寄存器CV中。
I1.2脉冲使计数减1,CV=0时,停止减计数。
CV=0时,C2=OFF。
CV0时,C2=ON。
计数器的设定值PV格式同上。
双向计数器框图操作
(CDU)
AI1.1
CUC3
AI1.2
CDC3
AI1.3
LC#10
SC3
AI1.4
RC3
AC3
=Q0.2
CU端为加计数脉冲,CD端为减计数脉冲,S﹑PV﹑R﹑CV﹑CV_BCD和Q端的功能同上。
I1.3=ON时,把设定值PV装入过程值寄存器CV中。
I1.1脉冲使计数加1,CV=999时,停止加计数。
I1.2脉冲使计数减1,CV=0时,停止减计数。
CV=0时,C3=OFF。
CV0时,C3=ON。
计数器的设定值PV格式同上。
说明:
用数据通道表示计数值的格式:
16位数的高4位未用,低12位表示3位BCD码,最大999。
表8-7定时器指令
操作
语句表
梯形图
功能描述
参数说明
脉冲计时器线圈操作(SP)
AI1.0
LS5T#10S
SPT0
I1.0为计时器的置数启动电平。
I1.0由OFF变为ON时,计时器的设定值TV装入过程值寄存器,计时器为ON状态。
每过一个时基时间过程值减1,过程值=0时,计时器为OFF状态。
I1.0提前为OFF时,计时器就停止计时,并提前降为OFF。
计时器的设定值TV可以是常数,也可以是某个数据通道的数值。
但是应该满足时基和时间常数的格式。
脉冲计时器框图操作(SP)
AI1.0
LS5T#1M30S
SPT0
AT0
=Q1.0
S端为计时器的置数启动电平。
TV端为计时器的设定值。
R端为计时器的复位输入。
BI端为计时器当前值十六进制输出。
BCD端为计时器当前值十进制输出。
Q端为计时器状态输出。
框图操作功能同SP线圈操作。
计时器的设定值TV同上。
R端可以加上复位信号。
扩展脉冲计时器线圈操作(SE)
AI1.0
LS5T#2M10S
SET1
I1.0为计时器的启动脉冲,I1.0由OFF变为ON时,计时器的设定值PV装入过程值寄存器TV中,计时器为ON状态。
每过一个时基时间过程值减1,过程值=0时,计时器为OFF状态。
I1.0提前为OFF时,计时器工作照常。
计时器的设定值TV同上。
扩展脉冲计时器框图操作(SE)
AI1.0
LS5T#20S
SET1
AT1
=Q1.1
S端为计时器的置数启动电平。
TV端为计时器的设定值。
R端为计时器的复位输入。
BI端为计时器当前值十六进制输出。
BCD端为计时器当前值十进制输出。
Q端为计时器状态输出。
框图操作功能同SE线圈操作。
计时器的设定值TV同上。
R端可以加上复位信号。
开通延时计时器线圈操作(SD)
AI1.2
LS5T#20S
SDT2
I1.2为计时器的启动电平,I1.2由OFF变为ON时,计时器的设定值PV装入过程值寄存器TV中。
计时器为OFF状态。
每过一个时基时间过程值减1,过程值=0时,计时器为ON状态。
I1.2提前为OFF时,计时器就停止计时。
I1.2再由OFF变为ON时,计时器将重新开始计时。
计时器的设定值TV同上。
开通延时计时器框图操作(SD)
AI1.2
LS5T#20S
SDT2
AT2
=Q0.2
S端为计时器的置数启动电平。
TV端为计时器的设定值。
R端为计时器的复位输入。
BI端为计时器当前值十六进制输出。
BCD端为计时器当前值十进制输出。
Q端为计时器状态输出。
框图操作功能同SD线圈操作。
计时器的设定值TV同上。
R端可以加上复位信号。
保持型开通延时计时器线圈操作(SS)
AI1.3
LS5T#10S
SST3
AI1.4
RT3
I1.3为计时器的启动脉冲,I1.3由OFF变为ON时,计时器的设定值PV装入过程值寄存器TV中。
计时器为OFF状态。
每过一个时基时间过程值减1,过程值=0时,计时器为ON状态。
I1.3提前为OFF时,计时器继续工作,直到计时器为ON状态。
I1.4为复位信号(需要)。
计时器的设定值TV同上,复位信号是需要的。
保持型开通延时计时器框图操作(SS)
AI1.3
LS5T#10S
SST3
AI1.4
RT3
AT3
=Q0.3
S端为计时器的置数启动电平。
TV端为计时器的设定值。
R端为计时器的复位输入。
BI端为计时器当前值十六进制输出。
BCD端为计时器当前值十进制输出。
Q端为计时器状态输出。
框图操作功能同SS线圈操作。
计时器的设定值TV同上。
关断延时计时器线圈操作(SF)
AI1.3
LS5T#20S
SFT4
I1.3为计时器的启动电平。
I1.3=ON时,计时器为ON状态。
I1.3由ON变为OFF时,计时器的设定值TV装入过程值寄存器。
每过一个时基时间过程值减1,过程值=0,计时器由ON变为OFF状态。
计时器的设定值TV同上。
关断延时计时器框图操作(SF)
AI1.3
LS5T#20S
SFT4
AT4
=Q0.3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- S7300 软件 基础