电气控制与PLC应用 - 第5、8章习题与思考题参考解答

更新时间:2023-10-06 07:36:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第5章S7-200 PLC的指令系统

习题与思考题

1. S7-200指令参数所用的基本数据类型有哪些?

答:S7-200 PLC的指令参数所用的基本数据类型有1位布尔型(BOOL)、8位无符号字节型(BYTE)、8位有符号字节型(SIMATIC模式仅限用于SHRB指令)、16位无符号整数(WORD)、16位有符号整数(INT)、32位无符号双字整数(DWORD)、32位有符号双字整数(DINT)、32位实数型(REAL)。实数型(REAL)是按照ANSI/IEEE 754-1985标准(单精度)的表示格式规定。2~255字节的字符串型(STRING)

2. 立即I/O指令有何特点?它应用于什么场合?

答:立即指令允许对输入和输出点进行快速和直接存取。当用立即指令读取输入点的状态时,相应的输入映像寄存器中的值并未发生更新;用立即指令访问输出点时,访问的同时,相应的输出映像寄存器的内容也被刷新。由于立即操作指令针对的是I/O端口的数字输入和数字输出信号,所以它们的位操作数地址只能是物理输入端口地址Ix.x和物理输出端口地址Qx.x。

3. 逻辑堆栈指令有哪些?各用于什么场合?

答:复杂逻辑指令,西门子称为逻辑堆栈指令。主要用来描述对触点进行的复杂连接,并可以实现对逻辑堆栈复杂的操作。

复杂逻辑指令包括:ALD、OLD、LPS、LRD、LPP和LDS。这些指令中除LDS外,其余指令都无操作数。这些指令都是位逻辑指令。

栈装载与指令ALD用于将并联子网络串联起来。 栈装载或指令OLD用于将串联子网络并联起来。

逻辑推入栈指令LPS,在梯形图中的分支结构中,用于生成一条新的母线,左侧为主控逻辑块时,第一个完整的从逻辑行从此处开始。

逻辑读栈指令LRD,在梯形图中的分支结构中,当左侧为主控逻辑块时,该指令用于开始第二个和后边更多的从逻辑块。

逻辑栈弹出指令LPP,在梯形图中的分支结构中,用于恢复LPS指令生成的新母线。 装入堆栈指令LDS,复制堆栈中的第n级值,并将该值置于栈顶。原栈中各级栈值依次下移一级,栈底值被推出栈而丢失。

4. 定时器有几种类型?各有何特点?与定时器相关的变量有哪些?梯形图中如何表示这些变量?

答:S7-200系列PLC的主机有256个定时器T0~T255,分为三种类型,每种类型的时间分辨率(或称为时基/时间增量/时间单位)又分为三种,如下表所示。

(1)接通延时定时器指令TON,用于接通单一间隔定时。

(2)有记忆接通延时定时器指令TONR,用于累计若干个时间间隔。只能用复位指令进行复位操作,使当前值清零。

(3)断开延时定时器指令TOF,用于断开后的单一间隔定时。

定时器类型 时间分辩率/ms 1 接通延时定时器TON 断开延时定时器TOF 10 100 1 有记忆接通延时定时器 TONR 10 100 计时范围/s 0~32.767 0~327.67 0~3276.7 0~32.767 0~327.67 0~3276.7 定时器号 T32,T96 T33~T36,T97~T100 T37~T63,T101~T255 T0,T64 T1~T4,T65~T68 T5~T31,T69~T95 与定时器相关的变量有:

一个16位的当前值寄存器,用以存放计时累计的当前值(INT,最大计时值32767,单位ms或10ms或100ms,取决于时间分辨率);

一个16位的预设值寄存器,用以存放定时时间的预设值PT(INT); 一位状态位(BOOL),用以反映定时器的定时时间是否达到的状态,称为定时器位。 使能输入IN,用于控制定时器的工作状态。

5. 计数器有几种类型?各有何特点?与计数器相关的变量有哪些?梯形图中如何表示这些变量?

答:

类型:S7-200系列PLC的计数器指令有两大类:通用计数器指令和高速计数器指令。 通用计数器指令有3种:增计数器指令CTU、减计数器指令CTD和增减计数器指令CTUD。 特点:

(1)增计数器指令CTU

