AB-PLC-5000-编程基础指令例说明_第1页
AB-PLC-5000-编程基础指令例说明_第2页
AB-PLC-5000-编程基础指令例说明_第3页
AB-PLC-5000-编程基础指令例说明_第4页
AB-PLC-5000-编程基础指令例说明_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、附录 TOC o 1-5 h z HYPERLINK l bookmark0 o Current Document 第一章 位指令2 HYPERLINK l bookmark2 o Current Document 第一节数据文件3 HYPERLINK l bookmark4 o Current Document 第二节位指令6 HYPERLINK l bookmark14 o Current Document 第二章 计时器和计数器指令11 HYPERLINK l bookmark40 o Current Document 第三章比较指令21第四章算术指令26 HYPERLINK l boo

2、kmark49 o Current Document 第五章传送和逻辑指令32 HYPERLINK l bookmark51 o Current Document 第六章移位和顺序进出指令35 HYPERLINK l bookmark57 o Current Document 第七章程序流程指令42 HYPERLINK l bookmark59 o Current Document 第八章I/O,文件,PID指令46 HYPERLINK l bookmark67 o Current Document 第九章高速计数指令64第一章 位指令位指令可对数据的单个位进行操作。在运行时,处理器可以根据其

3、所在梯级的逻辑条 件置位或复位一位。应用程序可以根据需要对一位寻址任意次。本章第一节.介绍位指令地 址可使用的数据文件,第二节介绍基本的位指令.第一节数据文件系统默认的数据文件分为以下几种类型:.输出和输入数据文件(00:和口:). 状态文件(S2:).位文件(B3:).计时器文件(T4:).计数器文件(C5:).控制文件(R6:).整数文件(N7:)上面的文件号也为系统默认的(即系统默认文件0为输出文件,1为输入文件,2为状 态文件,等等)。下面对这些系统默认的文件类型分别予以介绍。.输出和输入数据文件(00:和IL)文件00中的各位表示外部的输出,文件II中的各位表示外部的输入。在大多数情

