S7-300PLC编程技术及基本指令

合集下载

第4章西门子PLC编程举例3(数字指令)

第4章西门子PLC编程举例3(数字指令)

四、STEP 7基本数据类型
关键字 BOOL BYTE WORD DWORD CHAR S5TIME 长度 (位) 位 1 8 16 32 8 16 该类型的常数举例 True 或 False (1 或0) B#16#A9 W#16#12AF DW#16#ADAC1EF5 'w' S5T#5s_200ms
CMP ? R 实数比较

如果下列条件成立,则输出 Q4.0 置位: • 在输入 I0.0 和 I0.1 的信号状态为“1” • 并且 MD0 >= MD4 • 并且,输入 I0.2 的信号状态为“1”
三、 转换指令P118
下述转换指令可供使用: • BCD_I BCD 码转换为整数 • I_BCD 整数转换为BCD 码 • BCD_DI BCD 码转换为双整 数 • I_DINT 整数转换为双整数 • DI_BCD 双整数转换为BCD 码 • DI_REAL 双整数转换为浮点 数 • INV_I 整数的二进制反码 • INV_DI 双整数的二进制反码 • NEG_I 整数的二进制补码 • NEG_DI 双整数的二进制补 码 • NEG_R 浮点数求反 • ROUND 舍入为双整数 • TRUNC 舍去小数取整为双 整数 • CEIL 上取整 • FLOOR 下取整
第四章 S7-300指令系统 ——数字指令
要求: 1、了解S7-300编程软件STEP7的基本数据 类型。 2、了解S7-300系列PLC的各种数字指令 3、能编写简单程序。
一、S7-300系列PLC编成语言-STEP7
PLC的编程语言有3种: 1、梯形图(LAD) 方式 2、语句表(STL) 方式 3、功能块图(FBD) 方式 例1 梯形图方式
例1 无条件跳转

第6章 S7-300PLC指令系统及编程(1)

第6章 S7-300PLC指令系统及编程(1)
1、“与嵌套”指令
“与嵌套”指令用于电路块串联的编程。其指令格式如下: A( ——与嵌套开始指令 )——与嵌套结束指令
图6-6
2、“或嵌套”指令 “或嵌套”指令用于电路块并联的编程。其指令格式如下: O( ——或嵌套开始指令 )——或嵌套结束指令
图6-7
3、说明:先与后或(即电路元件先串后并)可不用嵌套指令中的 括号,如图6-8所示。
3.二分频器程序编写
图6-18 抢答器程序
二分频器是一种具有一个输入端和一个输出端的功能单元,输出频
率为输入频率的一半。实现二分频的方法有很多种,下面介绍其中
两种:
(1)利用“与”“或”指令实现二分频程序。 设输入为I1.0,输出为Q4.0,根据二分频要求I1.0接通2次,Q4.0只接
通1次。其波形如图6-19所示。
②复位/置位的LAD指令只能放在逻辑串的最右端,不能放在逻辑 串的中间,它们也属于输出指令。
③置位指令具有保持功能,即使指定位地址的“位”一直为1,直 到复位指令把它清零。
图6-11说明了复位/置位指令的用法。
图6-11
图6-11的程序中,只要I1.0一闭合,不论I1.0闭合后又断开,Q4.0 一直保持通电状态(1态,直到I2.0闭合且不论闭合后又断开,Q4.0 才断电(0态)。其功能同电动机的起停保控制电路类似。
验灯程序的编写很简单。在
PLC中用1个输入点如I3.7,其外 部连接一个常开按钮。由于I3.7 的内部触点是无数的,控制指示 灯输出点的梯形图上均并联1个 I3.7常开触点,当它闭合时指示 灯均亮,以查验灯的好坏。
2.利用触发器编写第一信号记录程序
图6-17 验灯程序
在工业现场一旦有故障发生可能随之带来多个故障,如果能找出

第5章S7-300PLC指令系统及编程(2)

第5章S7-300PLC指令系统及编程(2)

T STW
//将累加器1中的0~8位传送到状态字的相应位。
6.地址寄存器内容的装入和传送指令 S7-300PLC有两个地址寄存器,即AR1和AR2。对于地址寄存 器可以不经过累加器1而直接将操作数装入和传送,或直接交换两 个地址寄存器的内容。指令示例如表5-16、表5-17所示。 使用CAR指令可以交换地址寄存器AR1 和地址寄存器AB2的内 容,指令不需要指定操作数。指令的执行与状态位无关,而且对状 态字没有任何影响。
面举一个使用的例子,如图5-65 所示。图中绘出了梯形图方块 及对应语句表程序。
(三)双整数和实数间的转换 用户程序中有时需要整数相除,相除的结果可能小于0 ,由于这些 值只能用实数表示,所以需要转换到实数。此外,其他实数运算和 比较也会用到实数转换,实数是32 位数,一般整数要转换为实数时, 须先将整数转换为双整数后再进行。 1.双整数(32 位)转换为实数(32 位) 梯形图方块指令(DI _ R )和语句表指令(DTR )均列于表5-18 中最后一条。 2.实数(32 位)转换为双整数(32 位) 为简化介绍,用图5-66 统一表示转换方块,方块中上部字符如表 5-19所示。
装入指令和传送指令有三种寻址方式:立即寻址、直接寻址和间 接寻址。 1.立即寻址的装入与传送指令 操作数是指令操作或运算的对象,寻址方式是指令取得操作数的 方式,操作数可以直接给出或间接给出。立即寻址的操作数直接在 指令中,下面是使用立即寻址的例子。
2. 直接寻址的装入与传送指令 直接寻址在指令中直接给出存储器或寄存器的区域、长度和位 置,例如用MW200 指定位存储区中的字,地址为200;MBl00表示
例如,两个整数进行大于等于比较,其程序如图5-70所示。
由上例看出,方块比较指令在逻辑串中,可等效于一个常开触点。 如果比较结果为“真”,则该常开触点闭合(意味着电流可流过), 否则触点断开。由于比较指令的使用与触点类似,可以与其它触点 串联或并联,因此比较指令不能放在逻辑串的最后。 梯形图方块指令的输入和输出均为BOOL 数,可以取自I、Q 、 M 、D 、L 。被比较数IN1和IN2的数据类型与指令类型有关,且只 能在二个同类型数据间比较。

第1讲:S7-300 PLC基础

第1讲:S7-300 PLC基础

业精于西门子S7系列PLC1-1、S7-300的硬件结构S7-300为标准模块式结构化PLC,各种模块相互独立,并安装在固定的机架上,构成一个完整的PLC应用系统系统背版总线连接器电源模块(选配)CPU模块信号模块信号模块前连接器模块前门盖板状态及故障指示灯模式开关MMC存储卡(CPU313以上)DC 24V电源连接器后备电池(CPU313以上)MPI多点接口1-2、S7-300 CPU模块1-2-1、CPU的分类种)紧凑型CPU(六种):CPU 312CCPU 313C革新型CPU(五种):CPU 312(新型)CPU 314(新型)故障安全型CPU(三种):CPU 315FCPU 315F-2DP特种型CPU(两种):CPU 317T-2DPCPU 317-2PN/DP1-2-2、S7-300CPU的主要特性:1-2-3、S7-300 CPU的操作:1、运行模式开关RUN-P:可编程运行模式。

