S7-300学习资料(视频祥解) 下载本文

S7-300学习笔记

第一讲:S7-300简介

一、 标准型S7-300的硬件结构

1. S7-300为标准模块式结构,各种模块相互独立,并安装在固定的机架(导轨)

上,构成一个完整的PLC应用系统。

2. 第一槽为电源模块,第二槽为CPU模块,第三槽为通信模。

3. 300电源模块(PS)可用其它开关电源代替,而400必须选用原装模块 二、 S7-300 CPU模块

1. CPU模块分类

1) 300PLC可分为紧凑型.标准型.革新型.户外型.故障安全型和特种型CPU 2) C表示紧凑型.F故障安全型T表示特种型 2. S7-300 CPU的主要特点

3. S7-300 CPU状态故障显示

1) SF(红色):系统出错/故障指示灯,硬件或软件出错时亮

2) BATF(红色) :电池故障指示灯,没电或没有装入电池时亮.314和316有.故

障时不影响CPU工作

3) DC5V(绿色) :5V电源指示灯,总线5V电源正常时常亮 4) FRCE(黄色) :强制作业有效指示灯,有强制时亮

5) RUN(绿色) :运行指示灯.处于RUN时亮,在STARTUP(启动)时以2HZ闪烁,

在HOLD(暂停)时0.5HZ闪烁

6) STOP(黄色) :CPU处于STARTUP. HOLD.时常亮,在存储器复位时0.5HZ闪.

在存储器置位时以2HZ闪烁.

7) BUS DF(BF)(红色) :总线出错时亮,(只适用于带有DP接口的CPU). 8) SF DP:接口错误指示灯,DP接口故障时亮

三、 S7-300 PLC功能

1. 高速的指令处理:0.1-0.6us的指令处理时间 2. 人机界面(HMI):人机界面集成在S7-300操作系统内

3. 诊断功能:CPU的智能化的诊断系统可连续监控系统的功能是否正常,记录错误和特殊的系

统事件 4. 口令保护:多级口令保护可以使用户高度、有效的保护其技术机密,防止未经允许的复制和

修改 四、 S7-300 模块

PS电源模块、IM接口模块(360发送361接收)、FM功能模块、SM信号模块。MPI网络(多点通信协议)、PG编程设备、OP操作屏

1. S7-300的扩展能力

1) 与CPU312IFM和CPU313配套的模块只能安装在一个机架上

2) 除了电源模块、CPU模块和接口模块外,一个机加上最多只能再安装8

个信号模块或功能模块

3) CPU314/315/315-2DP最多可扩展4个机架

4) IM360(发送)/IM361(接收)接口模块装S7-300背板总线从一个机架连

接到下一个机架

2. S7-300数字量模块地址的确定

根据机架上的模块的类型,地址可以为输入或输出。数字I/O模块每个槽占点4B(等于32个I/O点)。也就是第一个槽地址为I0.0-I3.7,第二个槽地址为4.0-7.7。第二个机架的第一个槽地址第一个机架尾排列。 3. S7-300模拟量模块地址的确定

模拟I/O模块每个槽点16B(等于8个模拟量通道),每个模拟量输入通道或输出通道的地址总是一个字地址。也就是2个字节8个字 4. S7-300数字量模块位地址的确定

0号机架的第一个信号模块(4号槽)的地址为0.0~3.7,一个16点的数输入模块只点用地址0.0-0.7,地址2.0-3.7未用(空着)。数字量模块中的输入点和输出点的地址由字节部分和位部分组成。

第二讲:S7-300常用信号模块

一、 数字量模块

1. 数字量输入模块

1) 数字量输入模块将现场过程送来的数字量电平转换成S7-300内部信号电

平。也就是按扭信号、行程开关等开关量的信号。

2) 数字量输入模块SM321有四种型号模块可供选择,即直流16点输入、直

流32点输入、交流16点输入、交流8点输入模块。常用的是直流输入 3) S7-300与200PLC的接线区别就是M点的正负不可以接反,200PLCM点上

可以接正,而300只可以接负

4) 对于该32点的300输入模块的供电,只需将引脚20和40接上24V电源

的负极(即M)即可。

5) 对于该16点的300输入模块的供电,只需将引脚20接上24V电源的负

极(即M)即可

2. 数字量输出模块

数字量输出模块内部信号电转换成过程所要求的外部信号电平,可直接用于驱动电磁阀、接触器、小型电动机、灯和电动机启动器等 1) 晶体管输出模块只能带直流负载,属于直流输出模块 2) 可控硅输出方式属于交流输出模块

3) 继电器触点输出方式的模块属于交直流两用输出模块

4) 从响应速度上看,晶体管响应最快,继电器响应最慢;从安全隔离效果及

应用灵活性角度来看,以继电器触点输出型最佳。

5) 对于该32点的300输出模块的供电,需将引脚1,11,21,31接上24V电源

的正极(即L+);引脚10,20,30,40接上24V电源的负极(即M)即可

6) 300数子量晶体管输出模块与200的区别在于,200输出点外部没有接负

载时指示灯也会亮,而300没有接时是不会亮的。

3. 数字量I/O模块

SM323模块有两种类型,一种是带有8个共地输入端和8个共地输出端,另一种是带有16个共地输入端和16个共地输出端,两种特性相同。I/O额定负载电压24VDC,输入电压“1”信号电平为11~30V,“0”信号电平为-3~+5V,I/O通过光耦与背板总线隔离。在额定输入电压下,输入延迟为1.2~4.8ms。输出具有电子短路保护功能。

二、 模拟量模块

1. 模拟量值的表示方法

S7-300的CPU用16位的二进制补码表示模拟量值。其中最高位为符号位“S”,“0”表示正值,“1”表示负值。被测值的精度可以调整,取决于模拟量模块的性能和它的设定参数,对于精度小于15位的模拟量值,低字节中幂项低的位不用

2. 模拟量输入模块

1) 模拟量输入(简称模入(AI))模块SM331目前有三种规格型号,即8AI*12