4、况 下,这些文件中的每个16位字号与位于控制器内的一槽相对应,位号与相应的输入或输出 端子号对应。输出和输入的地址格式用e表示槽号,s表示字号。处理文件指令时,数据文件元素 按e.s (槽号和字号)格式一起使用。格式说明0: e. s/bI: e. s/b5000时助 记号:机框.1/0组 号/端子号.0输出I输入元素分隔符e槽号(十进制)加1扩 展或模拟量表示+1槽 号0号槽,即第一个框架中靠近电源的槽,用 于处理器模块。接下来的是I/O槽*字分隔符S字号如果某槽的I/O点数超过16时最好用字号 (0255工字号表示十六进表现法,不用按十端子号算法(0255)/位分隔符b端子号015举例:0

5、: 3/5 槽3,输出位5I: 7/8 槽7,输入位8I: 2. 1/3 槽2,字1,输入位3 字地址:0: 5 槽5,输出字00: 5.1槽5,输出字1I: 8槽8,输入字0特别的,当一个槽的I/O点数超过16个时,寻址位有两种表示方法:使用字、位寻址 和直接位寻址。如:MicroLogix 1500系列输出0槽有64点。寻址0: 0.2/13时,也可写 为 0: 0/45。缺省值:用户编程设备显示的地址格式将更加正规。例如:当分配地址0: 5/0时,编 程设备将显示为0: 5.0/0 (输出文件,槽5,字0,端子0)。2. 状态文件(S2:)状态文件允许用户监控、控制操作系统的工作状况。监

6、控主要为监控软硬件故障及其 它状态信息。控制可通过设置相应的控制位来实现,这首先需要了解状态文件中每个字、 每个字节的功能。详细说明请参阅SLC 500 and Micrologix 1000指令集参考手册附录A。状态文件不能被增加或删除,寻址状态文件的位和字的格式为:S: e/b各位含义同I/O文件。举例:S: 1/15 元素1,位150这是“首次扫描位”用户在程序中可以使用它来初始化指令。S: 3 元素3。这一元素的低位字节时当前扫描时间,高位字节是看门狗扫描时间。 3.位文件(B3:)文件3是位文件,主要用于位指令(继电器逻辑),移位寄存器和顺序器指令。位文件 的最大容量是256个单字元

7、素,总计为4096位。可以通过指定元素号(0255)和元素内 的位编号(015)来寻址位,也可以通过位的顺序编号直接寻址位04095。用户也可以只 寻址该文件的元素。举例:B: 3/14 元素 3,位 14B: 252/0元素 252,位 0B: 9元素9,位015B: /64或B/64 位64 (即元素4,位0)B: /4042 或 B/4042 位 40424.计时器和计数器文件(T4:和C5:)个计时器地址由一个3字元素组成,如下表所示:15141312 11 16位式表示法EN TT DN内部使用PRE (预置值)1ACC (累计值)2上表中,EN:使能位,TT:计时位,DN:完成位。

8、寻址位和字的格式为Tf: e. s/b举例:T4: 0/13 或 T4: 0/DN 完成位T4: 0. 1 或 T4: 0. PRE 预置值文件名号:几位号.16位存址号(里记载预设值等)/内部状态使能位T4:位号.1或2/0T4: 0. 2/0 或 T4: 0. ACC/0 累计值.计数器文件(C5:)每个计数器地址由一个3字元素组成,如下表所示:CU CD DN 0V UN UA内部使用PRE (预置值)ACC (累计值)字。字1字215 14 13 12 11 10 9876543210字上表中,CU:加计数使能位 CD:减计数使能位 DN:完成位 0V:上溢出位 UN:下溢出位 UA:

9、更新累计值位(只用于固定式控制器的HSC指令)。寻址位和字的格式为Cf: e. s/b举例:C5: 0/13 或 C5: 0/DN 完成位C5: 0. 1 或 C5: 0. PRE 预置值C5: 0. 2/0 或 C5: 0. ACC/0 累计值.控制文件(R6:)15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0EN EU DN EM ER UL IN FD错误代码位阵列或文件的长度(LEN)位指针或位置(P0S)控制文件是3字元素,各字含义如下表。位移、顺序器指令都用到控制文件。 字 0 1 2元素2使能位完成位 长度值位置值的0位举例:R: 2R: 2/15 或

10、R: 2/ENR: 2/13 或 R: 2/DNR: 2. 1 或 R: 2. LENR: 2. 2/0.整数文件(N7:)元素2整数文件是1字元素,可以寻址到元素和位。根据程序的需要来使用整数文件地址。 举例: N: 2N: 2/8N10: 36元素2,位8整数文件10,元素36 (先前文件10已被用户定义为整数文件)注:整数文件的缺省值为7,如上N: 2为整数文件7的元素若所操作元素在其它 整数文件上必须注明该文件号,如上N10: 36。第二节 位指令位指令包括:.检查闭合(XIC).检查断开(XIO).输出激励(OTE).输出锁存(OTL).输出解锁(OTU).一次启动(ONS)7,上升

11、沿一次响应(OSR).下降沿一次响应(OSF) 下而逐个加以介绍。.检查闭合(XIC)XIC属输入指令,用于检查某位是否导通(0X)。它类似于常开开关。当指令执行时, 如果寻址位是导通状态(I),则指令被赋值为真;如果寻址位是断开状态(0),则指令被 赋值为假。如果寻址位使用了输入映象表的位,则其状态必须与相应地址实际输入设备的 状态一致。2.检查断开(XI0)1:035XI0属输出指令,用于检查某位是否断开(OFF)。它类似于常闭开关。当指令执行时, 如果寻址位是断开状态(0),则指令被赋值为真.;如果寻址位是导通状态(1),则指令被 赋值为假。3.输出激励(OTE)OTE指令属输出指令,用

12、于控制存储器中的位。若OTE指令前面的梯级条件为真,寻 址位导通,相应的设备接通:否则寻址位不能够导通,相应的设备不能够接通。它类似于 继电器的输出线圈。OTE指令由它前面的输入指令控制,而继电器的线圈由硬触点控制。 4.输出锁存(OTL)OTL属保持型输出指令当梯级条件为真时,OTL指令对该寻址位置位。即使梯级条件变为假,该位依然保持置位,若要复位,则需要在另一个阶梯中使用解锁指令OTU,对同一寻址位进行解锁。5.输出解锁(OTU)OTU属保持型输出指令。常用于复位由OTL指令锁存的位,此时OTL、OTU应使用相同 的地址。当梯级条件为真时,OTU指令对该寻址位复位。即使梯级条件变为假,该位

13、依然 保持复位。直至另一指令对该位重新置位。下面通过具体的梯形图来进一步理解上述位指令:1)2)3)RUNGO 中, RUNG1 中, RUNG2 中, 灯亮。例1:讨论改变以下开关状态时,灯的变化情况。I1:0E0:0Z 4Bul.l?641:0L J 0Bul.l?640:0 r S5 Bul.1741:01:0 r1 Bul.l?541:0003 E-O-82Bull 764Bul.1764J L7 Bul.L7641:0T E9Bull 7641:0q r0:03Bul.17640:0rtFiJ L10Bui. 17643Bull 764fENDI)000)001)002)003000

14、40005当I: 0/4使能时,0: 0/0为真,灯亮。当I: 0/5断开时,0: 0/1为真,灯亮。只有当I: 0/6和I: 0/8,或者I: 0/7和L 0/8使能时,0: 0/2才为真,) RUXG3和RUNG4中,OTL和OTU指令成对出现 一旦I: 0/9使能,0: 0/3就锁存为 真,灯亮。即使I: 0/9在下一次扫描周期由真变假,灯仍然保持亮。直至I: 0/10 使能,0: 0/3解锁,灯火。) RUNG5中,END指令表明程序结束。. 一次启动(0NS)E3:0 _-I2ONS J30NS属输入指令。当程序中0NS指令所在梯级条件由假到真变化时,它的指令逻辑为 真.,但只保持一