在此模式下,CPU不仅可以执行用户STOP:停机模式。

在此模式下,CPU不执行用户程序,但可以通过编程设备(如装有STEP 7的PG、装有STEP 7的计算机等)从C P U中读出或修改用户程序。

在此位置可以拔出钥S7-300 CPU工作时需要使用存储卡来存储用户程序和数据,在训练过程中,经常性地对存储卡进行写入程序的操作,会在存储卡中留下很多垃圾程序,造成存储卡的容量不足或者格式混乱,可以使2、状态及故障显示SF(红色):系统出错/故障指示灯。

CPU硬件或软14配):+5V电源指示灯。

CPU和S7-300总线的5V):强制作业有效指示灯。

至少有一个I/O被状态时亮;LEDSTOP(黄色):停止状态指示灯。

CPU处于“STOP”或“HOLD”或“Startup”状态时亮;在存储器复位时LED以0.5 Hz频率闪烁;在存储器置位时LED以2Hz频率闪烁。

1-3、S7-300的模块1-3-1、S7-300的扩展能力●PS 307标准电源模块1-3-2、电源模块(PS)PS 307 5APS3075ADC 5VPS 307 2A1-3-3、信号模块(SM) SM321数字量输入模块(DI)(1)数字量输入模块(DI)数字量输入模块SM321有直流输入型和交流输入型。

S7-300PLC基本指令

S7-300PLC基本指令
5. PLC梯形图的编程规则
任务2 定时器与计数器的使用
任务要求:
了解STEP 7编程软件的定时器和计数器,学习STEP 7编程软件中变量表的使用方 法,继续学习硬件组态、写入、编辑和监控用户程序的方法,学会应用S7-300定时 器和计数器的编程方法。
一、任务的实施
1.硬件组态及参数设置
硬件组态的任务是在编程软件SIEP 7中生成一个与实际的硬件系统完全相同的系 统,并为各硬件的参数赋值。
知识点:
1. S7 300 PLC的编程语言与指令系统 2. S7 300 PLC的存储区与数据类型 3. S7 300 PLC的基本逻辑指令 4. 梯形图的编程规则
技能点:
1. STEP 7编程软件与仿真软件的安装 2. STEP 7的硬件组态与参数设置 3. 基本逻辑控制指令的应用 4. 梯形图编程
任务1 基本位逻辑功能编程
任务要求: 了解软件安装的硬件条
件和对操作系统的需求,熟 悉PLC编程软件的环境,学 会基本位逻辑控制指令,能 进行简单程序的设计。
一、任务的实施
1.硬件组态及参数设置 硬件组态的任务是在编程软件SIEP 7中生成一个与实际的硬件系统完 全相同的系统,并为各硬件的参数赋值。 2.生成、编辑符号表 在程序中可以使用绝对地址,如(I0.0)访问变量,也可使用符号地址 访问变量,使用符号地址可使程序更容易阅读和理解。
地址
符号
OB 1
Cycle Execution
Q 4.3
报警
Q 4.6
东西红
Q 4.5
东西黄Q 4.4来自东西绿Q 4.2南北红
Q 4.1
南北黄
Q 4.0
南北绿
I 0.0
启动
数据类型 OB 1 BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL

s7-300PLC编程语句手册汇总

s7-300PLC编程语句手册汇总

s7-300PLC编程语句手册汇总S7-300是一种可编程控制器,它有自己的编程语言和指令系统。

在使用S7-300进行编程时,需要了解其语言和指令系统的特点和用法。

S7-300的编程语言包括LAD(梯形图)、FBD(功能块图)和STL(结构化文本语言)。

其中,LAD是最常用的一种语言,它使用梯形图形式来表示程序的逻辑关系。

FBD则是一种图形化的编程语言,它使用不同的功能块来表示程序的逻辑关系。

STL则是一种类似于C语言的文本语言,它使用结构化的语法来表示程序的逻辑关系。

S7-300的指令系统包括基本指令和扩展指令。

基本指令包括逻辑指令、算术指令、移位指令等,用于实现程序的基本功能。

扩展指令则是在基本指令的基础上进行扩展,用于实现更加复杂的功能。

在使用S7-300进行编程时,需要根据具体的应用场景选择合适的编程语言和指令。

同时,还需要注意编程的规范和标准,以确保程序的可靠性和稳定性。

总之,S7-300的编程语言和指令系统是其核心功能之一,掌握其特点和用法对于进行编程工作非常重要。

在实际应用中,需要根据具体的需求和要求,选择合适的编程语言和指令,以实现程序的优化和效率提升。

STEP 7编程语言介绍STEP 7是一种用于编程可编程逻辑控制器(PLC)的工具。

它被广泛应用于自动化控制系统中,包括工厂自动化、机器人控制、物流自动化、建筑自动化等领域。

数据类型在STEP 7中,有多种数据类型可供使用,包括整型、浮点型、布尔型、字符型等。

这些数据类型可用于存储和处理不同类型的数据,以满足不同的应用需求。

参数数据类型在编写PLC程序时,需要指定参数的数据类型。

这些参数可以是输入、输出或内部数据。

