680 likes | 777 Views
第 2 章. 可编程序控制器程序设计基础. 宜宾职业技术学院. PLC 存储器类型. 输入继电器( I ) 输出继电器( Q ) 通用辅助继电器( M ) 特殊标志继电器( SM ) 变量存储器( V ) 局部变量存储器( L ) 顺序控制继电器( S ) 定时器( T ) 计数器( C ) 高速计数器( HC ) 累加器( AC ) 模拟量输入映像寄存器( AI )、模拟量输出映像寄存器( AQ ). 寻址方式 1—— 直接寻址. 按位寻址的格式为: Ax.y
E N D
第2章 可编程序控制器程序设计基础
宜宾职业技术学院 PLC存储器类型 输入继电器(I) 输出继电器(Q) 通用辅助继电器(M) 特殊标志继电器(SM) 变量存储器(V) 局部变量存储器(L) 顺序控制继电器(S) 定时器(T) 计数器(C) 高速计数器(HC) 累加器(AC) 模拟量输入映像寄存器(AI)、模拟量输出映像寄存器(AQ)
寻址方式1——直接寻址 • 按位寻址的格式为:Ax.y • 必须指定元件名称、字节地址和位号,如图所示。图中MSB表示最高位,LSB表示最低位。
存储器 位地址 字节地址 元件名称
位——Bit • 字节——BYTE • 字——WORD • 双字——Double WORD • 1Byte=8Bit 1Word=2Byte=16Bit • 1DW=2Word=4Byte=32Bit 位、字节、字、双字的关系
寻址方式2 ——间接寻址 用间接寻址方式存取数据需要作的工作有3种:建立指针、间接存取和修改指针。 (1)建立指针 • 建立指针必须用双字传送指令(MOVD),将存储器所要访问的单元的地址装入用来作为指针的存储器单元或寄存器,装入的是地址而不是数据本身,格式如下: • 例:MOVD &VB200,VD302 • MOVD &MB10,AC2 • MOVD &C2,LD14 • 注意:建立指针用MOVD指令。
(2)间接存取 指令中在操作数的前面加“*”表示该操作数为一个指针。 下面两条指令是建立指针和间接存取的应用方法: MOVD &VB200,AC0 MOVW *AC0,AC1 若存储区的地址及单元中所存的数据如下所示 执行过程如下:
(3)修改指针 • 下面的两条指令可以修改指针的用法: • INCD AC0 • INCD AC0 • MOVW *AC0,AC1
编程语言 • 语句表 • 2. 梯形图 • 3. 功能块图
1. 语句表 • 语句表(STL)语言类似于计算机的汇编语言,特别适合于来自计算机领域的工程人员。用指令助记符创建用户程序,属于面向机器硬件的语言,STEP 7 Micro/Win32的语句表如图所示。
3. 功能块图 • 功能块图(FBD)的图形结构与数字电子电路的结构极为相似,如下图所示。
程序结构 • 1. 用户程序 • (1)主程序 • (2)子程序 • (3)中断处理程序 • 2. 数据块 • 3. 参数块
外部输入点 输入端子 S7-200数据存储区及元件的功能 • 1. 输入/输出映像寄存器:S7-200 PLC编址范围(I0.0~I15.7) • 输入映像寄存器(该区域可以按位操作又称输入继电器) • 输入继电器线圈由外部信号驱动,常开触点和常闭触点供用户编程使用。
负载 Q0.0 L 电源
输出映像寄存器:S7-200 PLC编址范围(Q0.0~Q15.7) • 输出映像寄存器(又称输出继电器)是用来将PLC的输出信号传递给负载,线圈用程序指令驱动。 • PLC的每一个I/O点都是一个确定的物理点。 • CPU 224主机有I0.0~I0.7,I1.0~I1.5共14个数字量输入端点,Q0.0~Q0.7、Q1.0、Q1.1共10个数字量输出端点。
2.变量存储器V • 用以存储运算的中间结果和其它数据。CPU 224有VB0.0~VB5119.7的5K存储字节。可按位、字节、字或双字使用。 • 3.内部标志位(M)存储区 • M作为控制继电器(又称中间继电器),用来存储中间操作数或其它控制信息。 • S7-200 PLC编址范围M0.0~M31.7,可以按位、字节、字或双字来存取存储区的数据。
4.顺序控制继电器(S)存储区 • S又称状态元件,以实现顺序控制和步进控制。 • S7-200 PLC编址范围S0.0~S31.7,可以按位、字节、字或双字来存取数据。 • 5.特殊标志位(SM)存储器 • CPU 224编址范围SM0.0 ~SM179.7,共180个字节。其中SM0.0~SM29.7的30个字节为只读型区域。
重点掌握SMBO字节 • SMB0为状态位字节定义如下: • SM0.0 RUN状态监控,PLC在运行RUN状态,该位始终为1。 • SM0.1 首次扫描时为1,PLC由STOP转为RUN状态时,ON(1态)一个扫描周期,用于程序的初始化。
SM0.2 当RAM中数据丢失时,ON一个扫描周期,用于出错处理。 • SM0.3 PLC上电进入RUN方式,ON一个扫描周期。 • SM0.4 分脉冲,该位输出一个占空比为50%的分时钟脉冲。用作时间基准或简易延时。
SM0.5 秒脉冲,该位输出一个占空比为50%的秒时钟脉冲。可用作时间基准。 • SM0.6 扫描时钟,一个扫描周期为ON(高电平),另一为OFF(低电平)循环交替。 • SM0.7 工作方式开关位置指示,0为TERM位置,1为RUN位置。为1时,使自由端口
6.局部存储器(L) (重点掌握) • S7-200有64个字节的局部存储器,编址范围LB0.0~LB63.7,其中60个字节可以用作暂时存储器或者给子程序传递参数,最后4个字节为系统保留字节。 • 7.定时器(相当于时间继电器) • S7-200 CPU中的定时器是对内部时钟累计时间增量的设备,用于时间控制。编址范围T0~T255(22X);T0~T127(21X)。
8.计数器(重点掌握) • 计数器主要用来累计输入脉冲个数。计数器当前值大于或等于预置值时,状态位置1。 • S7-200 CPU提供有三种类型的计数器,增计数、减计数、增/减计数。编址范围C0~C255(22X),C0~C127(21X)。
PLC的逻辑指令 • 基本逻辑指令在语句表语言中是指对位存储单元的简单逻辑运算,在梯形图中是指对触点的简单连接和对标准线圈的输出。
PLC程序执行过程 1 执行程序 Q0.0 I0.0 输入端 输出端 1 DC24V
1. 标准触点指令 (1)LD:装入常开触点(LORD) (2)LDN:装入常闭触点(LORD Not) (3)A:与常开触点(AND) (4)AN:与常闭触点(AND NOT)。 (5)O:或常闭触点(OR) (6)ON:或常闭触点(OR NOT) (7)NOT:触点取非(输出反相) (8)= :输出指令
3. 置位和复位指令 (1)S,置位指令即置位即置1 (2)R,复位指令即复位即置0 置位和复位指令可以将位存储区的某一位开始的一个或多个(最多可达255个)同类存储器位置1或置0。各操作数类型及范围如下表所示。
(1)S,置位指令 将位存储区的指定位(位bit)开始的N个同类存储器位置位。 用法: S bit, N 例: S Q0.0, 3
(2)R,复位指令 • 将位存储区的指定位(位bit)开始的N个同类存储器位复位。当用复位指令时,如果是对定时器T位或计数器C位进行复位,则定时器位或计数器位被复位,同时,定时器或计数器的当前值被清零。 用法: R bit, N 例: R Q0.2, 2
4. 立即指令 (1)立即触点指令 (2)=I,立即输出指令 (3)SI,立即置位指令 (4)RI,立即复位指令
(1)立即触点指令 在每个标准触点指令的后面加“I”。指令执行时,立即读取物理输入点的值,但是不刷新对应映像寄存器的值。 这类指令包括:LDI、LDNI、AI、ANI、OI和ONI。下面以LDI指令为例。 用法: LDI bit 例: LDI I0.5 注意:bit只能是I(输出)类型
(2)=I,立即输出指令 用立即指令访问输出点时,把栈顶值立即复制到指令所指出的物理输出点,同时,相应的输出映像寄存器的内容也被刷新。 用法: =I bit 例: =I Q0.2 注意:bit只能是Q(输出)类型
(3)SI,立即置位指令 用立即置位指令访问输出点时,从指令所指出的位(bit)开始的N个(最多为128个)物理输出点被立即置位,同时,相应的输出映像寄存器的内容也被刷新。 用法: SI bit, N 例: SI Q0.0, 2 注意:bit只能是Q类型。SI和RI指令的操作数类型 及范围如下表所示
(4)RI,立即复位指令 用立即复位指令访问输出点时,从指令所指出的位(bit)开始的N个(最多为128个)物理输出点被立即复位,同时,相应的输出映像寄存器的内容也被刷新。 用法: RI bit, N 例: RI Q0.0,1
复杂逻辑指令 1. 栈装载与指令 2. 栈装载或指令 3. 逻辑推入栈指令 4. 逻辑弹出栈指令 5. 逻辑读栈指令 6. 装入堆栈指令
1. 栈装载与指令 ALD,栈装载与指令(与块)。在梯形图中用于将并联电路块进行串联连接。 2. 栈装载或指令 OLD,栈装载或指令(或块)。在梯形图中用 于将串联电路块进行并联连接。
3. 逻辑推入栈指令 LPS,逻辑推入栈指令(分支或主控指令)。在梯形图中的分支结构中,用于生成一条新的母线,左侧为主控逻辑块时,第一个完整的从逻辑行从此处开始。 注意:使用LPS指令时,本指令为分支的开始,以后必须有分支结束指令LPP。即LPS与LPP指令必须成对出现。
4. 逻辑弹出栈指令 LPP,逻辑弹出栈指令(分支结束或主控复位指令)。在梯形图中的分支结构中,用于将LPS指令生成一条新的母线进行恢复。 注意:使用LPP指令时,必须出现在LPS的后面,与LPS成对出现。
5. 逻辑读栈指令 LRD,逻辑读栈指令。在梯形图中的分支结构中,当左侧为主控逻辑块时,开始第二个和后边更多的从逻辑块。
定时器、计数器指令 系统提供3种定时指令:TON、TONR和TOF。 精度等级: S7-200定时器的精度(时间增量/时间单位/分辨率)有3 个等级:1ms、10ms和100ms,精度等级和定时器号关系如下表所示。