15、个扫描周期。使用0NS指令可启动由按钮触发的事件,如从拨盘开关上取 值。0NS指令中有一个位地址参数,此地址可以是位文件或整数文件地址(如B3: 0/3, N7: 0/0等)。该位自动存储了 OS指令所在梯级条件(为真则存储1,为假则存储0)。ONS的功能相当于限制所在梯级的输出。当输入条件由假变真时,它使输出为1且只 保持一个扫描周期,在以后连续的扫描中输出为0。直到输入再次由假到真跳变。.上升沿一次响应(OSR)OSR One Shot RisingStorage BitB3:0/3Output BitB3:0/lOSR属输出指令。当OSR指令所在梯级条件由假到.真变化时,在愉出位(Out

16、put Bit ) 产生一个周期正脉冲(即“上升沿动作类型”)。存储位(Storage Bit)中自动存储了 OSR 指令所在阶梯的梯级条件(为真则存储1,为假则存储0)。.下降沿一次响应(OSF)0$F One Shot FallingStowge BitB3:(W3Output BitB3:0/lOSF属输出指令。当OSF指令所在梯级条件由真到假变化时,在输出位(Output Bit ) 产生一个周期正脉冲(即“下降沿动作类型”)。存储位(Storage Bit)中自动存储了 OSF 指令所在阶梯的梯级条件(为真则存储1,为假则存储0)。下面我们通过具体的梯形图来进一步理解这三条指令:例2

17、:讨论改变以下开关状态时,灯的变化情况。0000000100020003000400050006000? 00091:0T F9Bul.17640:401769-OBI 60:4CO21769-OBI 6O:4CO51769-OBI 6O:4OO8 1769 cB16(;ENDRUNG。和RUNG1中,当I: 0/4闭合时(即产生一个上升沿信号),ONS指令的梯级条 件由假到真变化,它的指令逻辑变为真,使0: 4/0和0: 4/1两灯都亮。到下一个扫 描周期时ONS指令逻辑不再为真,0: 4/1火,0: 4/0由于锁存仍为亮。B3: 0/0位存 储了 ONS指令的梯级条件。即I: 0/4闭合,

18、B3: 0/0为1, 0: 4/3亮,I: 0/4断开, B3: 0/0为0, 0: 4/3灭。只要I: 0/4闭合,0: 4/2就锁存为亮,直到I: 0/9解锁。RUNG2、RUNG3和RUNG4中,当L 0/6闭合时(即产生一个上升沿信号),OSR指令的 梯级条件由假到真变化,使在输出位B3: 0/2产生一个周期正脉冲,使0: 4/5和0: 4/6两灯都亮。到下一个扫描周期时,输出位B3: 0/2不再有正脉冲,0: 4/6火,0: 4/5由于锁存仍为亮。B3: 0/1位存储了 OSR指令的梯级条件。同上步的分析,I: 0/6 闭合,B3: 0/1 为 L 0: 4/4 亮,I: 0/6 断

19、开,B3: 0/1 为 0, 0: 4/4 灭。RUNG5、RUNG6和RUNG7中,当L 0/8断开时(即产生一个下降沿信号),OSF指令的 梯级条件由真到假变化,使在输出位B3: 0/4产生一个周期正脉冲,使0: 4/8和0: 4/9两灯都亮。到下一个扫描周期时,输出位B3: 0/4不再有正脉冲,0: 4/9灭,0: 4/8由于锁存仍为亮。B3: 0/3位存储了 OSF指令的梯级条件。分析同上。RUNG8中,I: 0/9用于为上面锁存的小灯解锁。、第二章计时器和计数器指令计时器和计数器指令属输出指令,用于控制基于时间和事件记数的操作,包括:.延时导通计时器(TON).延时断开计时器(TOF

20、).保持型计时器(RTO).加计数(CTU).减计数(CTD).计时器/计数器复位(RES)下而逐个加以介绍。1.延时导通计时器(TON)TONTimer On DelayTimerT4:0Time Base1.0Preset10Accum0延时导通计时器(TON)的功能是梯级条件变其后经过一段延时时间对输出动作。它相 当于继电器控制系统中的通电延时继电器。TO脚是否启动由它前面的输入指令控制,而通 电延时继电器是由硬触点控制。TON的延时时间可任意设定,而通电延时继电器是由它的 物理结构决定,不能够任意改动。因此TON指令更加方便灵活。使用TON指令时需要提供 以下参数:1)计时器(Time

21、r):指明所使用的计时器元素(如T4: 0)。2)时基(Time base):计时器每次计时的递增值。Micrologix 1500系列可选择1S、 0.01S和0.001S三种,共可累计32767个时基间隔。它决定了计时器的精度。3)预置值(Preset):用于设定延时时间,可设为整数-3276832767。4)累计值(Accum):是一个动态值,表明了到目前计时器已经延时的数值。当梯级条件变真时,TON开始计时,直到下列条件中的任何一个发生为止: 累计值;预置值:梯级变假;复位计时器。不论计时器是否计到时,梯级变假时计时器复位累计值(把累计值清0)。TON的状态位可用作对输出的控制信号。正