位模块、2AI*12位模块和8AI*16位模块。

2) SM331主要由A/D转换部件、模拟切换开关、补偿电路、恒流源、光电

隔离部件、逻辑电路等组成。A/D转换部件是模块的核心,其转换原理采用积分方法,补测模拟量的精度是所设定的积分时间的正函数,也即积分时间越长,被测值的精度越高。SM331可选四档积分时间:2.5ms、16.7ms、20ms和100ms,相对应的以位表示的精度为8、12、12和14 3) SM331与传感器、变送器的连接

3. 模拟量输出模块

第三讲:STEP7编程软件的安装与介绍

一、 软件的安装

1. STEP7安装软件对系统的要求

XP SP1以上,或200 SP3,IE要6.0以上 2. STEP7硬件需求

能运行200或XP的PG(编程设备)或PC机 CPU主频至少为600MHz 内存至少为256M

硬盘剩于空间在600MB以上 具备光驱

显示器支持32位,1024*768分辩率 3. 软件的安装

常用典型安装就可以 注意安装授权

二、 SIMATIC管理器

1. 启动SIMAIC管理器,通过开始菜单启动

2. 设置PG/PC接口,通过开始菜单设置,界面与200差不多

第四讲 STEP7编程快速入门

一、 STEP7设计步骤

二、 编程举例

下面以用S7-300PLC控 制三相异步电动机的起动与停止为例,来介绍STEP7软件的使用。

1. 项目要求

本例中PLC实现的功能相当于图1所示的控制电路,外部需要连接一个起动按钮SB1、一个停止按钮SB2和一个输出接触器KM,PLC的端子接线图如图2所示。其中FR为热继电器,当主电路同的电动机过载时FR动作,并切断接触器KM的线圈。

2. PLC硬件选择

PLC硬件系统包括一个PS307(5A)电源模块、一个CPU314、一个数字量输入模块SM321 DI32*DC24V和一个数字量输出模块SM322DO32*AC120/230/1A。所使用的数字量输入模块有32个输入点,每8个为一组,拥有4个公共端,用1M.2M.3M.4M.表示,外部控制按扭(如SB1、SB2)信号通过DC24V送入相应的输入端(如I0.0、I0.1)所使用的数字量输出模块有32个输出点,每8点为一组,有4个公共电源输入端,用1L、2L、3L、4L表示,外部负载(如KM)均通过电源(如AC220)接在公共电源输入端(如1L)与输出端(如Q4.1)之间。 3. STEP7软件组态与操作

PACK-导轨 PS-电源 SM-信号模块 1) 创建STEP7项目 2) 插入S7-300工作站 3) 硬件组态 4) 编辑符号表 5) 程序编辑窗口

6) 在OB1中编辑LAD程序下载 7) 运行与监控

第五讲 S7-300编程语言与数据类型

一、 S7-300编程语言

STEP是S7-300/400系列PLC应用设计软件包,所支持的PLC编程语言非常丰富。该软件的标准版支持STL(语句表)、LAD(梯形图)及FBD(功能块图)3种基本编 程语言,并且在STEP7中可以相互转换。专业版附加对GRAPH(顺序功能图)、SCL(结构化控制语言)、HIGRAPH(图形编程语言)、CFC(连续功能图)等编 程语言的支持。不同的编程语言可供不同知识背景的人员采用。

二、 数据类型

数据类型决定数据的属性,在STEP7中,数据类型分为三大类: 1) 基本数据类型

Bit-位 Byte-字节 Word-字 DWord-双字 INT-16位整数 DINT-32位整数 REAL-浮点数

2) 复杂数据类型

复杂数据类型定义超过32位或由其他数据类型组成的数据。复杂数据类型要预先定义,其变量只能在全局数据块中声明,可作为参数或逻辑块的局部变量。STEP7支持的复杂数据类型有数组、结构、字符串、日期和时间、用户定义的数据类型和功能块类型6种

? 数组(ARRAY):是由一组同一类型的数据组合在一起而形成的复杂数据

类型。数的维数最大可以到6维。 例如:ARRAY[]1..4,1..5,1..6]INT

这是一个三维数组,1..4、1..5、1..6为数据第1-3维的下标范围;INT为元素类型关键词。定义了一个整数型,大小为4*5*6的三维数组。可以用数组名加上下标方式来引用数组中的某个元素。如a[]2,1,5,]。

? 结构(STRUCT)是由一组不同类型的数据组合在一起而形成的复杂数据

类型。结构通常用来定义一组相关的数据。 例如电机的一组数据可以按如下方式定义: Motor(电机):STRUCT(结构)

Speed(速度):INT(整数) Current(电流):REAL(浮点数)

END_STRUCT

访问结构中的各个元素: L“Drive_1”.Motor.Current L“Drive_1”.Motor.Spccd

其中Drive_1是数据的符号名,该数据包含结构,结构的名称在数据块符

号后面,结构的元素名跟在结构名的后面。中间用点分割。

? 字符串(STRING)是最多254个字符(CHAR)的一维数组,最大长度为256

个字节(其中前2个字节用来存储字符串的长度信息)。字符串常量用单引号括起来,如:‘S7-300’、‘SIMATIC’

? 日期和时间(DATE_AND_TIME)用来存储年、月、日、时、分、秒、毫

秒和星期,占用8个字节,用BCD码格式保存。星期天的代码为1,星期一至星期六的代码分别为2-7。如:DT#2010-02-06-13:30:15.200表示2010年2月6日13点30分15.2秒。

? 用户定义的数据类型(UDT)表示自定义的结构,存放在UDT块中

(UDT1-UDT65535),在另一个数据类型中作为一个数据类型“模板”。当输入数据块时,如果需要输入几个相同的结构,利用UDT可以节省输入时间。 例:需要在一个数据块中输入10个相同的结构。首先定义一个结构并把它存为一个UDT,如UDT1。在数据块中,定义一个变量Addresses,它有10个元素,数据类型是UDT1。 Addresses ARRAY[1..10]UDT1

