西门子PLC指令实例教程
- 格式:ppt
- 大小:1.29 MB
- 文档页数:96
几个西门子PLC经典实例详解(含程序)
十字路口的交通指挥信号灯布置如下图:
一、控制要求
(1)信号灯系统由一个启动开关控制,当启动开关接通时,该信号灯系统开始工作,当启动开关关断时,所有信号灯都熄灭。
(2)南北绿灯和东西绿灯不能同时亮。
如果同时亮应关闭信号灯系统,并立刻报警。
(3)南北红灯亮维持25s。
在南北红灯亮的同时东西绿灯也亮,并维持20s。
到20s 时,东西绿灯闪亮,闪亮3s 后熄灭,此时,东西黄灯亮,并维持2s。
到2s 时,东西黄灯熄灭,东西红灯亮。
同时,南北红灯熄灭,南北绿灯亮。
(4)东西红灯亮维持30s。
南北绿灯亮维持25s,然后闪亮3s 后熄灭。
同时南北黄灯亮,维持2s 后熄灭,这时南北红灯亮,东西绿灯亮。
(5)以上南北、东西信号灯周而复始地交替工作状态,指挥着十字路口的交通,其时序如下所示。
二、PLC 接线
三、定义符号地址
四、梯形图程序。
下面列出了配方示例程序的先决条件:1.一个存储所有配方记录的配方数据块。
配方数据块存储在装载存储器中。
2.在工作存储器中存储一个配方副本的活动配方数据块。
有关配方数据块和相应 CSV 文件的详细信息,请参见“配方数据块实例 ”创建活动配方数据块1.在“添加新块”(Add new block) 窗口中:2.在“添加新块”(Add new block) 窗口中,选择“数据块”(Data block)按钮3.在“类型”(Type) 下拉菜单中,选择您先前创建的“Beer_recipe”PLC数据类型。
不需要起始值。
在将一个配方从配方数据块传送到活动配方数据块时,数据块数据值将置位。
在本实例中,活动配方数据块是 READ_DBL 的目标数据并为 WRITE_DBL 提供源数据。
下图显示 Active_Recipe 数据块。
背景数据块指令 RecipeExport ('RecipeExport_DB') 和 RecipeImport ('RecipeImport_DB') 使用的背景数据块是在将指令置于程序中时自动创建的。
背景数据块用于控制指令的执行,不在程序逻辑中引用。
示例配方程序程序段 1 REQ 上升沿启动导出过程。
CSV文件由配方数据块数据生成并被置于 CPU存储器配方文件夹。
程序段 2 捕获 RecipeExport 执行的STATUS输出,考虑到该指令仅在一个扫描周期内有效。
程序段 3 REQ 上升沿启动导入过程。
现有配方数据块载入读取自CPU存储器配方文件夹的相应 CSV 文件中的所有配方数据。
程序段 4 捕获 RecipeImport 执行的STATUS输出,考虑到该指令仅在一个扫描周期内有效。
程序 5 READ_DBL 从配方“Recipe_DB”中复制起始值。
结果值[1](在 CPU 的装载存储器中)至 Active_Recipe DB 的当前值(在 CPU的工作内存中)。
数据处理、运算指令及应用本章要点✍ 数据传送、字节交换、字节立即读写、移位、转换指令的介绍、应用及实训 ✍ 算术运算、逻辑运算、递增/递减指令的介绍、应用及实训✍ 表的定义、填表指令、表取数指令、填充指令、表查找指令的介绍5.1 数据处理指令5.1.1 数据传送指令1. 字节、字、双字、实数单个数据传送指令MOV数据传送指令MOV ,用来传送单个的字节、字、双字、实数。
指令格式及功能如表5-1所示。
表5-1单个数据传送指令MOV 指令格式使EN O = 0即使能输出断开的错误条件是:SM4.3(运行时间),0006(间接寻址错误)。
【例5-1】将变量存储器VW10中内容送到VW100中。
程序如图5-1所示。
LD I0.1MOVW VW10, VW100图5-1例5-1题图2. 字节、字、双字、实数数据块传送指令BLKMOV数据块传送指令将从输入地址IN 开始的N 个数据传送到输出地址OUT 开始的N 个单元中,N 的范围为1至255,N 的数据类型为:字节。
指令格式及功能如表5-2所示。
表5-2 数据传送指令BLKMOV 指令格式使ENO= 0的错误条件:0006(间接寻址错误)0091(操作数超出范围)。
【例5-2】程序举例:将变量存储器VB20开始的4个字节(VB20- VB23)中的数据,移至VB100开始的4个字节中(VB100-VB103)。
程序如图5-2所示。
LAD STLLD I0.0BMB VB20 ,VB100, 4图5-2 例5-2图程序执行后,将VB20~VB23中的数据30、31、32、33送到VB100~VB103。
执行结果如下:数组1数据 30 31 32 33数据地址 VB20 VB21 VB22 VB23块移动执行后:数组2数据 30 31 32 33数据地址 VB100 VB101 VB102 VB1035.1.2 字节交换、字节立即读写指令1. 字节交换指令字节交换指令用来交换输入字IN 的最高位字节和最低位字节。
这是网上擂台的题目:一台电动机要求在按下起动按钮后,电动机运行10秒,停5秒,重复3次后,电动机自动停止。
同时设置有手动停机按钮和过载保护。
编写梯形图控制程序。
PLC可以随便选用,要有相关说明。
注意:要有PLC控制电路和I/O分配表。
?1、硬件选择:一台PLC(S7-200)、一个交流接触器Z0(控制电机运行)、2个按钮开关(SB1、SB2)及1个过流继电器(FR),电路图如下:(不包括粉色虚线框部分)2、编程:用不同思路,可编出几种不同的控制方案,都可实现该项目要求。
?(1)、最简单的编程方案,就是选用5个通电延时定时器:其3个定时10秒,用于电机启动运行,另2个定时5秒,使电机停。
具体编程也有二种方式,见下图:上图中的方案一与方案二,同用5个定时器,完成同样的功能。
方案一是这样编程:按下启动按钮(),使断开。
在此过程中,、、都是10秒的导通时间,用它们去控制,其彼此间隔时间为5秒(即、的通导时间)。
?8?1延时?8?=1,T101得电开始延时,延时10秒,T101吸合使=1、=0,使T101断电,而T102得电开始延时,5秒后T102得电吸合,使=1,=0。
直到T105得电方案二是这样编程:按下启动按钮(),使 =1,T101得电开始延时,延时10秒,T101吸合,使T102得电开始延时,延时5秒,T102吸合,使T103得电开始延时。
直至T105得电延时,延时10秒后动作,使=0,=0使T101—T105皆断开,程序结束。
用的常开触点与T101的常闭触点串联,用T102的常开触点与T103的常闭触点串联,用T104的常开触点与T105的常闭触点串联,三者再并联后去驱动,可达到同样的控制作用,由上图可见,由于编程方法不同,其方案二用的指令比方案一少,显然:方案二优于方案一。
(2)、用二个定时器(T101、T102)和一个字节存储器(MB1)编程也可实现同样功能:按下启动按钮,使MB1=0、=1,=1使T101得电开始延时,10秒T101吸合使T102得电吸和,延时5秒,T102吸合,其常闭点断开,使T101、T102失电断开,T101又得电延时。
西门⼦PLC常⽤指令举例(新⼿值得收藏)在西门⼦plc梯形图中,将其触点和线圈等称为程序中的编程元件。
编程元件也称为软元件,是指在plc编程时使⽤的输⼊/输出端⼦所对应的存储区以及内部的存储单元、寄存器等。
根据编程元件的功能,西门⼦plc梯形图中的常⽤的编程元件主要有输⼊继电器(I)、输出继电器(Q)、辅助继电器(M、SM)、定时器(T)、计数器(C)和⼀些其他较常见的编程元件等。
1、输⼊继电器(I)的标注西门⼦PLC梯形图中的输⼊继电器⽤“字母I 数字”进⾏标识,每个输⼊继电器均与PLC的⼀个输⼊端⼦对应,⽤于接收外部开关信号。
输⼊继电器由PLC端⼦连接的开关部件的通断状态(开关信号)进⾏驱动,当开关信号闭合时,输⼊继电器得电,其对应的常开触点闭合,常闭触点断开,如图1所⽰。
图1 西门⼦PLC梯形图中的输⼊继电器2、输出继电器(Q)的标注西门⼦PLC梯形图中的输出继电器⽤“字母Q 数字”进⾏标识,每⼀个输出继电器均与PLC的⼀个输出端⼦对应,⽤于控制PLC外接的负载。
输出继电器可以由PLC内部输⼊继电器的触点、其他内部继电器的触点或输出继电器⾃⼰的触点来驱动,如图2所⽰。
图2 西门⼦PLC梯形图中的输出继电器3、辅助继电器(M、SM)的标注在西门⼦PLC梯形图中,辅助继电器有两种,⼀种为通⽤辅助继电器,⼀种为特殊标志位辅助继电器。
(1)通⽤辅助继电器的标注。
通⽤辅助继电器,⼜称为内部标志位存储器,如同传统继电器控制系统中的中间继电器,⽤于存放中间操作状态,或存储其他相关数字,⽤“字母M 数字”进⾏标识,如图3所⽰。
图3 西门⼦PLC梯形图中的通⽤辅助继电器由图3可以看到,通⽤辅助继电器M0.0既不直接接受外部输⼊信号,也不直接驱动外接负载,它只是作为程序处理的中间环节,起到桥梁的作⽤。
(2)特殊标志位辅助继电器的标注。
特殊标志位辅助继电器,⽤“字母SM 数字”标识,如图4所⽰,通常简称为特殊标志位继电器,它是为保存PLC⾃⾝⼯作状态数据⽽建⽴的⼀种继电器,⽤于为⽤户提供⼀些特殊的控制功能及系统信息,如⽤于读取程序中设备的状态和运算结果,根据读取信息实现控制需求等。
例1:循环灯程序要求:按下启动按钮时,三只灯每隔1s轮流闪亮,并循环。
按下停止I0.1时,三只灯都熄灭。
分析:此程序是简单的循环类程序,循环周期长为3s,即第1s第一只灯亮,第2s第二只灯亮,第3s 第三只灯亮,第4s又变成第一只灯亮(可加N个灯),如此循环。
I/O分配如下:启动按钮,I0.0;停止按钮,I0.1;第一只灯,Q0.0;第二只灯,Q0.1;第三只灯,Q0.2。
控制程序如图1所示。
图1例2:多级皮带控制程序如图2所示是一个四级传送带系统示意图。
整个系统有四台电动机,控制要求如下:(1)落料漏斗YO启动后,传送带M1应马上启动,经6s后须启动传送带M2;(2)传送带M2启动5s后应启动传送带M3;(3)传送带M3启动4s后应启动传送带M4;(4)落料停止后,为了不让齐级皮带上有物料维积,应根据所需传送时间的差别,分别将四台电机停车。
即落料漏斗YO断开后过6s再断M1, M1断开后再过5s断M2,M2断开4s后再断M3,M3断开3s后再断开M4。
此程序为典型的时间顺序控制。
I/O分配如下:启动,I0.0;停止,I0.1;落料YO,Q0.0;传送带M1,Q0.1;传送带M2,Q0.2;传送带M3,Q0.3;传送带M4,Q0.4。
控制程序如图2-1所示,程序中M0.0控制启动过程,M0.1 控制停止过程。
图2-1例3:编写交通信号灯控制程序图3对如图3所示十字路口交通灯进行编程控制,该系统输入信号有:一个启动按钮SB1和一个停止按钮SB2。
输出信号有东西向红灯、绿灯、黄灯,南北向红灯、绿灯、黄灯。
控制要求:按下启动按钮,信号灯系统按图3-1的时序开始工作(绿灯闪烁的周期为1s),并能循环运行。
按一下停止按钮,所有信号灯都熄灭。
图3-1 PLC的I/O分配,I/O接线图如图3-2所示。
图3-2该程序是一个循环类程序,交通灯执行一周的时间为60s,可把周期60s分成0~25s、25~ 28s、28~30s、30~55s、55~58s、58~60s 共6段时间,在25~ 28s、55~58s段编写一个周期为1s 的脉冲程序串入其中。
西门子PLC600程序实例
介绍
本文档旨在提供西门子PLC600程序的实例。
它将演示如何编
写基本的PLC程序来控制和监控设备。
程序实例
以下是一个简单的PLC程序实例,用于控制一个灯的开关状态:
|--------[ ]-------( )----[ ]
| I:1.0 O:2.0 |
程序说明:
- I:1.0是一个输入地址,用于接收外部信号,例如按钮的状态。
当输入为高电平时,代表按钮按下。
- O:2.0是一个输出地址,用于控制设备的状态,例如灯的开关
状态。
当输出为高电平时,代表灯亮。
- M:1.0和M:1.1是中间变量地址,用于储存程序运行过程中的中间结果。
程序逻辑:
1. 当输入I:1.0为高电平(按钮按下)时,M:1.0为高电平,表示要点亮灯。
2. 当输入I:1.0为低电平(按钮未按下)时,M:1.0为低电平,表示不需要点亮灯。
3. 根据M:1.0的状态,将O:2.0的输出设置为对应的电平,控制灯的开关状态。
总结
通过这个简单的PLC程序实例,我们研究了如何使用西门子PLC600编写基本的控制程序。
对于更复杂的程序,可以根据具体的需求采用合适的逻辑和功能模块。
> 注意:请根据实际使用的PLC型号和控制设备进行适当的调整和配置。
西门子PLC1000程序实例
概述
本文档旨在提供一个简单的西门子PLC1000程序实例,帮助读者了解和研究PLC编程。
程序实例
以下是一个简单的西门子PLC1000程序实例:
PROGRAM MainProgram
VAR
StartButton : BOOL;
Motor : BOOL;
END_VAR
NETWORK 1:
StartButton := I0.0;
Motor := StartButton;
END_NETWORK
说明
该程序实例包含一个主程序和一个网络,实现了一个简单的按键控制电机的逻辑。
1. 声明了两个变量:`StartButton`和`Motor`,它们的数据类型均为`BOOL`。
2. 网络1中的第一行代码将`StartButton`与输入点`I0.0`连接。
3. 网络1中的第二行代码将`Motor`与`StartButton`连接,即按下`StartButton`时,电机启动。
使用说明
要使用该程序实例,请按照以下步骤操作:
1. 将程序复制到西门子PLC编程软件中。
2. 配置输入点和输出点,如将`I0.0`设置为连接到按键,将`Q0.0`设置为连接到电机。
4. 按下按键触发电机启动。
总结
本文提供了一个简单的西门子PLC1000程序实例,帮助读者快速学习和理解PLC编程的基本概念和语法。
读者可以根据实际需求修改和扩展该程序,以满足特定的控制需求。
西门子PLCINV_I指令功能及应用实例
————————————————————————————————作者:————————————————————————————————日期:
西门子PLCINV_I指令功能及应用实例 plc的INV_I指令符号
表1为INV_I转换指令说明表。
表1 INV_I转换指令说明表
参数
数据类型
存储器区域
说明
EN
BOOL
I、Q、M、L、D 允许输入
ENO
BOOL
I、Q、L、D
允许输出
IN
INT
I、Q、M、L、D
整型数输入
OUT
INT
I、Q、M、L、D
整型数输入的反码
INV_I(整型数输入求反码)指令,读输人参数IN的内容,然后,与16进制屏蔽码W#16#FFFF进行XOR的波尔运算。
这一运算结果,将改变输入码的每一个位成相反的状态。
ENO总是与EN有相同的信号状态。
表2为INV_I转换指令对状态位的影响。
表2 INV_I转换指令对状态位的影响
-
BR
CC1
CC0
OV
OS
OR
STA
RLO
/FC 写状态位 1
-
-
-
-
1
1
1
图2 INV_I转换指令应用举例
如图2所示,如果输入I0.0的信号状态为“1”,然后,对MW8的每一个位求反码,举例:MW8= 0100 00011000 0001,指令运算结果MW10=1011 1110 01111110。
如果转换指令没有执行(即ENO= EN =0),则输出Q4.0置成“1”。