22、确灵活的应用这些状态位是掌握TON编程 的关键。TON的状态位及它们的变化情况如下:状态位置位条件保持置位直到下列情况发生DN累计值 =预置值梯级变为假TT梯级为真且累计值预置值梯级变为假或被DN置位EN梯级为真梯级变为假注意TT位和EX位的区另上 TON工作的时序图为:阶梯条件计时器使能位计时器计时位计时器完成位输出设备(完成位控制)时间累计值ON计时器预置值=180图3.21 TOX时序图例4:有三个马达MTRK MTR2. MTR3,按先后次序启动。要求MTR1先启动,三秒后MTR2启动,再过5秒后MTR3启动。停止时三个马达同时停止,请模拟这个过程,00001:3B3:0T EONS

23、011759gl 60:4YAo1759-OBI 5B3:0-ct0000100020003B3:0m e0T4:0a eDNT4:la eDNTON Tina fOnDdAyTimerT4:0Time Bae 1.0Preset3Accum00:4-11769-OB16TON Timer On DelayEN )TimerT4:lTime B 邙 1.0 CbN5Preset5Accunx0-21769-OBL6 00000005I:3T -11769-IQ160:4CO 01769-OBI 6O:4CO11769-0B160:4n-21769-81,B3:00分析:L 3/0为启动按钮,I

24、: 3/1为停止按钮,它们都为点动按钮。用灯0: 4/0、 0: 4/1 0: 4/2模拟马达MTR1、MTR2、MTR3。当触发L 3/0时,ONS指令的梯级条件由 假到真变化,所以有一个周期的正脉冲输出,小灯0: 4/0锁存为亮,B3:0/0位锁存为1, 计时器T4: 0开始计数。当T4: 0的累计值二预置值(3S)时,T4: 0/DN置位,小灯0: 4/1 锁存为亮,且计时器T4: 1开始计数。当T4: 1的累计值二预置值(5S)时,T4: 1/DN置 位,小灯0: 4/2锁存为亮。当触发I: 3/1时,0: 4/0、0: 4/1、0: 4/2都被解锁,灯 灭。例5:某交通要道,南北方向

25、车流量大,东西方向车流量小。南北方向绿灯亮15秒, 东西方向绿灯亮10秒。试编一程序模拟交通灯变化。分析:I: 3/0为启动按钮,I: 3/1为停止按钮,它们都为点动按钮。灯0: 4/0为南 北绿灯,0: 4/2为南北红灯,0: 4/6为东西绿灯,0: 4/8为东西红灯。当触发I: 3/0, 使能 ONS 指令,灯 0: 4/0、0: 4/8 亮,0: 4/2、0: 4/6 灭,B3: 0/1 置位为 1, T4: 0 开 始工作, T4:。计时 15s 后动作,T4: 0/DN 闭合,0: 4/0、0: 4/8 灭,0: 4/2、0: 4/6 亮, T4: 1开始工作。T4: 1计时10S后

26、动作,T4: 1/DN闭合,其XIC (检查断开)逻辑变为假, T4: 0被复位,T4: 0/DN变为0,所以T4: 1也被复位,其XIC逻辑又变为真,灯0: 4/0、 0: 4/8亮,0: 4/2、0: 4/6火,T4: 0又开始工作。除非触发停止按钮I: 3/1使它们停 止和复位,程序将一直循环执行,这样就实现了交通灯交替亮火。 000200031:3T -11769-IQ1600040 1769-OBL60:4CO21769-OBL60:40051769-OB160:48 1769-OBL6B3;0CJO0CEND2.延时断开计时器(TOF)TOFTimer Off DelayYENTi

27、merT4;0Time B 的e1.0口APreset10Accum0延时断开计时器(TOF)的功能是梯级条件变假后经过一段延时时间对输出动作。它相 当于继电器控制系统中的断电延时继电器。TOF指令各参数的含义与TON相同。当梯级条件变假时,TOF开始计时,直到下列条件中的任何一个发生为止:累计值;预置值;梯级变真。不论计时器是否计到时,梯级变直时计时器复位累计值。TOF指令的状态位变化情况如下,注意它们和TON的区别。状态位置位条件保持置位直到下列情况发生DN梯级为真梯级变为假且累计值 =预置值TT梯级为假且累冲值侦置值梯级变为真或DN被豆位EN梯级为真梯级变为假无论任何情况都不要用RES指

28、令对TOF复位。因为RES总是清零状态位及累计值,若 对TOF复位,则DN, TT, EN被清零,可能会使指令逻辑陷于混乱,发生不可预知的结果。 3.保持型计时器(RTO)RTO Ret ent ive Tiiner On-QH TOC o 1-5 h z TinierT4:0T inis Base1.0 Pieset10Accum0TON和TOF计时器在梯级条件变假时,累计值和DN位都要被复位,梯级条件变为其后 又重新计时,有时这会给某些应用带来不便。这时我们可以采用能累积计时的RTO指令。当梯级条件为真时,RTO指令开始计时。当下列任何情况发生时,RTO指令保持它的累 计值:梯级变假;用户