参数的数据类型决定了它们可以存储的数据类型,以及它们可以执行的操作。

PLC用户存储区的分类及功能PLC用户存储区是用于存储程序和数据的区域。

它可以分为程序存储区和数据存储区。

程序存储区用于存储PLC程序,而数据存储区用于存储程序中使用的数据。

学习西门子S7-300的基础

学习西门子S7-300的基础

学习西门子S7-300的基础第一章PLC概述一、可编程控制器的产生及定义①1969年美国数字设备公司(DEC)研制出世界第一台可编程控制器,并成功地应用在美国通用汽车公司(GM)的生产线上。

但当时只能进行逻辑运算,故称为可编程逻辑控制器,简称PLC (programmable logic controller)。

②70年代后期,随着微电子技术和计算机技术的迅猛发展,使PLC从开关量的逻辑控制扩展到数字控制及生产过程控制域,真正成为一种电子计算机工业控制装置,故称为可编程控制器,简称PC (programmablecontroller)。

但由于PC容易与个人计算机(personal computer)相混淆,故人们仍习惯地用PLC作为可编程控制器的缩写。

③1985年国际电工委员会(IEC)对PLC的定义如下:可编程控制器是一种进行数字运算的电子系统,是专为在工业环境下的应用而设计的工业控制器,它采用了可以编程序的存储器,用来在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,并通过数字或模拟式的输入和输出,控制各种类型机械的生产过程。

④PLC是由继电器逻辑控制系统发展而来,所以它在数学处理、顺序控制方面具有一定优势。

继电器在控制系统中主要起两种作用:(1)逻辑运算(2)弱电控制强电。

⑤PLC是集自动控制技术、计算机技术和通讯技术于一体的一种新型工业控制装置,已跃居工业自动化三大支柱(PLC、ROBOT、CAD/CAM)的首位。

二、可编程控制器的分类及特点(一)分类(1)从组成结构形式分①一体化整体式PLC②模块式结构化PLC(2)按I/O点数及内存容量分①超小型PLC②小型PLC③中型PLC④大型PLC⑤超大型PLC(3)按输出形式分①继电器输出为有触点输出方式,适用于低频大功率直流或交流负载②晶体管输出为无触点输出方式,适用于高频小功率直流负载③晶闸管输出为无触点输出方式,适用于高速大功率交流负载(二)特点①可靠性高、抗干扰能力强②编程简单、使用方便③设计、安装容易,维护工作量少④功能完善、通用性好,可实现三电一体化PLC将电控(逻辑控制)、电仪(过程控制)和电结(运动控制)这三电集于一体。

实验指导书——S7-300编程示例

实验指导书——S7-300编程示例

S7-300 PLC的梯形图编程示例1 与、或、非、同或、异或与:只有当I0.0和I0.1都为1时,Q0.0才能为1。

或:只要I0.0和I0.1有一个为1,Q0.0为1。

非:当I0.0为1时,Q0.0为0。

同或:只有当I0.0和I0.1状态相同时,Q0.0才为1。

异或:只有当I0.0和I0.1状态不同时,Q0.0才为1。

2 启动和复位控制结构(自锁结构)I0.0接启动按钮,I0.1接复位(停止)按钮,灯接Q0.0构成自锁结构。

自锁结构也可以通过同时使用S指令和R指令来实现。

然而同时使用S指令和R指令时,存在一种隐患,请思考是什么隐患?为了避免这种隐患,可以使用SR或者RS触发器。

或者注意:此示例使用电动机启动与停止的控制作为例子,其实很多地方都可以使用到启动和复位控制结构,大家的思路要开阔,不要被例子所局限。

比如可以利用M区域的地址替代例子中的Q地址,实现在PLC内部某些位变量的锁存和复位。

3 自锁和互锁程序4 延时通断控制程序在PLC的实际应用中,延时通断通常可采用定时器(或计数器)来实现。

定时器的串联是用一个定时器启动另一个定时器,可以实现“长延时”控制。

定时器的并联可以使多个输出在不同的时刻接通,实现输出的顺序启动。

4.1 脉冲定时控制(SP定时器)SP定时器可以用定时线圈的形式实现:请结合指令帮助,体会SP定时器的工作方式。

4.2延时接通控制(SD定时器)SD定时器可以用定时线圈的形式实现:请结合指令帮助,体会SD定时器的工作方式。

也可以使用指令块的形式实现:4.3 延时断开控制(SF定时器)延时断开控制可以用定时线圈实现:请结合指令帮助,体会SD定时器的工作方式。

4.4 顺序延时接通控制顺序延时接通是指多个被控对象相隔一定的时间,有顺序地依次起动。

实现这种控制的程序很多,例如,利用多个定时器:或者利用计数器加系统的时钟存储器实现:其中M100.5是CPU时钟位,周期为1S,在硬件组态的CPU属性中设置,如下图所示:表:时钟存储器各位的周期及频率位 7 6 5 4 3 2 1 0 周期/s 2 1.6 1 0.8 0.5 0.4 0.2 0.1 频率/Hz0.5 0.625 1 1.25 2 2.5 5 10注意:①系统的时钟存储器中各位的频率是固定的,无法更改。

电器控制与PLC技术应用 第5章 S7-300的指令系统及编程

电器控制与PLC技术应用 第5章 S7-300的指令系统及编程

2、计数器指令的功能框表示形式
加计数器
减计数器
可加/减计数器
3、 计数器线圈指令
LAD指令 STL指令 L C#... S C no. CU Cno. 功 能 该指令为计数器置初始值。当RLO有上升沿时,将预置值十进制数 (格式为C#...)装入累加器1中作为计数器的当前值。 加计数,程序运行时RLO没有一个上升沿时,计数值加1,若达上限 999时,停止加计数。 减计数,程序运行时RLO没有一个上升沿时,计数值减1,若达下限 0时,则停止减计数。
• 5.2.3 跳变沿检测指令
当信号状态发生变化时就产生跳变沿。指令格式见表5-3。
表5-3 跳变沿检测指令
对RLO跳变沿检测的指令 LAD指令 STL指令 FP <位地址> 功 能 存储区
RLO正跳沿检测,位地址用于存放需要检测的 RLO的上一扫描周期值,当RLO值由0变化到1时, 输出接通一个扫描周期。 Q、M、D
第5章