这样就建立了UDT1所定义结构的10个数据区域,而不需要分加别输入。

操作步骤:1新建UDT1数据类型

2打开UDT1,建立一个结构 3新建DB数据块

4打开DB数据块,建立一个数组,类型为UDT1

第六讲 S7-300PLC的指令基础

一、 PLC用户存储区的分类及功能 存储区域 功能 在扫描循环的开始,操作系统从现场读取控制按扭、输入过程印象寄存器 I 行程开关及各种开关量数字信号,并存入输入过程印象寄存器,其每一位对应数字量输入模块的输入端子 在扫描循环其间,逻辑运算的结果存入到输出过程印象输出过程印象寄存器 Q 操作系统从输出过程印象寄存器读出最终结果。并将其传送到数字量输出模块,直接控制PLC外部的指示灯,接触器、等控制对象 输出双字 0-5532 QD 输出位 输出字节 0.0-65535.7 0-5535 0-5534 Q QB QW 输入双字 0-5532 ID 单位 输入位 输入字节 输入字 录址范围 0.0-65535.7 0-5535 0-5534 标识符 I IB IW 寄存器,在循环扫描结束前,输出字 位存储器与PLC外部的对象没有任何关系,它的功能类似于继电器控制系统中的中间继电器,主要用来存储程位存储器 M 序运算过程中的临时结果,可为编程提供无数量限止的触点,可以被驱动,但不能直接驱动任何负载 它的存在主要是为了使编程方便 用户呆以通过外部输入寄存外部输入寄存器 PI 器直接来访问模拟量输入模块,以便接收来自现场的模拟量输入信号 用户可以通过外部输出寄存外部输出寄存器 PQ 器直接访问模拟量输出模块,以便将模拟量输出信号送给现场的控制执行器 定时器 T 作为定时器指令使用,访问该存储区可获得定时器的剩于时间 作为计数器指令使用,可访问存储区可获得计数器的当前值 数据块寄存器用于存储数据块的数据,最多可同时打开数据块寄存器 DB 一个共享数据DB和一个背景数据块DI,用OPIN DB指令可打开一个共享数据块,用OPIN DI指今打开一个数据块DI 本地寄存器用来存储逻辑块中所使用的临时数据,一般本地数据寄存器 I 用作中间暂存器,因为这些数据实际存储在本地数据堆栈中,所以当逻辑块执行结束时,数据自然丢失 本地数据字节 本地数据字 本地数据双字 0-5535 0-5534 0-5532 LB LW LD 本地数据位 0.0-65535.7 L 数据双字 0-5532 DBD或DID 数据位 数据字节 数据字 0.0-65535.7 0-5535 0-5534 DBX或DIX DBB或DIB DBW或DIW 计数器 0-255 C 定时器 0-255 T 外部输入字节 外部输入字 外部输入双字 外部输出字节 外部输出字 外部输出双字 0-65535 0-65534 0-65532 0-65535 0-65534 0-65532 PIB PIW PID PQB PQW PQD 存储字 0-254 MW 存储字节 0-255 MB 存储位 0.0-255.7 M 计数器 C 二、 指令操作数

指令操作数(又称编程元件)一般在用户存储区中,操作数由操作标识符和参数组成,操作标识符由主标识符和辅助标识符组成,主标识符用来指定操作数所使用的存储区类型,辅助标识符则用来指定操作数的单位(如:位、字节、字、双字等)

主标识符有:I-输入过程映像寄存器、Q-输出过程映像寄存器、M-位存储

器、PI-外部输入寄存器、PQ-外部输出寄存器、T-定时器、C-计数器、DB-数据块寄存器、L-本地数据寄存器;

辅助标识符有:X-位、B-字节、W-字或2B、D-2DW或4B。

三、 寻址方式

所谓寻址方式就是指令执行时获取操作数的方式,可以直接或间接方式给出操作数。

? 立即寻址

? 存储器直接寻址 ? 存储器间接寻址 ? 寄存器间接寻址

1. 立即寻址

立即寻址是对常数或常量的寻址方式,其特点是操作数直接表示在指令中,或以惟一形式隐含在指令中,下面各条指令操作数采用了立即寻址方式,其中“//”后面的内容为指令的注释部分,对指令没有任何影响

L 66 //表示把常数66装入累加器1中

AW W#16#168 //将十六进制数168与累加器1的低字进行“与”运算

SET //默认操作数为RLO(逻辑输出),该指令实现对RLO置“1”操作

2. 存储器直接寻址

存储器直接寻址,简称直接录址,该寻址方式在指令中直接给出操作数的存储单元地址。存储单元地址可有符号地址(如SB1.KM等)或绝对地址(如I0.0.Q4.1)。下面各条指令操作数均采用了直接寻址方式。

A I0.0 //对输入位I0.0执行逻辑“与”运算 = Q4.1 //将逻辑运算结果送给输出继电器Q4.1 L MW2 //将存储字MW2的内容装入累加器1

T DBW4 //将累加器1低字中的内容传送给数据字DBW4

3. 存储器间接寻址

存储器间接寻址,简称间接寻址,该寻址方式在指令中以存储器的形式给出操作数所在的存储单元地址,也就是说该存储器的内容是操作数所在存储器单元地址。该存储器一般为地址指针,在指令中需写在方括号“[]”内。地址指针可以是字或双字,对于地址范围小于65535的存储器可以用字指针;对于其他存储器则要使用双字指针。

例:存储器间接寻址的单字节格式的指针寻址 如 OPN DB[MW0]

打开 数据块[]

若MW0中的值为2,则DB[MW0]就是DB2。MW0的值一改变,则指定的数据块也改变。

存储器间接寻址的双字指针的格式如图所示 16位序312423158位序70 310000 00000000 000024230000 0bbb0000 0bbbbbbb bbbbbbbb bbbbbbbb bxxx1615870说明:位0~2(xxx)为被寻址地址中位的编号(0~7)说明:位0~2(xxx)为被寻址地址中位的编号(0~7)位3~8为被寻址地址的字节的编号(0~65535)位3~8为被寻址地址的字节的编号(0~65535)