29、改变到编程方式:处理器出错或断电。当处理器重新运行或阶梯变直时,RTO计时器从保持的值开始继续计时,直到累计值 达到预置值。如果需要复位其累计值和状态位,可在另一阶梯中用RES指令对相同地址的 计时器复位。无论任何情况,复位指令总是优先执行。即只要使能复位指令,无论计时器 是否正在计时,累计值及状态位总被复位为0。RTO指令的状态位的变化情况如下:状态位置位条件保持置位直到下列情况发生DN累计值上预置值相应的RES指令使能TT梯级为真且累计值预置值梯级变为假或被DN置位EX梯级为真梯级变为假.力口计数(CTU)CTUCount UpYu-CounterCS:0Pwjet10YdhAAccum0

30、CTU指令在-3276832767范围内向上计数。每一次梯级条件由假变真时CTU累计值加 lo当梯级再次变为假时累计值保持不变。当累计值等于或超过预置值时,CTU指令置位完 成位Dr编程时可以用CTU指令计数某些动作来引发事件,比如通过计数一个存储位的变 化或一个外设的导通关断变化次数来让另一外设动作。0003CTU指令的状态位及变化情况为:状态位置位条件保持置位直到下列情况发生ov累计值返回到-32768(即 从32767继续计数)相应的RES指令使能或者用CTD指令 使累计值:32767DN累计值 )=预置值累计值C预置值CU梯级为真梯级变为假或相应的RES指令使能CTU工作的时序图为:控

31、制计数器 ON的阶梯条件 OFF-Jnn一 一ON计时器使能位,EN控制夏位指令 N的阶梯条件5rON 完成位.DNOFF由计数器控制阶 N梯上的输出指令卜卜-计数器累计值_9_130il数器预置值=4图3.22 CTU时序图 例7:试编一个自动增计数器。000000011:0T F4Bul.l?64T4:0小EDNTON Timer On Delay Timer Time Base P坨依t AccumT4:0 0.01 100 0Yen)Yd*T4:0a eDMCTU Count Up Counter Preset AccumC5:010000,YdnA0002csa1:0T E-9 Bu

32、l.1764分析:I: 0/4为保持式按钮,I: 0/9为点动式按钮。在RUNG0中,当I: 0/4使能, 启动T4: 0工作。延时1S后动作,T4: 0/DN置位,其常闭断开T4: 0被复位,T4: 0/DN 清0,其常闭闭合又启动T4: 0工作。如此循环执行。相当于每IS, T4: 0/DN位产生一个 正脉冲。这样RUNG0构成了一个1S脉冲发生器,向RUNG1中每1S提供一个正脉冲,每米 一个正脉冲C5: 0的累计值就增1,这样就实现了自动增计数器。只要I: 0/9使能,C5: 0的累计值就立即复位为0。.减计数(CTD)Count DownCoimteiC5:0Preset-10Acc

33、um0-CTD指令在-3276832767范围内向下计数,每一次梯级条件由假变真时CTU累计值减 1。当梯级再次变为假时累计值保持不变。当累计值等于或超过预置值时,CTU指令置位完 成位DC编程时可以用它计数某些动作来引发其它事件,比如通过计数一个存储位的变化 或一个外设的导通关断变化来控制另一外设动作。状态位置位条件保持置位直到下列情况发生UN累计值返回到32767(即从-32768继续计数)相应的RES指令使能或者用CTD指令 使累计值=-32767DN累计值 =预置值累计值预置值CD梯级为真梯级变为假或相应的RES指令使能.计时器/计数器复位(RES)C5:0 I-CRESRES指令用于

34、复位计时器(除TOF)和计数器。当梯级条件为真时RES指令复位相同 寻址位的计时器或计数器(把状态位和累计值清0)。无论任何情况RES指令优先执行。例8:现有一个液体混合容器,有两个输入液体阀和一个输出液体阀。使用程序模拟 这三个阀的流量情况。V1V2 0001000200030004000500061:0 rT4:lTON -1J L4DNTinerT4;lBul.l?54Time Ba5e0.01YD*P戏奖tAccum160 Du1:0T4:2 rjrTON Timer On DelyTinnerT4:2Time Bae0.01Preset150Accum0rENJ LJ- L5DNBu

35、l.1764YdnA1:0T4:3 r3JTTCKITimer On DeliyTimerT4:3Time Ba5e0.01Preset100Accum0J L5DNBul.17645日 JYdT/JrTTTq rCount UpCounterC5:0Preset1000Accum0J L DM9U JYdT4:2q rU 1 UCount UpCounterC5:0Preset1000Accum0J L DNYdnAT4:3q rrTVCount DownCounterC5:0Preset1000Accum0_rcDJ L DNYdmA分析:用计时器T4: 1, T4: 2, T4: 3来模

36、拟流速。在RUNG1中,当使能I: 0/4,运 行TOX指令。经过L6S, T4: 1/DN置位。其常闭断开后T4: 1马上复位,T4: 1/DN又立 即被复位,又运行TON指令。如此循环执行。相当于每L6S, T4: 1/DN位产生一个脉冲。 同理,T4: 2/DN每1.5S, T4: 3/DN每1S产生一个脉冲。用计数器C5: 0的累计值来模拟容器中的液位。每当T4: 1/DN位产生一个脉冲,C5: 0的累计值就加1。形象的说,就好象每L 6s注入一单位的液体。对T4: 3/DN用的是减计 数器,每当T4: 3/DN位产生一个脉冲,C5: 0的累计值就减1。就好象每1S从容器里放掉 一单位

