abplc程序基础.ppt
AB可编程序控制器系统-SLC500/MicroLogix,关于罗克韦尔,罗克韦尔品牌包括艾伦布拉德利Allen-Bradley的控制产品和工程服务、道奇品牌的机械动力传输产品、瑞恩电气Reliance Electric制造的电机和驱动产品以及罗克韦尔软件Rockwell Software生产的工控软件。罗克韦尔总部位于美国威斯康星州的密尔沃基市。公司通过提供艾伦布拉德利、罗克韦尔软件以及一些瑞恩电器品牌的控制器、输入/输出(I/O)系统、驱动器、传感器、动力装置、成包控制产品、人机界面、软件产品和服务向客户提供集成顺序控制、运动控制、传动系统、过程控制和应用信息等产品和服务。1985年,为了获得多样性的投资,罗克韦尔以16.5亿美金的价格将Allen-Bradley收购。通过16亿美金收购Reliance Electric瑞恩电器,Rockwell增加了电机、机械传动系列产品。,Allen-Bradley PLC 发展历程,1979年左右,Allen-Bradley推出DataHighway网络(DH网络)。1981年左右,Allen-Bradley基于AMD微处理器的PLC-3面世。1986年左右,Allen-Bradley基于摩托罗拉68000芯片的PLC-5面世。1991年左右,Allen-Bradley SLC500小型控制器面世。1993年左右,Allen-Bradley产品提供以太网产品,支持TCP/IP协议19931994年,Allen-Bradley推出Devicenet(设备网)开放式网络。1994年,Allen-Bradley软件部门与ICOM合并成立罗克韦尔软件公司1995年,Allen-Bradley推出MicroLogix 1000控制器和Flex I/O产品。1998年1999年,Allen-Bradley推出ControlLogix PLC。,A-B SLC 500 系 列 簡 介,SLC-500 中 小 型 PLC(90年代初期)控制點 16960點 使用1746系列I/O模組MicroLogix 1000 固定型(內置RS232):10(6 in/4 out),16(10 in/6 out),32(20 in/12 out),SLC-500 系列可程式控制器组成,SLC-500主機採單一模組化;各種機型尺寸相同安裝於 1746 I/O框架 通訊機能(RS232,DH485,DH+)採內建式輸入/輸出模組:每片模組提供8/16/32及多種電壓可供選用1746 I/O 框架4槽,7槽,10槽,13槽 I/O框架可供選用最多三組框架/最多30 I/O 模組I/O模組可安裝在任何I/O槽位主機置於最左槽位,佔一I/O槽位電源供應模組,第2章 可编程序控制器处理器及I/O模块,1.前面板:(1)钥匙开关:用来设定可编程序控制器的工作状态,共(PROG/REM/RUN)三种状态.其中:当开关处于“REM”即远程(Remote)状 态时,可以通过编程软件设定处理器 工作在“编程”、“调试”或“运 行”状态。使用钥匙是为了在调试完毕后使处理器固定在运行状态,防止程序被意外修改。,第2章 可编程序控制器处理器及I/O模块,(2).指示灯电池指示灯“BATT”:灯(红)亮表示电池盒里的电池该更换了。一般该指示灯亮后,应在10天内及时更换电池,否则可能因CMOS RAM的失效而造成程序的丢失。,第2章 可编程序控制器处理器及I/O模块,处理器运行/故障(绿/红)指示器灯“PROC”:显示处理器当前的工作情况 灯(绿)亮:表示运行正常 灯(红)亮:表示处理器故障强制指示灯“FORCE”:显示用户有无强制I/O。灯亮:表示被强制 输入强制:用户强制输入数据文件中的位;输出强制:能使用户强制实际的输出模板而 保留其输出数据文件处在原始状态。,第2章 可编程序控制器处理器及I/O模块,SLC5/04 CPU,RUN,FLT,BATT,FORCE,SLC5/04 CPU,DH+,RS232,RS232,DH+,REM,RUN,PROG,工作狀態選擇開關,第2章 可编程序控制器处理器及I/O模块,1746 系列數位輸入模組型號 點數 操作電壓 信號延遲 On Off msIA4 4 85132VAC 35 45IA8 8 35 45IA16 16 35 45IM4 4 170265VAC 35 45IM8 8 35 45IM16 16 35 45IB8 8 1030VDC sink 8 8IB16 16 8 8IB32 32 3 3ITB16 16 0.3 0.5IV8 8 1030VDC source 8 8IV16 16 8 8IV32 32 8 8ITV16 16 0.3 0.5IG16 16 4.55.5VDC source 0.25 0.5IN16 16 1030VDC sink,1030VAC 15/25 15/25,第2章 可编程序控制器处理器及I/O模块,1746 系列數位輸出模組型號 點數 操作電壓 信號延遲 On Off ms 電流AOA8 8 85265VAC 1 11 1OA16 16 1 11 0.5OB8 8 1050VDC source 0.1 1 1OB16 16 0.1 1 0.5OB32 32 550VDC source 0.1 1 0.1OBP16 16 20.426.4VDC source 0.1 1 1.5 OV8 8 1050VDC sink 0.1 1 1OV16 16 0.1 1 0.5OV32 32 550VDC sink 0.1 1 0.1OVP16 16 20.426.4VDC sink 0.1 1 1.5OG16 16 4.55.5VDC sink 0.25 0.5 0.024OW4 4 5265VAC,5125VDC 接點輸出 10 10 12.5OW8 8 5265VAC,5125VDC 接點輸出 10 10 12.5OW16 16 5265VAC,5125VDC 接點輸出 10 10 12.5OX8 8 5265VAC,5125VDC 獨立接點 10 10 15,1746 系列數位輸入輸出混合模組,型號 輸入點數 輸出點數 操作電壓 IO4 2 2 85132VACIO8 4 4 5265VAC,5125VDCIO12 6 6 5265VAC,5125VDC,1746 系列類比模組,型號 輸入點數 輸出點數 操作電壓 NI4 4 0+/-10VDC或+/-20mANIO4I 2 2 電流+/-10VDC或+/-20mANIO4V 2 2 電壓+/-10VDC或+/-20mANO4I 0 4 021mANO4V 0 4+/-10VDCNT4 4 0 熱電偶J,K,T,E,N,R,S,B,+/-50,100mVNR4 4 0 RTD 電阻式,第2章 可编程序控制器处理器及I/O模块,第2章 可编程序控制器处理器及I/O模块,4。SLC500系列小型可编程处理器(1)固定式SLC500控制器:将电源、输入与输出以及处理器集中在一个单元,并提供一个2槽的扩展框架。(2)模块式SLC控制器:分SLC 5/01、5/02、5/03、5/04及5/05,第2章 可编程序控制器处理器及I/O模块,模块式SLC处理器及1746 I/O框架,第2章 可编程序控制器处理器及I/O模块,SLC 500系列内存、I/O容量及内置通信口,第2章 可编程序控制器处理器及I/O模块,5.MicroLogix系列微型可编程序控制器 MicroLogix 1000:为固定式处理器,为满足用户各种I/O点数少于32点的控制要求而设计.MicroLogix 1500:采用了两块式组合结构,包括处理器和带导轨的基座,两者通过导轨滑槽装配,处理器和基座两模块形成一个完整的控制器单元,处理器可单独从基座中拆卸.,第2章 可编程序控制器处理器及I/O模块,1000系列:水平放置的输入(顶部)和输出(底部)端子,易于接线 安装孔 RS_232 通道,连接编程设备 位于中间的LEDs显示I/O状态及诊断信息,第2章 可编程序控制器处理器及I/O模块,1500系列处理器模块,扩展I/O模块,基座,1 抽取式接线终端块 2 扩展I/O接口和可移动ESD屏障 3 输入LED 4 输出LED 5 通信口 6 状态指示LED 7 内存模块/实时时钟(可选)8 后备电池(可选)9 电池 10 终端盖和标签 11 数据存取仪(可选)12 工作模式开关,第2章 可编程序控制器处理器及I/O模块,(3)MicroLogix 1200(4)Pico,第2章 可编程序控制器处理器及I/O模块,6。Logix5550处理器,第2章 可编程序控制器处理器及I/O模块,二、数字I/O模块(1)数字I/O模块:是直接I/O模块中最基本的I/O模块,模块中的I/O回路可与按钮或限位开关的开/关传感器相连、也可与马达启动器的指示灯或报警器等开关量执行机构相连。可编程序控制器数据表上相应位的状态直接控制输出;输入直接控制可编程序控制器数据表上的相应位。,第2章 可编程序控制器处理器及I/O模块,第2章 可编程序控制器处理器及I/O模块,三、模拟量I/O模块 模拟量I/O模块:在模拟量信号和可编程序控制器数据表之间进行A/D或D/A转换。包括标准模拟量的输入/输出及直接热电阻和热电偶输入;这些模块可用软件设置信号滤波,可对每个I/O设置有效范围。隔离措施有输入信号与电源噪声隔离,输入回路之间信号隔离。(A/D转换器)分辨率有8位、12位等不同精度。模拟量输入/输出方式可设定为电流型和电压型。,第2章 可编程序控制器处理器及I/O模块,四、特殊I/O模块 除了通用的I/O模块之外,可编程序控制器还有许多特殊的I/O模块,应用于特定的场合,这些模块往往能自己处理输入量,对输出进行控制,属智能模块。如线性定位模块、伺服控制模块、力矩控制模块、高速计数模块等等。如步进定位装置(1771-QA)、1771-VHSC 4通道高速计数模块,第3章 可编程序控制器的编程,第3章 可编程序控制器的编程,可编程序控制器的编程方式可编程序控制器的输入输出寻址可编程序控制器的内存组织可编程序控制器的编程软件RSLogix500的使用可编程序控制器的通信软件RSLinx的使用可编程序控制器的仿真软件RSEmulate500的使用及联机仿真,第3章 可编程序控制器的编程,可编程序控制器指令系统模拟量及其编程热备系统及其编程编程练习,第3章 可编程序控制器的编程,3.1 可编程序控制器的编程方式 SLC-5系列处理器支持2种编程方式:梯形图(Ladder)文本指令(ASCII Editing),第3章 可编程序控制器的编程,一.梯形图(Ladder)梯形图的描述:是一种最典型、也是最基本的编程方式,它采用图形符号,沿用了继电器的触点、线圈、串联等术语和图形符号,并增加了一些继电接触控制没有的符号。适用于顺序逻辑控制、离散量控制、定时计数控制等。,第3章 可编程序控制器的编程,梯形图的组成:梯形图一般由多个不同的阶梯(RUNG)组成,每一阶梯由输入及输出指令组成。在一个阶梯中,输出指令应出现在阶梯的最右边,输入指令则出现在输出指令的左边。,第3章 可编程序控制器的编程,梯形图举例:,第3章 可编程序控制器的编程,并行分支的运行:当处理器将每一分支的每一步扫描一次之后,而且公用转换为真时,处理器才结束执行并行分支。当处理器运行并行分支时,按从左到右、从上到下的顺序扫描分支。但看起来,处理器似乎是在同时执行每一条路径。,第3章 可编程序控制器的编程,一、有关寻址的几个概念 1。物理地址 物理地址也就是I/O模块在物理框架中的位置,常以第几框架第几槽中的第几个端子表示。如第0个框架中的1号槽放了一个32点输入模块,要指出其5号端子,其物理地址就是0框架1号槽5号端子。,第3章 可编程序控制器的编程,SLC500 I/O定址I/O依所在槽位決定其位址,採用 10 進制編號,I/O 位址格式:I:XXX.X/XX O:XXX.X/XX,表型式:輸入(Input)或輸出(Output),槽位編號(130)因第0 槽固定為主機,Word 編號(031),I/O 點編號(0015),若此槽位插一16點之輸入模組則位址為I:002/00 I:002/15若此槽位插一8 點之輸入模組則位址為I:002/00 I:002/07若此槽位插一32點之輸入模組則位址為I:002/00 I:002/15 及 I:002.1/00 I:002.1/15,1746-A13 13 槽框架,13 14 15 16 17 18 19 20 21 22,電源模組,1746-A10 10 槽框架,類比輸入,1746-NI4 4 組類比輸入位址為 I:010.0 I:010.3,類比混合型,1746-NIO4V 為二組輸入/二組輸出位址為 I:013.0 I:013.1及O:013.0O:013.1,數位輸入,I:002 表I:2/0I:2/15整個Word,第3章 可编程序控制器的编程,3.3 可编程序控制器的内存组织 概述可编程序控制器处理器除了微处理器以外,还包括存贮器,其中一部分是用户存贮器。用户存贮器中的程序存贮器用来存放用户程序文件,而数据存贮器文件用来存放数据文件。,第3章 可编程序控制器的编程,一、程序文件1.程序文件:程序文件用以存贮用户程序,SLC-500可以有256个程序文件,用编号0255(十进制数)表示。其中0号文件是用来存放系统信息的,属系统文件,1号文件一般预以保留,而2255号文件则可以由用户定义,它们可以是梯形图程序。,第3章 可编程序控制器的编程,二、数据文件及其寻址1.数据文件概述(1)数据文件的作用 处理器所检查和修改的所有数据均存贮在内存中的数据文件中,它们可以存贮:(1)从输入模块接收的数据;(2)发送到输出模块的数据,这些数据表示了程序运行的最终结果;(3)程序运算的中间结果;(4)预先装入的数据;(5)与指令有关的状态信息;(6)与处理器操作有关的信息等。,第3章 可编程序控制器的编程,数据文件结构SLC 500 用户内存有数据文件和程序文件组成。缺省数据文件从3到8,而9到255 可以被配置为位,计时器,计数器,控制,整型,浮点,ASCII和字符串文件。,第3章 可编程序控制器的编程,(3)缺省的数据文件类型文 件 类 型 标识符 文 件 号输出 O 0输入 I 1状态 S 2位 B 3计时器 T 4计数器 C 5控制 R 6整数 N 7浮点 F 8,第3章 可编程序控制器的编程,(4)可定义的数据文件类型文 件 类 型(标识符)编 号文件允许的最大尺寸 位(二进制)B 9999 1000字 计时器 T 9999 1000个3字元素 计数器 C 9999 1000个3字元素 整数 N 9999 1000字 浮点 F 9999 1000个单字元素(每字32位),第3章 可编程序控制器的编程,(5)数据文件的一般寻址格式:-数据文件的地址:由文件名称、文件号、元素号、字号及位构成,相互之间用一定的定界符分开。如一个计时器文件是一个三字元素,可表示为:T f:e w b 位号(015)数据文件从元素构成的字数可以分为:-单字元素:一个元素一个字-三字元素:一个元素三个字-多字元素:一个元素多个字,第3章 可编程序控制器的编程,2数据文件类型及直接寻址(1)输入输出文件I/O输入输出文件,表征了物理框架中的I/O模块在I/O映象表中的存贮位置,寻址输入输出文件,就是用逻辑地址来表示物理地址。它是一个单字元素。如 I:1.0/0 1-该输入映象表地址的含义是:1号机架、第0字,1号端子上的输入.O:2.1/0 0-该输出映象表地址的含义是:2号机架,第1字,0号端子上的输出。,第3章 可编程序控制器的编程,(2)状态文件S系统状态文件向用户提供与用户程序中所使用的各种指令有关的信息。状态文件指示次要错误和主要错误的诊断信息、处理器方式、扫描时间、波特率、系统节点地址和各种其它数据。其寻址格式为:S:e/b 常用的如:Processor Mode S:1/0-1/4Overflow S:0/1First Pass S:1/15Battery Low S:5/11Date S:39-37 Time S:40-42,第3章 可编程序控制器的编程,(3)位文件B 位文件的作用:主要用在继电器逻辑指令、移位寄存器指令及顺序器指令,其中的每一位都可作为一个中间继电器来使用。在系统中,数据文件的3号文件缺省为位文件,用B3表示。,第3章 可编程序控制器的编程,位文件的编址:是一个单字元素,可以通过两种方法来对位文件中的位进行编址。第一种是通过设定元素号和在元素内的位号(0015共16位)进行编址,如:B f:e/b;第二种是通过整个位文件依次从00开始对位进行编号,如:B f/b 例子:B3:1/00与B3/16指的是同一位,都是指1号字中的00位。,第3章 可编程序控制器的编程,(4)计时器文件T计时器文件:用在计时器指令中,系统将4号文件缺省为计时器文件,用T4表示。计时器是3字元素:字0是控制字,字1存贮预置值,字2存贮累积值。计时器元素:字0:15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 EN TT DN 内部使用,不能编址字1:预置值PRE字2:累积值ACC,第3章 可编程序控制器的编程,(4)计时器文件T(续)计时器的编址:T f:es/b 其最小可寻址到位,当然可以寻址到字、元素,而且允许用助记符寻址。可 编 址 的 位 可 编 址 的 字EN=位15,有效位 PRE=预置值TT=位14,计时器计时位 ACC=累积值DN=位13,计时器完成位,第3章 可编程序控制器的编程,(4)计时器文件T(续)计时器编址的例子:a)T4:0.0/15与T4:0/15与T4:0.EN的含义是一样的,都是指计时器文件第0个计时器的有效位(或叫使能位)。b)T4:0.1与T4:0.PRE是一样的,T4:0.2与T4:0.ACC也是指同一个字。,第3章 可编程序控制器的编程,(5)计数器文件C计数器文件:用在计数器指令中,系统将5号文件缺省为计数器文件,用C5表示。计数器也是3字元素:字0是控制字,字1存贮预置值,字2存贮累积值。计数器元素字0:15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 CU CD DN OU UN 仅内部使用,不能编址字1:预置值PRE字2:累积值ACC,第3章 可编程序控制器的编程,(5)计数器文件C(续)计数器的编址:C f:es/b 计数器最小可寻址到位,当然可以寻址到字、元素,而且允许用助记符寻址可 编 址 的 位 可 编 址 的 字CU=位15,加数有效位 PRE=预置值CD=位14,减数有效位 ACC=累积值DN=位13,完成位OV=位12,上溢位UN=位11,下溢位,第3章 可编程序控制器的编程,(5)计数器文件C(续)计数器编址的例子:a)C5:0.0/15与/C5:0/15与C5:0.CU的含义是一样的,都是指计数器文件第0个计数器的加计数有效位(使能位)。b)C5:0.1与C5:0.PRE是一样的,C5:0.2与C5:0.ACC是一样的。,第3章 可编程序控制器的编程,(6)控制文件R控制文件:用在需要文件操作(不是位操作,也不是字操作)的一些指令上,如移位寄存器指令、文件指令、顺序器指令,系统将6号文件缺省为控制文件,用R6表示。这是一个3字元素:字0是状态字,字1是指明存贮数据的长度,字2指明目前指令正在操作的数据的位置。控制字元素字0:15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 EN DN ER UL IN FD 仅内部使用,不能编址字1:位阵列或文件长度 LEN字2:位指针或位置 POS,第3章 可编程序控制器的编程,(6)控制文件R(续)可 编 址 的 位 可 编 址 的 字EN=位15,有效值 LEN=长度DN=位13,完成位 POS=位置ER=位11,出错位UL=位10,转储位(仅移位指令用)IN=位9,禁止位FD=位8,发现位(IN与FD仅在文件搜索与比较时用),第3章 可编程序控制器的编程,(6)控制文件R(续)控制文件的编址:R f:es/b 与计时器及计数器文件一样,控制文件可寻址到元素、字,直至位,同样允许用助记符寻址。,第3章 可编程序控制器的编程,(7)整数文件N描述:整数文件用于放置一个16位的字,系统将7号数据文件缺省为整数文件,用N7表示。整数文件可在元素及位上进行编址、寻址,如:N f:e/b 整数文件编址的例子:N7:2 N7:2/08 N10:36,第3章 可编程序控制器的编程,(8)浮点文件F浮点文件的描述:浮点文件用于放置一个32位的字。系统将8号数据文件缺省为浮点文件,用F8表示。浮点文件一般就寻址到元素。浮点文件的编址如下:F f:e 浮点文件寻址的例子:F8:0、F11:1,第3章 可编程序控制器的编程,2数据文件的间接寻址、变址寻址及符号寻址PLC5可编程序控制器除了支持直接寻址外,也支持间接寻址、变址寻址及符号寻址。(1)间接寻址 间接寻址描述:所谓间接寻址,就是用另外一个地址的值来代替某一逻辑地址中的寻址单元,如文件号、元素号、位号等。替代地址:必须是下列类型的数据文件之一:N、T、C、R、B、I、O或S,任何T、C或R三字元素的地址必须是子元素(即字)的地址(例如:T4:0.ACC),替代地址写在括号 内。,第3章 可编程序控制器的编程,(1)间接寻址(续)间接寻址的例子:NN7:0:0 文件号存于整数地址N7:0中N7:C5:7.ACC 元素号为计数器5、元素7的累加 值B3/I:017 位号放在输入文件的1机架7号输 入字中NN7:0:N9:1 文件及元素号文件号在整数 地址N7:0中,元素号存在整数地 址N9:1中,第3章 可编程序控制器的编程,(2)变址寻址 变址寻址的描述 所谓变址寻址,就是实际地址为用户选择的元素地址加上一个偏移量。偏移量放在处理器状态文件的偏移量字(S:24)中。因此处理器是在基地址加上偏移量后形成的地址上开始操作。变址寻址用变址符“”直接放在文件类型标识符前面来识别,如N7:5。,第3章 可编程序控制器的编程,变址寻址,应遵循下述原则:.保证变址值(正或负)不能引起变址地址超出文件类型的界限.当指令使用变址地址多于两个时,对每一变址地址处理器均使用同一个变址值。在使用变址地址的指令使能前,应立即对变址值设定偏移量。变址寻址的例子:对于#N7:10,假设偏移值为10(放在S:24)中,则处理器实际操作的源地址是N7:20。,第3章 可编程序控制器的编程,(3)符号寻址符号寻址的描述 符号寻址,就是用一个名称代替一个地址,因此地址就可同实际应用联系起来。例如,可以用LSI名称代替输入映象表中的I:3/10。,第3章 可编程序控制器的编程,当采用符号寻址时,遵循下列原则:名称用一字母字符开头(不是数字);最多可包含十个下列字符:AZ(大小写)、09、()、下画线和;也可用符号地址替代数据类型的地址:元素、位;记录所定义的符号及相应的逻辑地址,这个可以由软件完成。软件会生成一个能列出现行定义的所有符号的报表功能。,第3章 可编程序控制器的编程,符号寻址的例子:地址类型 逻辑地址 符号地址输入映象 I:15/00 LS1 I:15/03 AUTO1 I:15/06 SW1输出映象 O:13/00 M1 O:13/02 CL1 O:13/04 L1 元素 F10:0 Calc-1 F10:1 Calc-2,第3章 可编程序控制器的编程,(4)程序常数在一些指令中,可以将整数或浮点常数(例如参考值)直接输入到梯形图程序中,而不通过数据表。一旦输入,程序常数便不能由梯形图程序处理,但可以通过在线或离线编程修改它们。其数值范围为:.整数:32768到32767,占一个16位字。.浮点数:1.1754944E38到3.4028237E38,占一个32位字。,可编程序控制器的指令系统,第3章 可编程序控制器的编程,3.4 可编程序控制器的指令系统一。继电器指令 继电器指令的作用:继电器指令用于监控数据表中的位状态,如输入位、输出位或者计时器控制字的位。继电器指令的分类:输入指令检查闭合(XIC);检查断开(XIO);输出指令输出激励(OTE);输出锁存(OTL);输出解锁(OTU);立即输入(IIN);立即输出(IOT)。利用这些指令,用户可以寻址存贮器所有空间上的位。,第3章 可编程序控制器的编程,1检查闭合XIC XIC的描述:XIC属输入指令,若相应位地址中的数据是“1”(ON),则表示该指令的逻辑为真(true),否则该指令的逻辑为假(false)。它类似于常开开关,如果位地址使用了输入映象表的位,则其状态必须与相应地址实际输入设备的状态相一致。XIC的指令形式:,第3章 可编程序控制器的编程,2检查断开XIO XIO的描述:属输入指令,若相应位地址中的数据是“1”(ON),则表示该指令的逻辑为“假”(false),否则该指令的逻辑为真(true),它类似于一常闭开关。XIO的形式:,第3章 可编程序控制器的编程,3输出激励OTE OTE的描述:属输出指令,用于控制存贮器中的位。若该位对应输出模块上的一个端子,则当该指令使能时,连接到该端子上的设备被接通,反之,设备不动作。若OTE指令前面的阶梯条件为真,则处理器使能OTE指令;若OTE指令前面的阶梯条件为假,则不使能OTE,相应的设备不接通。一条OTE指令如同一个继电器的线圈。OTE指令由它前面的输入指令控制,而继电器的线圈由硬触点控制。,第3章 可编程序控制器的编程,OTE的形式:在该指令中,若阶梯条件为真,则该指令使处理器把输出映象表中的0:013/01置为ON状态(数值为1);若阶梯条件为假,则置为OFF状态(数值为0)。地址O:013/01与01号I/O机架3号I/O组相应的输出模块的01号端子对应。,第3章 可编程序控制器的编程,4输出锁存OTL OTL的描述:属输出指令,并且是保持型指令,也就是说,当阶梯条件是真时,OTL指令使处理器置位某一地址位,然后该位保持置位,此后即使阶使阶梯条件变假,该位依然保持置位;若要复位,则需要在另一阶梯中使用解锁指令OTU对同一地址的位解锁。OTL的形式:在该指令中,若阶梯条件为真,则使处理器把输出映象表中的O:013/01置位,直至用OTU对其解锁,第3章 可编程序控制器的编程,5输出解锁(OTU)OUT描述:属保持型输出指令,常用以复位由OTL指令锁存的位,OTL、OTU应使用相同的地址。当阶梯条件为真时,对相应的位复位;以后即使阶梯条件变假,该位依然保持复位(置0),除非采用另一指令对该位重新置位。OTU的形式:其含义与OTL对应。,第3章 可编程序控制器的编程,6立即输入(IIM)IIM描述:属输出指令。当其使能时(即阶梯条件为真时),在下次正常的输入映象刷新之前更新输入映象表中的一个字,此时程序扫描将被中断,直至对输入状态刷新完毕。对于IIN指令,用户只需输入I/O机架号和I/O组号,不必输入文件号,否则会出错。IIM的形式为:。001-(IOM)-在该指令中,若阶梯条件为真,处理器立即更新对应于机架号1组号1的输入映象字,第3章 可编程序控制器的编程,7立即输出(IOM)IOM描述:是一条输出指令。当其使能时,在下一次正常的输出映象刷新之前更新输出映象表的一个字,此时程序扫描被中断,直至输出状态刷新完毕。对于IOT指令,用户也只需输入I/O机架号和I/O组号,不必输入文件号。001 IOT的形式:(IOM)在该指令中,若阶梯条件为真,处理器立即更新对应于机架号0组号1的输出映象字。,第3章 可编程序控制器的编程,8。继电器指令编程举例按上按钮 I:3/0,灯O:4/0、O:4/1亮;断开按钮 I:3/0,灯O:4/0熄灭、O:4/1仍亮;按上按钮 I:3/1,灯O:4/1也熄灭,第3章 可编程序控制器的编程,二。计时器计数器指令 计时器和计数器指令用于控制基于时间和事件计数的操作,属于输出指令,包括:计时器指令:通延时计时器(TON);断延时计时器(TOF);保持型计时器(RTO);计数器指令:加计数(CTU);减计数(CTD);复位指令:计时器计数器复位(RES),第3章 可编程序控制器的编程,1通延时计时器TON TON的描述:利用TON指令在预置时间内完成延时去控制输出的接通或断开。当阶梯为真时,TON指令开始累加计时,直至下列条件之一发生为止:(1)累加值预置值(2)阶梯变假(3)复位计时器(4)相关的SFC步变无效,第3章 可编程序控制器的编程,TON的格式:可见每一个TON必须使用一个计时器元素(如T4:0),并提供下列参数。,第3章 可编程序控制器的编程,TON的参数:(1)时基(Timer Base):分1S和0.01S,0.2s 3种,它决定了计时器的精度。(2)预置值(Present):用以设置预定时间,以一个16位的整数值放置,范围032767。实际的延时(预定)时间预置值时基。(3)累加值(Accum):是一个动态值,告诉用户目前已经延时的数值,计时器复位时,其值为0。,第3章 可编程序控制器的编程,TON的操作及状态:,第3章 可编程序控制器的编程,2断延时计时器TOF TOF的描述:TOF指令在阶梯条件变假时开始累加计时(以0.01S或1S或0.1S的间隔)直至下列条件之一产生:(1)累加值预置值(2)阶梯条件变为真(3)相关的SFC变为无效一旦阶梯条件变真,不论计时器是否到时,处理器复位累加值。,第3章 可编程序控制器的编程,TOF的格式:,各参数的含义与TON相同。,第3章 可编程序控制器的编程,TOF的操作及状态:,第3章 可编程序控制器的编程,3保持型计时器RTO RTO指令的描述:RTO指令在阶梯条件为真时,开始按一定的时间间隔(0.01S或1S)计时,直到累加值达到预置值为止。下列条件发生时,RTO指令保持其累加值:(1)阶梯变假(2)用户改变到编程方式(3)处理器出错或断电(4)相关的SFC步无效,第3章 可编程序控制器的编程,RTO指令的特点:当处理器重新运行或阶梯变真时,计时器从保持的值开始继续计时。由于保持累加值,所以在阶梯为真的时间内,保持型计时器测量了累加时间。如果RTO阶梯条件变假后,要复位其累加值和状态位,用户需在另一条阶梯中编写具有相同地址的复位指令RES。,第3章 可编程序控制器的编程,RTO指令的格式:,各参数的含义与TON相同,除了累积值能保持外,其它的操作与状态也与TON相同。,第3章 可编程序控制器的编程,4加计数CTU CTU指令的描述:在3276832767范围内向上计数。每一次阶梯条件由假变真,CTU指令以一个单位增加累积值。当累积值等于或超过预置值时,CTU指令置位完成位DN,用户可以在程序中使用它来初始某些动作,如控制一个存贮位或一个输出设备。计数器内的累加值是保持的,直到被与计数器具有相同的地址的复位指令复位为止。,第3章 可编程序控制器的编程,CTU指令的格式:,可见每一个CTU必须使用一个计数器(如C5:0),并提供下列参数:,第3章 可编程序控制器的编程,CTU指令的参数:(1)预置值(Present):用户定义需计数的值,范围:-32768+32768,预置值以16位整数存放,负数以补码 形式存放。(2)累积值:是一个动态值,告诉用户目前已经计数到的数值。,第3章 可编程序控制器的编程,CTU指令的状态位:在CTU指令中,有三个状态位是非常重要的,用户可以通过检测这些状态位以触发某些事件。(1)加计数使能位CU(位15):当阶梯变真时,置位CU位以表示计数器加计数使能。当阶梯变假或执行RES指令时,复位CU位。,第3章 可编程序控制器的编程,(2)加计数完成位DN(位13):当累加值达到预置值时置位DN位,而且当累加值超过预置值时,DN位保持置位。可用RES指令复位DN。(3)加计数溢出位OV(位12):计数器超过上限32767时处理器对它置位,而且累加值被约束到32768,计数器从这里开始计数。可用RES指令复位OV位,第3章 可编程序控制器的编程,CTU梯形图的例子:,第3章 可编程序控制器的编程,5减计数CTD CTD的描述:(1)CTD指令是在3276732768范围内向下计数。(2)阶梯每一次由假变真,CTD指令把累加值减少1。无论多长时间,当累加值大于或等于预置值时置位完成位DN。当累加值小于预置值时,复位完成位DN。用户可以在程序中使用它来初始某些动作,如控制一个存贮位或一个输出设备。(3)计数器内的累加值是保持的,直到被与计数器具有相同地址的复位指令RES复位为止。,第3章 可编程序控制器的编程,CTD的格式:,其参数与含义与CTU相同。,第3章 可编程序控制器的编程,CTD指令的状态位:在CTD指令中,也有三个状态位,用户可以通过检测这些状态位以触发某些事件。(1)减计数使能位CD(位14):当阶梯变真时,置位减计数使能位CD,表示减计数使能。当阶梯变假时或使用RES复位指令时,则复位CD位。,第3章 可编程序控制器的编程,(2)减计数完成位DN(位13):当累加值大于或等于预置值时,置位减计数完成位DN位。当累加值在预置值以下时,复位DN位。DN位可以由RES指令复位。(3)减计数器下溢出位UN(位11):当减计数器超过下限32768时,处理器置位下溢出位UN位,而且被控制到32767,CTD指令从这里开始向下计数。可用RES指令复位UN位。,第3章 可编程序控制器的编程,CTD梯形图的例子,第3章 可编程序控制器的编程,6计时器和计数器的复位指令RES RES的描述:RES指令用以复位计时器(除TOF)和计数器。当阶梯为真时,执行RES指令。复位的内容在前面的指令中已有叙述。,第3章 可编程序控制器的编程,RES的格式及例子:,第3章 可编程序控制器的编程,7。计时器和计数器指令的编程思考题前10秒指示灯O:4/00亮,O:4/01熄灭;后10秒指示灯O:4/01亮,O:4/00熄灭;以后循环。,第3章 可编程序控制器的编程,三。比较指令 比较指令用于比较表达式或进行指定比较指令的值的比较,它属输入指令,包括:比较(CMP);等于(EQU);大于等于(GEQ);大于(GRT);小于等于(LEQ);小于(LES);极限测试(LIM);屏蔽相等比较(MEQ);不等于(NEQ)。若比较成立,则该指令的逻辑为真。,第3章 可编程序控制器的编程,1比较指令(CMP)比较指令(CMP)的描述:CMP指令用以完成用户指定表达式的算术比较操作。当处理器发现表达式为真时,阶梯为真,否则阶梯为假。一条CMP指令的执行时间比其它比较指令(如:GRT、LEQ等)的执行时间要长。在用户程序文件中,一条CMP指令比相应的比较指令占用的字也要多。,第3章 可编程序控制器的编程,比较指令(CMP)的格式及例子:,第3章 可编程序控制器的编程,比较指令(CMP)的表达式:它定义了用户要完成的操作,表达式由操作符、地址或程序常数组成:(1)操作符(符号):定义操作功能,如比较操作中的等于()、不等于()、小于()、小于等于()、大于()、大于等于();算术运算中的加()、减()、乘()、除()、平方根(SQR)、指数();以及转换中的BCD转换成二进制(FRD)、二进制转换成BCD(TOD)等等。,第3章 可编程序控制器的编程,(2)地址:可以是直接地址、间接地址或变址地址(必须是字水平)。(3)程序常数:可以是整数也可是浮点数(如是八进制,在数据后加标注“O”;如是十六进制,在数据后加标注“H”;如是二进制,在数据后加标注“B”。例如,AH是一个十六进制数A,相当于十进制10)表达式最长允许有80个字符,包括空格与括弧。,第3章 可编程序控制器的编程,2