S7-300的指令系统及编程
STEP 7是与西门子公司SIMATIC S7系列PLC相配 套的支持用户开发应用程序的软件包,在STEP 7中, S7系列PLC常用的编程语言有:LAD(梯形图)、 STL(语句表)、FBD(功能块图)等。只有当编 程语言选择为LAD时,在编程环境中,选择主菜单 的Insert项的Program Elements,则编辑环境的左 面出现了指令树窗口,右面出现了用户程序窗口, 在指令树窗口中涵盖了S7-300的所有常用梯形图指 令,用户可以采用双击或拖拽的方式应用到用户程 序的需要处,即用户可以利用指令树窗口的指令在 用户程序窗口中绘制所需的梯形图程序。如图5-1所 示。其他两种常用的编程语言不提供指令帮助。
3. 装入时间值或计数值 4. 地址寄存器装入和传送 5、梯形图方块传送指令

第6章 西门子S7-300系列PLC基本指令

第6章 西门子S7-300系列PLC基本指令

逻辑取及线圈驱动指令
– 指令 • LD(Load):取指令。 • LDN(Load Not):取反指令。 • =(Out):线圈驱动指令。 • NOT:取反指令。 – 用法
逻辑取及线圈驱动指令
– 使用说明 • LD、LDN指令不只是用于网络块逻辑计算开始 时与母线相连的常开和常闭触点,在分支电路 块的开始也要使用LD、LDN指令,与后面要讲 的ALD、OLD指令配合完成块电路的编程。 • 并联的 = 指令可连续使用任意次。 –什么是并联输出? • 在同一程序中不要使用双线圈输出,即同一个 元器件在同一程序中只使用一次 = 指令。 –什么是双线圈输出? • LD、LDN、=指令的操作数为:I、Q、M、SM、 T、C、V、S和L。T和C也作为输出线圈。
9.
LPS/LRD/LPP举例
LPS/LRD/LPP举例
LPS/LRD/LPP举例
逻辑堆栈操作指令
– 指令3 • 装入堆栈指令LDS(Load Stack) – 用法 • LDS n (n为0~8的整数) – 举例 • LDS 3 – 结果如右表所列
逻辑堆栈操作指令
– 指令4 • AENO • 使用较少
• •
定时器及其使用
– 定时器的刷新方式和正确使用 • 举例
时间间隔定时器
• 这是在最新版本的CPU中增加的有特殊功能的定时器,说 是定时器,其实是2条指令。使用这2条指令可以记录某 一信号的开通时刻以及开通延续的时间。PLC停电后,停 止记录。 • 触发时间间隔(BITIM,Beginning Interval Time) 该指令 用来读取PLC中内置的1毫秒计数器的当前值,并将该值 存储于OUT。双字毫秒值的最大计时间隔为2的32次方, 即49.7天。 • 计算时间间隔(CITIM,Calculate Interval Time) 该指令计 算当前时间与IN所提供时间的时间差,并将该差值存储于 OUT。双字毫秒值的最大计时间隔为2的32次方,即49.7 天。 • 2条指令的有效操作数为:IN和OUT端均为双字。

玩转S7-300编程(28工控老鬼新浪微博)

玩转S7-300编程(28工控老鬼新浪微博)

S7-300/400PLC编程之1 OB块使用指南【工控老鬼】S7-300/400PLC编程之1 OB块使用指南【工控老鬼】S7-300/400PLC编程之2 PLC暖启动和冷启动【工控老鬼】S7-300/400PLC编程之3 模拟量处理【工控老鬼】++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++S7-300/400PLC编程之4 检测导致CPU停机的故障【工控老鬼】S7-300/400PLC编程之4 检测导致CPU停机的故障【工控老鬼】什么是诊断诊断指的是S7-300/400内部集成的识别和记录功能。

记录错误信息的区称为诊断缓冲区。

这个区的大小有赖于CPU型号 (例如:CPU 314 = 100个信息)。

当有错误时如果一个错误或事件发生时,例如:模式转换。

将发生如下事件:将发生什么?•标有时间和日期的信息被保存到诊断缓冲区中。

最近的信息保存到缓冲区的开始。

如果缓冲区满,最旧的信息将覆盖。

•将事件记入系统的状态表中。

•如果必要,将激活一个相关的错误 OB(组织块)。

错误的类型利用CPU的诊断功能,可以识别下面的错误:• CPU或模板中的系统错误• CPU中的程序错误排除故障的手段针对下列故障,应采用不同的手段予以排除:•导致CPU停机的故障,应使用“Module Information”工具。

•逻辑错误,即程序可执行但功能不能实现,应使用“Referece Data”和“Program Status”工具。

•偶尔出现的故障,即只在特定的系统状态下才出现的故障,它可能导致停机或逻辑错误。

可采用“CPU Messages”工具或生成自定义触发点“your own trigger point”。

S7-300/400PLC编程之5 符号使用指南【工控老鬼】S7-300/400PLC编程之5 符号使用指南【工控老鬼】在大家使用step7编程的时候,经常会使用到符号表功能,高效的使用符号表功能可以大大的提高编程的效率,对符号表的使用方法,工控老鬼总结如下!希望对大伙有所帮助!++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ S7-300/400PLC编程之6 定时器指令【工控老鬼】在大家使用step7编程的时候,经常会使用定时器指令功能,熟练的掌握定时器指令功能可以帮助我们构造很完善的算法,对定时器指令使用方法,工控老鬼总结如下!希望对大伙有所帮助!之前讲过,可以使用S7-300PLC CPU里自带的标准时钟脉冲来做很多功能,这里我来分享一个例子,如何使用定时器功能来做任意时间间隔的标准时钟脉冲!++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++S7-300/400PLC编程之7 工程应用中的信号防抖处理技巧【工控老鬼】S7-300/400PLC编程之7 工程应用中的信号防抖处理技巧【工控老鬼】++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++S7-300/400PLC编程之8 关于OB1的思考【工控老鬼】S7-300/400PLC编程之8 关于OB1的思考【工控老鬼】使用西门子S7-300/400PLC的朋友一定对Step7都不陌生,同时你们也应该对OB1如数家珍,因为你不可能不用到它,它是你的好兄弟!但是我却发现很多的朋友对它的了解还是不够深入,老鬼今天我就简单的给大家分享一下OB1的几个功能!1、信息知多少?打开OB1,在局部数据区域内,是否发现有一些系统自定义的局部变量?没错!有很多,不清楚?那就了解一下吧!2、下表描述了OB1的临时(TEMP)变量。