每当增计数输入CU发生一次从OFF到ON的转换(正跳变-上升沿)时,该计数器的当前值就增加1。

如果当前值Cxxx≥预设值PV,则计数器位=ON;否则,计数器位=OFF。

当前值达到预设值后继续计数,计数当前值到最大值(32,767)时,计数器停止。 当复位输入R接通或执行复位指令时,计数器被复位,计数器位=OFF,当前值=0。 (2)增减计数器指令CTUD

利用LD装载预设值。当装载输入LD接通时,计数器复位,计数器位=OFF,当前值=预设值PV。

每当减计数输入CD发生一次从OFF到ON的转换(正跳变-上升沿)时,该计数器的当前值就减1。

计数当前值到0时,计数器停止,计数器位=ON,当前值=0。

利用复位指令复位时,CTD计数器位变为OFF,当前值变为0(教材P131有误)。 (3)减计数器指令CTD

每当增计数输入CU发生一次从OFF到ON的转换时,该计数器的当前值就增1;每当减计数输入CD发生一次从OFF到ON的转换时,该计数器的当前值就减1。 如果当前值Cxxx≥预设值PV,则计数器位=ON;否则,计数器位=OFF。 当前值达到预设值后继续计数(增或减)。

当增计数达到最大值(32,767)时,在增计数输入端CU的下一个上升沿导致当前计数值绕回到最小值(-32,768)。同样,计数达到最小值(-32,768)时,减计数输入端CD的下一个上升沿会导致当前计数值绕回到最大值(32,767)。所以,CTUD是一个循环计数器,计数范围从-32768~+32767。

当复位输入R接通或执行复位指令时,该计数器被复位。复位时,计数器位=OFF,当前值=0。

与计数器有关的变量及在梯形图中的表示方法: 计数器地址:C0~C255,常数 计数器当前值:C0~C255,INT型 计数器的预设值(PV):INT型 计数器位:C0~C255,BOOL型

增/减计数信号输入:能流,BOOL型 复位输入:能流,BOOL型 装载信号输入:能流,BOOL型

6. 不同分辨率的定时器的当前值是如何刷新的?

答:不同分辨率的定时器,它们当前值的刷新时机是不同的,具体情况如下:

1ms分辨率定时器启动后,定时器对1ms的时间间隔(时基信号)进行计时。定时器位和当前值每隔1ms刷新一次,与扫描周期不同步。换句话说,如果扫描周期大于1ms,则在一个扫描周期中定时器位和当前值可能要刷新多次。

10ms分辨率定时器启动后,定时器对10ms的时间间隔进行计时。程序执行时,在每次扫描周期开始对10ms定时器刷新,其方法是以当前值加上累积的10毫秒间隔的数目(自上一次扫描开始算起),所以在一个扫描周期内定时器当前值和定时器位保持不变。

100ms分辨率定时器启动后,定时器对100ms的时间间隔进行计时。只有在执行到这些定时器指令时,这些定时器的当前值才被刷新(当前值加上积累的100毫秒间隔的数目(自前一次扫描开始算起))。

7. 写出图5-50所示梯形图的语句表程序。(原题程序不分网络,应该按右图所示修改)

图5-50 习题7梯形图

答:语句表程序如下 网络1 // 网络标题 LD I0.0 O I0.3 LD I0.1 O I0.4 ALD

AN I0.2 = Q0.1 网络2

LD Q0.1 TON T37, +30 网络3

LD T37 S Q0.2, 4 网络4

LD I0.1 S Q0.3, 1

8. 写出图5-51所示梯形图的语句表程序。

图5-51 习题8梯形图

答:语句表程序如下 网络1 // 网络标题 LD I0.4 EU

SHRB I0.5, V3.0, +4 网络2

LD I0.1 LPS

A V3.0 S Q3.0, 2 LRD

A V3.1 R Q3.1, 1 LRD

A V3.2 S Q3.2, 3 LPP

A V3.3 R Q3.3, 1

9. 用自复位式定时器设计一个周期为5s,脉冲为一个扫描周期的脉冲串信号。

答:如果使用100ms时基的定时器,梯形图程序和语句表程序分别如答案图14 a)、答案图14 b)所示。其中答案图14 b)所示要比答案图14 a)好一些。

本文来源:https://www.bwwdw.com/article/cjgd.html

Top