例:存储器间接录址的双字格式的指针录址

4. 寄存器间接寻址

寄存器间接寻址,简称寄存器寻址。该寻址方式在指今中通过地址寄存器和偏移量间接获取操作数,其中的地焉寄存器及偏移量必写在“[]”内,在S7-300中有两个地址寄存器AR1和AR2,用地址寄存器的内容加上偏移量形成的地址指针,并指向操作数所在的存储器单元,地址寄存器的地址指针有两种格式,其长度均为双字,指针格式如图所示

位序位序 3131242423231615161587807x000 0 r r rx000 0 r r r0000 0bbbbbbb bbbb0000 0bbbbbbb bxxxbbbb bbbb说明:位0~2(xxx)为被寻址地址中位的编号(0~7)说明:位0~2(xxx)为被寻址地址中位的编号(0~7)位3~8为被寻址地址的字节的编号(0~65535)位24~26(rrr)为被寻址地址的区域标识号位3~8为被寻址地址的字节的编号(0~65535)位31的x=0为区域内的间接寻址,x=1为区域间的间接寻址位24~26(rrr)为被寻址地址的区域标识号位31的x=0为区域内的间接寻址,x=1为区域间的间接寻址

地址指针区域标识位的含义

第一种地址指针格式适用于在确定的存储区内寻址,即区内寄存器间接寻址,

例:区内寄存器间接寻址

第二种地址指针格式适用于区域间寄存器间接寻址

例:区域间寄存器间接寻址

第一种地址指针格式包括被寻址数据所在存储单元地址的安节编号和位编号,到于对哪个存储区寻址,则必须在指令中明确给出。这种格式适用于在确定的存储区内寻址,即区内寄存器间接寻址。

第二种地址指针格式包含了数据所在存储区的说明位(存储区域标识位),可通过改变标识位实现跨区域寻址,区域标识由26-24确定,这种指针格式适用于区域间寄存器间接寻址。 四、 CPU中的寄存器

1. 累加器(ACCUx)

累加器用于处理字节、字或双字的寄存器。S7-300有2个32位的累加器(ACCUI和ACCU2)。S7-400有4个32位的累加器(ACCU1-ACCU4)。数据放在累加器的低位(右对齐)。 2. 状态字

状态字用于表示CPU执行指令时所具有的状态信息。

首位检测位(FC) 溢出位(OV)

逻辑操作结果(RL0) 溢出状态保护位(OS)

状态位(STA) 条件码1(CC1)和条件码(CC0) 或位(OR) 二进制结果位(BR)

第7讲位逻辑指令(-)

位逻辑指令处理的对象为二进制位号。位逻辑指今扫描信号状态“1”和“0”位,并根据布尔逻辑对它们进行组合,所产生的结果(“1”或“0”)称为逻辑运算结果,存储在状态字的“RLO(状态字:逻辑操作结果)”中。 一、 触点与线圈指令

在LAD程序中,通常使用类似继电器控制电路中的触点符号及线圈符号来表示PLC的位元件,被扫描的操作数(用绝对地址或符号地址表示)则标在触点符号的上方,如图所示。

1. 常开触点

对于常开触点(动合触点),则对于1扫描相应操作数。在PLC中规定:若操作数是“1”则常开触点“动作”,即认为是“闭合”的;若操作数是“0”,则常开触点“复位”,即触点仍处于打开的状态。

常开触点所使用的操作数是:I、Q、M、L、D、T、C、

2. 常闭触点

常闭触点(动断触点)则对“0”扫描相应操作数。在PLC中规定:若操作数是“1”则常闭触点“动作”,即触点“断开”;若操作数是“0”,则常闭触点“复位”,即触点仍保持闭合。

常闭触点所使用的操作数是:I、Q、M、L、D、T、C。

3. 输出线圈(赋值指令)

输出线圈与继电器电路中的线圈一样,如查有电流(信号流)流过线圈(RL0=“1”),则被驱动的操作数置(1);如果没有电流流过线圈(RLO=“0”),则补驱动的操作数复位(置“0”)。输出线圈只能出现在梯形图逻辑串的最右边。

输出线圈等同于STL(语句表)程序中的赋值指令(用等于号“=”表示),所使用的操作数可以是:Q、M、L、D。不能是输入I。 4. 中间输出

在梯形图设计时,如果一个逻辑串很长不便于编辑时,可以将逻辑串分成几个段,前一段的逻辑运算结果(RLO)可作为中间输出,存储在位存储器(I、Q、M、L或D)中,该存储位可以当作一个触点出现在其它逻辑串的中间,而不能出现在最左端或最右端

下图中,两个程序功能一样

二、 基本逻辑指令

基本逻辑指令主要包括:

? “与”指令 串连常开指令 ? “与非”指令 串连常闭指令 ? “或”指令 并连常开指令 ? “或非”指令 并连常闭指令

? 信号流取反指令 1. 逻辑“与”指令

逻辑“与”指令使用的操作数可以是:I、Q、M、L、D、T、C。有2种指令形式(STL和FBD),用LAD也可以实现逻辑“与”运算

2. 逻辑“与非”指令

逻辑“与非”指令使用的操作数可以是:I、Q、M、L、D、T、C。有2种指令形式(STL和FBD),用LAD也可以实现逻辑“与非”运算

3. 逻辑“或”指令

逻辑“或”指令使用的操作数可以是:I、Q、M、L、D、T、C。有2种指令形式(STL和FBD),用LAD也可以实现逻辑“或”运算

4. 逻辑“或非”指令

逻辑“或非”指令使用的操作数可以是:I、Q、M、L、D、T、C。有2种指令形式(STL和FBD),用LAD也可以实现逻辑“或非”运算

5. 信号流取反指令

信号流取反指令的作用就是对逻辑串的RLO(逻辑运算结果)值进行取反。指令格式及示例见下图。当输入位I0.0和I0.1同时动作时,Q4.0信号状态为“0”;否则,Q4.0信号状态为“1”

三、 置位和复位指令