西门子300系列PLC指令学习

西门子300系列PLC指令学习

所支持的PLC编程语言非常丰富。该软件的标准版支
持STL(语句表)、LAD(梯形图)及FBD(功能块
图)3种基本编程语言,并且在STEP 7中可以相互转
换。专业版附加对GRAPH(顺序功能图)、SCL
(结构化控制语言)、HiGraph(图形编程语言)、
CFC(连续功能图)等编程语言的支持。不同的编程
LAD(梯形图)是一种图形语言,比较形象直观,容 易掌握,用得最多,堪称用户第一编程语言。梯形图与继 电器控制电路图的表达方式极为相似,适合于熟悉继电器 控制电路的用户使用,特别适用于数字量逻辑控制。
返回本节
➢ FBD(功能块图)
FBD(功能块图)使用类似于布尔代数的图形逻辑符 号来表示控制逻辑,一些复杂的功能用指令框表示。FBD 比较适合于有数字电路基础的编程人员使用。
返回上级
4.日期和时间(DATE_AND_TIME)
用于存储年、月、日、时、分、秒、毫秒和星期,占用 8个字节,用BCD格式保存。星期天的代码为1,1~6的 代码为2~7。例如:
返回上级
5.用户定义的数据类型(UDT)
用户定义数据类型表示自定义的结构,存放在UDT块中 (UDT1~UDT65535),在另一个数据类型中作为一个 数据类型“模板”。当输入数据块时,如果需要输入几个 相同的结构,利用UDT可以节省输入时间。
返回本节
§4.3 S7-300指令基础
指令是程序的最小独立单位,用户程序是由若干条顺序 排列的指令构成。指令一般由操作码和操作数组成,其中 的操作码代表指令所要完成的具体操作(功能),操作数 则是该指令操作或运算的对象。
✓§4.3.1 PLC用户存储区的分类及功能 ✓§4.3.2 指令操作数 ✓§4.3.3 寻址方式 ✓§4.3.4 状态字

西门子S7-300 PLC基础与应用 第3版第3章 基本指令

西门子S7-300 PLC基础与应用 第3版第3章 基本指令

输入位 输入字节 输入字 输入双字
在扫描循环期间,逻辑运算的结果存入输 出过程映像寄存器。在循环扫描结束 前,操作系统从输出过程映像寄存器 读出最终结果,并将其传送到数字量 输出模块,直接控制PLC外部的指示 灯、接触器、执行器等控制对象。
输出位 输出字节 输出字 输出双字
位存储器与PLC外部对象没有任何关系, 其功能类似于继电器控制电路中的中 间继电器,主要用来存储程序运算过 程中的临时结果,可为编程提供无数 量限制的触点,可以被驱动但不能直 接驱动任何负载。
页码: 2
西门子S7-300 PLC 基础与应用
第3章 基本逻辑指令的应用
指令的基本知识
1.指令的组成
指令是程序的最小独立单位,用户程序是由若干条 顺序排列的指令构成。指令一般由操作码和操作数组成, 其中的操作码代表指令所要完成的具体操作(功能), 操作数则是该指令操作或运算的对象。
例如,对于STL指令“A I0.0”,其中“A”是操作码, 表示该指令的功能是逻辑“与”操作;“I0.0”是操作 数,也就是数字量输入模块的第0字节的第0位;该指 令的功能就是对I0.0进行“与”操作。
存储位 存储字节 存储字 存储双字
寻址范围 0.0~65535.7
0~65535 0~65534 0~65532 0.0~65535.7 0~65535 0~65534 0~65532 0.0~255.7 0~255 0~254 0~252
标识符 I IB
IW ID Q QB QW QD M MB MW MD
S5T#0H_0M_10MS~ S5T#2H_46M_30S_0MS
示例 True L B#16#20 L 2#0000_0011_1000_0000 L W#16#0380 L C#896 L B#(10,10) L DW#16#0123_ABCD L B#(1,23,45,67) 'A'、'0'、',' L -23

S7-300PLC实验指导书

S7-300PLC实验指导书

西门子PLC应用(S7-300)实验指导书重庆科技学院电子信息工程学院自动化教研室1实验一基本逻辑指令编程实验一、实验目的:1.熟悉S7-300 PLC的组成.2.熟悉STEP 7编程软件的使用方法。

3.掌握基本逻辑指令的使用方法。

4.学会用基本逻辑指令实现顺控系统的编程。

5.学会PLC程序调试的基本步骤及方法。

6.学会用PLC改造继电器典型电路的方法。

二、实验设备:PLC实验台 1套三、预习内容:1.熟悉STEP7编程软件的使用方法,请详细阅读教材第4章的全部内容。

2.熟悉S7-300 PLC的基本位设备:I、Q、M、T等。

3.熟悉S7-300 PLC基本逻辑指令的使用方法。

4.熟悉典型继电器电路的工作原理。

5.预习本次实验内容,在理论上分析运行结果,预先写出程序的调试步骤。

四、实验步骤:1.了解S7-300 PLC的组成,熟悉PLC的电源、输入信号端I和公共端M、输出信号端Q 和公共端L;PLC及PC机的通讯口、编程电缆的连接;PLC上扩展单元插口的连接方法;RUN/STOP 开关及各类指示灯的作用等。

2.在PC机启动STEP 7编程软件,新建项目,进入编程环境。

3.根据实验内容,在STEP 7编程环境下进行硬件组态、输入梯形图程序,保存。

4.仿真调试,运行程序,调试并修改。

5.写实验报告。

五、实验内容:1.走廊灯三地控制程序(基础题)(1) 控制要求:走廊灯三地控制:走廊东侧开关、走廊中间开关、走廊西侧开关均能控制走廊灯的亮灭。