37、的液体。当I: 0/4使能,每1.6秒C5: 0的累计值就加1。当L 0/5使能,每L 5秒C5: 0 的累计值就加1。当I: 0/6使能,每1秒C5: 0的累计值就减1。这样就模拟了三个阀的 流量情况。本程序也有不足之处,例如计数器的累计值可以无限制的增加和减小,这不符合客观 实际情况,在后面的章节里我们会用另外的程序来解决这个问题。读程序分析结果。000000010002第三章 比较指令比较指令属输入指令,用于比较两值作为逻辑梯级连续的条件。例如,小于(LES)指 令有两个操作数,如果第一个小于第二个,那么LES指令为真比较指令共包括:.等于(EQID.不等于(NEQ).小于(LES).小

38、于或等于(LEQ).大于(GRT).大于或等于(GEQ).相等屏蔽比较(MEQ).极限比较(LIM)它们的用法大致相同,掌握了一个也就掌握了其它的。下而逐个加以介绍。.等于(EQU)EQU TOC o 1-5 h z EqualSource AN7:0IOSource BH?:l10使用EQU指令比较二值是否相等。如果源A的值和源B的值相等,指令逻辑为真,否 则为假。操作数为两个数的比较指令(比如有源A和源B两个操作数的EQU指令)一般要求的 数据寻址方式为:源A必须为地址,源B可为常数或地址。例1:分析:上而程序即为EQU指令的一个简单应用。RUNGO中,Source A与Source B的

39、值 相等,小灯0: 4/0亮。RUNG1中,Source A与Source B的值不等,小灯0: 4/1火。.不等于(NEQ)NEQ Hoi EqulSource AN7:0Soxirce BN7:l3使用NEQ指令比较二值是否不相等。如果源A的值和源B的值不相等,指令逻辑为真, 否则为假。.小于(LES)LES Les? Than(AB) Source AN?:01LSource BN?:L10使用LES指令比较一个值是否小于另一个值。如果源A的值小于源B的值,指令逻辑 为真,否则为假。.小于或等于(LEQ)LEQLess Than or EqlSource AN7:0LBSource BN

40、7:l10使用LEQ指令比较一个值是否小于或等于另一个值如果源A的值小于或等于源B的 值,指令逻辑为真,否则为假。.大于(GRT)GRT Greater ThanSource AN7:011Source BN7:l10=B)Source AN7:011Source BN7:l10使用GEQ指令比较一个值是否大于或等于另一个值。如果源A的值大于或等于源B的 值,指令逻辑为真,否则为假。7.相等屏蔽比较(MEQ)Masked EquadSourceMaskCompare1:0.0273v OOFFh255N7:024V使用MEQ指令比较源地址中的数据和比较地址中的数据,允许被一个独立字屏蔽,MEQ

41、 相当于把源值和比较值的数据分别与屏蔽字作位与位的逻辑与操作,然后比较两个所得结 果。如果相等,指令逻辑为真.,否则为假。可看作屏蔽字中复位的位屏蔽数据,置位的位 通过数据,因此只比较源值和比较值的在屏蔽字中的相应位为1的那些位。0000Masked EqualSourceB3:0110000010011001KOOFFh 2S5CompazeB3:l00001100001100110:4T A01769-OB160001END例如:上而程序中,屏蔽字设为了 OOFFh,所以只比较B: 3/0和B: 3/1的低八位, 而屏蔽掉了高八位。只要低八位相等,指令逻辑就为真,小灯0: 4/0亮。8.极

42、限比较(LIM)LIM Limit Te$t Low LimTestHigh Lim-10-10N?:001010使用LIM指令,根据用户设定的极限值,比较某值是在指定范围之内或之外。指令的真假状态:如果下限值小于或等于上限值,当比较值在极限范围内或等于任一极限值时,指令逻 辑为真,否则为假。如果下限值大于上限值,当比较值在极限范围内,指令逻辑为假。如果比较值等于任 一极限值或超出极限范围,指令为真。下限值,比较值,和上限值可以是字地址或常数,组合受到以下限制:如果比较参数是一个常数,下限参数和上限参数必须是字地址。如果比较参数是一个字地址,下限参数和上限参数可以是常数或字地址。例2:现有一个

43、液体混合容器,有两个输入液体阀和一个输出液体阀。使用程序模拟 这三个阀的流量情况。并设置液位上下限报警,使相应阀门关闭。000000010002000300040005000600070008分析:本程序为第二章例8的问题。前半部分和例8的思想一样。在后面加上了范围 判断的指令,实现了上下限的报警,和相应阀门关闭。若同时有注入和流出阀门打开,上 而程序可自动循环,第四章算术指令(ADD) (SUB) (MUL) (DIV) (SQR)N7:103 N7:ll2 N7:12例1:读程序分析结果。0000-ADD Add Source ASource BDe stH7:04 N?:l9 N7:21