置位(S)和复位(R)指令根据RLO的值来决定操作数的信号状态是否改变,对于置位指令,一旦RLO为“1”,则操作数半的状态置“1”,即使RLO又变为“0”,输出仍保持为“1”;若RLO为“0”,则操作数的信号状态保持不变。对于复位操作,一旦RLO为“1”,则操作数的状态置“0”即使RLO又变为“0”,输出仍保持为“0”;若RLO为“0”,则操作信号状态保护不变。这一特性又被称为静态的置位和复位,相应的,赋值指令被称为动态赋值。

例:置位与复位指令的应用——传送带运动控制

如图所示为一个传送带,在传送带的起点有两个按扭:用于起动的S1和用于停止的S2。在传送带的尾端也有两个按钮:用于启动的S3和用于停止的S4。要求能从任一端起动或停止传送带。另外,当传送带上的物件到达未端时,传感器S5使传送带停止

传感器S5Motor_onS1S2起动停止电动机S3S4起动停止

? 端子连接图

? 地址分配

? 梯形图程序

第8讲 位逻辑指令(二)

一、 RS和SR触发器指令

? RS触发器为“置位优先”型触发器(当R和S驱动信号同是为“1”是时,触发器

最终为置位状态);

? SR触发器为“复位优先”型触发器(当R和S驱动信号同时为“1”时,触发器最

终为复位状态)。

RS触发器和SR触发器的“位地址”,置位(S)、复位(S)及输出(Q)所使用的操作数可以是:I、Q、M、L、D。 1. RS触发器

2. SR触发器

3. RS触发器和SR触发器工作时序图

二、

跳变沿检测指令(相当于200的上升和下降沿指令)

STEP7中有2类跳变沿检测指令,一种是对RLO的跳变沿检测的指令,另一种是对触点的跳变沿直接检测的梯形图方块指令 ? RLO上升沿检测指令 ? RLO下降沿检测指令

? 触点信号上升沿检测指令 ? 触点信号下降沿检测指令 1. RLO上升沿检测指令(P)

M1.0和M1.1的状态和前面的逻辑运算结果一致

2. RLO下降沿检测指令(N)

M1.2和M1.3的状态和前面的逻辑运算结果一致

3. LRO边沿检测指令的工作时序

注意:当I1.0接通后过一个扫描周期以后Q4.0产生一个一个周期接通信号,也就是I0.0接通后第二周期Q4.0接通一个周期。 4. 触点信号上升沿检测指令(POS)

此LAD程序是对“I1.0”触点上升沿状态的检测,当‘I1.0’接通后对“Q4.0”产生一个扫描周期的脉冲信号,“M0.0”的状态与“I0.0”的状态一致 5. 触点信号下降沿检测指令(NEG)

当“I1.0”由1变为0时产生一个下降沿脉冲的时候,“Q4.2”输出一个宽度为一个扫描周期的脉冲,“M0.0”的状态与“I1.0”的状态一致 6. 触点信号边沿检测时序图

第9讲定时器

一. S_PULSE(脉冲S5定时器)

指令块上面是定时器的编号,用Txx表示。S端是启动信号,TV—设定定时器的时

间 R-定时器的复位信号,Q-输出位地址,BI和BCD是输出定时器的倒计时时间,用两种不同的格式显示。

设定时时器时间格式:S5T#xxxS S5T定时器#设定时间S单位秒 脉冲定时器的线圈指令

T2 定时器编号

-(SP)- 表示脉冲5定时器

S5T#10s 定时器时间10秒

-(R)- 复位信号

脉冲S5定时器工作时序图

当I0.1接通后MW0和MW2开始倒计时,当计时到0的时候,计时结束。I0.1接通的情况下,T1的位立即接通,当定时时间一到T1的位复位断开。如果当计时器还没有计时到0的情况下I0.1断开,那么计时器会马上停止计时,同时T1位断开。I0.1再次接通后T1重新开倒计时。Q4.0的位与T1保持一致

例:合上开关SA(I0.0),指示灯HL(Q0.0)亮1小时2分10秒后自动熄灭。

用I0.0接通一个T0定时器,定时器时间为1小时2分10秒。当I0.0接通后T0的位立即接通动作,Q0.0接通,当定时的时间一到T0的位断开,Q0.0也断开 二. S_PEXT(扩展脉冲S5定时器)

他的指令格式与脉冲S5定时期格式一样,但线圈指令用(SE)表示,而脉冲S5定时器用(SP)表示

扩展脉冲S5定时器工作时序图

当I0.1接通后MW0和MW2开始倒计时,当计时到0的时候,计时结束。I0.1接

通的情况下,T1的位立即接通,当定时时间一到T1的位复位断开。如果当计时器还没有计时到0的情况下I0.1断开,那么计时器会继续计时(与脉冲S5定时器不同),只到计时器计时时间为0后T1位断开。I0.1再次接通后T1重新开倒计时,如果I0.1断开后计器还没有计时到0又接通,那么计时器将重新从头开始倒计时。Q4.0的位与T1保持一致。扩展脉冲定时器只要启动信号接通一下,计时器就可以计时。

例:扩展脉冲定时器应用——电动机延时自动关闭控制。 控制要求:按动起动按钮S1(I0.0),电动机M(Q4.0)立即起动,延时5分钟以后自动关闭。起动后按动停止按钮S2(I0.1),电动机立即停机

I0.0接通5分钟SE定时器,T1接通后Q4.0接通。I0.1接通后复位定时器。程序运行时,当I0.0(启动按扭)接通一下后T1开始计时,当计时5分钟后T1位断开,同时断开Q4.0(电机)I0.0接通后手动关闭定时器 三. S_ODT(接 通延时S5定时器)

他的指令格式与以上两种相同,但是线圈指令用(SD)表示

接通延时S5定时器时序图

接通延时S5定时器的主要工作特点就是,触发点接通后定时器并不马上接通,待定时器时间到后才接通。触发点接通后定时器没有达到倒计时设定时间又断开,定时器位不接通。 四. S_ODTS(保持型接通延时S5定时器)