(2) 输入/输出信号定义:自定义I/O信号(4) 程序设计(梯形图)2. 电动机的点动+连动程序(基础题)(1) 系统控制要求:①电动机的点动控制:按下点动启动按钮,电动机启动运行;松开点动启动按钮,电动机停止运行。

②电动机的连动控制:按下连动启动按钮,电动机启动运行;松开连动启动按钮,2电动机仍然继续运行;只有当按下停止按钮时,电动机才停止运行。

③保护:系统有失压、过载保护。

plc课件 plc-3 第三章 s7-300plc的编程基础及指令系统

plc课件 plc-3 第三章 s7-300plc的编程基础及指令系统

2021/7/13
19
7、数据块DB
(1)共享数据块(Shared DB)
共享数据块为系统或用户自定义的数据结构(与 C语言中的结构类似),可供所有逻辑块使用。名 称为DBn,n为编号(一般为1~2047,具体可定义 的个数,视CPU型号而定),其属性Shared 。在 DB中可定义各种类型的数据变量,且可对变量赋初 值。支持DB绝对地址访问及变量形式访问。
本地数据
13
二、S7-300系列PLC的寻址(地址分配)
1、基于槽位的寻址
基于槽位的寻址为默认设置。
机架号为0~3,0号机架为CPU机架,其余 为扩展机架。
CPU机架上的槽号为1~11,槽号1放置电源 模块(PS),槽号2放置CPU模块(CPU), 槽号3放置接口模块(IM),槽号4~11放置其 它模块(SM、FM、CP)
依CPU型号,存储器大小为128~2048B不等, 支持位寻址、字节寻址、字寻址和双字寻址。
位 存 储 区 以 M 标 识 , 如 : M0.0 、 MB0 、 MW0、MD0 (字地址为偶数地址0、2、4…, 双字地址为0、4、8…)等。
6、定时、计数器存储区寻址
依CPU型号不同,可有64~256个定时器, 32~256个计数器。定时器标识符为T,计数器 标识符为C。如:T0,C0等。
2021ቤተ መጻሕፍቲ ባይዱ7/13
9
第6位和第7位(CC0、CC1):条件码0和条件 码1。两位结合用于表示算术运算或逻辑运算的结 果与0的大小关系,以及比较指令的执行结果或移 位指令的移出状态。
第8位(BR):二进制结果位。用于表示字操作 的结果是否正确。1—正确,0 — 错误。
3. 地址寄存器(AR1和AR2)

S7-300 PLC第4章 数据处理、运算指令及

S7-300 PLC第4章  数据处理、运算指令及
底的指数值,即可得到5的3次方的值。参 考程序如图4-13所示。
4.2.4 字逻辑运算指令
1. 字逻辑运算功能及说明 字逻辑指令将两个字(16位字和32位双字)逐
位进行逻辑运算。 如果输出OUT的结果不等于 0,将把状态字的CC1位设置为“1”。 如果输出 OUT的结果等于0,将把状态字的CC 1位设置 为“0”。
2)双字右循环梯形图指令ROR_DW可以由使能(EN)输 入端的逻辑“1”信号激活。指令用于将输入IN位的全部 内容逐位循环右移,输入N指定循环的位数。如果N的 位数大于32,则双字IN循环[(N-1)x 32]+1位,左边的 位以循环位状态填充,双字循环操作的结果可以在输出 OUT中扫描;如果N不等于“0”,则通过ROR_DW指令将 CC0位和OV位清零。EN0和EN具有相同的信号状态。
4.2.2 浮点数算术运算指令
1. 浮点数运算指令功能及说明 浮点数操作指令与上述指令形式基本一致,
只是指令的操作数为浮点数。浮点数经过 浮点算术指令运算后的结果还是浮点数。
2. 指令应用示例
【例4-7】浮点数运算指令示例。 图4-12为浮点数运算指令示例的梯形图程序,在a
图中,由I0.0=1,激活ADD_R框。MD0 + MD4,相 加的结果输出到MD10。如果结果超出了浮点数的 允许范围,或者如果没有处理该程序语句(I0.0 = 0), 则Q4.0置位。
2. 指令应用示例 【例4-9】单字与运算指令应用示例。 单字与运算指令的梯形图程序如图4-14所示。如果I0.0=1,则
执行指令。在MW0的位中,只有0至3位是相关的,其余位被 IN2字位模式屏蔽: MW0=01010101 01010101 IN2 =00000000 00001111 MW2=MW0 AND IN2 =00000000 00000101 如果执行了指令,则Q4.0=1。

S7-300PLC编程技术及基本指令

