S7-1200 PLC的逻辑运算指令详解!
S71200课件课件项目四S71200指令系统
4.2 定时器指令——定时器的输入输出参数 2/4
参数
数据类型
IN
Bool
R
Bool
PT (Preset Time) Bool
Q
Bool
ET (Elapsed Time) Time
定时器数据块
DB
说明 启用定时器输入 将 TONR 经过的时间重置为零 预设的时间值输入 定时器输出
经过的时间值输出
指定要使用 RT 指令复位的定时器
将计数值重置为零
LOAD (CTD、CTUD) BOOL
PV
SInt、Int、DInt、 USInt、UInt、UDInt
Q、QU
BOOL
预设值的装载控制 预设计数值 CV >= PV 时为真
QD
BOOL
CV <= 0 时为真
CV
SInt、Int、DInt、 USInt、UInt、UDInt
当前计数值
IEC定时器和IEC计数器属于功能块,调用时需要指定配套的背 景数据块,定时器和计数器指令的数据保存在背景数据块中。
在梯形图中输入定时器指令时,打开右边的指令窗口将“定时器 操作”文件夹中的定时器指令拖放到梯形图中适当的位置,在出 现的“调用选项”对话框中修改将要生成的背景数据块的名称, 或采用默认的名称。点击“确定”按钮,自动生成数据块。
4.2 定时器指令——定时器的基本功能
使用定时器指令可创建编程的时间延迟,S7-1200 PLC有4种定 时器:
●TP: 脉冲定时器可生成具有预设宽度时间的脉冲。
●TON:接通延迟定时器输出Q在预设的延时过后设置为 ON。
●TOF:关断延迟定时器输出 Q 在预设的延时过后重置为 OFF。
第8章S7-1200基本指令
基本指令88.1 位逻辑运算8.1.1 位逻辑指令使用 LAD 和 FBD 处理布尔逻辑非常高效。
SCL不但非常适合处理复杂的数学计算和项目控制结构,而且也可以使用 SCL 处理布尔逻辑。
LAD 触点表格 8- 1常开触点和常闭触点LAD SCL说明IF in THENStatement; ELSEStatement; END_IF;常开触点和常闭触点:可将触点相互连接并创建用户自己的组合逻辑。
如果用户指定的输入位使用存储器标识符 I (输入)或 Q (输出),则从过程映像寄存器中读取位值。
控制过程中的物理触点信号会连接到 PLC 上的 I 端子。
CPU 扫描已连接的输入信号并持续更新过程映像输入寄存器中的相应状态值。
通过在 I 偏移量后追加“:P”,可执行立即读取物理输入(例如: “%I3.4:P”)。
对于立即读取,直接从物理输入读取位数据值,而非从过程映像中读取。
立即读取不会更新过程映像。
IF NOT (in) THEN Statement; ELSEStatement; END_IF;基本指令8.1 位逻辑运算表格 8- 2 参数的数据类型参数数据类型说明IN Bool 分配位●在赋的位值为 1 时,常开触点将闭合 (ON)。
●在赋的位值为 0 时,常闭触点将闭合 (ON)。
●以串联方式连接的触点创建 AND 逻辑程序段。
●以并联方式连接的触点创建 OR 逻辑程序段。
FBD、AND、OR 和 XOR 功能框在 FBD 编程中,LAD 触点程序段变为与 (&)、或 (>=1) 和异或 (x)功能框程序段,可在其中为功能框输入和输出指定位值。
也可以连接到其它逻辑框并创建用户自己的逻辑组合。
在程序段中放置功能框后,可从“收藏夹”(Favorites)工具栏或指令树中拖动“插入输入”(Insert input)工具,然后将其放置在功能框的输入侧以添加更多输入。
也可以右键单击功能框输入连接器并选择“插入输入”(Insert input)。
S7-1200 PLC 基本指令介绍之触点与赋值指令
西门子S7-1200 PLC的指令系统分为基本指令、扩展指令、工艺指令、通信指令等等,而其中的基本指令是我们学习S7-1200 PLC 必须要学习和掌握的指令,包括位逻辑运算、定时器、计数器、比较操作、数学函数等10部分组成。
这篇文章主要是介绍一下S7-1200的位逻辑指令,这也是我们在学习PLC编程时最先接触到的指令,最基本的指令。
位逻辑运算指令是对二进制位进行操作指令,数据类型是BOOL型,这其中又包括了触点指令与赋值指令、置位与复位指令、沿脉冲检测指令这三个部分。
我们打开基本指令中的位逻辑运算文件夹,就可以看到如下这些指令。
从以上这些指令中,我们可以对比一下S7-200/200 SMART PLC,会发现有部分指令有所不同,比如说赋值取反、SET_BF、RESET_BF、(P)、(N)、P_TRIG、N_TRIG、R_TRIG、F_TRIG,这些都是S7-1200 PLC新增的指令,我们之后也会着重介绍新增的指令。
对于这些位逻辑运算指令,我们会分三部分来讲,这篇文章是先介绍触点指令与赋值指令哦。
触点与赋值指令包括常开触点、常闭触点、取反指令、赋值和赋值取反这5个指令。
常开常闭触点类似于继电控制电路中按钮的常开常闭触点。
因为PLC的输入点需要接按钮、开关等元器件,按钮开关等有常开NO和常闭NC的,而程序中又又常开触点和常闭触点,那么外部电路的状态和内部触点常开/常闭之间的关系是怎么样的呢?我们一起看一下下图。
对于常开常闭触点,我们在使用的时候可以单个触点使用,也可以多个触点进行逻辑“与”、“或”、“非”等组合式使用。
当多个触点串联连接在一起使用时,多个触点之间的运算就是逻辑与运算。
只有所有触点的状态都为1时,输出结果才会为1。
当多个触点并联链接在一起时,多个触点之间的运算就是逻辑或运算。
只要参与运算的触点中有任意一个状态为1,输出结果就为1。
逻辑非运算是对前面的逻辑运算结果进行取反,比如当前面的逻辑运算结果为1,执行逻辑非运算之后结果变为0。
西门子S71200plc 指令系统(收藏)
计数器指令——计数器的输入输出 参数
参数 CU、CD R ( CTU、CTUD )
数据类型 BOOL BOOL
说明
加计数或减计数,按加或减一 计数
将计数值重置为零
LOAD (CTD、CTUD) BOOL
预设值的装载控制
PV
SInt、Int、DInt、USInt、 UInt、UDInt
I0.0— 传送带 Q0.0—传送带
停机按钮
电机KM1
I0.1—传送带 Q0.1—机械手
起动按钮
KM2
I0.2— 产品通 定时器,定时2 过检测器PH 秒
计数器,设定 测到一个产品,I0值.22产4 生一个正 脉冲,使计一个数。
C10每计24个数,机械手动作一次
机械手动作后,延时2秒, 机械手的电磁铁切断
3台电机顺序启动、反序停止控制 控制要求:按下启动按钮后,3台电机按M1、M2、M3的顺序隔2s启动; 按下停止按钮后,3台电机按M3、M2、M1的顺序隔2s停止。
如果输入信号I0.6由0变为1状态(即输入信号I0.6的上升沿),则该触点接通一个扫描周 期。 触点下面的M4.3为边缘存储位,用来存储上一个扫描循环是I0.6的状态,通过比较输 入信号的当前状态和上一次循环的状态来检测信号的边沿。边沿存储位的地址只能在 程序中使用一次,它的状态不能在其他地方被改写。只能使用M、全局DB和静态局 部变量来作边沿存储位,不能使用临时局部数据或I/O变量来作边沿存储位。
例 用接通延时定时器设计一个周期振荡电路。
用接通延时定时器设计周期和占空比可调的振荡电路。
振荡电路的高、低电平时间分别由两个定时器的PT值确定。
S71200PLC的指令
2020/3/23
10
6.3 基本指令——数学运算指令——四则运算指令
方法1:双整数运算。乘法运算的结果可能会大于一个字能表示的最大值,因此使用 双整数的乘法和除法。
方法2:浮点数运算。
2020/3/23
11
基本指令——数学运算指令——其他整数数学运算指令
MOD指令:除法指令只能得到商,余数被丢掉,MOD指令可以用来求除法的余数。 NEG指令:将输入IN的值取反,保存在OUT中。 INC和DEC指令:参数IN/OUT的值分别加1和减1。 绝对值指令ABS:求输入IN中有符号整数或实数的绝对值。
2020/3/23
2020/3/23
14
基本指令——数学运算指令——浮点数函数运算指令 3/3
c a2 b2
2020/3/23
15
基本指令——数据传送指令 1/2
2020/3/23
17
基本指令——数学运算指令——转换指令
2020/3/23
18
基本指令——取整指令
由于浮点数的数值范围远远大于32位整数,有点浮点数不能成功转换为32位整数,此 时ENO为0状态。
2020/3/23
19
基本指令——标定指令
SCALE_X指令的浮点数输入值被线性转换为下限和上限定义数值范围之内的整数:
OUT=VALUE*(MAX-MIN)+MIN
2020/3/23
20
基本指令——标准化指令
三角函数和反三角函数指令中的角度均为以弧度为单位的浮点数。
2020/3/23
13
基本指令——数学运算指令——浮点数函数运算指令 2/3
(电气控制与PLC)第六章S7-1200的指令
2021/1/13
福州大学电气工程与自动化学院
16
定时器指令——定时器的输入输出参数
TP、TON 和 TOF 定时器具有相同的输入和 输出参数
TONR 定时器具有附加的复位输入参数 R
2021/1/13
福州大学电气工程与自动化学院
17
定时器指令——定时器的输入输出参数
参数 IN从0变为1将启动TP、TON 和 TONR,从 1变0 将启动 TOF
福州大学电气工程与自动化学院
14
提纲
1. 位逻辑指令 2. 定时器指令 3. 计数器指令 4. 数据处理指令
2021/1/13
福州大学电气工程与自动化学院
15
定时器指令
S7-1200 PLC有4种定时器: ➢ TON:接通延迟定时器 (ON) ➢ TONR:保持型接通延迟定时器 (ON+Reset) ➢ TOF:关断延迟定时器 (OFF) ➢ TP: 脉冲定时器 (Pulse)
避免循环扫描导致指令重复执行
触点下面的M4.3为边缘存储位,用来存储上一个扫描周期时 I0.6的状态,通过比较输入信号的当前状态和上一个扫描周期的 状态来检测信号的边沿
2021/1/13
福州大学电气工程与自动化学院
9
位逻辑指令——乒乓电路设计
用位逻辑指令实现以下功能: 按一次按钮I0.0,输出Q4.0亮,再按一次按钮,输出Q4.0灭; 重复以上。
44
用比较和计数指令编写开关灯程序 要求灯控按钮I0.0按下一次,灯Q4.0亮,按下两次, 灯Q4.0,Q4.1全亮,按下三次灯全灭,如此循环。
2021/1/13
福州大学电气工程与自动化学院
45
灯控按钮 I0.0 按 下一次,灯 Q4.0 亮,按下两次,灯 Q4.0,Q4.1 全亮, 按下三次灯全灭, 如此循环。
S71200-1500指令说明和举例-赋值取反
S71200-1500指令说明和举例-赋值取反
--(/)--:赋值取反(S7-1200,S7-1500)
--(/)--:赋值取反
说明
使用“赋值取反”指令,可将逻辑运算的结果(RLO)进行取反,然后将其赋值给指定
操作数。
线圈输入的RLO为“1”时,复位操作数。
线圈输入的RLO为“0”时,操作数
的信号状态置位为“1”。
参数
下表列出了“赋值取反”指令的参数:
参数声明数据类型存储区说明
I、Q、M、D、要赋值给RLO的操作
OutputBOOL
L数。
示例
以下示例说明了该指令的工作原理:
当满足以下任一条件时,可对操作数“TagOut_1”进行复位。
操作数“TagIn_1”和“TagIn_2”的信号状态为“1”。
操作数“TagIn_3”的信号状态为“0”。
有关以上示例中编程代码的更多信息,请参见“SampleLibraryforInstructions”。
参见
有效数据类型概述
存储区(S7-1500)
LAD编程示例
有关LAD的基本信息
存储区(S7-1200)
-1-。
s7-1200基本指令的应用案例
S7-1200基本指令的应用案例随着工业自动化技术的不断发展,PLC(可编程逻辑控制器)作为工业控制领域中的重要设备,不断得到广泛的应用。
其中,西门子S7-1200系列PLC以其性能稳定、可靠性高等特点,成为了众多工业控制系统的首选。
在S7-1200系列PLC中,基本指令是实现其各项功能的基础,本文将结合具体案例,介绍S7-1200基本指令的应用方法及技巧。
一、S7-1200基本指令的概述S7-1200系列PLC的基本指令包括了逻辑运算、数值运算、移位、比较、计数和定时器等基本功能。
这些指令通过编程的方式,实现了PLC对工业设备的精确控制,具有非常重要的实际意义。
二、逻辑运算指令的应用1. 与门指令与门指令用于将多个输入信号进行与运算,并输出结果。
在工业控制中,可以利用与门指令实现多个条件的同时满足时,触发某项操作的逻辑控制。
2. 或门指令或门指令则是将多个输入信号进行或运算,并输出结果。
在设备的控制中,或门指令可以用于多种状态下的切换操作,提高了设备的灵活性。
三、数值运算指令的应用1. 加法指令加法指令可实现两个操作数的相加,广泛应用于工业设备中的加工、输送、包装等环节的位置控制和计数操作。
2. 减法指令减法指令同样是实现了两个操作数的相减操作,常用于工业生产中的计数、调整等方面。
四、移位指令的应用1. 左移指令左移指令主要用于对数据进行左移位操作,可应用于数值的扩大、倍增等场景,提高了生产效率。
2. 右移指令右移指令则是对数据进行右移位操作,在某些液位控制、料仓排料等方面具有重要作用。
五、比较指令的应用比较指令可用于比较两个操作数的大小关系,在工业控制中常用于检测传感器信号、设定阈值等环节。
六、计数和定时器指令的应用1. 计数器指令在工业生产中,计数器指令常用于对生产过程中的成品数量、加工次数等进行统计和控制。
2. 定时器指令定时器指令则是用于对设备的时间控制,如配料时间、加工时间、清洗时间等,实现对生产过程的准确控制。
S7-1200 PLC的指令
2020/3/4
9
基本指令——数学运算指令——四则运算指令
ADD,SUB,MUL和DIV分别是加、减、乘、除指令。 操作数的数据类型可选SInt, Int, Dint, USInt, UInt, UDInt和Real。 操作数的数据类型应该相同。
压力变送器的量程为010MPa,输出信号为010V,被CPU集成的模拟量输入通道 0(地址为IW64)转换为027648的数字。假设转换后的数字为N,求以kPa为单位的压力 值。 对应的转换公式为:
2020/3/4
2
基本指令——比较指令 2/2
2020/3/4
3
基本指令——比较指令——举例 1/2
用比较和计数指令编写开关灯程序,要求灯控按钮I0.0按下一次,灯Q4.0亮,按下两 次,灯Q4.0,Q4.1全亮,按下三次灯全灭,如此循环。
分析:在程序中所用计数器为加法计数器,当加到3时,必须复位计数器,这是关键。
由于浮点数的数值范围远远大于32位整数,有点浮点数不能成功转换为32位整数,此 时ENO为0状态。
2020/3/4
19
基本指令——标定指令
SCALE_X指令的浮点数输入值被线性转换为下限和上限定义数值范围之内的整数:
OUT=VALUE*(MAX-MIN)+MIN
2020/3/4
20
基本指令——标准化指令
RD_LOC_T(读本地时间)的输出OUT提供数据类型为DTL的PLC中的当前本地时间。 为了保证读取到正确的时间,在组团CPU的属性时,应设置实时时间的时区为北京, 不设夏时制。在读取实时时间时,应调用RD_LOC_T指令。
2020/3/4
29
扩展指令——日期时间指令—时钟指令2/2
电气控制与PLC技术 第六章 S7-1200PLC的编程指令
电气控制与PLC技术(S7-1200)
--|NOT|--:取反RLO
该指令不会影响 RLO。线圈输入的 RLO 将直接发送到输出。
电气控制与PLC技术(S7-1200)
启保停控制程序
电气控制与PLC技术(S7-1200)
- 6.1.2 置位和复位指令
--(S)--: 置位输出
使用“置位输出”指令,可将指定操作数的信号状态置位为“1”。仅当线圈输入的逻辑运算结果 (RLO) 为“1”时,才执行该指令。如果信号流通过线圈(RLO=“1”),则指定的操作数置位为“1” 。如果线圈输入的 RLO 为“0”(没有信号流过线圈),则指定操作数的信号状态将保持不变。
两个或多个常开触点串联时,将逐位进行“与”运算。串联时,所有触点都闭合后才产 生信号流。
常开触点并联时,将逐位进行“或”运算。并联时,有一个触点闭合就会产生信号流。
电气控制与PLC技术(S7-1200)
--|/|--:常闭触点
常闭触点的激活取决于相关操作数的信号状态。当操作数的信号状态为“1”时,常闭触点将打开, 同时该指令输出的信号状态复位为“0”。
电气控制与PLC技术(S7-1200)
1.脉冲定时器(TP) TP指令可用于生成具有预定宽度时间的脉冲。
电气控制与PLC技术(S7-1200)
--|N|--:扫描操作数的信号下降沿
使用“扫描操作数的信号下降沿”指令,可以确定所指定操作数(<操作数 1>)的信号状态是 否从“1”变为“0”。该指令将比较 <操作数 1> 的当前信号状态与上一次扫描的信号状态,上一 次扫描的信号状态保存在边沿存储器位 <操作数 2> 中。如果该指令检测到逻辑运算结果 (RLO) 从 “1”变为“0”,则说明出现了一个下降沿。
西门子1200系列PLC教程-位逻辑指令
三相电机控制原理位逻辑指令“或”逻辑(并联)“与”逻辑(串联)常开触点(1)当操作数的信号状态为1时,常开触点闭合;(2)当操作数的信号状态为0时,常开触点断开。
常闭触点(1)当操作数的信号状态为0时,常开触点闭合;(2)当操作数的信号状态为1时,常开触点断开。
线圈(1)当逻辑运算结果(RLO)的信号状态为1时,则操作数的信号状态置位为1;(2)当逻辑运算结果(RLO)的信号状态为0时,则操作数的信号状态置位为0。
位逻辑指令置位输出仅当逻辑运算结果(RLO)为1时,才执行该指令。
如果信号流通过线圈(RLO =“1”),则指定的操作数置位为“1”。
如果线圈输入的 RLO 为“0”(没有信号流过线圈),则指定操作数的信号状态将保持不变。
复位输出仅当线圈输入的逻辑运算结果 (RLO) 为“1”时,才执行该指令。
如果信号流通过线圈(RLO =“1”),则指定的操作数复位为“0”。
如果线圈输入的 RLO 为“0”(没有信号流过线圈),则指定操作数的信号状态将保持不变。
位逻辑指令置位/复位触发器(1)如果输入 S 的信号状态为“1”且输入 R1 的信号状态为“0”,则将指定的操作数置位为“1”;(2)如果输入 S 的信号状态为“0”且输入 R1 的信号状态为“1”,则将指定的操作数复位为“0”;(3)如果输入 S 的信号状态为“1”且输入 R1 的信号状态为“1”,则将指定的操作数复位为“0”(输入 R1 的优先级高于输入 S);(4)如果两个输入 S 和 R1 的信号状态都为“0”,则不会执行该指令。
因此操作数的信号状态保持不变。
位逻辑指令复位/置位触发器(1)如果输入 R 的信号状态为“1”,且输入 S1 的信号状态为“0”,则指定的操作数将复位为“0”;(2)如果输入 R 的信号状态为“0”且输入 S1 的信号状态为“1”,则将指定的操作数置位为“1”;(3)当输入 R 和 S1 的信号状态均为“1”时,将指定操作数的信号状态置位为“1”(输入 S1 的优先级高于输入 R);(4)如果两个输入 R 和 S1 的信号状态都为“0”,则不会执行该指令。
西门子PLC S7-1200编程与操作五 (基本指令)
西门子PLC S7-1200编程与操作模块五基本指令任务一位逻辑指令【学习目标】1.了解与掌握位逻辑指令的用法。
2.熟练运用指令完成练习。
【相关知识】一、基本位逻辑指令点击“常用指令栏”—“常开,常闭触点”,或者在“基本指令”—位逻辑运算—“常开,常闭触点”添加。
可在“基本指令”—位逻辑运算—“取反”添加。
可在“基本指令”—位逻辑运算—“赋值,赋值取反”添加。
练习(一)、结合上图,完成上面的程序,可以得到如下的功能:当开关S1动作而S2不动作时,在三种情况下指示灯都亮。
注意 !根据它们是用在硬件回路中还是作为软件中的符号,“常开触点”和“常闭触点”有不同的含义。
二、置位复位指令可在“基本指令”—位逻辑运算—“置位输出,复位输出”添加。
可在“基本指令”—位逻辑运算—“置位位域,复位位域”添加。
可在“基本指令”—位逻辑运算—“置位/复位触发器,复位/置位触发器”添加。
练习三、上升沿/下降沿指令可在“基本指令”—位逻辑运算—“扫描操作数的信号上升沿,扫描操作数的信号下降沿”添加。
可在“基本指令”—位逻辑运算—“在信号上升沿置位操作数,在信号下降沿置位操作数”添加。
可在“基本指令”—位逻辑运算—“扫描RLO的信号上升沿,扫描RLO的信号下降沿”添加。
任务二数字指令【学习目标】1.了解基本数字的数据类型格式、相互间转换规律等。
、2.熟练运用数字指令完成实操练习。
【相关知识】一、基本数字数据类型二进制/数值处理事实上,我们可以很容易地识别真正的逻辑控制系统,因为它们专用于处理二进制数据。
当今控制系统使用的计算机的性能,以及在数据处理、质量控制领域和其他一些行业应用的飞速发展,都极大地增加了使用PLC 进行数值处理的重要性。
可以在所有开环控制系统的应用领域内找到数值过程变量的应用实例——例如在用于过程操作和监视的连接设备中,或者在现场设备的控制应用中。
操作和监视过程监视的目的是快速、准确、清晰地为操作员提供关于工作机器或系统的最新信息,同时还可允许操作员干涉、控制和影响生产过程。
S7-1200的指令
【例3-2】 用接通延时定时器设计周期和占空比可调的振荡电路。 图3-22中的串联电路接通后,定时器T5的IN输入信号为1状态,开始定时。 2s后定时时间到,它的Q输出使定时器T6开始定时,同时Q0.7的线圈通电。 3s后T6的定时时间到,它的输出“T6”.Q的常闭触点断开,使T5的IN输入电 路断开,其Q输出变为0状态,使Q0.7和定时器T6的Q输出也变为0状态。下一 个扫描周期因为“T6”.Q的常闭触点接通,T5又从预设值开始定时。Q0.7的 线圈将这样周期性地通电和断电,直到串联电路断开。Q0.7线圈通电和断电 的时间分别等于T6和T5的预设值。
6.置位/复位触发器与复位/置位触发器 SR方框是置位/复位(复位优先)触发器,在置位(S)和复位(R1)信号 同时为1时,方框上的输出位M7.2被复位为0。可选的输出Q反映了M7.2的状态。 RS方框是复位/置位(置位优先)触发器,在置位(S1)和复位(R)信号 同时为1时,方框上的M7.6为置位为1。可选的输出Q反映了M7.6的状态。
5.置位位域指令与复位位域指令 “置位位域”指令SET_BF将指定的地址开始的连续的若干个位地址置位, “复位位域”指令RESET_BF将指定的地址开始的连续的若干个位地址复位。
7.扫描操作数信号边沿的指令 中间有P的触点的名称为“扫描操作数的信号上升沿”,在I0.6的上升沿, 该触点接通一个扫描周期。M4.3为边沿存储位,用来存储上一次扫描循环时 I0.6的状态。通过比较I0.6前后两次循环的状态,来检测信号的边沿。边沿存 储位的地址只能在程序中使用一次。不能用代码块的临时局部数据或I/O变量 来作边沿存储位。 中间有N的触点的名称为“扫描操作数的信号下降沿”,在M4.4的下降沿, RESET_BF的线圈“通电”一个扫描周期。该触点下面的M4.5为边沿存储位。
西门子S7-1200 字逻辑指令
异或运算XOR
“异或”运算指令将输入 IN1 的值和输入 IN2 的值按位进行“异或”运算,并在输出 OUT 中查询结果。 执行该指令后,将 IN1 输入的值的位 0 和 IN2 输入的值的位 0 进行“异或”运算。结果存储在输出 OUT 的位 0 中。对指定值的所有其它位都执行相同的逻辑运算。 当该逻辑运算中的两个位中有一个位的信号状态为“1”时,结果位的信号状态为“1”。如果该逻辑运算的 两个位的信号状态均为“1”或“0”,则对应的结果位将复位。
则字的数值为2#1010 1010 1010 1010(16#AAAA),本例以偶数编号的彩灯先亮; l 拨码开关切换到ON位置时,给字QW0赋值(16#5555); l 采用取反指令,以1s的间隔将QW0进行取反; l 当拨码开关切换到OFF后,给字QW赋值(0),所有的彩灯熄灭。
或运算OR
“或”运算指令将输入 IN1 的值和输入 IN2 的值按位进行“或”运算,并在输出 OUT 中查询结果。 执行该指令后,将 IN1 输入的值的位 0 和 IN2 输入的值的位 0 进行“或”运算。结果存储在输出 OUT 的位 0 中。对指定变量的所有位都执行相同的逻辑运算。 只要该逻辑运算中的两个位中至少有一个位的信号状态为“1”,结果位的信号状态就为“1”。如果该逻 辑运算的两个位的信号状态均为“0”,则对应的结果位将复位。
编程要求
l 将开关拨到ON位置后,偶数编号和奇数编号的彩灯交替亮1s; l 将开关拨到OFF位置后,所有彩灯均熄灭; l 使用字逻辑指令实现上述功能。
案例:霓虹灯闪烁
编程过程
l 彩灯数量整好16个,可采用一个字来控制彩灯; l 如果偶数编号的彩灯先亮,则字的数值为2#0101 0101 0101 0101(16#5555),如果奇数编号的彩灯先亮,
西门子S7-1200 比较指令
案例:车库出入检测
编程要求
1.对车库内的车辆数量进行监控,当车库内的车辆数量达到 10 个时,开始报警,红灯 1HZ 的 频率进行闪烁。
2.在车库的出、入口处均设置有车辆检测光电传感器。 3.在车库的车超过 7 辆时,黄灯警告,并以 5HZ 的频率进行闪烁。
案例:车库出入检测
编程过程
l在CPU属性中,打开系统和时钟存 储器,勾选启用时钟存储器字节。
大于等于≥
“大于或等于”指令判断第一个比较值(<操作数 1>)是否大于或等于第二个比较值(<操作 数 2>),要比较的两个值必须为相同的数据类型。
如果满足比较条件,则指令返回逻辑运算结果 (RLO)“1”。如果不满足比较条件,则指令返 回 RLO“0”。
小于等于≤
小于或等于”指令判断第一个比较值(<操作数 1>)是否小于或等于第二个比较值(<操作数 2>)。要比较的两个值必须为相同的数据类型。
19
S7-1200 比较指令
等于==
“等于”指令判断第一个比较值(<操作数 1>)是否等于第二个比较值(<操作数 2>)。 如果满足比较条件,则指令返回逻辑运算结果 (RLO)“1”。如果不满足比较条件,则指令返回
RLO“0”。
不等于<>
不等于”指令判断第一个比较值(<操作数 1>)是否不等于第二个比较值(<操作数 2>)。 如果满足比较条件,则指令返回逻辑运算结果 (RLO)“1”。如果不满足比较条件,则指令返 回 RLO“0”。
检查有效性OK
“检查有效性”指令检查操作数的值(<操作数>)是否为有效的浮点数,如果操作数的值是有 效浮点数且指令的信号状态为“1”,则该指令输出的信号状态为“1”。在其它任何情况下,“检查 有效性”指令输出的信号状态都为“0”。
S7-1200 PLC编程及应用第三版_廖常初_课件_第3章
2.接通延时定时器 接通延时定时器TON用于将Q输出的置位操作延时PT指定的一段时间。在 IN输入的上升沿开始定时。ET大于等于PT指定的设定值时,输出Q变为1状态, ET保持不变(见波形A)。 IN输入电路断开时,或定时器复位线圈RT通电,定时器被复位,当前时间 被清零,输出Q变为0状态。如果IN输入信号在未达到PT设定的时间时变为0 状态(见波形B),输出Q保持0状态不变。 复位输入I0.3变为0状态时,如果IN输入信号为1状态,将开始重新定时(见 波形D)。
I0.1为1时,定时器复位线圈RT通电,定时器T1被复位。如果正在定时,且 IN输入信号为0状态,将使当前时间值ET清零,Q输出也变为0状态(见波形 C)。如果此时正在定时,且IN输入信号为1状态,将使当前时间清零,但是 Q输出保持为1状态(见波形D)。复位信号I0.1变为0状态时,如果IN输入信 号为1状态,将重新开始定时(见波形E)。
TON的Q输出端控制的Q0.6在I0.3的上升沿之后8s变为1状态,在M2.3的下降 沿时变为0状态。所以可以用TON的Q输出端直接控制2号运输带Q0.6。T11是 DB11的符号地址。按下起动按钮I0.3,TOF线圈通电。它的Q输出“T11”.Q 在它的线圈通电时变为1状态,在它的线圈断电后延时8s变为0状态,因此可 以用“T11”.Q的常开触点控制1号运输带Q1.1。
4.置位、复位输出指令 S(置位输出)、R(复位输出)指令将指定的位操作数置位和复位。 如果同一操作数的S线圈和R线圈同时断电,指定操作数的信号状态不变。 置位输出指令与复位输出指令最主要的特点是有记忆和保持功能。如果I0.4 的常开触点闭合,Q0.5变为1状态并保持该状态。即使I0.4的常开触点断开, Q0.5也仍然保持1状态。在程序状态中,用Q0.5的S和R线圈连续的绿色圆弧和 绿色的字母表示Q0.5为1状态,用间断的蓝色圆弧和蓝色的字母表示0状态。
第3章S7-1200指令PPT教学课件
27
3.接通延时定时器
28
4.断开延时定时器 断开延时定时器(TOF)的IN输入电路接通时,输出Q为1状态,已耗时间从0逐渐增大。己耗时间大于 等于设定值时,输出Q变为0状态,已耗时间保持不变(见波形A),直到IN输入电路接通。
复位输入R为1状态时,计数器被复位,CV被清0, 计数器的输出Q变为0状态。CU, CD, R和Q均为Bool变 量。
PV为预置计数值,CV为实际计数值,各变量均可 以使用I(仅用于输入变量)、Q, M, D和L存储区。
39
2.加计数器 当接在R输入端的复位输入11.1为0状态(见图),接在CU输入端的加计数脉冲输入电
6
2.置位指令 ---( S )---: 置位输出 使用“置位输出”指令,可将指定操作数的信号状态置位为“1”。 仅当线圈输入的逻辑运算结果 (RLO) 为“1”时,才执行该指令。 如果信号流通过线 圈(RLO =“1”),则指定的操作数置位为“1”。 如果线圈输入的 RLO 为“0” (没有信号流过线圈),则指定操作数的信号状态将保持不变。 示例
15
7.扫描RLO的信号边沿指令:P_TRIG指令与N_TRIG指令
16
在流进P_TRIG指令的CLK输入端的能流的上升沿(能流刚出现),Q 端 输 出 脉 冲 宽 度 为 一 个 扫 描 周 期 的 能 流 , 使 M8.1 置 位 。 方 框 下 面 的 M8.0是脉冲存储器位。
在流进N_TRIG指令的CLK输入端的能流的下降沿(能流刚消失), Q端输出脉冲宽度为一个扫描周期的能流,使Q0.6复位。指令方框下面 的M8.2是脉冲存储器位。
4
--( / )--: 取反线圈 使用“赋值取反”指令,可将逻辑运算的结果 (RLO) 进行取反,然后将其赋值 给指定操作数。 线圈输入的 RLO 为“1”时,复位操作数。 线圈输入的 RLO 为 “0”时,操作数的信号状态置位为“1”。其操作数有:I、Q、M、D、L。 例如:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
S7-1200 PLC的逻辑运算指令详解!
在S7-1200 PLC中的逻辑运算指令包括了逻辑与运算、逻辑或运算、逻辑异或运算、逻辑取反运算、编码与译码指令、选择指令、多路复用与多路分用指令。
下面我们分别对这些指令进行解释说明。
1、逻辑运算指令
逻辑与运算、逻辑或运算、逻辑异或运算、逻辑取反运算都是我们常见的逻辑运算指令,如果又用过S7-200/200 SMART PLC的同学会有了解,对于逻辑运算指令,其实基本PLC都是支持的,功能是也是一样的。
逻辑运算指令支持的数据类型是BYTE/WORD/DWORD这三种,这几个指令使用的还是比较多的,大家还是需要掌握一下。
逻辑与指令AND:当参与运算的所有数中对应的位是1时,那么结果就为1。
逻辑或指令OR:当参与运算的所有数中对应的位有1时,那么结果为1。
逻辑异或指令XOR:当参与运算的所有数中对应的位相同时,那么结果为0;不同时则为1。
逻辑取反指令INV:对输入的数按二进制位进行取反,也就是0变成1,1变成0。
换成二进制去看。
2、编码指令ENCO和译码指令DECO
编码指令选择输入的最低有效位,并将该位号写入到输出中去。
(注意:输入变量的数据类型为字符串,输出变量的数据类型是INT类型。
)
译码指令首先读取输入的值,并将输出值中的位号与读取值对应的那个位置,输出值的其它位以零进行填充
(注意:输入变量的数据类型是UINT,输出变量的数据类型可以是
BYTE/WORD/DWORD的数据类型。
)
可能以这样的文字描述比较难理解,看一下下面的程序及对应的解释你就清楚了。
上图的程序中ENCO的输入 16#0B70,二进制数是
0000_1011_0111_0000,最低有效位也就是为1的最低位是bit4位,所以输出MW14存储的就是4。
DECO的输入是6,就将输出的bit6位设置为1,其他位设置为0,所以输出MW18的二进制数是0000_0000_0100_0000。
3、选择SEL、多路复用MUX、和多路分用DEMUX
选择指令SEL是根据输入G的情况,从而选择输入IN0和输入IN1中的一个,把它的内容复制到输出OUT中。
也就是说如果G的状态是0,那么就把IN0的值移动到OUT中去,如果G的状态是1,那么就把IN1的值移动到OUT中去。
其实这个指令可以代替一些场合的移动操作指令,也就是传送指令的使用。
多路复用指令MUX是以输入K中的值作为输入值IN端的编号,比如K的值等于1,就表示把IN1的值复制到输出OUT中去。
对于这个指令,我们是可以增加它的输入管脚的,最多可以增加到多少呢?
最多是可以增加到32个管脚。
如果K中的值不能表示输入管脚的编号的情况下,那么就把ELSE的值输出到OUT中去。
多路分用指令DEMUX的含义和多路复用指令MUX是有一定的相似的,DEMUX指令是以输入K的值作为输出OUT的编号,跟MUX一样,这个指令也是可以增加管脚的,但是增加的是输出的管脚。
如果K的值等于1,那么就把输入IN的值复制到OUT1中去,K的值等于2,就把输入IN的值复制到OUT2中去。
以上就是S7-1200 PLC的逻辑运算指令,指令中的选择SEL、多路复用MUX、和多路分用DEMUX这三个指令也是S7-200/200 SMART PLC没有的,如果是熟悉S7-200/200 SMART PLC的同学,可以重点学习这几个指令的使用即可啦~。