高达最好看的飞船:siemens PLC 培训教案

来源:百度文库 编辑:偶看新闻 时间:2024/05/08 02:44:46
教  案
 
教 学 内 容
 
备 注
 
第一章         绪论
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取反
l        SET    Set RLO (=1)     RLO=1
l        CLR    Clear RLO (=0)   RLO=0
l        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
将RLO的状态保存到BR
l        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.0
2.逻辑“或”操作
只要有一个输入信号为“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”时,输出信号为“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.1
4.逻辑取反操作
逻辑取反操作对逻辑运算结果RLO取反。
功能图(FBD)符号:
梯形图(LAD)符号:
---|NOT|---
语句表(STL)符号:
NOT
 
引导学生举出生活中异或关系的例子
 
教  案
 
教 学 内 容
 
备 注
 
例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.0
5.中间输出符号
中间输出指令用于存储RLO的中间值,该值是中间输出指令前的位逻辑操作结果。中间输出指令不能用于结束一个逻辑串,因此,中间输出指令不能放在逻辑串的结尾或分支的结尾处。
 
特别要讲清楚中间符号的作用
 
教  案
 
教 学 内 容
 
备 注
 
例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.6
M 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 都为“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   I 1.1
)
A(
O   I 1.2
O   I 1.3
)
=   Q 3.1
 
牢记位逻辑运算的规则。
重点是在语句表中
 
 
课程
 
可编程控制技术
 
班级
 
电气工程自动化
 
学期
 
5
 
课时
 
4h
 
累计课时
 
16h
 
教师
 
 
上课日期
 
 
课程类型
 
理论,实验。
 
 
课程名称
(章、节)
 
第三章 指令系统
 
3.1位逻辑指令 Bit Logic Instructions (3.1.2~3.1.4)
 
教学目的
要 求
 
使学生熟练掌握西门子S7-300系列可编程控制器的置位/复位指令。
 
教学重点
 
置位/复位指令的符号,功能,使用条件。
 
教学难点
 
置位/复位指令的记忆功能。
 
主要教具
设备材料
 
投影仪、S7-300可编程控制器、计算机及编程软件
 
课后记
 
置位/复位指令对于较熟悉继电—接触器控制的学生来说是个较新的概念。同时又是非常重要的指令。注意引导学生结合数字电路的RS触发器以及继电—接触器系统中的“自保”结构充分理解。
 
教  案
 
教 学 内 容
 