S7-300PLC编程技术及基本指令
用RLO触发跳转指令。
•溢出位(OV) • 状态字的第4位称为溢出位。当算术运算或浮点数比较指 令执行时出现错误(溢出、非法操作、不规范格式)时,OV位
被置1,如果执行结果正常,该位被清0。
条件码l(CCl)和条件码0(CC0) 状态字的第7位和第6位称为条件码1和条件码0。这两位结合 起来用于表示在累加器1中产生的算术运算结果与0的大小关系,
S7-300/400PLC编程技术及基本指令
编程语言与数据类型
1 编程语言
STEP-7是S7-300/400系列PLC的编程软件。 梯形图、语句表 (即指令表)和功能块图是标准的 STEP-7软件包配备的3种基本编程语言,这3种语言
可以在STEP-7中相互转换。
2 梯形图(LAD)
梯形图是使用得最多的PLC图形编程语言。梯形 图与继电器电路图很相似,具有直观易懂的优点, 特别适合于数字量逻辑控制。梯形图由触点、线圈 和用方框表示的指令框组成。触点代表逻辑输入条 件,例如外部的开关、按钮和内部条件等。线圈通 常代表逻辑运算的结果,常用来控制外部的指示灯、 交流接触器和内部的标志位等。指令框用来表示定 时器、计数器或者数学运算等附加指令。
4、中间输出
如图所示,中间输出指令被安置在逻辑串中间,用于将其前面 的位逻辑操作结果(即本位置的RLO值)保存到指定地址,所以 有时也称为“连接器”或“中间赋值元件”。它和其他元件串联 时,“连接器”指令和触点一样插入。连接器不能直接连接母线, 也不能放在逻辑串的结尾或分支结尾处。
5 置位指令、复位指令
= Q[AR1,P#0.2] //逻辑运算结果送Q5.2
L DBW[AR1,P#18.0] //将DBW23装入累加器
1
下面是区域间间接寻址的例子:

S7-300 PLC第3章 S7-300PLC的基本指令及应用

S7-300 PLC第3章  S7-300PLC的基本指令及应用
3.1 S7-300PLC数据类型和指令基 础
3.1.1 S7-300PLC的数据类型 1. 基本数据类型 (1)位(BIT):位数据的数据类型为BOOL(布
尔)型,在编程软件中BOOL变量的值1和0。位存 储单元的地址由字节地址和位地址组成这种存取方 式称为“字节.位”寻址方式。 (2)字节(BYTE):8位二进制数组成1个字节 (Byte),例如字节IB9由I9.0~I9.7这8位组成,其 中第0位为最低位(LSB),第7位为最高位 (MSB)。 (3)字(WORD):相邻两个字节组成一个字, 字用来表示无符号数。
3.CPU中的寄存器
S7-300 CPU的寄存器有32位累加器、16位状 态字寄存器、32位地址寄存器、32位数据块寄 存器、诊断缓冲区等。
(1)32位累加器
32位的累加器是用来处理字节、字和双字的寄 存器。S7-300有两个累加器(ACCU1和 ACCU2)。可以把操作数装人累加器并进行运 算和处理,保存在ACCU1中的运算结果可以传 送到系统存储器。 数据放在累加器的低端 (右对齐)。
(2)结构(STRCT):结构是将一组不同类 型的数据组合在一起,形成一个单元。可以用 基本数据类型、复杂数据类型(包括数组与结 构)和用户定义数据类型(UDT)作为结构中 的元素。
(3)字符串(STRING):字符串是最多有 254个字符的一维数组,每个字节存放一个字 符。
(4)日期和时间(DAE_AND_TIME):数据 类型日期和时间用于存储年、月、日、时、分、 秒、毫秒和星期,占用8个字节,用BCD格式 保存。第0~5个字节分别存储年、月、日、时、 分和秒,毫秒存储在第6字节和第7字节的高4 位,星期存放在第7字节的低4位。星期天的代 码为1,星期一至星期六的代码为2~7。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

S5T#是16位S5时间常数,格式为S5T#
aD_bH_cM_dS_eMS。其中a,b,c,d,e分别是日、
小时、分、秒和毫秒的数值。输入时可以省掉下划线,
例如S5T#4S30MS=4s30ms,S5T#2H15M30S=2小 时15分30秒。 • C#为计数器常数(BCD码),例如C#250。
状态字Biblioteka 7 边沿检测指令当信号状态变化时就产生跳变沿:从0变到1时,产生一个上升 跳变沿检测的方法是:在每个扫描周期(OB1循环扫描一周),把 当前信号状态和它在前一个扫描周期的状态相比较,若不同,则表 明有一个跳变沿。因此,前一个周期里的信号状态必须被存储,以 便能和新的信号状态相比较。 S7-300/400PLC有两种边沿检测指令:一种是对逻辑串操作 结果RLO的跳变沿检测的指令;另一种是对单个触点跳变沿检测的 指令。
包含在指令中,或者指令的操作数是惟一的。例如: SET AW W#16#117 // 将RLO置1 辑运算
//将常数W#16#117与累加器1进行“与”逻
L 43
//将整数43装入累加器1中
2 存储器直接寻址
存储器直接寻址的特点是直接给出操作数的存储
单元地址。例如
O I0.2
//对输入位I0.2进行“或”逻辑运
• 状态字用于表示CPU执行指令时所具有的状态。某些指令 可否执行或以何种方式执行可能取决于状态字中的某些位,指 令执行时也可能改变状态字中的某些位,可以用位逻辑指令或
字逻辑指令访问并检测状态字。状态字的结构如图所示。
•逻辑操作结果(RLO) 状态字的第1位称为逻辑操作结果(Result of Logic Operation, RLO)。该位存储逻辑操作指令或比较指令的结果。在逻辑串 中,RLO位的状态表示有关信号流的信息,RLO的状态为1,
S7-300/400PLC编程技术及基本指令
编程语言与数据类型
1 编程语言
STEP-7是S7-300/400系列PLC的编程软件。
梯形图、语句表 (即指令表)和功能块图是标准的
STEP-7软件包配备的3种基本编程语言,这3种语言 可以在STEP-7中相互转换。
2 梯形图(LAD)
梯形图是使用得最多的PLC图形编程语言。梯形 图与继电器电路图很相似,具有直观易懂的优点, 特别适合于数字量逻辑控制。梯形图由触点、线圈 和用方框表示的指令框组成。触点代表逻辑输入条 件,例如外部的开关、按钮和内部条件等。线圈通 常代表逻辑运算的结果,常用来控制外部的指示灯、 交流接触器和内部的标志位等。指令框用来表示定 时器、计数器或者数学运算等附加指令。 使用编程软件可以直接生成和编辑梯形图,并将 它下载到PLC。

R Q4.0
= Ml.1
//将输出位Q4.0清“0”
//使Ml.1的内容等于RLO的内容
L Cl
//将计数器Cl中的计数值装入累加
器1
T MW6
//将累加器1中的内容传送给
MW6
3 存储器间接寻址
存储器间接寻址的特点是用指针进行寻址。操作数 存储在由指针给出的存储单元中,根据要描述的地址 复杂程度,地址指针可以是字或双字的,存储指针的 存储器也应是字或双字的。对于T,C,FB,FC, DB,由于其地址范围为0~65535,可使用字指针;
表1 算术运算后的CC1和CC0
表2 比较、移位、字逻辑指令后的CCl和CC0
寻址方式
所谓寻址方式是指指令得到操作数的方式,可以直接或间 接给出操作数的地址。STEP-7有4种寻址方式:立即寻址、存储 器直接寻址、存储器间接寻址和寄存器间接寻址。 1 立即寻址
立即寻址是对常数或常量的寻址方式,其特点是操作数直接
ON:“或非”指令适用于单个常闭触点并联,完成逻辑“或非”运算。
“或”(O)、“或非”(ON)指令
由图可知,触点并联指令也用于一个并联 逻辑行的开始。CPU对逻辑行开始第1条语句 如I4.0的扫描称为首次扫描。首次扫描的结果 (I4.0的状态)被直接保存在RLO(逻辑操作 结果位)中,并和下一条语句的扫描结果相 “或”,产生新的结果再存入RLO中,如此一 次进行。在逻辑串结束处的RLO可用作进一步 处理,如赋值给Q8.0(=Q8.0).
字节MB1O0的地址。字的取值范围为 W#16#0000~W#16#FFFF。
• 4) 双字(Double Word)
• 两个字组成1个双字,双字用来表示无符号数。MD100是由
MB100~MB103组成的1个双字,(见上图),MB100为高位宇节,
D表示双字,100为双字的起始字节MB100的地址。双字的取 值范围为DW#16#0000_0000~DW#16#FFFF_FFFF。
A:“与”指令适用于单个常开触点串联,完成逻辑“与”运 算。 AN:“与非”指令适用于单个常闭触点串联,完成逻辑“与非” 运算。
“与”(A)、“与非”(AN)指令
由图可知,触点串联指令也用于串联逻辑行
的开始。CPU对逻辑行开始第1条语句如I1.0的
扫描称为首次扫描。首次扫描的结果(I1.0的状
态)被直接保存在RLO(逻辑操作结果位)中;
位数据的表示
2)字节(Byte) 8位二进制数组成1个字节(Byte,如下图,其中的第0位为最低位 (LSB),第7位为最高位(MSB)。
• 3)字(Word)
• 相邻两个字节组成一个字,字用来表示无符号数。MWl00是 由MB1OO和MB1O1组成的1个字,如图5.4.3,MB00为高位字
节。MW100中的M为区域标示符,W表示字,100为字的起始
寄存器间接寻址的指针格式
地址指针区域标识位的含义
使用寄器指针格式访问一个字节、字或双字时,必须保证指针中 位地址的编号为0。
下面是区间间接寻址的例子:
L P#5.0
LAR1
//将间接寻址的指针装入累加器1
//将累加器1中的内容送到地址寄存 器1
A M[AR1,P#2.3] //AR1中的P#5.0加偏移量 P#2.3,实际上是对M7.3进行操作 = Q[AR1,P#0.2] //逻辑运算结果送Q5.2 L DBW[AR1,P#18.0] //将DBW23装入累加器 1
•4)功能块图(FBD)
功能块图(FBD)使用类似于布尔代数的图形逻辑 符号来表示控制逻辑。一些复杂的功能用指令框来表 示,功能块图用类似于与门、或门的方框来表示逻辑 运算关系。
•5)结构文本(ST)
结构文本(ST)是为IEC61131-3标准创建的一种 专用的高级编程语言。 STEP-7的S7 SCL(结构化控 制语言)是符合lEC61131-3标准的高级文本语言。它 的语言结构与编程语言Pascal和C相似,所以特别适 合于习惯使用高级编程语言的人使用。
•常数的表示方法
• 常数值可以是字节、字或双字,CPU以二进制方式存储常数, 常数也可以用十进制、十六进制、ASCII码或浮点数形式来表示。
• B#16#,W#16#,DW#16#分别用来表示十六进制 字节、字和双字常数。2#用来表示二进制常数,例如 2#1101_1010。 L#为32位双整数常数,例如L# +5。 P#为地址指针常数,例如P#M2.O是M2.0的地址。
举例。
4、中间输出
如图所示,中间输出指令被安置在逻辑串中间,用于将其前面
的位逻辑操作结果(即本位置的RLO值)保存到指定地址,所以 有时也称为“连接器”或“中间赋值元件”。它和其他元件串联 时,“连接器”指令和触点一样插入。连接器不能直接连接母线, 也不能放在逻辑串的结尾或分支结尾处。
5 置位指令、复位指令
触点和线圈等组成的独立电路称为网络(Network),如下图所 示,编程软件自动为网络编号。
梯形图中的触点和线圈可以使用物理地址,例如I0.1, Q0.3等。如果在符号表中对某些地址定义了符号,例如令I0.1的
符号为“起动”,在程序中可用符号地址“起动”来代替物理
地址I0.0,这样使程序易于阅读和理解。 用户可以在网络号右边加上网络的标题,在网络号的下面 为网络加上注释。还可以选择在梯形图下面自动加上该网络中 使用的符号的信息。 在分析梯形图中的逻辑关系时,为了借用继电器电路图的 分析方法,可以想象在梯形图的左有两侧垂直“电源”之间有 一个左正右负的直流电源电压,有一个假想的“能
表明有信号流 (通),RLO的状态为0,表明无信号流(断)。可
用RLO触发跳转指令。 •溢出位(OV) • 状态字的第4位称为溢出位。当算术运算或浮点数比较指 令执行时出现错误(溢出、非法操作、不规范格式)时,OV位
被置1,如果执行结果正常,该位被清0。
条件码l(CCl)和条件码0(CC0)
状态字的第7位和第6位称为条件码1和条件码0。这两位结合 起来用于表示在累加器1中产生的算术运算结果与0的大小关系,
流”(PowerFlow)流过线圈。利用能流这一概念,可以很好地理
解和分析梯形图,能流只能从左向右流动。
3 语句表(STL)
S7系列PLC将指令表称为语句表
(Statement List),它是一种类似于微机的汇
编语言中的文本语言,多条语句组成一个程 序段。语句表比较适合经验丰富的程序员使 用,可以实现某些不能用梯形图或功能块图 表示的功能。
对于I,Q,M等,可能要使用双字指针。使用双字指
针时,必须保证指针中的位编号为“0”。存储器间接 寻址的指针格式如图所示。
存储器间接寻址的指针格式
例 存储器间接寻址的指针格式及寻址 L +6 T WM1 OPN T MD5 //将整数6装入累加器1 //将累加器1的内容传送给存储器
MWl
//打开由MWl指出的数据块,即打开 数据块DB6 //将累加器1的内容传送到存储器 MD5
置位/复位指令也是一种输出指令。使用置位指令时,如果 RLO=1,则指定的地址被置为1,而且一直保持,直到被复位为 0。使用复位指令时,如果RLO=1,则指定的地址被复位为0, 而且一直保持,直到被置位为1,如图所示。
相关文档
最新文档