《AB-PLC程序基础入门课件.ppt》由会员分享,可在线阅读,更多相关《AB-PLC程序基础入门课件.ppt(228页珍藏版)》请在金锄头文库上搜索。
1、AB可编程序控制器系统-SLC500/MicroLogix关于罗克韦尔罗克韦尔品牌包括艾伦布拉德利Allen-Bradley的控制产品和工程服务、道奇品牌的机械动力传输产品、瑞恩电气RelianceElectric制造的电机和驱动产品以及罗克韦尔软件RockwellSoftware生产的工控软件。罗克韦尔总部位于美国威斯康星州的密尔沃基市。公司通过提供艾伦布拉德利、罗克韦尔软件以及一些瑞恩电器品牌的控制器、输入/输出(I/O)系统、驱动器、传感器、动力装置、成包控制产品、人机界面、软件产品和服务向客户提供集成顺序控制、运动控制、传动系统、过程控制和应用信息等产品和服务。1985年,为了获得多样
2、性的投资,罗克韦尔以16.5亿美金的价格将Allen-Bradley收购。通过16亿美金收购RelianceElectric瑞恩电器,Rockwell增加了电机、机械传动系列产品。Allen-BradleyPLC发展历程发展历程1979年左右,Allen-Bradley推出DataHighway网络(DH网络)。1981年左右,Allen-Bradley基于AMD微处理器的PLC-3面世。1986年左右,Allen-Bradley基于摩托罗拉68000芯片的PLC-5面世。1991年左右,Allen-BradleySLC500小型控制器面世。1993年左右,Allen-Bradley产品提供以
3、太网产品,支持TCP/IP协议19931994年,Allen-Bradley推出Devicenet(设备网)开放式网络。1994年,Allen-Bradley软件部门与ICOM合并成立罗克韦尔软件公司1995年,Allen-Bradley推出MicroLogix1000控制器和FlexI/O产品。1998年1999年,Allen-Bradley推出ControlLogixPLC。A-B SLC 500 系 列 簡 介SLC-500 中 小 型 PLC(90年代初期)控制點 16960點 使用1746系列I/O模組MicroLogix 1000 固定型(內置RS232) :10(6 in/4 o
4、ut),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)钥钥匙匙开开关关:用来设定可编程序控制器的工作状态,共(P
5、ROG/REM/RUN)三种状态.其中:当开关处于“REM”即远程(Remote)状态时,可以通过编程软件设定处理器工作在“编程”、“调试”或“运行”状态。使用钥匙是为了在调试完毕后使处理器固定在运行状态,防止程序被意外修改。第2章可编程序控制器处理器及I/O模块(2).指示灯指示灯电池指示灯电池指示灯“BATT”:灯(红)亮表示电池盒里的电池该更换了。一般该指示灯亮后,应在10天内及时更换电池,否则可能因CMOSRAM的失效而造成程序的丢失。第2章可编程序控制器处理器及I/O模块处理器运行处理器运行/故障故障(绿绿/红红)指示器灯指示器灯“PROC”:显示处理器当前的工作情况灯(绿)亮:表示
6、运行正常灯(红)亮:表示处理器故障强制指示灯强制指示灯“FORCE”:显示用户有无强制I/O。灯亮:表示被强制输入强制:用户强制输入数据文件中的位;输出强制:能使用户强制实际的输出模板而保留其输出数据文件处在原始状态。第2章可编程序控制器处理器及I/O模块SLC5/04 CPURUNFLTBATTFORCESLC5/04 CPUDH+RS232RS232DH+REMRUNPROG工作狀態選擇開關第2章可编程序控制器处理器及I/O模块1746 系列數位輸入模組型號 點數 操作電壓 信號延遲 On Off msIA4 4 85132VAC 35 45IA8 8 35 45IA16 16 35 45
7、IM4 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 電
8、流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
9、 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 151746 系列數位輸入輸出混合模組 型號 輸入點數 輸出點數 操作電壓 IO4 2 2 85132VACIO8 4 4 5265VAC,5125VDCIO12 6 6 5265VAC,5125VDC1746 系列類比模組v 型號 輸入點數 輸出點數 操作電壓 NI4 4 0 +/- 10VDC或+/-
10、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控制器:分SLC5/01、5/02、5/03、5
11、/04及5/05第2章可编程序控制器处理器及I/O模块模块式SLC处理器及1746I/O框架第2章可编程序控制器处理器及I/O模块SLC500系列内存、I/O容量及内置通信口第2章可编程序控制器处理器及I/O模块5.MicroLogix系列微型可编程序控制器系列微型可编程序控制器(1)MicroLogix1000:为固定式处理器,为满足用户各种I/O点数少于32点的控制要求而设计.(2)MicroLogix1500:采用了两块式组合结构,包括处理器和带导轨的基座,两者通过导轨滑槽装配,处理器和基座两模块形成一个完整的控制器单元,处理器可单独从基座中拆卸.第2章可编程序控制器处理器及I/O模块1
12、000系列:水平放置的输入(顶部)和输出(底部)端子,易于接线安装孔RS_232通道,连接编程设备位于中间的LEDs显示I/O状态及诊断信息第2章可编程序控制器处理器及I/O模块1500系列处理器模块扩展I/O模块基座1抽取式接线终端块2扩展I/O接口和可移动ESD屏障3输入LED4输出LED5通信口6状态指示LED7内存模块/实时时钟(可选)8后备电池(可选)9电池10终端盖和标签11数据存取仪(可选)12工作模式开关第2章可编程序控制器处理器及I/O模块(3)MicroLogix1200(4)Pico第2章可编程序控制器处理器及I/O模块6。Logix5550处理器第2章可编程序控制器处理
13、器及I/O模块二、数字二、数字I/O模块模块(1)数字)数字I/O模块模块:是直接I/O模块中最基本的I/O模块,模块中的I/O回路可与按钮或限位开关的开/关传感器相连、也可与马达启动器的指示灯或报警器等开关量执行机构相连。可编程序控制器数据表上相应位的状态直接控制输出;输入直接控制可编程序控制器数据表上的相应位。第2章可编程序控制器处理器及I/O模块指示器状态(颜色)故障描述或系统状态采取措施模块活动ON(绿)正常指示无模块活动ON(绿)而且输入状态ON(红)检查输入电压如果有电压输入,无须采取措施;若无电压输入,重新安装模块。模块活动ON(绿)而且输入状态OFF输入设备不正常或模块的输入故
14、障1.检查输入设备2.如果输入设备正常,重新安装模块。本无电压加到输入端无模块活动OFF而且输入状态ON(红)或OFF除非模块活动指示器亮,否则无效;当活动指示器不亮,指示器不能反映处理器状态1.检查框架电源与模块输入电源2.如果电源正常,重新安装模块。第2章可编程序控制器处理器及I/O模块三、模拟量三、模拟量I/O模块模块模拟量模拟量I/O模块:模块:在模拟量信号和可编程序控制器数据表之间进行A/D或D/A转换。包括标准模拟量的输入/输出及直接热电阻和热电偶输入;这些模块可用软件设置信号滤波,可对每个I/O设置有效范围。隔离措施有输入信号与电源噪声隔离,输入回路之间信号隔离。(A/D转换器)
15、分辨率有8位、12位等不同精度。模拟量输入/输出方式可设定为电流型和电压型。第2章可编程序控制器处理器及I/O模块四、特殊特殊I/O模块模块除了通用的I/O模块之外,可编程序控制器还有许多特殊的I/O模块,应用于特定的场合,这些模块往往能自己处理输入量,对输出进行控制,属智能模块。如线性定位模块、伺服控制模块、力矩控制模块、高速计数模块等等。如步进定位装置步进定位装置(1771-QA)、1771-VHSC 4通道高速计数模块第3章可编程序控制器的编程第3章可编程序控制器的编程可编程序控制器的编程方式可编程序控制器的编程方式可编程序控制器的输入输出寻址可编程序控制器的输入输出寻址可编程序控制器的
16、内存组织可编程序控制器的内存组织可编程序控制器的编程软件可编程序控制器的编程软件RSLogix500的使用的使用可编程序控制器的通信软件可编程序控制器的通信软件RSLinx的使用的使用可编程序控制器的仿真软件可编程序控制器的仿真软件RSEmulate500的使的使用及联机仿真用及联机仿真第3章可编程序控制器的编程可编程序控制器指令系统可编程序控制器指令系统模拟量及其编程模拟量及其编程热备系统及其编程热备系统及其编程编程练习编程练习第3章可编程序控制器的编程3.1可编程序控制器的编程方式可编程序控制器的编程方式SLC-5系列处理器支持2种编程方式:梯形图(Ladder)文本指令(ASCIIEdi
17、ting)第3章可编程序控制器的编程一一.梯形图梯形图(Ladder)梯形图的描述梯形图的描述:是一种最典型、也是最基本的编程方式,它采用图形符号,沿用了继电器的触点、线圈、串联等术语和图形符号,并增加了一些继电接触控制没有的符号。适用于顺序逻辑控制、离散量控制、定时计数控制等。第3章可编程序控制器的编程梯形图的组成梯形图的组成:梯形图一般由多个不同的阶梯(RUNG)组成,每一阶梯由输入及输出指令组成。在一个阶梯中,输出指令应出现在阶梯的最右边,输入指令则出现在输出指令的左边。输入指令输出指令第3章可编程序控制器的编程梯形图举例梯形图举例:I0.1门外光检测电开关I0.2门内光检测电开关I0.
18、3开门限位电开关I0.4关门限位电开关I0.5过载保护开关I0.6紧急停车开关I0.7启动停止I1.0手动开门I1.1手动关门第3章可编程序控制器的编程并行分支的运行:并行分支的运行:当处理器将每一分支的每一步扫描一次之后,而且公用转换为真时,处理器才结束执行并行分支。当处理器运行并行分支时,按从左到右、从上到下的顺序扫描分支。但看起来,处理器似乎是在同时执行每一条路径。第3章可编程序控制器的编程一、有关寻址的几个概念一、有关寻址的几个概念1。物理地址物理地址也就是I/O模块在物理框架中的位置,常以第几框架第几槽中的第几个端子表示。如第0个框架中的1号槽放了一个32点输入模块,要指出其5号端子
19、,其物理地址就是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:0
20、02.1/15槽位 0 1 2 3 4 5 6 7 8 9 10 11 12主機電源模組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數位輸入vI:002 表I:2/0I:2/15整個Word第3章可编程序控制器的编程3.3可编程序控制器的内存组织可编程序控制器的内存组织概述概述可编程序控制器处理器除了微处理器以外,
21、还包括存贮器,其中一部分是用户存贮器。用户存贮器中的程序存贮器用来存放用户程序文件,而数据存贮器文件用来存放数据文件。第3章可编程序控制器的编程一、程序文件一、程序文件1.程序文件:程序文件:程序文件用以存贮用户程序,SLC-500可以有256个程序文件,用编号0255(十进制数)表示。其中0号文件是用来存放系统信息的,属系统文件,1号文件一般预以保留,而2255号文件则可以由用户定义,它们可以是梯形图程序。第3章可编程序控制器的编程二、数据文件及其寻址二、数据文件及其寻址1.数据文件概述数据文件概述(1)数据文件的作用数据文件的作用处理器所检查和修改的所有数据均存贮在内存中的数据文件中,它们
22、可以存贮:(1)从输入模块接收的数据;(2)发送到输出模块的数据,这些数据表示了程序运行的最终结果;(3)程序运算的中间结果;(4)预先装入的数据;(5)与指令有关的状态信息;(6)与处理器操作有关的信息等。第3章可编程序控制器的编程 数据文件结构SLC500用户内存有数据文件和程序文件组成。缺省数据文件从3到8,而9到255可以被配置为位,计时器,计数器,控制,整型,浮点,ASCII和字符串文件。第3章可编程序控制器的编程(3) 缺省的数据文件类型缺省的数据文件类型文件类型标识符文件号输出O0输入I1状态S2位B3计时器T4计数器C5控制R6整数N7浮点F8第3章可编程序控制器的编程(4)
23、可定义的数据文件类型可定义的数据文件类型文件类型(标识符)编号文件允许的最大尺寸位(二进制)B99991000字计时器T99991000个3字元素计数器C99991000个3字元素整数N99991000字浮点F99991000个单字元素(每字32位)第3章可编程序控制器的编程(5) 数据文件的一般寻址格式数据文件的一般寻址格式:-数数据据文文件件的的地地址址:由文件名称、文件号、元素号、字号及位构成,相互之间用一定的定界符分开。如一个计时器文件是一个三字元素,可表示为:Tf:ewb位号(015)数据文件从元素构成的字数可以分为:数据文件从元素构成的字数可以分为:-单字元素:一个元素一个字-三字
24、元素:一个元素三个字-多字元素:一个元素多个字第3章可编程序控制器的编程2数据文件类型及直接寻址数据文件类型及直接寻址(1)输入输出文件)输入输出文件I/O输入输出文件,表征了物理框架中的I/O模块在I/O映象表中的存贮位置,寻址输入输出文件,就是用逻辑地址来表示物理地址。它是一个单字元素。如I:1.0/01-该输入映象表地址的含义是:1号机架、第0字,1号端子上的输入.O:2.1/00-该输出映象表地址的含义是:2号机架,第1字,0号端子上的输出。第3章可编程序控制器的编程(2) 状态文件状态文件S系统状态文件向用户提供与用户程序中所使用的各种指令有关的信息。状态文件指示次要错误和主要错误的
25、诊断信息、处理器方式、扫描时间、波特率、系统节点地址和各种其它数据。其寻址格式为:S:e/b常用的如:ProcessorModeS:1/0-1/4OverflowS:0/1FirstPassS:1/15BatteryLowS:5/11DateS:39-37TimeS:40-42第3章可编程序控制器的编程(3)位文件)位文件B位文件的作用位文件的作用:主要用在继电器逻辑指令、移位寄存器指令及顺序器指令,其中的每一位都可作为一个中间继电器来使用。在系统中,数据文件的3号文件缺省为位文件,用B3表示。第3章可编程序控制器的编程 位文件的编址位文件的编址:是一个单字元素,可以通过两种方法来对位文件中的
26、位进行编址。第一种第一种是通过设定元素号和在元素内的位号(0015共16位)进行编址,如:Bf:e/b;第第二二种种是通过整个位文件依次从00开始对位进行编号,如:Bf/b 例子例子:B3:1/00与B3/16指的是同一位,都是指1号字中的00位。第3章可编程序控制器的编程(4)计时器文件)计时器文件T计时器文件计时器文件:用在计时器指令中,系统将4号文件缺省为计时器文件,用T4表示。计时器是3字元素字元素:字0是控制字,字1存贮预置值,字2存贮累积值。计时器元素计时器元素:字0:15141312111009080706050403020100ENTTDN内部使用,不能编址字1:预置值PRE字
27、2:累积值ACC第3章可编程序控制器的编程(4)计时器文件)计时器文件T(续)(续)计时器的编址:计时器的编址:Tf: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是一样的,
28、T4:0.2与T4:0.ACC也是指同一个字。第3章可编程序控制器的编程(5)计数器文件)计数器文件C计数器文件计数器文件:用在计数器指令中,系统将5号文件缺省为计数器文件,用C5表示。计数器也是3字元素:字0是控制字,字1存贮预置值,字2存贮累积值。计数器元素计数器元素字0:15141312111009080706050403020100CUCDDNOUUN仅内部使用,不能编址字1:预置值PRE字2:累积值ACC第3章可编程序控制器的编程(5)计数器文件)计数器文件C(续)(续)计数器的编址:计数器的编址:Cf:es/b计数器最小可寻址到位,当然可以寻址到字、元素,而且允许用助记符寻址可可编
29、编址址的的位位可可编编址址的的字字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控控制制文文件件:用在需要文件操作(不是位操作,也不是字操作)
30、的一些指令上,如移位寄存器指令、文件指令、顺序器指令,系统将6号文件缺省为控制文件,用R6表示。这是一个3字元素:字0是状态字,字1是指明存贮数据的长度,字2指明目前指令正在操作的数据的位置。控制字元素控制字元素字0:15141312111009080706050403020100ENDNERULINFD仅内部使用,不能编址字1:位阵列或文件长度LEN字2:位指针或位置POS第3章可编程序控制器的编程(6)控制文件)控制文件R(续)(续)可可编编址址的的位位可可编编址址的的字字EN=位15,有效值LEN=长度DN=位13,完成位POS=位置ER=位11,出错位UL=位10,转储位(仅移位指令用
31、)IN=位9,禁止位FD=位8,发现位(IN与FD仅在文件搜索与比较时用)第3章可编程序控制器的编程(6)控制文件)控制文件R(续)(续)控制文件的编址:控制文件的编址:Rf:es/b与计时器及计数器文件一样,控制文件可寻址到元素、字,直至位,同样允许用助记符寻址。第3章可编程序控制器的编程(7)整数文件)整数文件N描描述述:整数文件用于放置一个16位的字,系统将7号数据文件缺省为整数文件,用N7表示。整数文件可在元素及位上进行编址、寻址,如:Nf:e/b整数文件编址的例子整数文件编址的例子:N7:2N7:2/08N10:36第3章可编程序控制器的编程(8)浮点文件)浮点文件F浮点文件的描述浮
32、点文件的描述:浮点文件用于放置一个32位的字。系统将8号数据文件缺省为浮点文件,用F8表示。浮点文件一般就寻址到元素。浮点文件的编址如下:Ff:e浮点文件寻址的例子浮点文件寻址的例子:F8:0、F11:1第3章可编程序控制器的编程2数据文件的间接寻址、变址寻址及符号寻址数据文件的间接寻址、变址寻址及符号寻址PLC5可编程序控制器除了支持直接寻址外,也支持间接寻址、变址寻址及符号寻址。(1)间接寻址)间接寻址间间接接寻寻址址描描述述:所谓间接寻址,就是用另外一个地址的值来代替某一逻辑地址中的寻址单元,如文件号、元素号、位号等。替替代代地地址址:必须是下列类型的数据文件之一:N、T、C、R、B、I
33、、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)变址寻址)变址寻址变址寻址的描述变址寻址的描述所谓变址寻址变址寻址,就是实际地址为用户选择的元素地址加上一个偏移量。偏移量偏移量
34、放在处理器状态文件的偏移量字(S:24)中。因此处理器是在基地址加上偏移量后形成的地址上开始操作。变址寻址用变址符变址符“”直接放在文件类型标识符前面来识别,如N7:5。第3章可编程序控制器的编程变址寻址,应遵循下述原则:变址寻址,应遵循下述原则:.保证变址值(正或负)不能引起变址地址超出文件类型的界限.当指令使用变址地址多于两个时,对每一变址地址处理器均使用同一个变址值。在使用变址地址的指令使能前,应立即对变址值设定偏移量。变变址址寻寻址址的的例例子子:对于#N7:10,假设偏移值为10(放在S:24)中,则处理器实际操作的源地址是N7:20。第3章可编程序控制器的编程(3)符号寻址)符号寻
35、址符号寻址的描述符号寻址的描述符号寻址符号寻址,就是用一个名称代替一个地址,因此地址就可同实际应用联系起来。例如,可以用LSI名称代替输入映象表中的I:3/10。第3章可编程序控制器的编程当采用符号寻址时,遵循下列原则:当采用符号寻址时,遵循下列原则:名称用一字母字符开头(不是数字);最多可包含十个下列字符:AZ(大小写)、09、()、下画线和;也可用符号地址替代数据类型的地址:元素、位;记录所定义的符号及相应的逻辑地址,这个可以由软件完成。软件会生成一个能列出现行定义的所有符号的报表功能。第3章可编程序控制器的编程符号寻址的例子符号寻址的例子:地址类型地址类型逻辑地址逻辑地址符号地址符号地址
36、输入映象I:15/00LS1I:15/03AUTO1I:15/06SW1输出映象O:13/00 M1O:13/02CL1O:13/04L1元素F10:0Calc-1F10:1Calc-2第3章可编程序控制器的编程(4)程序常数)程序常数在一些指令中,可以将整数或浮点常数(例如参考值)直接输入到梯形图程序中,而不通过数据表。一旦输入,程序常数便不能由梯形图程序处理,但可以通过在线或离线编程修改它们。其数值范围数值范围为:.整数:32768到32767,占一个16位字。.浮点数:1.1754944E38到3.4028237E38,占一个32位字。可编程序控制器的指令系统可编程序控制器的指令系统第3
37、章可编程序控制器的编程3.4 可编程序控制器的指令系统可编程序控制器的指令系统一。继电器指令一。继电器指令继继电电器器指指令令的的作作用用:继电器指令用于监控数据表中的位状态,如输入位、输出位或者计时器控制字的位。 继电器指令的分类:继电器指令的分类:输入指令输入指令检查闭合(XIC);检查断开(XIO);输出指令输出指令输出激励(OTE);输出锁存(OTL);输出解锁(OTU);立即输入(IIN);立即输出(IOT)。利用这些指令,用户可以寻址存贮器所有空间上的位。第3章可编程序控制器的编程1检查闭合检查闭合XICXIC的描述的描述:XIC属输入指令,若相应位地址中的数据是“1”(ON),则
38、表示该指令的逻辑为真(true),否则该指令的逻辑为假(false)。它类似于常开开关,如果位地址使用了输入映象表的位,则其状态必须与相应地址实际输入设备的状态相一致。XIC的指令形式的指令形式:第3章可编程序控制器的编程2检查断开检查断开XIOXIO的描述:的描述:属输入指令,若相应位地址中的数据是“1”(ON),则表示该指令的逻辑为“假”(false),否则该指令的逻辑为真(true),它类似于一常闭开关。XIO的形式:的形式:第3章可编程序控制器的编程3输出激励输出激励OTEOTE的的描描述述:属输出指令,用于控制存贮器中的位。若该位对应输出模块上的一个端子,则当该指令使能时,连接到该端
39、子上的设备被接通,反之,设备不动作。若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输出锁存输出锁存OTLOTL的的描描述
40、述:属输出指令,并且是保持型指令,也就是说,当阶梯条件是真时,OTL指令使处理器置位某一地址位,然后该位保持置位,此后即使阶使阶梯条件变假,该位依然保持置位;若要复位,则需要在另一阶梯中使用解锁指令OTU对同一地址的位解锁。OTL的形式:的形式:在该指令中,若阶梯条件为真,则使处理器把输出映象表中的O:013/01置位,直至用OTU对其解锁第3章可编程序控制器的编程5输出解锁(输出解锁(OTU)OUT描描述述:属保持型输出指令,常用以复位由OTL指令锁存的位,OTL、OTU应使用相同的地址。当阶梯条件为真时,对相应的位复位;以后即使阶梯条件变假,该位依然保持复位(置0),除非采用另一指令对该位
41、重新置位。OTU的形式:的形式:其含义与OTL对应。第3章可编程序控制器的编程6立即输入(立即输入(IIM)IIM描描述述:属输出指令。当其使能时(即阶梯条件为真时),在下次正常的输入映象刷新之前更新输入映象表中的一个字,此时程序扫描将被中断,直至对输入状态刷新完毕。对于IIN指令,用户只需输入I/O机架号和I/O组号,不必输入文件号,否则会出错。IIM的形式为:的形式为:。001-(IOM)-在该指令中,若阶梯条件为真,处理器立即更新对应于机架号1组号1的输入映象字第3章可编程序控制器的编程7立即输出(立即输出(IOM)IOM描描述述:是一条输出指令。当其使能时,在下一次正常的输出映象刷新之
42、前更新输出映象表的一个字,此时程序扫描被中断,直至输出状态刷新完毕。对于IOT指令,用户也只需输入I/O机架号和I/O组号,不必输入文件号。001IOT的形式的形式:(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章可编程序控制器的编程二。计时器计数器指令二。计时器计数器指令计时器和计数器指
43、令用于控制基于时间和事件计数的操作,属于输出指令,包括:计时器指令:计时器指令:通延时计时器(TON);断延时计时器(TOF);保持型计时器(RTO);计数器指令:计数器指令:加计数(CTU);减计数(CTD);复位指令:复位指令:计时器计数器复位(RES)第3章可编程序控制器的编程1通延时计时器通延时计时器TONTON的描述:的描述:利用TON指令在预置时间内完成延时延时去控制输出的接通或断开。当阶梯为真时,TON指令开始累加计时,直至下列条件之一发生为止:(1)累加值预置值(2)阶梯变假(3)复位计时器(4)相关的SFC步变无效第3章可编程序控制器的编程TON的格式的格式:可见每一个TON
44、必须使用一个计时器元素(如T4:0),并提供下列参数。第3章可编程序控制器的编程TON的参数:的参数:(1)时基时基(TimerBase):分1S和0.01S,0.2s3种,它决定了计时器的精度。(2)预置值预置值(Present):用以设置预定时间,以一个16位的整数值放置,范围032767。实际的延时(预定)时间预置值时基。(3)累加值累加值(Accum):是一个动态值,告诉用户目前已经延时的数值,计时器复位时,其值为0。第3章可编程序控制器的编程TON的操作及状态:的操作及状态:阶梯条件EN(有效位)TT(计时位)DN(完成位)说明假000不计时真110正在计时,累积值小于预置值真101
45、累积值大于或等于预置值,计时完成用复位指令RES000ACC=0,PRE不变,计时器复位第3章可编程序控制器的编程2断延时计时器断延时计时器TOFTOF的描述:的描述:TOF指令在阶梯条件变假时开始累加计时(以0.01S或1S或0.1S的间隔)直至下列条件之一产生:(1)累加值预置值(2)阶梯条件变为真(3)相关的SFC变为无效一旦阶梯条件变真,不论计时器是否到时,处理器复位累加值。第3章可编程序控制器的编程TOF的格式的格式: 各参数的含义与TON相同。第3章可编程序控制器的编程TOF的操作及状态:的操作及状态:阶梯条件EN(有效值)TT(计时位)DN(完成位)说明真假假100010110计
46、时器不计时,ACC=0,计时器复位累积值小于预置值,正在计时累积值=预置值,计时完成第3章可编程序控制器的编程3保持型计时器保持型计时器RTORTO指令的描述:指令的描述:RTO指令在阶梯条件为真时,开始按一定的时间间隔(0.01S或1S)计时,直到累加值达到预置值为止。下列条件发生时,RTO指令保持其累加值:(1)阶梯变假(2)用户改变到编程方式(3)处理器出错或断电(4)相关的SFC步无效第3章可编程序控制器的编程RTO指令的特点:指令的特点: 当处理器重新运行或阶梯变真时,计时器从保持的值开始继续计时。由于保持累加值,所以在阶梯为真的时间内,保持型计时器测量了累加时间。如果RTO阶梯条件
47、变假后,要复位其累加值和状态位,用户需在另一条阶梯中编写具有相同地址的复位指令复位指令RESRES。 第3章可编程序控制器的编程RTO指令的格式:指令的格式: 各参数的含义与TON相同,除了累积值能保持外, 其它的操作与状态也与TON相同。第3章可编程序控制器的编程4加计数加计数CTUCTU指令的描述指令的描述:在3276832767范围内向上计数。每一次阶梯条件由假变真,CTU指令以一个单位增加累积值。当累积值等于或超过预置值时,CTU指令置位完成位DN,用户可以在程序中使用它来初始某些动作,如控制一个存贮位或一个输出设备。 计数器内的累加值是保持的,直到被与计数器具有相同的地址的复位指令复
48、位为止。第3章可编程序控制器的编程CTU指令的格式:指令的格式:可见每一个CTU必须使用一个计数器(如C5:0),并提供下列参数:第3章可编程序控制器的编程CTU指令的参数:指令的参数:(1)预置值(Present):用户定义需计数的值,范围:-32768+32768,预置值以16位整数存放,负数以补码形式存放。(2)累积值:是一个动态值,告诉用户目前已经计数到的数值。第3章可编程序控制器的编程CTU指令的指令的状态位状态位:在CTU指令中,有三个状态位是非常重要的,用户可以通过检测这些状态位以触发某些事件。(1)加计数使能位)加计数使能位CU(位(位15):当阶梯变真时,置位CU位以表示计数
49、器加计数使能。当阶梯变假或执行RES指令时,复位CU位。第3章可编程序控制器的编程(2)加计数完成位)加计数完成位DN(位(位13): 当累加值达到预置值时置位DN位,而且当累加值超过预置值时,DN位保持置位。可用RES指令复位DN。(3 3)加计数溢出位)加计数溢出位OV(位(位12): 计数器超过上限32767时处理器对它置位,而且累加值被约束到32768,计数器从这里开始计数。可用RES指令复位OV位第3章可编程序控制器的编程CTU梯形图的例子梯形图的例子:第3章可编程序控制器的编程5减计数减计数CTDCTD的描述:的描述:(1)CTD指令是在3276732768范围内向下计数。(2)阶
50、梯每一次由假变真,CTD指令把累加值减少1。无论多长时间,当累加值大于或等于预置值时置位完成位DN。当累加值小于预置值时,复位完成位DN。用户可以在程序中使用它来初始某些动作,如控制一个存贮位或一个输出设备。 (3)计数器内的累加值是保持的,直到被与计数器具有相同地址的复位指令RES复位为止。第3章可编程序控制器的编程CTD的格式的格式:其参数与含义与CTU相同。第3章可编程序控制器的编程CTD指令的状态位:指令的状态位:在CTD指令中,也有三个状态位,用户可以通过检测这些状态位以触发某些事件。(1)减计数使能位)减计数使能位CD(位(位14):当阶梯变真时,置位减计数使能位CD,表示减计数使
51、能。当阶梯变假时或使用RES复位指令时,则复位CD位。第3章可编程序控制器的编程(2)减计数完成位)减计数完成位DN(位(位13):当累加值大于或等于预置值时,置位减计数完成位DN位。当累加值在预置值以下时,复位DN位。DN位可以由RES指令复位。(3)减计数器下溢出位)减计数器下溢出位UN(位(位11):当减计数器超过下限32768时,处理器置位下溢出位UN位,而且被控制到32767,CTD指令从这里开始向下计数。可用RES指令复位UN位。第3章可编程序控制器的编程CTD梯形图的例子梯形图的例子第3章可编程序控制器的编程6计时器和计数器的复位指令计时器和计数器的复位指令RESRES的描述:的
52、描述:RES指令用以复位计时器(除TOF)和计数器。当阶梯为真时,执行RES指令。复位的内容在前面的指令中已有叙述。第3章可编程序控制器的编程RES的格式及例子:的格式及例子:第3章可编程序控制器的编程7。计时器和计数器指令的编程思考题计时器和计数器指令的编程思考题前前1010秒指示灯秒指示灯O O:4/004/00亮,亮,O O:4/014/01熄灭;熄灭;后后1010秒指示灯秒指示灯O O:4/014/01亮,亮,O O:4/004/00熄灭;熄灭;以后循环。以后循环。第3章可编程序控制器的编程三三。比较指令比较指令比较指令用于比较表达式或进行指定比较指令的值的比较,它属输入指令,包括:比
53、较(CMP);等于(EQU);大于等于(GEQ);大于(GRT);小于等于(LEQ);小于(LES);极限测试(LIM);屏蔽相等比较(MEQ);不等于(NEQ)。若比较成立,则该指令的逻辑为真。第3章可编程序控制器的编程1比较指令比较指令(CMP)比较指令比较指令(CMP)的描述:)的描述:CMP指令用以完成用户指定表达式的算术比较操作。 当处理器发现表达式为真时,阶梯为真,否则阶梯为假。 一条CMP指令的执行时间比其它比较指令(如:GRT、LEQ等)的执行时间要长。在用户程序文件中,一条CMP指令比相应的比较指令占用的字也要多。第3章可编程序控制器的编程比较指令比较指令(CMP)的格式及例
54、子:)的格式及例子:第3章可编程序控制器的编程比较指令比较指令(CMP)的表达式:)的表达式:它定义了用户要完成的操作,表达式由操作符、地址或程序常数组成:(1)操操作作符符(符符号号):定义操作功能,如比较操作中的等于()、不等于()、小于()、小于等于()、大于()、大于等于();算术运算中的加()、减()、乘()、除()、平方根(SQR)、指数();以及转换中的BCD转换成二进制(FRD)、二进制转换成BCD(TOD)等等。第3章可编程序控制器的编程(2)地地址址:可以是直接地址、间接地址或变址地址(必须是字水平)。(3)程序常数:)程序常数:可以是整数也可是浮点数(如是八进制,在数据后
55、加标注“O”;如是十六进制,在数据后加标注“H”;如是二进制,在数据后加标注“B”。例如,AH是一个十六进制数A,相当于十进制10)表达式最长允许有80个字符,包括空格与括弧。第3章可编程序控制器的编程2等于(等于(EQU) 等于(等于(EQU)的描述:的描述:EQU指令用以检测两个值是否相等。源操作数A和B(SourceA和SourceB)可以是数值,也可以是包含数值的地址。如两个值相等,该指令的逻辑为真,否则为假。第3章可编程序控制器的编程等于(等于(EQU)的格式及例子:的格式及例子:该例子表明,若N7:5的值等于N7:10的值,置位O:013/01。第3章可编程序控制器的编程3大于或等
56、于(大于或等于(GEQ)大于或等于(大于或等于(GEQ)的描述:)的描述:GRT指令比较一个值(SourceA)是否大于另一值(SourceB)。SourceA和B既可以是数值,也可是包含数值的地址。大于或等于(大于或等于(GEQ)的例子:)的例子:该例子表明,若N7:5的值大于N7:10的值,置位O:013/01。第3章可编程序控制器的编程4大于(大于(GRT) 大于(大于(GRT)的描述:)的描述:GRT指令比较一个值(Source A)是否大于另一值(Source B)。Source A和B既可以是数值,也可是包含数值的地址。 大于(大于(GRT)的例子及格式:)的例子及格式:该例子表明
57、,若N7:5的值大于N7:10的值,置位O:013/01。第3章可编程序控制器的编程5小于或等于(小于或等于(LEQ)小于或等于(小于或等于(LEQ)的描述:)的描述:LEQ指令比较一个值(SourceA)是否小于或等于另一值(SourceB)。SourceA和B既可以是数值,也可以是包含数值的地址。 小于或等于(小于或等于(LEQ)的格式及例子:)的格式及例子:该例子表明,若N7:5的值小于或等于N7:10的值,置位O:013/01。第3章可编程序控制器的编程6小于(小于(LES) 小于(小于(LES)的描述:)的描述:LES指令比较一个值(SourceA)是否小于另一个值(SourceB)
58、。SourceA和B既可以是数值,也可以是包含数值的地址。 小于(小于(LES)的格式及例子:)的格式及例子:该例子表明,若N7:5的值小于N7:10的值,置位O:013/01。第3章可编程序控制器的编程7极限测试(极限测试(LIM) 极限测试(极限测试(LIMLIM)的描述:)的描述: LIM用以测试一个值是否在某一范围之内。若比较测试值在一定的范围之内时,该指令的逻辑为真,否则为假。用户可以使用LIM指令去比较一个模拟量输入值是否在指定的限制内。 第3章可编程序控制器的编程极限测试(极限测试(LIMLIM)的的格式:)的的格式: 该指令中,LowLim(低限值)、Test(测试值)、Hig
59、hLIM(高限值)既可以是数值,也可以是包含数值的地址,而且允许高限低于低限。 在例中,假设低限值小于高限值,且三个参数均以地址形式表示,其含义是,当N7:15的数值大于或等于N7:10的数值,且小于或等于N7:20的数值时,该指令的逻辑为真。第3章可编程序控制器的编程8相等的屏蔽比较(相等的屏蔽比较(MEQ) 相等的屏蔽比较(相等的屏蔽比较(MEQMEQ)的描述:)的描述: MEQ指令将源地址(Source)内的值与一个比较地址(Compare)内的数据作比较,并且部分数据允许被屏蔽。如果源地址中的数据和比较地址中的数据除了被屏蔽的位之外每位相同,则指令为真;一旦检测到不相同的位,则指令为假
60、。 其中源(Source)、比较(Compare)、屏蔽(Mask)都可以是程序常数(16位)或包含一个数值的地址。若屏蔽值中的某一位是1,则允许数据通过;是0,则不让数据通过。因此编程时必须把要比较数据的屏蔽位置1,不要比较数据的屏蔽位置0。 第3章可编程序控制器的编程MEQ的格式及例子的格式及例子:其中:N7:5:0101010101011111N7:6:1111111111110000N7:10:010101010101:表示数据随意在例子中,因为源(N7:5)与比较(N7:10)的低四位不被比较,所以此指令为真,置位O:013/01。第3章可编程序控制器的编程9不等于(不等于(NEQ)
61、 不等于(不等于(NEQ)的描述:的描述:NEQ指令比较两个值是否相等。SourceA和B既可以是数值也可以是包含数值的地址。 不等于(不等于(NEQ)的的格式及例子:格式及例子:该例子表明,若N7:5的值不等于N7:10的值,置位O:013/01。第3章可编程序控制器的编程10。比较指令的编程例子。比较指令的编程例子第3章可编程序控制器的编程四。计算指令四。计算指令计算指令用于计算表达式或用指定的算术指令进行算术运算,它包括:计算(CPT);反余弧(ACS);加法(ADD);除法(DIV);自然对数(LN);乘法(MUL);常用对数(LOG);取反(NEG);正弦(SIN);平方根(SQR)
62、;排序(SRT);标准偏差(STD);正切(ATN);X的Y次幂(XPY)计算指令是输出指令,当阶梯条件成立,进行计算。第3章可编程序控制器的编程1计算(计算(CPT) 计算(计算(CPT)的描述:)的描述:CPT指令可以完成拷贝、算术、 逻辑和转换等操作。 计算(计算(CPT)的格式:)的格式: 该指令完成表达式中用户定义的操作,并且把结果 输入到目的地址,数据类型也自动转化为目的地址的类型。第3章可编程序控制器的编程计算(计算(CPT)中的表达式:)中的表达式: 表达式表达式是用户定义的操作,由运算符、地址或程序常数完成,最终可达80个字符(复杂表达式)。其中:运算符运算符(符号)定义了操
63、作性质;地址地址可以是直接和间接地址;程序常数程序常数可以是整数或浮点数。而用在表达式中任一操作数为浮点数,那么整个表达式就以浮点数形式进行运算。第3章可编程序控制器的编程CPT完成的功能:完成的功能:(1 1)拷贝:)拷贝:若在表达式项中输入源地址,在目的地址中输入目的地址,就可以把源地址的数据拷贝到目的地址。(2 2)清零:)清零:若在表达式项中输入数据零,则可以将目的地址的数据清零。(3 3)算术运算:)算术运算:CPT的表达式中下列运算都是有效的:加()、减()、乘(除(竖条|)、求反()、平方根(SQR)、幂()、自然对数(LN)、常用对数(LOG)、余弦(COS)、正弦(SIN)、
64、正切(TAN)、反余弦(ACS)、反正弦(ASN)、反正切(ATN)等,注意三角函数采用弧度制。第3章可编程序控制器的编程(4)逻逻辑辑运运算算:与(AND)、或(OR)、异或(XOR)、非(NOT)。(5 5)转转换换:BCD转换成整数(FRD)、整数转换成BCD(TOD)、弧度转换成度(DEG)、度转换成弧度(RAD)。CPT的的执执行行时时间间:一般来说,CPT指令的执行时间大于一条算术逻辑指令(如ADD、AND)的执行时间;运算的结果保留六位有效数字,执行后更新数据表状态文件中的算术标志状态(S:0/0S:0/3)(所有计算指令都如此)。第3章可编程序控制器的编程2反余弦(反余弦(AC
65、S)ACS指令的描述:指令的描述:ACS指令将源操作数(Source)求反余弦并且把结果以弧度形式存放在目的地址中。ACS指令的格式指令的格式: 其中Source的绝对值应1,Destination的结果在0之间。 Source可以是地址,也可以是常数;Destination为地址(16位的字)。若Source的绝对值大于1,则目的地址内的结果为!NAN!。第3章可编程序控制器的编程3反正弦(反正弦(ASN)ASN指令的描述:指令的描述:ASN指令将源操作数(Source)求反正弦且把结果以弧度形式存放在目的地址中。ASN指令的格式:指令的格式:其中源的绝对值应1,Dest的结果在-/2/2之
66、间。源可以是存有数值的地址,也可以是常数;Dest为地址(放16的数值)。若源的绝对值大于1,则目的地址内的结果为!NAN!第3章可编程序控制器的编程4.反正切(反正切(ATN) 反正切指令的描述反正切指令的描述:反正切指令求一个数值(源操作数)的反正切且把结果(弧度)放在目的地址中。 反正切指令的格式:反正切指令的格式:其中目的地址中的值在/2/2之间,源(Source)可以是存有数值的地址,也可是常数。第3章可编程序控制器的编程5余弦(余弦(COS) 余弦(余弦(COS)的描述:)的描述:COS指令求一个值(源操作数,以弧度表示)的余弦值,结果存放在目的地址(Dest)内。 余弦(余弦(C
67、OS)的格式:)的格式:其中源的绝对值应205887.4(最好2,以求高精度),不然目的操作数的结果为!INF!;目的操作数的结果总是在1和1之间。第3章可编程序控制器的编程6 6。正弦(。正弦(SIN)SIN指令的描述:指令的描述: SIN指令求一个值(源操作数,弧度表示)的正弦值,结果放在目的地址(Dest)内。SIN指令的格式:指令的格式:其中源的绝对值应205887.4(最好2,以求高精度),不然目的操作数的结果为!INF!;目的操作数的结果总是在1和1之间。第3章可编程序控制器的编程7正切(正切(TAN) 正切(正切(TAN)的描述:)的描述:TAN指令求一个值(源操作数,弧度表示)
68、的正切值,结果放在目的地址(Dest)内。 正切(正切(TAN)的格式:的格式: 其中源的绝对值应102943.7(最好/2,以求高精度), 不然目的地址内的结果为!INF!;目的地址内的结果是一个 实数。第3章可编程序控制器的编程8清零(清零(CLR) 清零(清零(CLR)的描述)的描述:清零指令(CLR)将一个字的所有位都设定为零。目的操作数必须是一个字地址。 清零(清零(CLR)的格式:的格式:第3章可编程序控制器的编程9加法(加法(ADD)加法(加法(ADD)的描述)的描述 :加法(ADD)指令将一个数值(SourceA)和另一个数值(SourceB)相加,结果放在目的地址(Dest)
69、内。SourceA和B既可以是数值,也可以是含有数值的地址。 加法(加法(ADD)的格式:)的格式:第3章可编程序控制器的编程10减法(减法(SUB) 减法(减法(SUBSUB)的描述:)的描述:减法(SUB)指令将一个数值(Source A)减去另一个数值(Source B),结果放在目的地址(Dest)内。Source A和B既可以是数值也可以是存有数值的地址。 减法(减法(SUBSUB)格式:)格式: 第3章可编程序控制器的编程11乘法(乘法(MUL) 乘法(乘法(MULMUL)的描述:)的描述:乘法指令(MUL)将两个数(Source A和B)相乘,结果放在目的地址(Dest)内。So
70、urce A和B既可以是数值也可是含数值的地址。 乘法(乘法(MULMUL)的格式:)的格式: 第3章可编程序控制器的编程12除法(除法(DIV)除法(除法(DIV)的描述:)的描述:除法(DIV)指令将一个值(SourceA)除以另一个值(SourceB),结果放在目的地址(Dest)内。SourceA和B既可以是数值也可以是含有数值的地址。除法(除法(DIV)的格式:)的格式:第3章可编程序控制器的编程13平方根(平方根(SQR) 平方根(平方根(SQRSQR)的描述:)的描述:平方根(SQR)指令计算一个数值(Source)的平方根,结果放在目的地址(Dest)内,Source既可以是一
71、个数值也可以是存有数值的地址。 平方根(平方根(SQRSQR)格式:)格式: 第3章可编程序控制器的编程14指数指数xy(XPY) 指数指数xy(XPY)的描述:)的描述:指数(XPY)指令计算一个数值(Source A)的指数(幂次为Source B)函数值,结果存放在目的地址(Dest)中。如果Source A的值为负,则幂指数(Source B)应当是一个整数值;如果幂指数不是整数(如是一个浮点数),则置位溢出位并且在计算中使用底的绝对值。 指数指数xy(XPY)格式:格式:第3章可编程序控制器的编程15自然对数(自然对数(LN) 自然对数(自然对数(LNLN)的描述:)的描述:自然对数
72、(LN)指令求Source A中值的自然对数,结果放在目的地址(Dest)中,如果Source中的值为0,则目的地址中的结果是!-INF!,如果Source中的值小于0,则目的地址中的结果是!NAN!。目的地址中的结果值总是大于或等于-87.33655并且小于或等于88.72284。 自然对数(自然对数(LNLN)格式:格式:第3章可编程序控制器的编程16常用对数(常用对数(LG) 常用对数(常用对数(LG)的描述:)的描述:LOG指令计算Source A中数值的常用对数,结果放在目标地址(Dest)中,如果Source中的值为0,则目的地址中的结果是!-INF!如果Source中的值小于0,
73、则目的地址中的结果是!NAN!。目的地址中的结果值在-37.92978与38.53184之间。 常用对数(常用对数(LG)格式:)格式:第3章可编程序控制器的编程1717。取反(。取反(NEG) 取反(取反(NEGNEG)的描述:)的描述:取反(NEG)指令改变一个数(Source)的符号,结果放在目标地址(Dest)中,如果源中的值是一个负数,求反的结果为正;如果源中的值是一个正数,求反的结果为负。 取反(取反(NEG)的格式:的格式:第3章可编程序控制器的编程18求平均值(求平均值(AVE) 求平均值(求平均值(AVE)的描述:)的描述:求平均值指令(AVE)用以计算一组数的平均值。 求平
74、均值(求平均值(AVE)的格式:的格式:第3章可编程序控制器的编程18求平均值(求平均值(AVE)(续)(续) 求平均值(求平均值(AVE)的变量:)的变量:(1 1)FileFile(文件):(文件):是表示要计算的一组数的数据文件,用“”号加该一组数的第一个数的地址表示,如N7:10,说明要计算的是从N7:10开始的几个数据;该数据文件可以是整数也可以是浮点数;(2 2)DestDest(目目的的地地址址):是存放指令执行结果的地址,可以是整数也可以是浮点数;(3 3)ControlControl(控控制制元元素素):可用一个控制元素(如R6:10)来存放该指令的信息(状态、长度、位置)。
75、第3章可编程序控制器的编程18求平均值(求平均值(AVE)(续)(续) 求平均值(求平均值(AVE)的变量:)的变量:(4 4)LengthLength(长长度度):是整个需要计算的数据文件的长度(用字数表示,可以是01000)。(5 5)PositionPosition(位置)(位置):指示指令当前正在操作的字。 AVEAVE指令指令在阶梯由假变真时,将文件中各个数相加, 再除以数据个数(文件长度),结果放在目标地址(Dest)中;同时更新算术状态标志(S:0/0S:0/3)。 第3章可编程序控制器的编程18求平均值(求平均值(AVE)(续)(续)AVE的例子:的例子: 在计算指令中,还有标
76、准偏差指令(STD),用以计算一组数值的标准偏差;排序文件(SRT)指令,将一组数排列成递增顺序。第3章可编程序控制器的编程五。逻辑指令逻辑指令AND,NOT,DR,XOR逻辑指令用于逻辑操作,包括:与操作(AND);或操作(OR)非操作(NOT);异或操作(XOR)。逻辑指令是输出指令,当阶梯条件是真时,执行逻辑指令。用户输入的参数是程序常数或直接的逻辑地址,指令执行后,更新算术状态标志。第3章可编程序控制器的编程1。与操作(。与操作(AND)与操作(与操作(AND)的)的格式及例子:格式及例子:当阶梯条件为真时,处理器对源A(N9:3)和源B(N10:4)进行位对位的与操作,结果放在目标地
77、址(N12:10)中。第3章可编程序控制器的编程第3章可编程序控制器的编程2。或操作(。或操作(OR)或操作(或操作(OR)的)的格式及例子:格式及例子: 当阶梯条件为真时,处理器对源A(N9:3)和源B(N10:4)的二进制数进行位对位的或操作,结果放在目标地址(N12:10)中。 第3章可编程序控制器的编程第3章可编程序控制器的编程3。非操作(。非操作(NOT)非操作(非操作(NOT)的格式及例子:)的格式及例子: 当阶梯条件为真时,处理器对源(N9:3)进行每位的非操作(1变0,0变1),结果放在目标地址(N10:4)中。第3章可编程序控制器的编程第3章可编程序控制器的编程4。异或操作(
78、。异或操作(XOR)异或操作(异或操作(XOR)的格式及例子:)的格式及例子: 当阶梯条件为真时,处理器对源A(N9:3)和源B(N10:4)的二进制数进行位对位的异或操作,结果存放在目标地址(N12:3)中。第3章可编程序控制器的编程第3章可编程序控制器的编程六。转换指令六。转换指令转换指令用于整数与BCD之间的相互转换及度与弧度之间的相互转换,包括:整数转换成BCD码(TOD);从BCD码转换成整数(FRD);弧度转换成度(DEG);度转换成弧度(RAD)。转换指令是输出指令,当阶梯条件是真时,执行转换指令。用户输入的参数可以是程序常数或逻辑地址,程序执行后,更新算术状态标志,第3章可编程
79、序控制器的编程1。整数转换成整数转换成BCD码(码(TOD)整数转换成整数转换成BCD码(码(TOD)的格式及例子:)的格式及例子:当阶梯条件为真时,把源(N7:3)的值由整数转换成BCD格式,结果放在目标地址(D9:3)中。第3章可编程序控制器的编程2。从。从BCD码转换成整数(码转换成整数(FRD)从从BCD码转换成整数(码转换成整数(FRD)的格式及例子:)的格式及例子:当阶梯条件为真时,把源(D9:3)的值由BCD码转换成整数格式,结果存放在目标地址(N7:3)中。第3章可编程序控制器的编程3。弧度转换成度(。弧度转换成度(DEG)弧度转换成度(弧度转换成度(DEG)的格式及例子:)的
80、格式及例子:当阶梯条件为真时,把源(F8:7)的值由弧度转换成度,结果存放在目标地址(F8:8)中。第3章可编程序控制器的编程4。度转换成弧度(。度转换成弧度(RAD)度转换成弧度(度转换成弧度(RAD)的格式及例子:)的格式及例子:当阶梯条件为真时,把源(N7:9)的值由度转换成弧度,结果存放在目标地址(F8:10)中。第3章可编程序控制器的编程七。七。位处理和传送指令位处理和传送指令位处理和传送指令用于位调整和位传送,包括:位分配(BTD)字传送(MOV)屏蔽传送(MVM)它们都是输出指令。第3章可编程序控制器的编程1。位分配(。位分配(BTD)位分配(位分配(BTD)的描述:)的描述:
81、位分配(BTD)指令用以字内或字间多达16位数据的移动。当阶梯条件变真时,执行该指令,其中源数据保持不变,目的地址用指定的位复盖写入。如果位区域的长度伸到目的地址的字之外,则处理器不存贮溢出的位。这些溢出的位就丢失掉,它们也不能加入到下一字中。第3章可编程序控制器的编程位分配(位分配(BTD)的格式:)的格式:位分配(位分配(BTD)的变量:)的变量:Source:是用来存放二进制或整数的源数据地址。SourceBit(源位)(源位):是源数据中开始传送的位(最低的位号)。第3章可编程序控制器的编程位分配(位分配(BTD)的变量)的变量(续):(续):Dest(目的)(目的):是用来存放二进制
82、或整数的目的数据的地址,指令把数据复盖写入到早已存放在目的地址的数据中。DestBit(目的位)(目的位):目的地址内处理器开始从源数据中拷贝的起始位(最低的位号)。Length(长度):(长度):要传送的位的长度。第3章可编程序控制器的编程位分配(位分配(BTD)的例子:)的例子:(1)利用利用BTD指令实现字内传送指令实现字内传送第3章可编程序控制器的编程位分配(位分配(BTD)的例子:)的例子:(1)利用利用BTD指令实现字间传送指令实现字间传送第3章可编程序控制器的编程2。字传送(。字传送(MOV)字传送(字传送(MOV)的描述:)的描述:字传送指令(MOV)把源值(Source)传送
83、给目的地址(Dest),源可以是常数也可以是存放数据的地址,该指令当阶梯条件为真时,把源(N7:0)的值拷贝并传送到目的地址(N7:2)中。这将复盖原来目的地址中的值,但源值不变。字传送(字传送(MOV)的格式:)的格式:第3章可编程序控制器的编程3。屏蔽传送(。屏蔽传送(MVM)屏蔽传送(屏蔽传送(MVM)的描述:的描述:屏蔽传送(MVM)指令将源值拷贝到目的地址中并且允许部分数据被屏蔽。源(Source)可以是常数也可以是存放数据的地址,目的(Dest)应是地址。源和目的地址的数据类型应该是相同的,因为该指令不进行类型转换。屏蔽传送(屏蔽传送(MVM)的格式:)的格式:第3章可编程序控制器
84、的编程屏蔽传送(屏蔽传送(MVM)的变量:)的变量:源值(源值(Source):):是将要拷贝的数值。可以是常数或存放数值的地址。MASK(屏蔽):(屏蔽):是屏蔽值,可以是十六进制数或二进制数,也可以是存放数值的地址,当其中的一位是“1”时,允许数据通过,覆盖目的地址中的数据;屏蔽位是“0”时,不允许数据通过,目的地址内的相应位不变。Dest(目的):(目的):用以存放操作结果的地址。第3章可编程序控制器的编程MVM传送数据的例子:传送数据的例子:第3章可编程序控制器的编程八。八。文件指令文件指令文件指令的描述:文件指令的描述:文件指令用于文件数据的运算和文件数据的比较,包括:文件算术和逻辑
85、指令(FAL);文件检索和比较指令(FSC)文件拷(COP)指令;文件填入(FLL)指令。它们都是输出指令。文件指令用以对文件的操作,因而是对多个字的操作,文件数据常用文件指示符“”号加文件数据的起始字地址表示,如N7:0,表示的是一个从N7:0开始的连续多个字的文件数据,其长度可由另一参数(Length)定义。第3章可编程序控制器的编程1。文件算术和逻辑指令(。文件算术和逻辑指令(FAL)文件算术和逻辑指令(文件算术和逻辑指令(FAL)的描述:)的描述:文件算术和逻辑(theFileArithmeticandlogical)指令可以在文件数据上完成拷贝、清零、算术、逻辑和转换等操作。FAL指
86、令可以完成类似计算(CPT)指令的操作,不同之处在于FAL指令可以处理文件数据(多个字),而CPT指令仅处理单个字。当阶梯条件为真时,FAL指令完成用户在表达式中写入的源地址和运算符等所定义的操作,结果放在目的地址中,并把数据类型自动转换成目的地址指定的数据类型。第3章可编程序控制器的编程文件算术和逻辑指令(文件算术和逻辑指令(FAL)的格式:)的格式:第3章可编程序控制器的编程文件算术和逻辑指令(文件算术和逻辑指令(FAL)的变量:)的变量:(1)Control(控制):(控制):应输入一个控制元素(如R6:0),它包括三个字:状态字(STATE)、文件长度(LEN)(11000个字)、位置
87、(.POS)表示处理器正在操作的字的位置。为了正确使用FAL,梯形图程序必须检测并控制在控制元素中的状态位,如使能位.EN(位15)、完成位.DN(位13)、错误位.ER(位11)。(2)Length(长度)(长度):是文件指令处理的文件数据的长度(字数),可输入11000之间的任意十进制数。(3)Position(位置):(位置):是处理器正在访问的文件数据中字的位置。用户只需输入0,即从文件的起始字开始。第3章可编程序控制器的编程文件算术和逻辑指令(文件算术和逻辑指令(FAL)的变量)的变量(续):(续):(4)Mode(方式):(方式):是每次程序扫描指令将操作的字的数量。通过定义文件操
88、作方式可以告诉处理器如何把文件操作分配给一次或多次程序扫描。文件操作有下列几种方式:所有元素方式:所有元素方式:如果想在一次程序扫描中完成文件指令的操作,应选择所有元素方式,此时MODE(方式)参数应输入ALL。数字方式:数字方式:如想在几次程序扫描中完成文件操作,应选择数字方式,此时方式参数上应输入每次扫描的数目(11000),该数目应小于或等于文件长度。第3章可编程序控制器的编程递递增增方方式式:如果想使文件操作在每次阶递由假变真时仅处理一个字,应选择递增方式,此时方式参数输入INC。 注意:注意:所有元素方式及数字方式的整个文件操作只需在阶梯的一次由假变真的转换后就可完成,而递增方式必须
89、每一次操作都要求一个由假到真的阶梯转变。因此在方式参数中输入1(数字方式)和输入INC(递增方式)含义是不一样的。第3章可编程序控制器的编程文件算术和逻辑指令(文件算术和逻辑指令(FAL)的变量)的变量(续):(续):(5)Dest(目的):(目的):是处理器存放操作结果的地址。指令会把数据转换成目的地址中指定的类型。(6)Expression(表达式):(表达式):由操作符(运算符)、地址、程序常数组成,表示要完成的操作。第3章可编程序控制器的编程文件算术和逻辑指令(文件算术和逻辑指令(FAL)的例子:)的例子:(1)利用利用FAL指令完成由文件到字拷贝的例子指令完成由文件到字拷贝的例子:该
90、例子采用递增方式,阶梯条件由假到真,做一次拷贝,共做五次。第3章可编程序控制器的编程文件算术和逻辑指令(文件算术和逻辑指令(FAL)的例子:)的例子:(2 2)利用)利用FAL指令进行文件数据加法指令进行文件数据加法:第3章可编程序控制器的编程(2 2)利用)利用FAL指令进行文件数据加法指令进行文件数据加法(续):(续): 在例中,当阶梯变真时,处理器把文件N11:0中的100个值与文件N12:0中的100个对应值相加,且采用每次扫描10个字的数字方式。10次扫描完成运算,结果存放在文件N13:0中。FAL指令编程练习指令编程练习数据文件N7:10的长度为10,将N7:10中的数据加5,转换
91、成BCD码,用递增方式传送到数据文件B3:0。试编一程序实现之。第3章可编程序控制器的编程2文件搜索与比较(文件搜索与比较(FSC) 文件搜索与比较(文件搜索与比较(FSC)的描述:)的描述: 文件搜索和比较(File Search and Compare)(FSC)指令完成搜索和比较操作。FSC完成的功能类似包括复杂表达式的比较(CMP)指令,不同之处在于FSC指令完成的是关于文件的逻辑操作,而CMP指令仅是关于字或元素的操作。另外,FSC指令是一条输出指令,而CMP指令是一条输入指令。 第3章可编程序控制器的编程 文件搜索与比较(文件搜索与比较(FSC)的格式:)的格式: 该指令中的Len
92、gth、Position、Mode的含义与FAL的相同,Expression(表达式)是完成比较操作的表达式。第3章可编程序控制器的编程 文件搜索与比较(文件搜索与比较(FSC)的操作:)的操作:(1)该指令中,当阶梯条件为真时,完成表达式中指定的逻辑操作(比较操作)。(2)当指令发现指定的比较是真时,便置位发现位(found bit):. .FD(控制元素中状态字的位8)且记录下发现比较是真的位置. .POS(控制元素中的字2);置位禁止位(Inhibit bit). .IN(控制元素中状态字的位9)以防止进一步的文件搜索。(3)因此在程序中必须检测发现位. .FD和位置字. .POS以便采
93、取恰当的动作。梯形图程序必须复位禁止位. .IN以便指令继续执行下一次的文件搜索与比较。第3章可编程序控制器的编程 文件搜索与比较(文件搜索与比较(FSC)的例子:)的例子:(1)用FSC完成搜索不等的例子 :第3章可编程序控制器的编程例例子子说说明明:当阶梯条件为真时,处理器以每次程序扫描比较10个字的方式(数字方式)对源文件B4和B5之间进行字不等的比较,每个文件从字0开始。当处理器发现一个对应的源元素不等(例中的B4:4和B5:4)时,处理器便停止执行并且置位发现位.FD和禁止位.IN以便用户梯形程序去采取适当的动作。要想继续搜索比较,必须复位.IN位。第3章可编程序控制器的编程3文件拷
94、贝(文件拷贝(COP)与文件填充()与文件填充(FLL) (1)文件拷贝(文件拷贝(COP)COP指令将源文件中的值拷贝到目的文件中去,源文件保持不变。第3章可编程序控制器的编程(2)文件填充(文件填充(FLL)FLL指令将源值(可以是常数,也可以是某一地址中的数值)向文件中填充。第3章可编程序控制器的编程九、九、移位指令移位指令BSL,BSR 移位指令的描述:移位指令的描述: 移位指令经常用来模拟部件和信息的运动或流动,包括: 位左移(BSL);位右移(BSR); 先入先出装入(FFL);先入先出卸出(FFU); 后入先出装入(LFL);后入先出卸出(LFU), 它们都是输出指令 。第3章可
95、编程序控制器的编程1位左移(位左移(BSL) 位左移(位左移(BSL)的描述:)的描述:位左移(BSL)指令在阶梯每次由假变真时,将指定地址所有的位都左移一个位的位置。 位左移(位左移(BSL)的格式:)的格式:第3章可编程序控制器的编程 位左移(位左移(BSL)的变量:)的变量: (1 1)FileFile(文件)(文件):是BSL(BSR)指令要操作的位队列的地址,它必须是以16位字的边界为起点安排队列,例如,使用字1、2、3等的位00。可以在小于15,999的任意号位上终止队列,但不能使用在这个特定字中的其余位值,因为指令已使之无效。第3章可编程序控制器的编程 位左移(位左移(BSL)的
96、变量)的变量(续):(续):(2)Control(控制)(控制):用一个控制元素(如R6:0,是三字元素)用来贮存状态字(字0),队列的大小(Length:位数)和位指针(.POS)。在状态字中,位15是使能位.EN,位13是完成位.DN,位11是出错位.ER,位10是卸载位.UL,卸载位用于存放BSL或BSR指令执行时位队列最左或最右边所移出的位的状态。第3章可编程序控制器的编程 位左移(位左移(BSL)的变量)的变量(续):(续):(3)BitAddress:是源位的地址,指令把此位的状态输入到BSL队列中的第一个位置,或者BSR队列的最后一个位置。(4)Length(长长度度):是位队列
97、的位数。可从116000位,其值放在控制元素中的.LEN字里。第3章可编程序控制器的编程位左移(位左移(BSL)的例子:)的例子:用BSL指令实现位左移 第3章可编程序控制器的编程问题:如何实现问题:如何实现循环左移循环左移? 只需将源位地址(BitAddress)设为队列的最后一位的位地址即可。第3章可编程序控制器的编程2位右移(位右移(BSR) 位右移(位右移(BSR)的描述)的描述:位右移指令在阶梯每次由假变真时,将指定地址所有的位都右移一个位置。它的操作与BSL类似。第3章可编程序控制器的编程 位右移(位右移(BSR)的例子:)的例子:移位指令编程练习移位指令编程练习O:001的初始状
98、态为1111000000000000(由数据设置完成),试编一程序,令其前20秒,按每秒一次的速度进行循环左移;后20秒,按每秒一次的速度循环右移,周而复始地进行。第3章可编程序控制器的编程十。十。程序控制指令程序控制指令程序控制指令用以改变梯形图程序执行的方向,它包括:(1)用以关断某段程序中的非保持型输出的主控复位(MCR)指令;(2)用以跳过某段不总是需要执行的程序的跳转(JMP)和标号(LBL)指令;(3)用以循环某一段程序的FOR、NXT循环或BRK中断指令;第3章可编程序控制器的编程程序控制指令(续)程序控制指令(续)(4)用来控制子程序执行的跳转到子程序(JSR)、子程序(SBR
99、)和返回(RET)指令;(5)用以调试程序用的暂时结束(TND)指令和恒假(AFI)指令;(6)用以一次启动(初始化)的一次启动(ONS)、上升沿一次启动(OSR)、下降沿一次启动(OSF)指令。第3章可编程序控制器的编程2跳转(跳转(JMP)和标号()和标号(LBL) 跳转(跳转(JMP)和标号()和标号(LBL)的描述:)的描述: 成对使用跳转(JMP)和标号(LBL)指令,可以跳转到程序的某一部分。JMP是输出指令,LBL是输入指令,在含有JMP的阶梯为真时跳转到含LBL的阶梯继续执行,JMP与LBL应使用同一标号。可用三位数(000255)表示,说明增强型PLC-5可以最多放256个标
100、号。 第3章可编程序控制器的编程 跳转(跳转(JMP)和标号()和标号(LBL)的格式:)的格式: 跳转可以向前跳也可向后跳。向前跳省略了某段程序,故可以节省扫描时间,向后跳重复某段程序,直到满足条件为止。但向后跳的次数不宜过多,以免引起监视计时器超时从而引起处理器故障。 第3章可编程序控制器的编程 跳转(跳转(JMP)和标号()和标号(LBL)的例子:)的例子:第3章可编程序控制器的编程4跳转到主程序(跳转到主程序(JSR),子程序(),子程序(SBR),返回),返回(RET)描述:描述:JSR、SBR和RET指令使得处理器跳到指定的子程序文件(由文件号指定)。如果需要,可定义传送到子程序文
101、件或子程序文件接收的参数。可选的SBR指令是存贮输入参数的标题指令,只有当需要传送参数的时候才须用SBR指令。RET指令结束子程序,如果需要,可存贮要返回到主程序中JSR指令的参数。第3章可编程序控制器的编程调用子程序的格式调用子程序的格式:第3章可编程序控制器的编程 调用子程序的参数:调用子程序的参数: 其中JSR、RET是输出指令,而SBR是输入指令。参数当中,Program file number(程序文件号)是含有子程序的程序文件号;Input Par(JSR)(指令JSR中的输入变量)是要传送到子程序的程序常数或参数地址;Input Par(SBR)(指令SBR中的输入变量)是子程序
102、存贮接收数据的地址;Return Par(JSR)(指令JSR中的返回变量)是存贮来自子程序的数据的地址;Return Par(RET)(指令RET中的返回变量)是要返回到主程序中JSR指令的程序常数或参数地址。 第3章可编程序控制器的编程输入参数注意:输入参数注意:(1)用户的输入及返回参数之和不能多于8个;(2)传送到子程序的JSR输入参数的个数应大于或等于在SBR中定义的输入参数的地址个数,否则会引起运行时间错误。(3)RET的返回参数的个数应大于或等于JSR指令中能接收的返回参数的个数,否则会引起运行时间错误。第3章可编程序控制器的编程子程序调用子程序调用:PLC-5的程序文件中允许嵌
103、套8个子程序第3章可编程序控制器的编程编程注意:编程注意:在编程时,若需传送参数,SBR指令必须是子程序第一个阶梯的第一条指令,而且此阶梯必须含有一个输出指令。RET指令结束子程序的执行。RET指令使处理器返回到相应JSR之后的指令上,它还可以返回数据到调用此程序的主程序。PLC-5允许在子程序的中间使用一带条件的返回(RET)指令(有参数),则此阶梯为真时,处理器仅执行子程序的一部分,此时必须为子程序的结束编一条无条件的RET指令,以确保前面的RET指令为假时能够有效地返回主程序。第3章可编程序控制器的编程 调用子程序的例子调用子程序的例子:第3章可编程序控制器的编程5暂时结束(暂时结束(T
104、ND)指令和恒假()指令和恒假(AFI)指令)指令暂时结束(暂时结束(TND)指令)指令使处理器停止扫描当前程序的剩余部分,是输出指令。恒假指令(恒假指令(AFI)指令)指令禁止其所在的阶梯(该阶梯总为假),是输入指令。 这两条指令常用来调试程序第3章可编程序控制器的编程暂时结束(暂时结束(TND)指令的格式:)指令的格式:当阶梯条件为真时,执行TND指令,处理器复位监视计时器为零,并更新I/O,然后在主程序的第一条指令处开始运行用户程序.在调试或查找程序故障时,可插入TND指令,它只允许程序运行到它所在的程序为止。第3章可编程序控制器的编程恒假指令(恒假指令(AFI)指令的格式:)指令的格式
105、:AFI是一条输入指令,当它编在阶梯的条件侧时,使此阶梯为假,在调试程序时,可用AFI指令暂时禁止某个阶梯。第3章可编程序控制器的编程(1)一次启动()一次启动(OSR) 描述:描述:一次启动(OSR)指令是输入指令,当程序中ONS指令所在阶梯前边的条件由假变真时,它使阶梯为真,但仅保持一个扫描周期。使用OSR指令可启动由按钮触发的事件,如从拔码开关上取值。输入条件从假变真时,ONS指令限制此梯级,以便输出为1且保持一个扫描周期,在以后连续的扫描中输出为零,直到输入由假到真再次跳变。第3章可编程序控制器的编程錯誤例: 原希望I:001/02 OFFON 時;N7:0 值加 1執行發現: N7:
106、0很快速的遞增分析: 因加法指令為輸入條件成立就執行因此每當I:001/02 動作時;每次程式掃到就執行一次動作要求: 利用一輸入 按鈕啟動/停止一輸出動作要求: 利用加法指令模擬為計數器ADD ADDSource A N7:0 Source B 1Dest N7:0I:001 02修正: 加入一單擊OSR 指令ADD ADDSource A N7:0 Source B 1Dest N7:0I:001 02OSRB30OSR之左方與B3/0之狀態OSR右方之狀態單擊之寬度為1個掃描I:001 04OSRB31O:00200B3O:0020O:0020LB30O:0020U第3章可编程序控制器的
107、编程7顺序功能图复位(顺序功能图复位(SFR)与转换结束()与转换结束(EOT)(1)SFR指令:指令: 描述:描述: SFR指令用以复位顺序功能图中的逻辑,属输出指令。当SFR所在的阶梯为真时,处理器对所选文件(SFC程序)所有执行的步和动作完成一次扫描后,在下一个程序扫描中复位SFC逻辑。只要SFR指令为真,SFC就不被扫描。一旦SFR变假,则重新执行对应的SFC。利用SFR指令常用来处理复位机器等情况。第3章可编程序控制器的编程SFR指令的格式:指令的格式:SFR指令的变量:指令的变量:(1 1)Program file NumberProgram file Number(程序文件)(程
108、序文件)是一个有效的SFC程序文件号;(2 2)Restart at StepRestart at Step(重新启动)(重新启动)是下一次启动SFC时的起始步。它可以是一个有效的步参考数(03276),输入零则以起始步重新起动,也可以只存有步参考数的整数地址或是存有步参考数整数地址的地址符号(间接寻址)。 第3章可编程序控制器的编程(2 2)转换结束()转换结束(EOT) EOTEOT指令:指令:是一个SFC转换条件文件中的最后一个阶梯,如果转换文件中不编入EOT指令,处理器总是判断转换文件为真。编程时,用一个无条件的阶梯(EOT是输出指令)。第3章可编程序控制器的编程8用户中断禁止(用户中
109、断禁止(UID)和用户中断使能()和用户中断使能(UIE) 描述:描述:UID指令可暂时禁止可选定时中断(STI)、过程输入中断(PII)等中断程序,但UID指令不禁止用户故障程序。 操作:操作:当含UID指令的阶梯为真时,执行UID指令,使其后的一段阶梯不允许中断,直至用UIE指令使程序再允许中断(STI或PII)。所以UID与UIE是成对使用的,它们属输出指令。 第3章可编程序控制器的编程用户中断禁止(用户中断禁止(UID)和用户中断使能()和用户中断使能(UIE)的例子:)的例子:第3章可编程序控制器的编程十一。十一。过程控制指令过程控制指令PID1。PID液位控制的例子液位控制的例子第
110、3章可编程序控制器的编程2。PID指令指令的特点:的特点:PLC-5具有专门的PID指令,用以处理器监视和控制诸如压力、温度、液位等过程回路。它具有如下特点:(1)PID方程可由ISA(标准方程)或独立增益方程表示(有四种方程可供选择);(2)输入输出范围为04095(12位的模拟量);(3)可按工程单位整定输入信号;(4)可设定死区;(5)可选择微分项(用过程变量还是偏差作微分项);第3章可编程序控制器的编程2。PID指令指令的特点的特点(续)(续)(6)可选择正向或反向控制(偏差E设定值SV-过程变量PV,还是EPVSV);(7)设定输出报警;(8)进行输出限幅;(9)可采用手动方式操作;
111、(10)可进行前馈或输出补偿;(11)可显示和监视PID值。第3章可编程序控制器的编程3、PID方程方程在PID指令中,处理器给出了四种PID算法供选择:a.具有相关增益的标准方程:b.(2)具有偏差微分的标准方程:其中:Kc比例增益1/Ti复位增益(重复次数分钟)Td比率增益(分钟)第3章可编程序控制器的编程3、PID方程(续)方程(续)c.独立增益方程:d.具有偏差微分的独立增益方程:其中:Kp比例增益Ki积分增益(1秒) Kd微分增益(秒)第3章可编程序控制器的编程3、PID方程(续)方程(续)用在算法中的其它变量包括:用在算法中的其它变量包括:Output控制输出Bias输出补偿或前馈
112、(04095)E偏差(可选用SPPV,或PVSP)PV过程变量(已定标)SP设定变量(已定标)第3章可编程序控制器的编程3、PID方程(续)方程(续) 标准增益常数与独立增益常数的互相转换标准增益常数与独立增益常数的互相转换: KpKc(无单位) KiKc/(60Ti)(1/秒)KdKc(60Td)(秒)4、PID指令的格式:指令的格式:第3章可编程序控制器的编程5、PID指令的变量指令的变量 a a)ControlBlock(控制块):(控制块):是一个数据文件,可用整数文件,也可以用PID数据文件(PD),用来存贮PID状态、控制位、常数、变量和内部使用的参数。若使用PID文件时,对于增强
113、型PLC-5,字0、1是状态字,字280存贮PID值。状态字0中第15位(PD.EN表示)是使能位,在阶梯由假变真时置位,表示允许PID指令执行。第3章可编程序控制器的编程5、PID指令的变量(续)指令的变量(续)b)ProcessVariable(过程变量):(过程变量):是存贮过程输入值的字地址。c)Tieback(手动返回):(手动返回):使用手动控制站时使用,它是来自手动控制站BTR(块读)指令的输出。d)Output(输出控制):(输出控制):是字地址,PID指令将计算的PID输出值送到此地址中。第3章可编程序控制器的编程6、PID指令的使用指令的使用PID指令使用时相对比较复杂,各种功能的选择、控制块文件中各个字的含义及设定,可在编程软件Rslogix5中PID的监视屏幕中设定,若有不明白之处,也可参看Rslogix5中有关PID指令的HELP(帮助)。另外对于PID各个增益的整定,罗克韦尔软件公司(ReckwellSoftware)有一个专门的软件Rsturn来实现。