44、30001分析:上而程序为ADD指令的一个简单应用。ADD指令把Source A和Source B的值算术指令属输出指令,当梯级条件为真时,执行指定的算术运算,愉出结果存放到一 个指定的存储单元,并根据结果自动设置状态位例如,加和减指令都是取两个输入值,进行加或减运算,运算结果存放到指定的目的 地址内。并根据结果自动设置了状态位。算术指令包括: 加指令 减指令 乘指令 除指令 平方根 取反指令(NEG)整数转换成BCD码(TOD) 从BCD码转换成整数(FRD) 线性转换(SCP).编码(ENC).解码(DCD)它们的用法也大致相同,下面逐个加以介绍。.加指令(ADD)ADDAddSource

45、 ASource BDe 5tADD指令使源A和源B的值相加,结果存放到目的地址内o相加,结果存入Dest中(4+9,结果13存入N7: 2).减指令(SUB)SUB SubtractSource AN7:103Source EN7:ll2N7:131SUB指令使源A的值减去源B的值,结果存放到目的地址内o.乘指令(MUL)MUL Scruxcq AN?;103Source BN?:ll2DesiN7:146MUL指令使源A的值乘以源B的值,结果存放到目的地址内o.除指令(DIV)nTWDivideSource AN7:103Source EN7:l 12MDestN7:152DIV指令使源A

46、的值被源B的值所除。商四舍五入存放在目的地址内o.平方根(SQR)SQE Square RootSourceN-7:101。DejtN7:163SQR指令计算源值绝对值的平方根,结果四舍五入存放在目的地址内o.取反指令(NEG)NEG N ega.teSourceN7:103DestN7:17-3NEG指令改变源值的符号然后存放到目的地址内。例如,如果源的值是3,目的数据将 是-3。.整数转换成BCD码(T0D)TOD To BCD SourceDej-tN?:103M N7:18 0003hBCD指令把16-位整数值转换成BCD码。如果输入的整数是负数,则转换其绝对值。 例:试编制一个6位数

47、的自动计数器,用BCD码分别在N7:。和N: 1上表示。到不够用,但是如果采用多个数据进位的关系来表达,几乎可以计到无限。我们可以先用 一个计数器来表示六位计数器的低四位,用另一个计数器来模拟六位计数器的高两位。本 程序中,RUNGO产生计数脉冲,RUNG1用一个计数器来表示六位计数器的低四位,RUNG2用 另一个计数器来表示六位计数器的高两位。RUNG3两位计数器一旦完成计数(即六位计数 器已完成999999),两位计数器清0复位并输出信号。RUNG4和RUNG5用TOD指令把两个计 数器的累计值变为BCD码在整数文件中显示,N7: 0显示低四位,N7: 1显示高两位。.从BCD码转换成整数

48、(FRD)FRD From BCDSourceN?:100003hDstN7:193FRD指令把BCD码转换成16-位整数值。如果源数据不符合BCD码格式则发生处理器出 错。.线性转换(SCP)scp Scale w/PaaMtuDiKpllt1:1.2155002:Input Mai.32768-32?68Input3276?32767TScaled Mm-100DO 10000;Scaled Max.10000 lOODCKOitpui4?3OSCP指令可对一个数进行线性转换a Input为转换的输入值。Input Min Input Max 为设定的输入值的范围。Scaled Min S

49、caled Max为希望得到的转换结果的范围。当梯 级条件为真,它可以把输入值(Input)线性转化到Scaled Min Scaled Max中。转换规则根据下面方程:y = m(x - x0) + 2 where:y = scaled outputx = input (Input)m = slope = Ay/AxAy = y。Ax = Xj - x()x = input start (Input min)X| = input end (Input max)y0 三 scaled start (Scaled min)y i n scaled end (Scaled max)10.编码(EN

50、C)-ENC Encode 1 of 16 to 4SourceB3:00000000100000000DestN7:000。8nENC指令可以把Source编码。Source为16位字,并且只能有一位为1,其余位均为5 转换规则如下:SourceDest0000 0000 0000 000100000 0000 0000 001010000 0000 0000 010020000 0000 0000 100030000 0000 0001 000040000 0000 0010 000050000 0000 0100 000060000 0000 1000 000070000 0001 00

51、00 000080000 0010 0000 000090000 0100 0000 0000100000 1000 0000 0000110001 0000 0000 0000120010 0000 0000 0000130100 0000 0000 0000141000 0000 0000 00001511.解码(DCD) DCD 一 Decode 4 to 1 of 16 SouiceN7:00008hDestB3:00000000100000000DCD指令为ENC指令的逆运算,它把源数据(Source)的最低4位的转化结果置入目 的地址(Dest)中。转换规则为上表的逆。第五章传送和

52、逻辑指令传送和逻辑指令属输出指令,当梯级条件为真时,执行相应的传送或逻辑操作。指令 执行后,并根据结果自动设置状态位。传送和逻辑指令包括:.传送(MOV).屏蔽传送(MVM).逻辑与(AND).逻辑或(OR).逻辑异或(XOR).逻辑非(NOT).清零(CLR)下面逐个加以介绍。.传送(MOV )MOVMoveSourceN?:0?DestN?:10?MOV指令将数据从源地址传送到目的地址,只要梯级保持为真.,每次扫描指令都重新 传送数据。.屏蔽传送(MVM) MVM Mask 虱 M ove SouzceN7:09MaskOAFFh281 DestN7:ll9MVM指令将数据从源地址传送到目

