版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、教 案教 学 内 容备 注第一章 绪论3.1位逻辑指令3.1.1 基本位逻辑指令位逻辑指令的运算结果用两个二进制数字1和0来表示。可以对布尔操作数(bool)的信号状态扫描并完成逻辑操作。逻辑操作结果称为rlo(result of logic operation)。语句表stl表示的基本位逻辑指令l a and 逻辑“与”l an and not 逻辑“与非”l o or 逻辑“或”l on or not 逻辑“或非”l x exclusive or 逻辑“异或”l xn exclusive or not 逻辑“异或非”l = assign 赋值指令l not negate rlo rlo取反
2、l set set rlo (=1) rlo=1l clr clear rlo (=0) rlo=0l save save rlo in br register 将rlo的状态保存到br。边沿信号识别指令。位逻辑指令的运算规则:“先与后或”。可以用括号将需先运算的部分括起来,运算规则为:“先括号内,后括号外”。 梯形图lad表示的基本位逻辑指令l -| |- normally open contact (address) 常开触点 l -|/|- normally closed contact (address) 常闭触点l -(save) save rlo into br memory 将r
3、lo的状态保存到brl xor bit exclusive or 逻辑“异或”l -( ) output coil 输出线圈l -( # )- midline output 中间标志输出l -|not|-invert power flow rlo取反功能图fbd表示的位逻辑指令 将在后面的指令详解中给出概括:十分钟利用投影仪教 案教 学 内 容备 注1逻辑“与”操作当所有的输入信号都为“1”,则输出为“1”;只要输入信号有一个不为“1”,则输出为“0”。例3.1.1:功能图(fbd)语言如下: 梯形图(lad)语言如下: 语句表(stl)语言如下: a i 0.0 a i 0.1 = q 4.
4、02逻辑“或”操作只要有一个输入信号为“1”,则输出为“1”;所有输入信号都为“0”,输出才为“0”。例3.1.2:功能图(fbd)语言如下: 当输入信号i 0.0 和 i 0.1有一个以上为“1”时,输出信号q 4.0 为“1”。当输入信号i 0.0 和 i 0.1都为“0”时,输出信号q 4.0 才为“0”。梯形图(lad)语言如下: 语句表(stl)语言如下: o i 0.0 o i 0.1 = q 4.0注意编程语言的三种表达方式及各自的特点。教 案教 学 内 容备 注3逻辑异或操作当两个输入信号其中一个为“1”而另一个为“0”时,输出信号为“1”;当两个输入信号都为“0”或者都为“1
5、”时,输出信号为“0”。例3.1.3:功能图(fbd)语言如下: 当输入信号i 0.0 为“1”而 i 0.2为“0”或者i 0.0 为“0”而 i 0.2为“1”时,输出信号q3.1 为“1”。当输入信号i 0.0 和 i 0.2都为“0”或者i 0.0 和 i 0.2都为“1”时,输出信号q 3.1为“0”。梯形图(lad)语言如下: 语句表(stl)语言如下: x i 0.0 x i 0.2 = q 3.14逻辑取反操作逻辑取反操作对逻辑运算结果rlo取反。功能图(fbd)符号: 梯形图(lad)符号:-|not|-语句表(stl)符号:not 引导学生举出生活中异或关系的例子教 案教
6、学 内 容备 注例3.1.4:只有当i 1.0 和i 1.1相与的结果为“0”并且i 1.2 和i 1.3相与的结果为“1”或i 1.4为“1”时,输出q 4.0才为“1”;否则q 4.0为“0”。功能图(fbd)语言如下: 梯形图(lad)语言如下: 语句表(stl)语言如下: a i 1.0 a i 1.1 not a( a i 1.2 a i 1.3 not o i 1.4 ) = q 4.05中间输出符号中间输出指令用于存储rlo的中间值,该值是中间输出指令前的位逻辑操作结果。中间输出指令不能用于结束一个逻辑串,因此,中间输出指令不能放在逻辑串的结尾或分支的结尾处。特别要讲清楚中间符号
7、的作用教 案教 学 内 容备 注例3.1.5 m 0.0的缓存器中存放着i 1.0和i 1.1相与后取反的结果;m 1.1的缓存器中存放着i 1.2和i 1.3相与后取反的结果;m 2.2的缓存器中存放着i 1.4的逻辑运算结果;m 3.3的缓存器中存放上述整个逻辑运算的结果。例3.1.6m 0.0的缓存器中存放着i 1.0和i 1.1相与的结果;m 1.1的缓存器中存放着i 1.0、i 1.1、i 1.2和i 1.3四个输入信号相与后取反的结果;m 2.2的缓存器中存放着整个逻辑运算的结果。6位逻辑操作规则:位逻辑指令的运算规则:“先与后或”。例3.1.7:当输入信号i 1.0 和i 1.1
8、 都为“1”,或输入信号i 1.2 和 i 1.3 都为“1”时,输出信号q 3.1 为“1”。否则输出信号q 3.1 为“0”。功能图(fbd)语言如下: 梯形图(lad)语言如下:重点强调教 案教 学 内 容备 注语句表(stl)语言如下: a i 1.0 a i 1.1 o a i 1.2 a i 1.3 = q 3.1例3.1.8:当输入信号i 1.0 或i 1.1为“1”,并且i 1.2 或 i 1.3为“1”时,输出信号q 3.1 为“1”。否则输出信号q 3.1 为“0”。功能图(fbd)语言如下: 梯形图(lad)语言如下:语句表(stl)语言如下: a (o i 1.0 o
9、i 1.1 ) a( o i 1.2 o i 1.3 ) = q 3.1牢记位逻辑运算的规则。重点是在语句表中教 案教 学 内 容备 注3.1.2置位/复位指令置位/复位指令根据rlo的值,来决定被寻址位的信号状态是否需要改变。若rlo的值为1,被寻址位的信号状态被置1或清0;若rlo是0,则被寻址位的信号保持原状态不变。对于置位操作,一旦rlo为1,则被寻址信号(输出信号)状态置1,即使rlo又变为0,输出仍保持为1;对于复位操作,一旦rlo为1,则被寻址信号(输出信号)状态置0,即使rlo又变为0,输出仍保持为0。语句表stl表示的置位/复位指令l r reset 复位指令l s set
10、置位指令梯形图lad表示的置位/复位指令l -( s ) set coil 线圈置位指令l -( r ) reset coil 线圈复位指令l sr set-reset flip flop 复位优先型sr双稳态触发器指令l rs reset-set flip flop 置位优先型rs双稳态触发器指令功能图fbd表示的位逻辑指令强调“记忆功能”教 案教 学 内 容备 注1置位/复位线圈指令例 3.1.9:当i 0.0和i 0.1输入都为“1”或者i 0.2输入为“0”时,q 4.0被置位,即输出为“1”;不满足上述条件时,q 4.0的输出状态不变。功能图(fbd)语言如下: 梯形图(lad)语言
11、如下: 语句表(stl)语言如下:a i 0.0 a i 0.1 on i 0.2 s q 4.0例3.1.10:当i 0.0和i 0.1输入都为“1”或者i 0.2输入为“0”时,q 4.0被复位,即输出为“0”;不满足上述条件时,q 4.0的输出状态不变。功能图(fbd)语言如下: 梯形图(lad)语言如下:语句表(stl)语言如下:a i 0.0 a i 0.1 on i 0.2 r q 4.0注意与普通线圈符号的不同教 案教 学 内 容备 注2置位/复位双稳态触发器指令 如果置位输入端为“1”,复位输入端为“0”,则触发器被置位。此后,即使置位输入端为0,触发器也保持置位不变。如果复位
12、输入端为1,置位输入端为“0”,则触发器被复位。置位优先型rs触发器的r端在s端之上,当两个输入端都为1时,下面的置位输入端最终有效。既置位输入优先,触发器被置位。复位优先型sr触发器的s端在r端之上,当两个输入端都为1时,下面的复位输入端最终有效。既复位输入优先,触发器被复位。例 3.1.11 如果输入信号 i 0.0 = 1, i 0.0 = 0, 则m 0.0被复位,q 4.0 = 0; i 0.0 = 0, i 0.0 = 1, 则m 0.0被置位,q 4.0 = 1; i 0.0 = 0, i 0.0 = 0, 则m 0.0输出保持不变,q 4.0输出不变; i 0.0 = 1, i
13、 0.0 = 1, 则m 0.0被置位,q 4.0 = 1。例 3.1.12 如果输入信号 i 0.0 = 1, i 0.0 = 0, 则m 0.0被复位,q 4.0 = 0; i 0.0 = 0, i 0.0 = 1, 则m 0.0被置位,q 4.0 = 1; i 0.0 = 0, i 0.0 = 0, 则m 0.0输出保持不变,q 4.0输出不变; i 0.0 = 1, i 0.0 = 1, 则m 0.0被置位,q 4.0 = 0。注意讲清楚置位优先型rs触发器和复位优先型sr触发器在功能图和语句表中的表示方法以及适用场合教 案教 学 内 容备 注3.1.3边沿信号识别指令1rlo边沿信号
14、识别指令当信号状态变化时就产生跳变沿,当从0变到1时,产生一个上升沿(或正跳沿);若从1变到0,则产生一个下降沿(或负跳沿)。跳变沿检测的原理是:在每个扫描周期中把信号状态和它在前一个扫描周期的状态进行比较,若不同则表明有一个跳变沿。因此,前一个周期里的信号状态必须被存储,以便能和新的信号状态相比较。l 下降沿信号识别指令 若cpu检测到输入有一个负跳沿,将使得输出线圈在一个扫描周期内通电。对输入扫描的rlo值存放在存储位中。在ob1的扫描周期中,cpu扫描并形成rlo值,若该rlo值是0且上次rlo值是1,这说明fn指令检测到一个rlo的负跳沿,那么fn指令把rlo位置1。如果rlo在相邻的
15、两个扫描周期中相同(全为1或0),那么fn语句把rlo位清0。例 3.1.13 此节内容较难懂,适当慢一些。强调“边沿”的概念教 案教 学 内 容备 注若cpu检测到输入i1.0有一个负跳沿,将使得输出q4.0的线圈在一个扫描周期内通电。对输入i1.0常开触点扫描的rlo值(在本例中,此rlo正好与输入i1.0的信号状态相同)存放在存储位m1.0中。在ob1的扫描周期中,cpu对i1.0信号状态扫描并形成rlo值,若该rlo值是0且存放在m1.0中的上次rlo值是1,这说明fn指令检测到一个rlo的负跳沿,那么fn指令把rlo位置1。如果rlo在相邻的两个扫描周期中相同(全为1或0),那么fn
16、语句把rlo位清0。l 上升沿信号识别指令 若cpu检测到输入有一个正跳沿,将使得输出线圈在一个扫描周期内通电。对输入扫描的rlo值存放在存储位中。在ob1的扫描周期中,cpu扫描并形成rlo值,若该rlo值是1且上次rlo值是0,这说明fn指令检测到一个rlo的正跳沿,那么fp指令把rlo位置1。如果rlo在相邻的两个扫描周期中相同(全为1或0),那么fp语句把rlo位清0。例 3.1.14 若cpu检测到输入i1.0有一个正跳沿,将使得输出q4.0的线圈在一个扫描周期内通电。对输入i1.0常开触点扫描的rlo值(在本例中,此rlo正好与输入i1.0的信号状态相同)存放在存储位m1.0中。在
17、ob1的扫描周期中,cpu对i1.0信号状态扫描并形成rlo值,若该rlo值是1且存放在m1.0中的上次rlo值是0,这说明fn指令检测到一个rlo的正跳沿,那么fp指令把rlo位置1。如果rlo在相邻的两个扫描周期中相同(全为1或0),那么fp语句把rlo位清0。弄清“上升沿”与“下降沿”的概念与区别教 案教 学 内 容备 注2触点边沿信号识别指令l 触点下降沿信号识别指令 在ob1的扫描周期中,cpu对的状态与其上一个扫描周期的状态进行比较(上一个扫描周期的状态保存在中。若该状态是0且存放在中的上次状态是1,这说明neg指令检测到的负跳沿,那么neg指令把rlo位置1。如果在相邻的两个扫描
18、周期中状态相同(全为1或0),那么neg指令把rlo位清0。例 3.1.15 当输入信号i 0.0、i 0.0、i 0.2、i 0.4全为“1”并且i 0.3 有一个负跳变,则q 4.0输出一个扫描周期的正脉冲信号。l 触点上升沿信号识别指令 在ob1的扫描周期中,cpu对的状态与其上一个扫描周期的状态进行比较(上一个扫描周期的状态保存在中。若该状态是1且存放在中的上次状态是0,这说明pos指令检测到正跳沿,那么pos指令把rlo位置1。如果在相邻的两个扫描周期中状态相同(全为1或0),那么pos指令把rlo位清0。注意与前面指令的区别教 案教 学 内 容备 注例 3.1.16 当输入信号i
19、0.0、i 0.0、i 0.2、i 0.4全为“1”并且i 0.3 有一个正跳变,则q 4.0输出一个扫描周期的正脉冲信号。3.1.4 rlo 置位、清零、保存指令置位指令 符号: set 功能: rlo = 1复位指令 符号: clr 功能: rlo = 0例 3.1.17 rlo保存指令 符号: save 功能: (rlo) br 说明: 将rlo的状态保存到状态字寄存器中的br位中。强调尽对rlo操作教 案教 学 内 容备 注3.2 定时器指令3.2.1 定时器的结构 s7中定时时间由时基和定时值两部分组成,定时时间等于时基与定时值的乘积。当定时器运行时,定时值不断减1,直至减到0,减到
20、0表示定时时间到。定时时间到后会引起定时器触点的动作。定时器的第0到第11位存放bcd码格式的定时值,三位bcd码表示的范围是0999。第12,13位存放二进制格式的时基。从下表中可以看出:时基小定时分辨率高,但定时时间范围窄;时基大分辨率低,但定时范围宽。时 基二进制时基分辨率定 时 范 围10 s000.01 s10ms至9s_990ms100ms0l0.1 s100ms至1m_39s_900ms1 s101s1s至16m_39s10 s1110 s10s至2h_46m_30s当定时器启动时,累加器1低字的内容被当作定时时间装入定时字中。这一过程是由操作系统控制自动完成的,用户只需给累加器
21、l装入不同的数值,即可设置需要的定时时间。推荐采用下述直观的句法:l w#16# txyz 其中:t,x,y,z均为十进制数; t时基,取值0,1,2,3,分别表示时基为:10ms、100ms、1s、10s。xyz定时值,取值范围:1到999。 也可直接使用s5中的时间表示法装入定时数值,例如:l s5t# ah_bbm_ccs_dddms其中:a小时,bb分钟,cc秒,ddd毫秒.范围:1ms到2h_46m_30s;此时,时基是自动选择的,原则是:根据定时时间选择能满足定时范围要求的最小时基。此节是定时器的基础知识若某些同学理解上有困难,可暂时放一放教 案教 学 内 容备 注s7300提供了
22、多种形式的定时器:脉冲定时器(sp)、扩展定时器(se)、接通延时定时器(sd)、带保持的接通延时定时器(ss)和断电延时定时器(sf)。下图给出了各种定时器的工作状态。注意五种定时器各自的特点教 案教 学 内 容备 注3.2.2 脉冲定时器 pulse timer脉冲定时器时序如下:例3.2.1 stl语句表如下: a i 0.0 l s5t#10s 装入定时时间到accu1 sp t5 启动脉冲定时器t5 a i 0.1 r t 5 定时器t5复位 a t 5 = q 4.0fbd 功能图如下:时序图如下: 结合实际例子让同学充分理解。教 案教 学 内 容备 注3. 2. 3 定时器再启动
23、指令fr enable timer格式: fr 定时器再启动指令fr用于重新装载定时时间,定时器以新装入的时间值运行。下面结合一个具体的例子来说明。stl语句表如下: a i 2.0 fr t1 再启动定时器t1 a i 2.1 l s5t#10s 装入定时时间到accu1 sp t1 启动脉冲定时器t1 a i 2.2 r t1 定时器t1复位 a t1 = q4.0时序如下:(1)在定时器运行期间,使能输入端i 2.0有一个从“0”到“1”的变化,此时,定时器t1被再启动,定时时间恢复到预置初值从新开始计时。i 2.0有一个从“1”到“0”的变化没有作用。(2)虽然定时器没有运行,当使能
24、输入端i 2.0有一个从“0”到“1”的变化,同时定时器启动输入端i 2.1 处于高电平状态,此时,定时器t1也被启动。(3)当定时器启动输入端i 2.1 处于低电平状态,尽管使能输入端i 2.0有一个从“0”到“1”的变化,此时,定时器t1也不能启动。此点是难点注意讲深讲透教 案教 学 内 容备 注3.2.4 扩展脉冲定时器 extended pulse timer 例3.2.2 stl语句表如下:a i 0.0 l s5t#2s 装入定时时间到accu1 se t5 启动扩展脉冲定时器t5 a i 0.1 r t 5 定时器t5复位 a t 5 = q 4.0 fbd 功能图如下:时序图如
25、下:特别注意与脉冲定时器的不同点教 案教 学 内 容备 注3.2.5 接通延时定时器 on-delay timer接通延时定时器时序如下:例3.2.3stl语句表如下:a i 0.0 l s5t#2s 装入定时时间到accu1 sd t5 启动延时接通定时器t5 a i 0.1 r t 5 定时器t5复位 a t 5 = q 4.0fbd 功能图如下: 时序图如下:重点之重点结合习题讲深讲透教 案教 学 内 容备 注3.2.6 保持型接通延时定时器 retentive on-delay timer保持型接通延时定时器时序如下:例3.2.4 stl语句表如下:a i 0.0 l s5t#2s 装
26、入定时时间到accu1 ss t5 启动保持型延时接通定时器t5 a i 0.1 r t 5 定时器t5复位 a t 5 = q 4.0fbd 功能图如下:时序图如下:注意与接通延时定时器的区别教 案教 学 内 容备 注3.2.7 关断延时定时器 off - delay timer关断延时定时器时序如下:例3.2.5 stl语句表如下:a i 0.0 l s5t#2s 装入定时时间到accu1 sf t5 启动关断延时接通定时器t5 a i 0.1 r t 5 定时器t5复位 a t 5 = q 4.0fbd 功能图如下: 时序图如下:此种定时器时下降沿触发。与前四种不同教 案教 学 内 容备
27、 注3.3计数器指令3.3.1 计数器的结构 计数器是一种由位和字组成的复合单元,计数器的输出由位表示,其计数值存储在字存储器中。在cpu的存储器中留出了计数器区域,该区域用于存储计数器的计数值。每个计数器为2个字节(byte),称为计数字。在s7300中,计数器区为512个字节(byte),因此最多允许使用256个计数器。计数器的第0到第11位存放bcd码格式的计数值,三位bcd码表示的范围是0999。第1215位没有用途。s7中的计数器用于对rlo正跳沿计数。s7中有三种计数器,它们分别是:加计数器、减计数器和可逆计数器。只要计数器的计数值不是“0”,计数器的输出就为“1”。当计数器启动时
28、,累加器1低字的内容被当作计数初值装入计数字中。这一过程是由操作系统控制自动完成的,用户只需给累加器l装入不同的数值,即可设置需要的计数初值。l c# xyz其中: xyz记数初值,取值范围:1到999。fbd符号: 可逆计数器 加计数器 减计数器端子说明: cu 加计数输入 cd 减计数输入s 预置输入 pv 设置计数初值r 复位输入 q 计数器状态输出 cv 当前计数值输出(十六进制格式)bcd 当前计数值输出(bcd码格式)注意与定时器结构的异同点教 案教 学 内 容备 注 例3.3.1 fbd 功能图如下:stl语句表如下:a i 0.0cu c 10 计数器加计数a i 0.1cd
29、c 10 计数器减计数 a i 0.2s c 10 计数初值预置 l c#55 装入计数初值到accu1 a i 0.3 r c 10 计数器c10复位 a c 10 = q 4.0 l 当输入信号i 0.2由“0”变为“1”时,计数初值55被装入计数器c10;l 如果输入信号i 0.0由“0”变为“1”,计数器c10的计数值加1(除非c10的计数值已达到999);l 如果输入信号i 0.1由“0”变为“1”,计数器c10的计数值减1;(除非c10的计数值已减到0);l 如果输入信号i 0.3由“0”变为“1”,计数器c10被复位,计数值为0;l 只要计数器c10的计数值不为0,则q 4.0输
30、出就为“1”。3.3.2 计数器再启动指令fr enable counter 格式: fr 类似于定时器再启动指令fr,计数器再启动指令用于重新装载计数初值,计数器以新装入的计数值运行。要求熟记计数器各端子的名称及作用教 案教 学 内 容备 注3.4 装入和传输指令3.4.1装入和传输指令装入(l)和传送(t)指令可以在存储区之间或存储区与过程输入、输出之间交换数据。l指令将源操作数装入累加器l中,而累加器原有的数据移入累加器2中,累加器2中原有的内容被覆盖。t指令将累加器1中的内容写入目的存储区中,累加器的内容保持不变。l和t指令可对字节(8位)、字(16位)、双字(32位)数据进行操作,当
31、数据长度小于32位时,数据在累加器右对齐(低位对齐),其余各位填0。基本的装入和传送指令如下:l l 通用装入指令l l stw 将状态字寄存器的内容装入到累加器1 l lar1 ar2将地址寄存器2的内容装入到地址寄存器1l lar1 将32位的长整数装入到地址寄存器1l lar1 将累加器1的内容装入到地址寄存器1 l lar2 将32位的长整数装入到地址寄存器2l lar2 将累加器1的内容装入到地址寄存器2 l t 通用传输指令l t stw 将累加器1的内容传输到状态字寄存器l tar1 ar2将地址寄存器1的内容传输到地址寄存器2 l tar1 将地址寄存器1的内容传输到目的单元(
32、32位)l tar2 将地址寄存器1的内容传输到目的单元(32位)l tar1 将地址寄存器1的内容传输到累加器1l tar2 将地址寄存器1的内容传输到累加器2l car 交换地址寄存器的1的内容和地址寄存器2的内容交换 利用投影仪概括讲解教 案3.4.2 状态字状态字用于表示cpu执行指令时所具有的状态。一些指令是否执行或以何方式执行可能取决于状态字中的某些位;执行指令时也可能改变状态字中的某些位,也能在位逻辑指令或字逻辑指令中访问并检测他们。状态字的结构如下: 319 8 7 6 5 4 3 2 1 0 brcc1cc0osovorstarlo(1) 首位检测位()状态字的位0称为首位检
33、测位。若位的状态为0,则表明一个梯形逻辑网络的开始,或指令为逻辑串的第一条指令。cpu对逻辑串第一条指令的检测(称为首位检测)产生的结果直接保存在状态字的rlo位中,经过首次检测存放在rlo中的0或1被称为首位检测结果。位在逻辑串的开始时总是0,在逻辑串指令执行过程中位为1,输出指令或与逻辑运算有关的转移指令(表示一个逻辑串结束的指令)将清0。(2) 逻辑操作结果(rlo)状态字的位1称为逻辑操作结果rlo(result of logic operation)。该位存储逻辑指令或算术比较指令的结果。在逻辑串中,rlo位的状态能够表示有关信号流的信息。rlo的状态为1,表示有信号流(通);为0,
34、表示无信号流(断)。可用rlo触发跳转指令。(3) 状态位(sta)状态字的位2称为状态位。状态位不能用指令检测,它只是在程序测试中被cpu解释并使用。如果一条指令是对存储区操作的位逻辑指令,则无论是对该位的读或写操作,sta总是与该位的值取得一致;对不访问存储区的位逻辑指令来说,sta位没有意义,此时它总被置为1。(4) 或位(or)状态字的位3称为或位(or)。在先逻辑“与”后逻辑“或”的逻辑串中,or位暂存逻辑“与”的操作结果,以便进行后面的逻辑“或”运算。其它指令将or位清0。(5) 溢出位(ov)状态字的位4称为溢出位。溢出位被置1,表明一个算术运算或浮点数比较指令执行时出现错误(错
35、误:溢出、非法操作、不规范格式)。后面的算术运算或浮点数比较指令执行结果正常的话ov位就被清0。(6) 溢出状态保持位(os)状态字的位5称为溢出状态保持位(或称为存储溢出位)。ov被置1时os也被置1;ov被清0时os仍保持。所以它保存了ov位,可用于指明在先前的一些指令执行中是否产生过错误。只有下面的指令才能复位os位:jos(os=1时跳转);块调用指令和块结束指令。此节是重点又是难点对各状态位的要求不同一般了解熟练掌握一般了解充分理解熟练掌握熟练掌握教 案教 学 内 容备 注(7) 条件码1(cc1)和条件码0(cc0)状态字的位7和位6称为条件码1和条件码0。这两位结合起来用于表示在
36、累加器1中产生的算术运算或逻辑运算结果与0的大小关系;比较指令的执行结果或移位指令的移出位状态。详见表4.4.2.1和表4.4.2.2。4.4.2.1算术运算后的cc1和cc0cclcco算术运算无溢出整数算术运算有溢出浮点数算术运算有溢出00结果0整数加时产生负范围溢出平缓下溢01结果0乘时负范围溢出;加、减、取负时正溢出负范围溢出10结果0乘、除时正溢出;加、减时负溢出正范围溢出11在除时除数为0非法操作4.4.2.2 比较、移位和循环移位、字逻辑指令后的cc1和cc0cclcco比较指令移位和循环指令字逻辑指令00累加器2累加器1移位0结果001累加器2累加器110累加器2累加器1结果0
37、11不规范(只用于浮点数比较)移出位1(8) 二进制结果位(br)状态字的位8称为二进制结果位。它将字处理程序与位处理联系起来,在一段既有位操作又有字操作的程序中,用于表示字操作结果是否正确(异常)。将br位加入程序后,无论字操作结果如何,都不会造成二进制逻辑链中断。在lad的方块指令中,br位与eno有对应关系,用于表明方块指令是否被正确执行:如果执行出现了错误,br位为0,eno也为0;如果功能被正确执行,br位为1,eno也为1。在用户编写的fb和fc程序中,必须对br位进行管理,当功能块正确运行后使br位为1,否则使其为0。使用stl指令save或lad指令(save),可将rlo存入
38、br中,从而达到管理br位的目的。当fb或fc执行无错误时,使rlo为1并存入br,否则,在br中存入0。充分理解熟练掌握教 案教 学 内 容备 注3.4.3 读取或传送状态字 lstw /将状态字中08位装入累加器1中,累加器931位被清0 tstw /将累加器1中的内容传送到状态字中注:对 s7-300系列的cpu, lstw不对状态字中的sc、sta、or位进行操作,仅将状态字中的1,4,5,6,7位装入累加器1的对应位。3.4.4 装入时间值或计数值 定时器字中的剩余时间值以二进制格式保存,用l指令从定时器字中读出二进制时间值装入累加器1中,称为直接装载。也可用lc指令以dcd码格式读
39、出时间值,装入累加器1低字中,称为bcd码格式读出时间值。以bcd码格式装入时间值可以同时获得时间值和时基,时基与时间值相乘就得到定时剩余时间。l t1 /将定时器t1中二进制格式的时间值直接装入累加器1的低字中lc t1 /将定时器t1中的时间值和时基以bcd码格式装入累加器1 低字中对当前计数值也可以直接装载和以bcd码格式读出当前计数值。l c1 /将计数器c1中计数值以二进制格式装入累加器1的低字中lc c1 /将计数器c1中的计数值以bcd码格式装入累加器1低字中3.4.5地址寄存器装入和传送对于地址寄存器,可以不经过累加器1而直接将操作数装入或传出,或将两个地址寄存器的内容直接交换
40、。指令格式: lar1 说明:将操作数的内容装入地址寄存器1(arl);指令格式: lar2说明:将操作数的内容装入地址寄存器2(ar2);指令格式:tar1说明:将arl的内容传送给存储区或ar2;指令格式:tar2说明:将arl的内容传送给存储区或ar2;指令格式:car说明:交换arl和ar2的内容熟练掌握一般了解教 案教 学 内 容备 注例 3.4.2 larl p#i0.0 /将输入位i0.0的地址指针装入arl lar2 p#0.0 /将二进制数2#00000000 00000000 00000000 00000000 装入ar2lar1 p#start /将符号名为start的存
41、储器的地址指针装入arl larl ar2 /将ar2的内容装入arl larl dbd20 /将数据双字dbd 20的内容装入arl tarl ar2 /将arl的内容传送至ar2tar2 /将ar2的内容传送至累加器1tarl md 20 /将arl的内容传送至存储器双字md 20car /交换arl和ar2的内容 3.4.6传送指令 fbd符号: 端子说明: en 允许输入端 in 源数据输入端 out 目的操作数输出 eno 允许输出端 例 3.4.3 语句表如下: a i 0.0 jnb _0001 l mw 10 t dbw 12 set / 使rlo为1 save / 使br为1
42、 clr _0001: a br = q 40重点要求教 案教 学 内 容备 注3.5.比较指令比较指令用于比较累加器2与累加器1中的数据大小。比较时应确保两个数的数据类型相同,数据类型可以是整数、长整数或实数若比较的结果为真,则rlo为1,否则为0。比较指令影响状态字,用指令测试状态字有关位,可得到两个数更详细的情况。3.5.1比较两个整数或长整数指令说 明= =i= =d比较累加器2低字中的整数是否等于累加器1低字中的整数比较累加器2中的长整数是否等于累加器1中的长整数id比较累加器2低字中的整是否不等于累加器1低字中的数比较累加器2中的长整数是否不等于累加器1中的长整数id比较累加器2低字中的整数是否大于累加器l低字中的整数比较累加器2中的长整数是否大于累加器1中的长整数id比较累加器2低字中的整数是否小于累加器1低字中的整数比较累加器2中的长整数是否小于累加器l中的长整数id比较累加器2低字中的数是否大于等于累加器l低字中的数比较累加器2中的长整数是否大于等于累加器1中的长整数id比较累加器2低字中的整是否小于等于累加器1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度物业公司提供物业管理软件合同
- 2024年度技术转让合同:研究机构将其科研成果转让给高新技术企业的合同
- 2024年度房屋租赁合同的房屋位置和使用条件规定
- 2024年度厂房租赁合同详述
- 2024年度爱奇艺体育节目制作委托合同
- 2024年度品牌授权经营合同(服装品牌)
- 热敏纸市场发展现状调查及供需格局分析预测报告
- 硫磺棒消毒用项目评价分析报告
- 轻型飞机市场发展现状调查及供需格局分析预测报告
- 空气干燥器市场发展现状调查及供需格局分析预测报告
- 数字经济与智慧物流发展趋势课件
- 《理想信念主题班会》课件
- 手术讲解模板:胎头吸引术课件整理整理
- 水、电解质紊乱的诊治【课件】
- 地理八年级上册-总复习知识梳理课件
- 接待礼仪流程培训课件
- 五年级上册数学课件-5简易方程《解方程(例4、5)》 人教新课标 (共20张PPT)
- 数控铣床的对刀操作
- 压裂和测试流程连接推荐做法
- 好书推荐-《枫林渡》课件
- 中图版八年级下册地理知识点
评论
0/150
提交评论