他的指令格式与以上三种相同,但是线圈指令用(SS)表示

时序图

当I0.0接通后计时器开始计时,待计时到达后T10位接通,此时当I0.0断开后T10的位并不断开,而一般的S5接通延时计时器此时会断开。T10的位必须用I1.0复位后才能断开 五. S_OFFDT(断电延时S5定时器)

他的指令格式与以上四种相同,但是线圈指令用(SF)表示

断电延时S5定时器时序图

当I0.0接通后,T13位马上接通,当定器时间到达后T13位断开。 例:断电延时定时器的应用

合上开关SA(I0.0),HL1(Q0.0)和HL2(Q0.1)亮,断开SA,HL1立即熄灭,过10S后HL2自动熄灭。

I0.0直接控制Q0.0(HL1),因为I0.0接通后,第一个灯就亮断开就灭。然后用Q0.0接通一个T0断电延时计时器,当Q0.0断开10S后T0断开,同时HL2(Q0.1)熄灭。 六. 5个 S5定时器的主要功能与区别

1. 脉冲S5定时器:当启动信号接通后,定时器位也接通,定时时间到达后定时器位断

开,如启动信号中途断开,定时器位同时断开。

2. 扩展脉冲S5定时器:当启动信号接通后,定时器位马上接通,等定时器时间到达

后定时器位断开,如启动信号中途断开后,定时器继续定时,只到定时时间到达后位才断开

3. 接通延时S5定时器:当启动信号接通后,定时器的位不接通,等定时时间到达后

位接通,如启动信号断开,定时器的位马上断开

4. 保持型接通延时S5定时器:当启动信号接通后,定时器的位不接通,等定时时间

到达后位接通,如启动信号断开,定时器位继续保持接通状态,只有通过复位来断开定时器的位

5. 断电延时S5定时器:当启动信号接通后,定时器的位马上接通,当启动信号断开

后,定时器开时计时,当计时器时间到达后,定时器的位断开, 定时器名称 LAD 启动信号接通 启动信号中途断开 定时器时间到 定时到达后启动信号断 状态说明 脉冲S5定时器 扩展脉冲S5定时器 接通延时S5定时器 保持型接通延时S5定时器 断电延时S5定时器 S_PULSE (SP) S_PEXT (SE) S_ODT (SD) S_ODTS (SS) S_OFFDT (SF) 通 计时 通 计时 断 计时 断 计时 通 停 断 停 通 计时 断 停 断 计时 通 计时 断 停 断 停 通 停 通 停 断 停 断 停 断 停 断 停 通 停 断 停 启动接通,定时到后断 信号断开继续计时 停止后断开 启动不通,定时到后通 停止后继续接通 启动信号断开后开始计时,计时时间到后断开 信号断开停止 第10讲 定时器应用实例

一. 多级皮带运输机控制

例:多级皮带运输机控制

如图是一个四级传送带系统示意图。整个系统有四台电动机M1、M2、M3、M4,落料漏斗YO由一阀控制。控制要求如下:

a) 落料漏斗启动后,传送带M1应马上启动,经6秒须启动传送带M2. b) 传送带M2启动后5秒应启动传送带M3. c) 传送带M3启动后4秒应启动传送带M4.

d) 落料停止后,应根据所需的时间差别,分别隔6S.5S.4S.3S.将四台电机停止。 I/O分配及接线图

PLC控制程序

按下I0.0启动信号 后 把M0.1停止位关闭 把M0.0启动位关打开

按下I0.1停止信号 把M0.1停止位接通 把M0.0启动位断开

启动位接通后启动三个(SD)接通延时定时器,定时时间为分是6秒,6+5秒、6+5+4秒

二. 交通灯控制

交通信号灯示意图如图所示

M0.0启动后接通Q0.4落料阀动作 同时第一个传送带Q0.0开始工作

计时6秒后,第一个定时器T0接通。T0接通后第二个传带Q0.1开始工作

T1计时11秒后接通,Q0.2接通第三个传送带开始工作

T2计时15秒后Q0.3第四个传送带开始工作

停止位接通后启动动4个接通延时定时器 T10 6秒 T11 11秒

T12 15秒

T13 18秒

I0.1停止按扭接通后先把进料阀关闭

计时6秒后关闭第一个传送带

计时11秒后关闭第二个传送带

计时15秒后关闭第三个传送带

计时18秒后关闭第四个传送带

控制要求如下:

(1)接通起动按钮后,信号灯开始工作,东西向(行向)红灯、南北向(列向)绿灯同时亮。

(2)南北向绿灯亮25s后,闪烁3次(1s/次),接着南北向黄灯亮,2s后南北向红灯亮,30s后南北向绿灯又亮??如此不断循环,直至停止工作。

(3)东西向红灯亮30s后,东西向绿灯亮,25s后东西向绿灯闪烁3次(1s/次),接着东西向黄灯亮,2s后东西向红灯又亮??如此不断循环,直至停止工作。 工作时序图

交通灯接线图

PLC控制程序

启动后Q0.0行红灯和Q1.7列绿灯亮,25秒以后T0接通Q1.7列绿灯以500ms闪烁。闪3秒后T1接通Q1.7列绿灯灭,同时接通Q1.3列黄灯,T1接通2秒后T2接通断开开Q1.3列黄灯和Q0.0行红灯,同时接通Q1.0列红灯、Q0.7行绿灯和启动T3延时定时器,25秒以后T3定时器接通Q0.7行绿灯开始闪烁,闪3秒后T4定时器接通断开Q0.7行绿灯并接通Q0.3行黄灯和启动T5定时器,黄灯亮2秒后T5接通把Q0.3行黄灯关闭并断开T0定时器,T0断开后Q0.0行红灯和Q1.7列绿灯亮并把后面的定时器和T5全部断开重新计时工作。按下I0.1后因M0.0位断开不能进行新一圈的计时所以停止。

第11讲 CPU时钟存储的应用

一、

CPU时钟存储器

