第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端口的数字输入和数字输出信号,所以它们的位操作数地址只能是物理输入端口地址和物理输出端口地址。
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 计时范围/s 定时器号 ' 1 接通延时定时器TON 断开延时定时器TOF 10 100 1 有记忆接通延时定时器 )0~ T32,T96 0~ 0~ 0~ 0~ [T33~T36,T97~T100 T37~T63,T101~T255 T0,T64 T1~T4,T65~T68 10 TONR T5~T31,T69~T95 100 0~ 与定时器相关的变量有:
一个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。
与计数器有关的变量及在梯形图中的表示方法: