西门子s LC基本指令
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
19:26
21
2、减计数器减计数指令(CTD)
Cxx CD CTD LD PV
从当前计数值开始,在每一个(CD)输入状态 的低到高时递减计数。
•当CXX的当前值等于0时,计数器位CXX置位。
•当装载输入端(LD)接通时,计数器位被复位, 并将计数器的当前值设为预置值PV。
•当计数值到0时,计数器停止计数,计数器位 CXX接通。
???
② 置位线圈指令
(S) xxx
???位代表位起始地址
当指令收到能流时,则???指定位开始的XXX个位被置1;
当指令没收到能流时,则???指定的位状态不变 。
???
③ 复位线圈指令 (xRxx) ???位代表位起始地址
当指令收到能流时,则???指定位开始的XXX个位被置0;
当指令没收到能流时,则???指定的位状态不变 。
19:26
ADD_I
EN
ENO
IN1
OUT
IN2
ADD_DI
EN
ENO
IN1
OUT
IN2
ADD_R
EN
ENO
IN1
OUT
IN2
29
二、减法指令 IN1-IN2=OUT
SUB_I
EN
ENO
IN1 OUT
IN2
SUB_DI
EN
ENO
IN1 OUT
IN2
SUB_R
EN
ENO
IN1
OUT
IN2
19:26
30
19:26
KM1 FR1 M1 M
3~
11
例3:正反转向电机起停控制
已知:正转向起动按钮信号接入I0.0 反转向起动按钮信号接入I0.11 停止按钮信号接入I0.2 电机正转运行命令由Q0.0输出、反转运行命令由Q0.0输出。
L1 L2 L3
I0.0
QS
I0.1 FU
I0.2
KM1
KM2
Q0.0
~220V Q0.1
SIMATIC
IEC1131
19:26
36Biblioteka Baidu
19:26
37
七、逻辑运算指令 对字节、字、双字(按位)进行逻辑运算
1、字节逻辑运算
WAND_B
WOR_B
EN ENO
EN ENO
IN1 OUT
IN1 OUT
IN2
IN2
与
或
2、字逻辑运算
WAND_W EN ENO
WOR_W EN ENO
IN1 OUT
IN1 OUT
IN1
OUT
TAN
EN
ENO
IN1
OUT
19:26
35
六、增减指令
指令将输入IN加1或者减1,并将结果存放在OUT中。 递增:IN+1=OUT 递减:IN-1=OUT
字节递增(INCB)和字节递减(DECB)操作是无符号的。 字递增(INCW)和字递减(DECW)操作是有符号的。 双字递增(INCD)和双字递减(DECD)操作是有符号的。
第四章 S7-200的基本指令及编程
第一节 位操作指令 第二节 运算指令 第三节 数据处理指令 第四节 表功能指令 第五节 转换指令
学习目标 •掌握LAD位指令、运算指令和数据处理指令 •了解LAD表功能指令、转换指令 •能够用学到的LAD指令编写简单程序
19:26
1
第一节 位操作指令
主要用于实现逻辑运算
EN
ENO
IN1 OUT
IN2
(4)实数除法 IN1÷IN2=OUT
将两个实数除,产生一个实数结果。
DIV_R
EN
ENO
IN1 OUT
IN2
19:26
34
五、数学函数指令
SQRT
EN
ENO
IN1
OUT
LN
EN
ENO
IN1
OUT
SIN
EN
ENO
IN1 OUT
COS
EN
ENO
IN1
OUT
EXP
EN
ENO
•当达到最小值(-32768)时,在减计数输入端的下一个上升沿导致 当前计数值变为最大值(32767)。
•当CXX的当前值大于等于预置值PV时,计数器位CXX置位。否则, 计数器位关断。当复位端(R)接通或者执行复位指令后,计数 器被复位。
19:26
24
五、比较指令
1. 数值比较 比较指令数值比较比较指令用于比较两个数值: IN1 = IN2;IN1 >= IN2;IN1 <= IN2; IN1 > IN2;IN1 < IN2;IN1 <> IN2。 字节比较操作是无符号的。 整数比较操作是有符号的。 双字比较操作是有符号的。 实数比较操作是有符号的。 对于LAD :当比较结果为真时,比较指令使能点闭合 或者输出接通。 当使用IEC比较指令时,可以使用各种数据类型作为输 入。但是,两个输入的数据类型必须一致。
19:26
22
减计数器
19:26
23
3、增/减计数器指令(CTUD)
Cxx CU CTUD CD R PV
在每一个增计数输入(CU)的低到高时增计数,在每一个减计 数输入(CD)的低到高时减计数。
计数器的当前值CXX保存当前计数值。在每一次计数器执行时, 预置值PV与当前值作比较。
•当达到最大值(32767)时,在增计数输入处的下一个上升沿导致 当前计数值变为最小值(-32768)。
19:26
16
19:26
17
19:26
18
3、断开延时定器(TOF)
Txx IN TOF PT
•在输入(IN)有能流时,定时器位被置1 、当前值=0; •在输入(IN)的能流断开时,开始计时,定时器位=1 ; •当当前值达到预置值(PT)时,定时器位被置0,停止计时; •定时器号(Txx)决定了定时器的分辨率。
IN2
IN2
与
或
3、双字逻辑运算
WXOR_B EN ENO IN1 OUT IN2
异或
WXOR_W EN ENO IN1 OUT IN2
异或
19:26
INV_B EN ENO IN1 OUT IN2
取反
INV_W EN ENO IN1 OUT IN2
取反
38
19:26
39
编程举例
例1 根据波形图设计梯形图程序(主机与润滑设备)
④ 立即输出线圈指令
???
(I)
??? Q区位代表位地址
当指令收到能流时,则???指定位对应的物理输出=1; 当指令没收到能流时,则???指定位对应的物理输出=0 。
19:26
7
例1:电机起停控制
已知:起动按钮信号接入I0.0
停止按钮信号接入I0.1
L1 L2 L3
电机运行命令由Q0.0输出
QS
SB1
解: 1、确定I/O类型和数量
开关量输入:4个
开关量输出:2个
LS1
LS2
2、分配I/O地址、定义开关量状态,
起动按钮:I0.0,按下闭合,放开断开
停止按钮:I0.1,按下断开,放开闭合
行程开关LS1: I0.2,压下闭合,放开断开
行程开关LS2: I0.3,压下闭合,放开断开
左运行输出信号:Q0.0,1运行,0停止 右运行输出信号:Q0.1,1运行,0停止
•下降沿触发单脉冲指令 N 当收到能流被断开时,产生一个扫描周期的能流输出;
I0.0 P
I0.0 N
Q0.0
()
Q0.1
()
I0.0 Q0.0 Q0.1
19:26
6
(2)线圈指令 ① 输出线圈指令
???
( ) ???位代表位地址
当指令收到能流时,则???指定的位=1;
当指令没收到能流时,则???指定的位=0 。
3、编写梯形图程序
19:26
41
例3 进出人数统计。在门廊装设两个光电开关,当有人遮蔽 开关的光信号时,开关闭合,否则断开。设计统计进出人数 的程序。
开关A
开关B
进入
走出
19:26
42
第三节 数据处理指令
1. 传送类指令 2. 移位指令 3. 字节交换指令 4. 填充指令
19:26
19:26
19
19:26
20
四、计数器指令 1、增计数器指令(CTU)
Cxx CU CTU R PV
从当前计数值开始,在每一个(CU)输入状态从低到高时递 增计数。 •当Cxx的当前值大于等于预置值PV时,计数器位Cxx置位。 •当复位端(R)接通或者执行复位指令后,计数器被复位。 •当它达到最大值(32,767)后,计数器停止计数。
三、乘法指令
(1)整数乘法指令 IN1*IN2=OUT
将两个16位整数乘,产生一个16位结果。
MUL_I
EN
ENO
IN1 OUT
IN2
(2)完全整数乘法指令 IN1*IN2=OUT
将两个16位整数乘,产生一个32位结果。
MUL
EN
ENO
IN1 OUT
IN2
19:26
31
(3)双整数乘法指令 IN1*IN2=OUT
DIV_I
EN
ENO
IN1 OUT
IN2
(2)完全整数除法 IN1÷IN2=OUT
将两个16位整数相除,得到32位结果。 其中高16位为余数,另外低16位为商。
DIV
EN
ENO
IN1
OUT
IN2
19:26
33
(3)双整数除法 IN1÷IN2=OUT
将两个32位整数除,产生一个32位结果。
DIV_DI
19:26
3
I0.0 M0.0 V0.0
当I0.0=1时,能流通过第一条指令 当M0.0=0时,能流通过第二条指令 当V0.0=0时,能流不能通过第三条指令
19:26
4
???
③ 立即检查闭指令 I
???位代表位地址
当???指定地址的数据为1时,指令结果接通能流; 否则,指令结果断开能流。
???
④ 立即检查开指令 I
I0.0
I0.1
Q0.0
Q0.1
10S
18S
19:26
40
例2: 按下起动按钮,小车到达左端,同时压下行程开关LS1,小车 在此装料15s后自动开始右行,到达右端,并压下行程开关LS2 , 下料10s后自动左行去装料,如此自动往复循环,直到按下停止按 钮,小车停止运行。要求编写小车运行控制梯形图程序。
•当输入能流断开时停止计时,同时定时器位被置0、清除 当前值。 •定时器号(Txx)决定了定时器的分辨率。
19:26
14
19:26
15
2、保持型接通延时定器(TONR)
Txx IN TONR PT
•在输入(IN)收到能流时,从当前值开始计时; •当当前值达到预置值(PT)时,定时器位被置1; •当输入能流断开时停止计时,定时器位、当前值保持不变; •必须用复位指令才能清除定时器位和当前值; •定时器号(Txx)决定了定时器的分辨率。
将两个32位整数乘,产生一个32位结果。
MUL_DI
EN
ENO
IN1 OUT
IN2
(4)实数乘法指令 IN1*IN2=OUT
将两个实数乘,产生一个实数结果。
MUL_R
EN
ENO
IN1 OUT
IN2
19:26
32
三、除法指令
(1)整数除法 IN1÷IN2=OUT
将两个16位整数相除,产生一个16位结果。
???位代表位地址
当???指定地址的数据为0时,指令结果接通能流; 否则,指令结果断开能流。
⑤ 取反指令 NOT
对能流取反 如果指令收到能流,则终止能流; 如果指令没有收到能流,则产生能流输出。
I0.0 M0.0 NOT
19:26
5
⑥ 单脉冲指令(边沿触发指令)
•上升沿触发单脉冲指令 P 当收到能流时,产生一个扫描周期的能流输出;
19:26
25
SIMATIC
IEC1131
19:26
26
2. 字符串比较
比较指令比较两个字符串的ASCII码字符: IN1=IN2; IN1<>IN2
当比较结果为真时,比较指令使触点闭合或者输出接通。
SIMATIC
IEC1131
19:26
27
第二节 运算指令
1. 加法指令 2. 减法指令 3. 乘法指令 4. 除法指令 5. 数学函数指令 6. 增减指令 7. 逻辑运算指令
19:26
28
一、加法指令 当EN输入端为1(获得能流)时执行加法运算,
IN1+IN2=OUT 。 如果执行正确,则ENO=1(输出能流); 否则,ENO=0。 1、整数加法(+I) 将两个16位整数相加,产生一个16位结果。
2、双整数加法(+D) 将两个32位整数相加,产生一个 32位结果。
3、实数加法(+R) 将两个32位实数相加,产生一个32位实数结果。
~220V
FR1
KM1
19:26
KM2
M1 M 3~
12
二、堆栈操作指令 用于完成复杂的语句表指令设置堆栈操作
19:26
13
三、定时器指令 S7-200 CPU22X 有三种定时器:TON、TONR、TOF
1、接通延时定器(TON)
Txx IN TON PT
•在输入(IN)收到能流时开始计时; •当当前值达到预置值(PT)时,定时器位被置1;
I0.0
FU
SB2
I0.1
FR1 SB1 SB2 K M1
KM1
FR1
M1 M 3~
19:26
Q0.0
~220V
KM1
KM1
8
19:26
9
19:26
10
例2:用单按钮实现电机起停控制 已知:按钮信号接入I0.0 电机运行命令由Q0.0输出
I0.0
L1 L2 L3 QS FU
Q0.0
~220V KM1
1. 基本逻辑指令 2. 堆栈操作指令* 3. 定时器指令 4. 计数器指令 5. 比较指令
19:26
2
一、基本逻辑指令
1、触点指令
???
① 检查闭指令 其中???位代表位地址 当???指定地址的数据为1时, 指令结果接通能流; 否则,指令结果断开能流。
???
② 检查开指令 其中???位代表位地址 当???指定地址的数据为0时, 指令结果接通能流; 否则,指令结果断开能流。