通过设置CPU时钟存储器,可得到多种脉冲。要使用该功能,如图所示,在硬件配置时需要设置CPU属性,其中有一个选项为Clock Mcmory(时钟存储器),选中选择框可激活此功能

在硬件组态中双击CPU弹出属性框,选择时钟存储器

启动时钟存储器,选择MB位,如填写为0,则表是用M0.0-M0.8位做为时钟脉冲信号位,一个字节8个位,各个位的时钟周期表如下

二、 编程举例

例:编程实现以下功能:

当开关SA1(I0.0)为ON,SA2(I0.1)为OFF时,MW10每隔1S加1,当SA1为OFF,SA2为ON时,MW10每隔1S减1.

首先在CPU硬件中设置MB0为时钟存储器,则M0.5为周期为1S的脉冲。编写程序如图所示

第12讲 计数器及其应用

S7-300 400的计数器都是16位的,因此每个计数器占用该区域2个字节空间,用来存储计数值。不同的CPU模析,用于计数器的存储区域也不同,最多允许使用64~512个计数器,计数器的地址编号:C0-C511 一. S_CUD加减计数器

U 减信号输入 CD加信号输入 S预置信号开关 PV预置信号值 R复位信号 CV和CV_BCD为两个不同累型的计数器输出值

当I0.0接通时,计数器C0加一个值,I0.1输入一个信号时C0减一个值,最小只能到0,没有负数。当S信号开关打开时,把预轩信号值写入当前的C0里。I0.3接通时C0清0。注意:Q4.0的值,只要计数器的值不等于0时他就接通,反之等于0时就不通。

二. S_CU加计数器

加计数器用法与加减计数器一样,只是少了一个减开关 减计数器也是与他们一样,只是少了个加开关输入 三. S_CD减计数器

四.

计数器的线圈指令

除了面介绍的块图形工的计数器指令以外,S7-300系统还为用户准备了LAD环境下的线圈图形式的计数器,这些指令有计数器初预置指令SC、加计数器指令CU和减计数器指令CD。

初值预置SC指令若与CU指令配合可实现S_CU指令的功能

通过I0.0接通SC预置指令,把C4的当前值预值为66

通过I0.1接通加计数器的输入,I0.1接通一次,C4计数器加1

I0.2接通复位指令,把C4的值清到0

初值预置SC指令若与CD指令配合可实现S_CD指令的功能,计数器减

通过I0.0接通SC预置指令,把C5的当前值预值为66

I0.0接通计数器减的输入。I0.0接通一次C5的值减1

I0.2接通计数器复位指令,把计数器清0

SC指令若与CU和CD配合可实现S_CUD的功能。

例:用计数器编程实现以下功能;

接一按钮于PLC的I0.0,当按第3次按钮时,Q0.0置位为ON,当按到第7次安钮时,Q0.0Q复位为OFF。如此可反复操作。用一个增计数器对按钮的接通次数时行计数。

第13讲 装入与传送指令

S7-300/400PLC指令功能丰富,且有装入与传送指令、转换指令、比较指令、算术运算指令、字逻辑运算指令、移位指令、逻辑控制指令、程序控制指令、主控指令等。许多指令的具体用户与s7-200plc的指令大体相同。

本课程主要介绍一些常用的功能指令,以及与S7-200使用有区别的指令。

装入指令(L)和传送指令(T),可以对输入或输出模块与存储区这间的信息交换进行编程。

一.

对累加器1的装入指令(L)

装入指令(L)和传送指令(T)的功能是实现各种数据存储区之间的数据交换,这种数据交换必须通过累加器来实现。S7-300PLC系统有2个32位的累加器,S7-400PLC系统有4个32位的累加器。

以S7-300为例介绍指令的应用。当执行装入指令时,首先将累加器1中的原有的数据移入累加器2,累加器2中原有的数据内容被覆盖(400则把2的内容移到3内,3的移到4,4的内容被覆盖),然后将数据装入累加器1中。当执行传送指令时,将累加器1中的数据写入目标存储区中,而累加器1的内容保持不变。L和T指令可对字节、字、双字数据进行操作,当数据长度小于32位时,数据在累加器1中右对齐(低位对齐),其余各位补0。

L B#16#1B L 向累加器传入 B#字节 16# 16进制数 1B 16进制数1B L 1.0E+2 向累加器装入1乘以10的2次方,200.1的实型常数 二. 对累加器1的传送指令 (T)

T指令可以将累加器1的内容复制到被寻址的操作数,所复制的字节数取决于目标地址的类型(字节、字或双字),指令格式如下:

T 操作数

其中的操作数可以为直接I/O(存储类型为PQ)、数据存储区或过程映像输出表的相应地址(存储类型为Q)

三.

状态字与累加器1之间的装入和传送指令

? L STW (将状态字装入累加器1)

将装态字装入累加器1中,指令的执行与状态位无关,而且对状态字没有任何影响,指令格式如下:

L STW ? T STW (将累加器1的内容传送到装态字)

使用T STW指令可以将累加器1的位0-8传送到状态字的相应位,指令的执行与状态位无关,指令格式如下: T STW 四. 与地址寄存器有关的装入和传送指令

? LAR1(将操作数的内容装入地址寄存器AR1)S7-300有2个地址寄存器,分别是AR1

和AR2

? LAR2(将操作数的内容装入地址寄存器2 )