53、的地址,并且允许部分目的数据被一个独立的字屏 蔽。只要梯级条件保持为真,每次扫描该指令都重新传送数据。MVMMasked MoveSourceB3:0110000000001101MaskOOFFh2SSDesiB3:l0000110000011011I 1:0 0000 3 E8Bul.1764上面程序中,数据传送的方式为:屏蔽字中位为0时,源值相应位的数据不传送,相 当于源值和目的值的相应位数据保持不变。屏蔽字中位为1时,源值相应位的数据传送到目的地址的相应位,相当于MOV指令。1514131211109876513210B3:01100000000110011Mask0000000011

54、111111B3:l00001100001100113.逻辑与(AND)ANDBitwise ANDSouxce AN7:00009hSouxce BN7:l0007hDestN7:20001hAND指令使源A与源B执行位与位的逻辑与操作。结果存储在目的地址内。 4.逻辑或(OR)R Bitwbe Inclusive OR Souxce A N7:0 OQO?h Source BN7:l000?h DesiN?:3OOOFhOR指令使源A与源B执行位与位的逻辑或操作。结果存储在目的地址内。.逻辑异或(X0R)-XOR Bitwie Exchvivq ORSource AM7;0 0009hSo

55、urce DM?:l0007hDe$tM?:4OOOEhuX0R指令使源A与源B执行位与位的逻辑异或操作。结果存储在目的地址内。.逻辑非(NOT)卜TCT-NOTSourceN7:09DestN7:5-10NOT指令使源A与源B执行位与位的逻辑非操作。结果存储在目的地址内o.清零(CLR)CLR ClearDestN7:120CLR指令使目的地址的值清为0o第六章 移位和顺序进出指令移位和顺序进出指令属输出指令。每一次梯级条件由假变真时,移位指令把指定地址 内的所有位都移动一个位的位置,顺序进出指令完成一次顺序进出或比较操作。移位和顺 序进出指令包括:.位左移(BSL).位右移(BSR).顺序

56、器装入(SQL).顺序器比较(SQC).顺序器输出(SQO). FIFO 装入(FFL). FIFO 卸出(FFU). LIFO 装入(LFL). LIFO 卸出(LFU)下面逐个加以介绍。.位左移(BSL)BSLBit Shift LeftFile林ControlR6:0YdnABit AddressB3Q0Length16当梯级条件由假变真时,BSL指令对File文件指定的数据向左(向高位)移动一位。 由Bit Address指定的一位被移入最右位(最低位)。MicroLogixl500中Length的设定范围为02048,含义为文件中参与移位的数据块的 位数。但是实际上只能移位整数个字的

57、所有位。参与移位的字数为对Length除以16,再 向上取整。如上例,当Length的值为116时,实际上都是移动N7:。的16位。.位右移(BSR)-BSRBit Shift RightFileControlYDNABit AddressB3:0/lLength16当梯级条件由假变真时,BSR指令对File文件指定的数据向右(向低位)移动一位。由Bit Address指定的一位被移入最左位(最高位)。Length的含义与BSL中的相同。例1: 0: 0.0的预置状态为1111000000000000c试编一程序,其前20S,按每秒一次的速度进行左移位:后20S,按每秒一次的速度进行右移位。循

58、环进行*0001T4:2-YD*TON Timer On Delay TOC o 1-5 h z TimerT4:2Tim4 Ba5-a 1.0Preset1 Ac cum0B3:l r 0B3:l CO 1TON Tinier On De hy-EN 1 TOC o 1-5 h z TimerT4:0Tixne B 的e 1.0 。1力一Preset200002T4:0a eDNB3:lG1B3:l0000300040005B3:l a e0B3:l3 EiT4:2T EDNT4:2T EDMTON Titner On Deky Tiiner Time Base Preset AccumBS

59、L Bit ShiR Left File Control Bit AddressYen)T4:l1.0200A#0:0.0R6:140:0/15MOOR6:140:0 jDYd*-cJnYd*Acmih0-FileMaskFFFT3Yd*Source1:1.0Control班:。YfdALength4Position2 TOC o 1-5 h z .顺序器输出(SQO)SQO ,.Segue nee r Output-作N File钻 3; 11Mask0E0F Desi0:4.0ControlR6:0Length4Position2例2:读程序分析结果c0000T4:0DNTON Timex

60、 On DelayTimexT4:0Time Base1.0YdhAPreset3uAccum00001T4:0DN一SQL Sequencer Load.File於19:。SourceN7:0ControlB5:0Length10PositionOYd*0002T4:0DNSQC Sequencer CompareFih和112:。JMa5k0FFFFLSouxce0:0.2CentralR6:lYEALengthIOPosition000030004T4:0DNSQO Sequencer ChitpulFile#K10:0M击*OFFFFhDestHll:0ControlR6:2Leitg

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论