备 注
 
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            置位指令
梯形图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)语言如下:
语句表(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,触发器也保持置位不变。如果复位输入端为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 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边沿信号识别指令
1.RLO边沿信号识别指令
当信号状态变化时就产生跳变沿,当从0变到1时,产生一个上升沿(或正跳沿);若从1变到0,则产生一个下降沿(或负跳沿)。跳变沿检测的原理是:在每个扫描周期中把信号状态和它在前一个扫描周期的状态进行比较,若不同则表明有一个跳变沿。因此,前一个周期里的信号状态必须被存储,以便能和新的信号状态相比较。
l        下降沿信号识别指令
若CPU检测到输入有一个负跳沿,将使得输出线圈在一个扫描周期内通电。对输入扫描的RLO值存放在存储位中。
在OB1的扫描周期中,CPU扫描并形成RLO值,若该RLO值是0且上次RLO值是1,这说明FN指令检测到一个RLO的负跳沿,那么FN指令把RLO位置1。如果RLO在相邻的两个扫描周期中相同(全为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语句把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中。
在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。如果在相邻的两个扫描周期中状态相同(全为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 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操作
 
 
课程
 
可编程控制技术
 
班级
 
电气工程自动化
 
学期
 
5
 
课时
 
4h
 
累计课时
 
20h
 
教师
 
 
上课日期
 
 
课程类型
 
理论,实验。
 
 
课程名称
(章、节)
 
第三章 指令系统
 
3.2 定时器指令 Time Instructions(3.2.1~3.2.4)
 
教学目的
要 求
 
使学生熟练掌握西门子S7-300系列可编程控制器的脉冲定时器及扩展脉冲定时器及有关指令。
 
教学重点
 
西门子S7-300系列的脉冲定时器及扩展脉冲定时器。
 
教学难点
 
脉冲定时器及扩展脉冲定时器的特性、区别、适用场合。
 
主要教具
设备材料
 
投影仪、S7-300可编程控制器、计算机及编程软件
 
课后记
 
定时器应用较为广泛,生产生活中的例子也不少,但一定要引导学生分清楚各种定时器的区别,不同类型定时器输出信号与输入信号的关系
 
教  案
 
教 学 内 容
 
备 注
 
3.2 定时器指令
3.2.1 定时器的结构
S7中定时时间由时基和定时值两部分组成,定时时间等于时基与定时值的乘积。当定时器运行时,定时值不断减1,直至减到0,减到0表示定时时间到。定时时间到后会引起定时器触点的动作。
定时器的第0到第11位存放BCD码格式的定时值,三位BCD码表示的范围是0~999。第12,13位存放二进制格式的时基。
从下表中可以看出:时基小定时分辨率高,但定时时间范围窄;时基大分辨率低,但定时范围宽。
 
时 基
 
二进制时基
 
分辨率
 
定 时 范 围
 
10 s
 
00
 
0.01 s
 
10ms至9s_990ms
 
100ms
 
0l
 
0.1 s
 
100ms至1m_39s_900ms
 
1 s
 
10
 
1s
 
1s至16m_39s
 
10 s
 
11
 
10 s
 
10s至2h_46m_30s
 
当定时器启动时,累加器1低字的内容被当作定时时间装入定时字中。这一过程是由操作系统控制自动完成的,用户只需给累加器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;此时,时基是自动选择的,原则是:根据定时时间选择能满足定时范围要求的最小时基。
 
此节是定时器的基础知识
若某些同学理解上有困难,可暂时放一放
 
教  案
 
教 学 内 容
 
备 注
 
S7—300提供了多种形式的定时器:脉冲定时器(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.0
FBD 功能图如下:
时序图如下:
 
结合实际例子让同学充分理解。
 
教  案
 
教 学 内 容
 
备 注
 
3. 2. 3 定时器再启动指令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)虽然定时器没有运行,当使能 输入端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 功能图如下:
时序图如下:
 
特别注意与脉冲定时器的不同点
 
 
课程
 
可编程控制技术
 
班级
 
电气工程自动化
 
学期
 
5
 
课时
 
4h
 
累计课时
 
24h
 
教师
 
 
上课日期
 
 
课程类型
 
理论,实验。
 
 
课程名称
(章、节)
 
第三章 指令系统
 
3.2 定时器指令 Time Instructions(3.2.5~3.2.7)
 
教学目的
要 求
 
使学生熟练掌握西门子S7-300系列可编程控制器的延时接通定时器等有关指令。
 
教学重点
 
西门子S7-300系列的延时接通定时器。
 
教学难点
 
延时接通定时器的特性、区别、适用场合。
 
主要教具
设备材料
 
投影仪、S7-300可编程控制器、计算机及编程软件
 
课后记
 
延时接通定时器生产实际中用得最为广泛,此种类型的定时器要求同学必须熟练掌握。
 
教  案
 
教 学 内 容
 
备 注
 
3.2.5 接通延时定时器 ON-Delay Timer
接通延时定时器时序如下:
例3.2.3
STL语句表如下:
A     I 0.0
L     S5T#2s        \\装入定时时间到ACCU1
SD    T5            \\启动延时接通定时器T5
A     I 0.1
R     T 5            \\定时器T5复位
A     T 5
=     Q 4.0
FBD 功能图如下:
时序图如下:
 
重点之重点
结合习题讲深讲透
 
教  案
 
教 学 内 容
 
备 注
 
3.2.6 保持型接通延时定时器  Retentive ON-Delay Timer
保持型接通延时定时器时序如下:
例3.2.4
STL语句表如下:
A     I 0.0
L     S5T#2s     \\装入定时时间到ACCU1
SS    T5         \\启动保持型延时接通定时器T5
A     I 0.1
R     T 5        \\定时器T5复位
A     T 5
=     Q 4.0
FBD 功能图如下:
时序图如下:
 
注意与接通延时定时器的区别
 
教  案
 
教 学 内 容
 
备 注
 
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.0
FBD 功能图如下:
时序图如下:
 
此种定时器时下降沿触发。与前四种不同
 
 
课程
 
可编程控制技术
 
班级
 
电气工程自动化
 
学期
 
5
 
课时
 
4h
 
累计课时
 
28h
 
教师
 
 
上课日期
 
 
课程类型
 
理论,实验。
 
 
课程名称
(章、节)
 
第三章 指令系统
 
3.3计数器指令   Counter Instructions
3.4 装入和传输指令 Load and Transfer Instructions
 
教学目的
要 求
 
使学生熟练掌握西门子S7-300系列可编程控制器的计数器指令以及装入和传输指令。
 
教学重点
 
计数器指令以及装入和传输指令。
 
教学难点
 
不同类型数据的传输方式。
 
主要教具
设备材料
 
投影仪、S7-300可编程控制器、计算机及编程软件。
 
课后记
 
计数器也是电器控制系统中的重要部件,注意讲清楚计数值的输出形式
 
教  案
 
教 学 内 容
 
备 注
 
3.3计数器指令
3.3.1 计数器的结构
计数器是一种由位和字组成的复合单元,计数器的输出由位表示,其计数值存储在字存储器中。在CPU的存储器中留出了计数器区域,该区域用于存储计数器的计数值。每个计数器为2个字节(Byte),称为计数字。在S7—300中,计数器区为512个字节(Byte),因此最多允许使用256个计数器。
计数器的第0到第11位存放BCD码格式的计数值,三位BCD码表示的范围是0~999。第12~15位没有用途。
S7中的计数器用于对RLO正跳沿计数。S7中有三种计数器,它们分别是:加计数器、减计数器和可逆计数器。只要计数器的计数值不是“0”,计数器的输出就为“1”。
当计数器启动时,累加器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.0
CU    C 10          \\计数器加计数
A     I 0.1
CD    C 10          \\计数器减计数
A     I 0.2
S     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输出就为“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位)数据进行操作,当数据长度小于32位时,数据在累加器右对齐(低位对齐),其余各位填0。基本的装入和传送指令如下:
l        L        通用装入指令
l        L STW   将状态字寄存器的内容装入到累加器1
l        LAR1 AR2将地址寄存器2的内容装入到地址寄存器1
l        LAR1 将32位的长整数装入到地址寄存器1
l        LAR1     将累加器1的内容装入到地址寄存器1
l        LAR2 将32位的长整数装入到地址寄存器2
l        LAR2    将累加器1的内容装入到地址寄存器2
l        T       通用传输指令
l        T STW    将累加器1的内容传输到状态字寄存器
l        TAR1 AR2将地址寄存器1的内容传输到地址寄存器2
l        TAR1 将地址寄存器1的内容传输到目的单元(32位)
l        TAR2 将地址寄存器1的内容传输到目的单元(32位)
l        TAR1    将地址寄存器1的内容传输到累加器1
l        TAR2    将地址寄存器1的内容传输到累加器2
l        CAR    交换地址寄存器的1的内容和地址寄存器2的内容交换
 
利用投影仪
概括讲解
 
教  案
 
3.4.2 状态字
状态字用于表示CPU执行指令时所具有的状态。一些指令是否执行或以何方式执行可能取决于状态字中的某些位;执行指令时也可能改变状态字中的某些位,也能在位逻辑指令或字逻辑指令中访问并检测他们。状态字的结构如下:
31……………9     8    7    6    5    4    3     2    1    0
 
 
BR
 
CC1
 
CC0
 
OS
 
OV
 
OR
 
STA
 
RLO
 
 
(1)       首位检测位( )
状态字的位0称为首位检测位。若 位的状态为0,则表明一个梯形逻辑网络的开始,或指令为逻辑串的第一条指令。CPU对逻辑串第一条指令的检测(称为首位检测)产生的结果直接保存在状态字的RLO位中,经过首次检测存放在RLO中的0或1被称为首位检测结果。 位在逻辑串的开始时总是0,在逻辑串指令执行过程中 位为1,输出指令或与逻辑运算有关的转移指令(表示一个逻辑串结束的指令)将 清0。
(2)       逻辑操作结果(RLO)
状态字的位1称为逻辑操作结果RLO(Result of Logic Operation)。该位存储逻辑指令或算术比较指令的结果。在逻辑串中,RLO位的状态能够表示有关信号流的信息。RLO的状态为1,表示有信号流(通);为0,表示无信号流(断)。可用RLO触发跳转指令。
(3)       状态位(STA)
状态字的位2称为状态位。状态位不能用指令检测,它只是在程序测试中被CPU解释并使用。如果一条指令是对存储区操作的位逻辑指令,则无论是对该位的读或写操作,STA总是与该位的值取得一致;对不访问存储区的位逻辑指令来说,STA位没有意义,此时它总被置为1。
(4)       或位(OR)
状态字的位3称为或位(OR)。在先逻辑“与”后逻辑“或”的逻辑串中,OR位暂存逻辑“与”的操作结果,以便进行后面的逻辑“或”运算。其它指令将OR位清0。
(5)       溢出位(OV)
状态字的位4称为溢出位。溢出位被置1,表明一个算术运算或浮点数比较指令执行时出现错误(错误:溢出、非法操作、不规范格式)。后面的算术运算或浮点数比较指令执行结果正常的话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。这两位结合起来用于表示在累加器1中产生的算术运算或逻辑运算结果与0的大小关系;比较指令的执行结果或移位指令的移出位状态。详见表4.4.2.1和表4.4.2.2。
4.4.2.1算术运算后的CC1和CC0
 
CCl
 
CCO
 
算术运算
无溢出
 
整数算术运算
有溢出
 
浮点数算术运算
有溢出
 
0
 
0
 
结果=0
 
整数加时产生负范围溢出
 
平缓下溢
 
0
 
1
 
结果<0
 
乘时负范围溢出;加、减、取负时正溢出
 
负范围溢出
 
1
 
0
 
结果>0
 
乘、除时正溢出;加、减时负溢出
 
正范围溢出
 
1
 
1
 

 
在除时除数为0
 
非法操作
 
4.4.2.2 比较、移位和循环移位、字逻辑指令后的CC1和CC0
 
CCl
 
CCO
 
比较指令
 
移位和循环指令
 
字逻辑指令
 
0
 
0
 
累加器2=累加器1
 
移位=0
 
结果=0
 
0
 
1
 
累加器2<累加器1
 

 

 
1
 
0
 
累加器2>累加器1
 

 
结果≠0
 
1
 
1
 
不规范
(只用于浮点数比较)
 
移出位=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存入BR中,从而达到管理BR位的目的。当FB或FC执行无错误时,使RLO为1并存入BR,否则,在BR中存入0。
 
充分理解
熟练掌握
 
教  案
 
教 学 内 容
 
备 注
 
3.4.3 读取或传送状态字
LSTW    //将状态字中0—8位装入累加器1中,累加器9—31位被清0
TSTW    //将累加器1中的内容传送到状态字中
注:对 S7-300系列的CPU, LSTW不对状态字中的SC、STA、OR位进行操作,仅将状态字中的1,4,5,6,7位装入累加器1的对应位。
3.4.4 装入时间值或计数值
定时器字中的剩余时间值以二进制格式保存,用L指令从定时器字中读出二进制时间值装入累加器1中,称为直接装载。也可用LC指令以DCD码格式读出时间值,装入累加器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而直接将操作数装入或传出,或将两个地址寄存器的内容直接交换。
指令格式: 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
装入AR2
LAR1  P#Start   //将符号名为Start的存储器的地址指针装入ARl
LARl  AR2       //将AR2的内容装入ARl
LARl  DBD20     //将数据双字DBD 20的内容装入ARl
TARl  AR2       //将ARl的内容传送至AR2
TAR2            //将AR2的内容传送至累加器1
TARl  MD 20     //将ARl的内容传送至存储器双字MD 20
CAR             //交换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
CLR
_0001:  A    BR
=    Q  4.0
 
重点要求
 
 
课程
 
可编程控制技术
 
班级
 
电气工程自动化
 
学期
 
5
 
课时
 
4h
 
累计课时
 
32h
 
教师
 
 
上课日期
 
 
课程类型
 
理论,实验。
 
 
课程名称
(章、节)
 
第三章 指令系统
 
3.5比较指令 Comparision Instructions
3.6转换指令 Conversion Instructions
 
教学目的
要 求
 
使学生掌握西门子S7-300系列可编程控制器的比较指令以及转换指令。
 
教学重点
 
比较指令。
 
教学难点
 
不同类型数据的转换。
 
主要教具
设备材料
 
投影仪、S7-300可编程控制器、计算机及编程软件
 
课后记
 
学习本章可以让学生结合学习单片机的有关指令充分理解,同时又要注意与单片及类似指令的不同点。
这两节内容都只要求理解即可
 
教  案
 
教 学 内 容
 
备 注
 
3.5.比较指令
比较指令用于比较累加器2与累加器1中的数据大小。比较时应确保两个数的数据类型相同,数据类型可以是整数、长整数或实数.若比较的结果为真,则RLO为1,否则为0。比较指令影响状态字,用指令测试状态字有关位,可得到两个数更详细的情况。
3.5.1比较两个整数或长整数
 
指令
 
说    明
 
= =I
= =D
 
比较累加器2低字中的整数是否等于累加器1低字中的整数
比较累加器2中的长整数是否等于累加器1中的长整数
 
<>I
<>D
 
比较累加器2低字中的整是否不等于累加器1低字中的数
比较累加器2中的长整数是否不等于累加器1中的长整数
 
>I
>D
 
比较累加器2低字中的整数是否大于累加器l低字中的整数
比较累加器2中的长整数是否大于累加器1中的长整数
 
<I
<D
 
比较累加器2低字中的整数是否小于累加器1低字中的整数
比较累加器2中的长整数是否小于累加器l中的长整数
 
>=I
>=D
 
比较累加器2低字中的数是否大于等于累加器l低字中的数
比较累加器2中的长整数是否大于等于累加器1中的长整数
 
<=I
<=D
 
比较累加器2低字中的整是否小于等于累加器1低字中的整
比较累加器2中的长整数是否小于等于累加器1中的长整数
 
例3.5.1:
比较存储字MW10和输入字IW10中整数的大小。如果两个整数相等,则输出Q 4.0为1;若MW10中的数大,则输出Q 4.1为1;若IW10中的数大,则输出Q 4.2为1。
L  MW 10   // 第一个待比较的数装入累加器1
L  IW      // 第二个待比较的数装入累加器l,第一个数被装入累加器2
==I
= Q 4.0   // 若(MW 10)=(IW10),则Q 4.0为l,否则为0
>I
= Q 4.1   // 若(MW 10)>(1W10),则Q 4.1为1,否则为0
<I
= Q 4.2   // 若(MWl0)<(IWl0),则Q 4.2为l,否则为0
 
利用投影仪讲解
 
教  案
 
教 学 内 容
 
备 注
 
3.5.2比较两个实数
 
指 令
 
说    明
 
= =R
 
比较累加器2中的32位实数是否等于累加器l中的实数
 
<>R
 
比较累加器2中的32位实数是否不等于累加器l中的实数
 
>R
 
比较累加器2中的32位实数是否大于累加器1中的实数
 
<R
 
比较累加器2中的32位实数是否小于累加器1中的实数
 
>=R
 
比较累加器2中的32位实数是否大于等于累加器1中的数
 
<=R
 
比较累加器2中的32位实数是否小于等于累加器l中的数
 
例3.5.2:
如果存储双字MD 24中的实数大于1.0,则输出Q 4.1为1;若小于1.0则输出Q 4.2为1。
L    MD  24
L    +1.359E+02
>R
=   Q 4.1    //若(MD 24)>+1.359E+02,Q 4.1为1,否则为0
<R
=   Q 4.2    //若(MD 24)<+1.359E+02,Q 4.2为l,否则为0
例3.5.3
这是一个限值监测程序,当数据字DBWl5的值大于l05时,输出Q 4.0为1;当数据字DBWl5的值小于77时,输出Q 4.1为1;数值在77到105范围内时,输出Q 4.0和Q 4.1均为0。下面是与其对应的语句表程序:
L    DBW 15
L    +l05
>I
=   Q 4.0
L    DBW 15
L    +77
<I
=   Q 4.1
 
一般了解,不作为重点
 
教  案
 
教 学 内 容
 
备 注
 
3.6. 转换指令
转换指令将累加器1中的数据进行类型转换,转换的结果仍在累加器l中。能够实现的转换操作有:BCD码和整数及长整数间的转换,实数和长整数间的转换,数的取反、取负,字节扩展等。
在STEP 7中,整数和长整数是以补码形式表示的。BCD码数值有两种:一种是字(16位)格式的BCD码数,其数值范围从-999到+999;另一种是双字(32位)格式的BCD码数,范围从-9999999到+9999999。
3.6.1 BCD和整数间的转换
 
指令
 
说              明
 
BTI
 
将累加器1低字中的3位BCD码数转换为16位整数
 
BTD
 
将累加器1中的7位BCD码数转换为32位整数
 
ITB
 
将累加器1低字中的16位整数转换为3位BCD码数
 
ITD
 
将累加器l低字中的16位整数转换为32位整数
 
DTB
 
将累加器1中的32位整数转换为7位BCD码数
 
DTR
 
将累加器1中的32位整数转换为32位浮点数
 
l       BTI指令
SLT格式:    BTI
说明:将累加器1低字中的3位BCD码数转换为16位整数,装入累加器1的低字中(0~11位);低字的最高位(15位)为符号位。
累加器1的高字及累加器2的内容不变。
例3.6.1   L  MW 10
BTI
T  MW20
l       BTD指令
SLT格式:    BTD
说明:将累加器1中的7位BCD码数转换为32位整数,装入累加器1中,(0~27位);最高位(31位)为符号位。
 
注意BCD码的格式
 
教  案
 
教 学 内 容
 
备 注
 
l       ITB指令
SLT格式:    ITB
说明: 将累加器1低字中的16位整数转换为3位BCD码数,16位整数的范围是-999~+999。如果欲转换的数据超出范围,则有溢出发生,同时将OV和OS位置位。
累加器1的低字中(0~11位)存放三位BCD码。(12~15)位作为符号位,(0000)表示正数,(1111)表示负数。累加器1高字(16~31位)不变。
例3.6.2
L  MW 10
ITB
T  MW20
l       ITD指令
SLT格式:    ITD
说明:  将累加器l低字中的16位整数转换为32位整数,16位整数的范围是-999~+999。如果欲转换的数据超出范围,则有溢出发生,同时将OV和OS位置位。
累加器1的低字中(0~11位)存放三位BCD码。(12~15)位作为符号位,(0000)表示正数,(1111)表示负数。累加器1高字(16~31位)不变。
例3.6.3   L  MW 10
ITB
T  MW20
 
注意转换后符号位的情况
 
教  案
 
教 学 内 容
 
备 注
 
l       DTB指令
SLT格式:    DTB
说明:  将累加器1中的32位整数转换为7位BCD码数,32位整数的范围是-9999999~+9999999。如果欲转换的数据超出范围,则有溢出发生,同时将OV和OS位置位。
累加器1中(0~27位)存放7位BCD码。(28~31)位作为符号位,(0000)表示正数,(1111)表示负数。
例3.6.4
L  MD 10
DTB
T  MD20
l       DTR指令
SLT格式:    DTR
说明:  将累加器1中的32位整数转换为32位浮点数(IEEE-FP)
例3.6.5
L  MD 10
DTR
T  MD20
 
一般了解,不作为重点
 
教  案
 
教 学 内 容
 
备 注
 
3.6.2  实数和长整数间的转换
 
指 令
 
说       明
 
RND
 
将实数化整为最接近的整数。
 
RND+
 
将实数化整为大于或等于该实数的最小整数
 
RND-
 
将实数化整为小于或等于该实数的最大整数
 
TRUNC
 
取实数的整数部分(截尾取整)
 
因为实数的数值范围远大于32位整数,所以有的实数不能成功地转换为32位整数。如果被转换的实数格式非法或超出了32位整数的表示范围,则在累加器1中得不到有效结果,而且状态字中的OV和OS被置1。
上面的指令都是将累加器1中的实数化整为32位整数,因化整的规则不同,所以在累加器1中得到的结果也不一致,如下表
 
执行的
指令
 
累加器l内容
 
说    明
 
化整前
 
化整结果
 
RND
 
+99.5
 
+100
 
将实数化整为最接近的整数
 
RND+
 
+99.5
 
+100
 
将实数化整为大于或等于该实数的最小整数
 
RND-
 
+99.5
 
+99
 
将实数化整为小于或等于该实数的最大整数
 
TRUNC
 
+99.5
 
+99
 
只取实数的整数部分(截尾取整)
 
3.6.3数的取反取负
 
指  令
 
说    明
 
INVI
 
对累加器l低字中的16位整数求反码
 
INVD
 
对累加器1中的32位整数求反码
 
NEGI
 
对累加器1低字中的16位整数求补码。相当于乘-1
 
NEGD
 
对累加器1中的32位整数求补码。相当于乘-1
 
NEGR
 
对累加器1中的32位实数的符号位求反码
 
对累加器中的数求反码,即逐位将0变为1,1变为0。对累加器中的整数求补码,则逐位取反,再对累加器中的内容加1。对一个整数求补码相当于对该数乘以-1。实数取反是将符号位取反。
 
此节内容要求一般了解
注意与计算机中反码、补码意义上的区别
 
教  案
 
教 学 内 容
 
备 注
 
l        INVI 指令
l        INVD 指令
l        NEGI 指令
l        NEGD 指令
l        NEGR 指令
 
注意各条指令的意义及相互区别
 
教  案
 
教 学 内 容
 
备 注
 
3.6.4  字节交换指令
l        CAW  累加器1低字字节交换指令
格式:    CAW
说明:  将累加器1低字的高位字节和低位字节交换,高字不变。
 
 
ACCU1_H-H
 
ACCU1_H-L
 
ACCU1_L-H
 
ACCU1_L-L
 
CAW指令执行前
 
数据A
 
数据B
 
数据C
 
数据D
 
CAW指令执行后
 
数据A
 
数据B
 
数据D
 
数据C
 
l       CAD  累加器1字节交换指令
格式:    CAD
说明:累加器1中的4个字节进行整字节交换。交换顺序如下:
 
 
ACCU1_H-H
 
ACCU1_H-L
 
ACCU1_L-H
 
ACCU1_L-L
 
CAD指令执行前
 
数据A
 
数据B
 
数据C
 
数据D
 
CAD指令执行后
 
数据D
 
数据C
 
数据B
 
数据A
 
 
注意两条指令的区别
 
 
课程
 
可编程控制技术
 
班级
 
电气工程自动化
 
学期
 
5
 
课时
 
4h
 
累计课时
 
36h
 
教师
 
 
上课日期
 
 
课程类型
 
理论,实验。
 
 
课程名称
(章、节)
 
第三章 指令系统
 
3.7  算术运算指令 Math Instructions
 
教学目的
要 求
 
使学生掌握西门子S7-300系列可编程控制器的算术运算指令。
 
教学重点
 
西门子S7-300系列的算术运算指令。
 
教学难点
 
浮点数的运算。
 
主要教具
设备材料
 
投影仪、S7-300可编程控制器、计算机及编程软件
 
课后记
 
西门子S7系列可编程序控制器的算术运算功能非常强大,这里我们只要求学生掌握整数算术运算指令,对浮点数算术运算指令只要求一般理解
 
教  案
 
教 学 内 容
 
备 注
 
3.7  算术运算指令
3.7.1 整数算术运算指令
在STEP 7中可以对整数、长整数和实数进行加、减、乘、除算术运算。算术运算指令在累加器1和2中进行,在累加器2中的值作为被减数或被除数。算术运算的结果保存在累加器1中,累加器1原有的值被运算结果覆盖,累加器2中的值保持不变。
CPU在进行算术运算时,不必考虑RLO,对RLO也不产生影响。学习算术运算指令必须注意算术运算的结果将对状态字的某些位产生影响,这些位是:CC1和CC0,OV,OS。在位操作指令和条件跳转指令中,经常要对这些标志位进行判断来决定进行什么操作。
l         +I     16位整数相加指令
l         -I     16位整数相减指令
l          *I     16位整数相乘指令
l          / I     16位整数除法指令
l         +D    32位整数相加指令
l         -D    32位整数相减指令
l          * D    32位整数相乘指令
l          / D    32位整数除法指令
l         MOD   32位整数除法取余数指令
例3.7.1
L  MW0     // 将MW 0中的值装入累加器1低字
L  MW2     // 将MW 2中的值装入累加器1低字,累加器1低字中的原值移入累加器2低字
+I          // 将累加器l低字和累加器2中的低字相加
T  MW10    // 将运算结果送到MW 10
* FBD 格式
与STL语句表指令不同处在于多了使能输入端EN和使能输出端ENO。只有当I 0.0=1时,才进行加法运算。如果运算的结果超出范围或者I 0.0=0,则Q 4.0=0。
 
注意算术运算指令对CC1和CC0,OV,OS 的影响
 
教  案
 
教 学 内 容
 
备 注
 
3.7.2 浮点数算术运算指令
S7300系列CPU 可以处理符合IEEE标准的32位浮点数。可以完成32位浮点数的加、减、乘、除运算,以及取绝对值、平方、开平方、指数、对数、三角函数、反三角函数等指令。
l        基本的浮点数算术运算指令
 
STL
指令
 
FBD符号
 
说    明
 
+R
 
 
将累加器1,2中的32位浮点数相加,32位结果保存在累加器1中。
 
-R
 
 
用累加器2中的32位浮点数减去累加器1中的浮点数,结果保存在累加器1中。
 
*R
 
 
将累加器l,2中的32位浮点数相乘,32位乘积保存在累加器1中。
 
/R
 
 
用累加器2中的32位浮点数除以累加器1中的浮点数,32位商保存在累加器1中。
 
ABS
 
 
对累加器l中的32位浮点数取绝对值。
 
 
一般介绍,不做重点
 
教  案
 
教 学 内 容
 
备 注
 
l        扩展的浮点数算术运算指令
 
STL指令
 
FBD符号
 
说        明
 
SQR
 
 
求累加器1中的32位浮点数的平方值。
 
SQRT
 
 
求累加器1中的32位浮点数的开平方值
 
EXP
 
 
求累加器1中的32位浮点数以e为底的指数
 
LN
 
 
求累加器1中的32位浮点数的自然对数
 
SIN
 
 
求累加器1中的32位浮点数的正弦值
 
COS
 
 
求累加器1中的32位浮点数的余弦值
 
TAN
 
 
求累加器1中的32位浮点数的正切值
 
ASIN
 
 
求累加器1中的32位浮点数的反正弦值
 
ACOS
 
 
求累加器1中的32位浮点数的反余弦值
 
ATAN
 
 
求累加器1中的32位浮点数的反正切值
 
 
利用投影仪
 
 
课程
 
可编程控制技术
 
班级
 
电气工程自动化
 
学期
 
5
 
课时
 
4h
 
累计课时
 
40h
 
教师
 
 
上课日期
 
 
课程类型
 
理论,实验。
 
 
课程名称
(章、节)
 
第三章 指令系统
 
3.8 移位和循环指令  Shift and Rotate Instructions
3.9 数据块指令 Data Block Instructions
3.10 字逻辑指令 Word Logic Instructions
 
教学目的
要 求
 
使学生掌握西门子S7-300系列可编程控制器的移位和循环指令、数据块指令、字逻辑指令。
 
教学重点
 
数据块指令。
 
教学难点
 
移位和循环指令的应用。
 
主要教具
设备材料
 
投影仪、S7-300可编程控制器、计算机及编程软件
 
课后记
 
本节移位和循环指令同单片机有关指令雷同。注意引导同学结合计算机汇编语言指令来学习,有助于帮助加深理解。
 
教  案
 
教 学 内 容
 
备 注
 
3.8 移位和循环指令
3.8.1 移位指令
移位指令可以可以将累加器1 的低字或整个累加器的内容进行左移或右移一定的位数。二进制数左移一位相当于将原数值乘以2。右移一位相当于将原数值除以2。
参数N 表示移位的次数。移出的空位根据不同的指令由0或符号位的状态填充。最后移出的位的状态同时被装入到状态字的CC1位,CC0和OV位被复位。
l     SSI     16位整数右移指令
l     SSD     32位整数右移指令
l     SLW    逻辑字左移指令
l     SRW    逻辑字右移指令
l     SLD     逻辑双字左移指令
l     SRD     逻辑双字右移指令
例3.8.1
FBD符号:
STL指令格式: SSI  
1.当使能输入端EN = 1时,执行整数右移指令。将来自输入端IN的16位整数右移N位后,由OUT端输出。
2.N端输入要移位的次数,如果N 大于16则其作用与N = 16 相同。
3.移出的空位由符号位的状态填充,如果是正数,以0填充,如果是负数,以1填充。
4.如果N不等于0,则执行该指令后,CC0和OV位总是等于0。
5.ENO = EN
 
注意各条指令执行前后操作数的变化。
 
教  案
 
教 学 内 容
 
备 注
 
3.8.2 循环指令
l    RLD     32位左循环指令
l    RRD     32位右循环指令
l    RLDA             32位带CC1位左循环指令
l    RRDA             32位带CC1位右循环指令
例3.8.2
FBD符号:
* STL指令格式: RLD  
说明:
1.当使能输入端EN = 1时,执行双字左循环指令。将来自输入端IN的32位双字左循环N位后,由OUT端输出。
2.N端输入要移位的次数。
3.如果N不等于0,则执行该指令后,CC0和OV位总是等于0。
4.ENO = EN
 
结合实例讲解循环指令的意义及应用
 
教  案
 
教 学 内 容
 
备 注
 
3.9 数据块指令
l          打开数据块
指令格式:OPN
说明:打开一个数据块作为shared数据块(DB)或者作为instance数据块(DI)。
可以同时打开一个shared数据块和一个instance数据块。
例 4.9.1: OPN  DB 10    // 打开数据块DB 10作为shared数据块
L     DB W35  // 将DB 10的数据字W35装入到累加器
1的低字。
T     M W22   // 将累加器1的低字传输到M W22。
OPN   DI 20    // 打开数据块DI 20作为instance数据块
L     DI B12    // 将DI 20的数据字节B12装入到累加
器1的低字
T     DB B37   // 将累加器1的低字传输到DB 10的字
节37中。
l          交换shared数据块和instance数据块
指令格式:CDB
说明:交换shared数据块和instance数据块。
shared数据块变成instance数据块,
instance数据块变成shared数据块。
l          装shared数据块的长度到累加器1
指令格式:L  DBLG
说明:将shared数据块的长度装到累加器1。
l          装shared数据块的数目到累加器1
指令格式:L  DBNO
说明:将shared数据块的数目装到累加器1。
l          装instance数据块的长度到累加器1
指令格式:L  DILG
说明:将instance数据块的长度装到累加器1。
l          装instance数据块的数目到累加器1
指令格式:L  DINO
说明:将instance数据块的数目装到累加器1。
 
此为重点要求必须掌握。
一般了解
 
教  案
 
教 学 内 容
 
备 注
 
3.10字逻辑指令
字逻辑指令将两个字(16位)或两个双字(32位)逐位进行逻辑运算。两个数中的一个在累加器1中,另一个可以在累加器2中或在指令中以立即数(常数)的方式给出,字逻辑运算指令的逻辑运算结果放在累加器1低字中,双字逻辑运算结果存放在累加器1中累加器2的内容保持不变。
逻辑运算结果影响状态字的标志位。如果逻辑运算的结果为0,则CCl位被复位为0。如果逻辑运算的结果非0,则CCl被置为1。
在任何情况下,状态字中的CC0和OV位都被复位为0。
l          AW    16位字逻辑与指令
l          OW    16位字逻辑或指令
l          XOW   16位字逻辑异或指令
l          AD    32位双字逻辑与指令
l          OD    32位双字逻辑或指令
l          XOD  32位双字逻辑异或指令
例3.10.1    FBD符号:
*STL语句格式: AW
说明:当使能输入端EN输入为“1”时,将来自IN1和IN2端的两个16位二进制数据逐位相与,结果由OUT端输出。使能输出端ENO=使能输入端EN。
IN1  = 0101010101010101
IN2  = 0000000000001111
OUT  = 0000000000000101
例3.10.2   FBD符号:
*STL语句格式: XOW
说明:当使能输入端EN输入为“1”时,将来自IN1和IN2端的两个16位二进制数据逐位相异或,结果由OUT端输出。使能输出端ENO=使能输入端EN。
 
重点掌握
特别注意其用途、意义
 
 
课程
 
可编程控制技术
 
班级
 
电气工程自动化
 
学期
 
5
 
课时
 
2h
 
累计课时
 
42h
 
教师
 
 
上课日期
 
 
课程类型
 
理论,实验。
 
 
课程名称
(章、节)
 
第三章 指令系统
 
3.11逻辑控制指令 Logic Control Instructions
3.12程序控制指令 Program Control Instructions
 
教学目的
要 求
 
使学生掌握西门子S7-300系列可编程控制器的逻辑控制指令、程序控制指令
 
教学重点
 
逻辑控制指令、程序控制指令
 
教学难点
 
逻辑控制指令的条件转移指令
 
主要教具
设备材料
 
投影仪、S7-300可编程控制器、计算机及编程软件
 
课后记
 
此节内容不多,但很重要。只有充分掌握了本节的内容,才能编写出有一定水平的实际应用程序,要引导学生对此有足够的重视。认真学习,争取做到对逻辑控制指令和程序控制指令运用自如。
 
教  案
 
教 学 内 容
 
备 注
 
3.11 逻辑控制指令
逻辑控制指令是指逻辑块内的跳转和循环指令。跳转或循环指令的操作数是地址标号,该地址标号指出程序要跳往何处,标号最多为4个字符,第一个字符必须是字母,其余字符可为字母或数字。
3.11.1 无条件跳转指令
l          JU     无条件跳转指令
l          JL     跳转表格指令
3.11.2     件跳转指令
l          JC         当RLO = 1时跳转
l          JCN        当RLO = 0时跳转
l          JCB        当RLO = 1并且BR = 1时跳转
l          JNB        当RLO = 0并且BR = 0时跳转
l          JBI        当BR = 1时跳转
l          JNBI       当BR = 0时跳转
l          JO         当OV = 1时跳转
l          JOS        当OS = 1时跳转
l          JZ         累加器1中的计算结果为零跳转
l          JNZ        累加器1中的计算结果不为零跳转
l          JP         累加器1中的计算结果为正数跳转
l          JM         累加器1中的计算结果为负数跳转
l          JPZ        累加器1中的计算结果大于等于零跳转
l          JMZ        累加器1中的计算结果小于等于零跳转
l          JUO        计算结果溢出跳转
3.11.3    程序控制指令
l        BE       块结束指令
l        BEC     条件块结束指令
RLO=1,结束当前块的扫描,将控制返还给调用块.
若RLO=0,则将RLO置1,程序继续在当前块内扫描
l        BEU     无条件块结束指令
该指令无条件结束当前块的扫描,将控制返还给调用块
 
重点讲解要求学生熟练掌握
 
评论这张
转发至微博
0人  |  分享到:
阅读(366)| 评论(0)| 引用 (0) |举报