使用LAR2指令可以将操作数的内容(32位指针)装入地址寄存器AR2,指令格式同LAR1,其中的操作数可以是累加器1、指针型常数(P#)、存储双字(MD)、本 地数据双字(LD)、数据双字(DBD)或背景数据双字(DID)、但不能和AR1 ? TAR1(将地址寄存器1的内容传送到操作数)

? TAR2(将地址寄存器2的内容传送到操作数) 使用TAR2指令可以将地址寄存器AR1的内容(32位指针)传送给被寻址的操作数,指令格式同TAR1。其中的操作数可以是累加器1、存储双字(MD)、本地数据双字(LD)、数据双字(DBD)、背景数据双字(DID),但不

能用AR1。

? CAR(交换地址寄存器1和地址寄存器2的内容)

使用CAR指令可以交换地址寄存器AR1和地址寄存器AR2的内容,指令不需要指定操作数。指令的执行与状态位无 关,而且对状态字没有任何影响。 五. LC(定时器/计数器装载指令)

使用LC指令可以在累加器1的内容保存到累加器2中之后,将指定定时器字中当前时间值和时基值以BCD码(0~99)格式装入到累加器1中,或装指定计数器的当前计数值以BCD码(0~99)格式装入到累加器1中。指令格式如下:

LC <定时器/计数器>

六.

MOVE指令

MOVE指令为功能框形式的传送指令,能够复制字节、字或双字数据对象。应用中IN和OUT端操作数可以是常 数I、Q、M、D、L、等类型,但必须在宽度上匹配。(也就是说前面是字节后面也必须是字节,前面是字后面也必须是字,前后数据宽度上必须相同)

Q4.0的状态其实和I0.0状态是一样的,只要MOVE指令正确执行,Q4.0就接通。

第14讲 转换与比较指令

一.

转换指令

转换指令是将累加器1中的数据进行数据类型换,转换结果仍放在累加器1中(只针对STL语句表编程)。在STEP7中,可以实现BCD码与整数、整数(16位)与长整数(32位)、长整数与实数、整数的反码、整数的补码、实数求反等数据转换操作。 1. BCD码和整数到其他类型转换指令

STL形式的指令

BTI B=BCD码 T=转换 I=整数

LAD和FBD形式的指令

2. 整数和实数的码型变换指令

STL形式的指令

求补其实就是求相数,就是就反加1

LAD和FBD形式的指令

3. 实数取整指令

4. 累加器1调整指令

二.

比较指令

比较指令可完成整数、长整数或32位浮点数(实数)的相等、不等、大于或等于、小于或等于比较

1. 整数比较指令

当I0.0为ON,且MW10中的内容与MW20中的内容相等时,则M8.0驱动为ON。

2. 长整数比较指令

当IN1的内容大于或等于IN2时,则输出点接通 3. 实数比较指令

第15讲 算术运算指令与控制指令

一、 算术指令

算术运算指令可完成整数、长整数及实数的加、减、乘、除、求余、求绝对值等基本算数运算;以及32位浮点数的平方、平方根、自然对数、基于e的指数运算及三角函数等扩展算数运算 1. 基本算术运算指令

整数运算

注意:整数的除法,得出的结果只是整数,把余数去掉,只保存整数 长整数运算

长整数的运算过程和整数相似,不同的只是他是32位的长整数运算。MOD_DI是取余数运算 实数的算法(R)

2. 扩展算术运算指令

二、 控制指令

控制指令可控制程序的执行顺序,使得CPU根据不同的情况执行不同的程序 1. 跳转指令

跳转指令可以中断原有的线性程序扫描,并跳转到目标地址处重新执行线性程序扫描。目标地址由跳转指令后面的标号指定,该地址示号指出程序要跳往何处,可向前跳转,也可向后跳转(在编程中进量使用向后跳转,避免使用向前跳转使程

序进入死循环),最大跳转距离为-32768或32767字。

跳转指令有无条件跳转指令、多分支跳转指令和条件跳转指令3种。 1) 无条件跳转指令(JU)

无条件跳转指令JU执行时,将直接中断当前的线性程序扫描,并跳转到由指令后面的标号所指定的目标地址处重新执行线性程序扫描。

这种指令实际上用的很少,要跳过的程序其实不编就可以

例:无条件跳转指令的使用

当程序执行到无条件跳转令时,将直接跳转到L1处执行。

2) 多分支跳转指令

多分支跳转指令JL的指令格式 JL<标号>

如果累加器1低字中低字节的内容小于JL指令和由JL指令所指定的标号之间的JU指令的数量,JL指令就会跳转到其中一条JU处执行,并由JU指令进一步跳转到目标地址;如果累加器1低字中低字节的内容为0,则直接执行JL指令下面的第一条JU指令;如果累加器1低字上低字节的内容为1,则直接执行JL指令下面的第二条JU指令;如果跳转目的地的数量太大,则JL指令跳转到目的地列表上最后一JU指令这后的第一个指令。 例:多分支跳转指令的使用

3) 条件跳转指令

例:条件跳转指令的使用。

程序示例如图所示。当I0.0与I0.1同时为’1’时,则跳转到L2处执行;否则,到L1处执行(顺序执行)

2. 子程序调用指

CLL<块标识符>指令相对用的比较多,FB功能块 FC 功能 SFB 系统功能块 SFC系统功能

第16讲 用户程序的结构与执行

一、 用户程序中用到的块

? 组织块(OB):操作系统与用户程序的接口,决定用户程序的结构。如主程序是放

在OB1中

? 系统功能块(SFB):S-系统 F-功能 B-块。系统功能块集成在CPU模块中,通

过SFB调用一些重要的系统功能,有存储区。每一个SFB的作用都是固定的,在CPU模块中已经配置好的,在SFC内部的程序不需要编写,应用时只需调用就行。 ? 系统功能(SFC):集成在CPU模块中,通过SFC调用一些重要的系统功能。无存储

区。他与SFB的的关键区别就是没有存储区,SFB有存储区他使用的时候要带DB。SFC不用跨数据块。 ? 功能块(FB):用户编定的包含经常使用的功能的子程序,有存储区。他的使用和

SFB大至是一样的,他们的区别是FB内的程序需用户编写,而SFB的程序是不需用户编写的。

? 功能(FC):用户编写的包含经常使用的功能的子程序,无存储区。他与SFC的区别就

就是一个需用户编与程序,一个不需。也有一些系统内部配备的功能区,可直接调用。

? 背景数据块(DI)调用FB和SFB时用于传递参数的数据块,在编译过程中自动生

成数据,背景数据块一定是为FB和SFB来服务的

? 共享数据块(DB)存储用户数据的数据区域,供所有的块共享。所有块都可以调

用他