教案 教学内容 备注 置位复位双稳态触发器指令 如果置位输入端为“1”,复位输入端为0°,则触发器被置位。此后,即 注意讲清楚置 使置位输入端为0,触发器也保持置位不变。如果复位输入端为1,置位输 位优先型RS触 入端为“0”,则触发器被复位。 发器和复位优 置位优先型RS触发器的R端在S端之上,当两个输入端都为1时 先型SR触发器 下面的置位输入端最终有效。既置位输入优先,触发器被置位 在功能图和语 复位优先型SR触发器的S端在R端之上,当两个输入端都为1时,句表中的表示 方法以及适用 下面的复位输入端最终有效。既复位输入优先,触发器被复位。 例3.1 场合 M00 10.0 RS 0.1 Q40 0.1 如果输入信号100=1,I0.0=0,则M00被复位,Q40=0 0.0=0,I0.0=1,则M00被置位,Q40=1 I00=0,I00=0,则M0.0输出保持不变,Q40 输出不变 I00=1,I0.0=1,则M00被置位,Q40=1。 例3.1.12 M00 0.0 SR Q40 如果输入信号100=1,10.0=0,则M00被复位,Q40=0 I00=0,I00=1,则M0.0被置位,Q40=1 I0.0=0,100=0,则M00输出保持不变,Q40 输出不变 I00=1,I0.0=1,则M0.0被置位,Q40=0 11
11 教 案 教 学 内 容 备 注 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时,产生一个上升沿m,适当慢 (或正跳沿);若从1变到0,则产生一个下降沿(或负跳沿)。跳变沿检测 的原理是:在每个扫描周期中把信号状态和它在前一个扫描周期的状态进 比较,若不同则表明有一个跳变沿。因此,前一个周期里的信号状态必 须被存储,以便能和新的信号状态相比较。 Ro4上升沿 下降沿 ≯Time 下降沿信号识别指令 强调“边沿”的 概念 sTL指令格式: FN <bit> <address> FBD符号 N <address> LAD符号 若CPU检测到输入有一个负跳沿,将使得输出线圈在一个扫描周期内 通电。对输入扫描的RLO值存放在存储位中。 在OBI的扫描周期中,CPU扫描并形成RLO值,若该RLO值是0且 上次RLO值是1,这说明FN指令检测到一个RLO的负跳沿,那么FN指 令把RLO位置1。如果RLO在相邻的两个扫描周期中相同(全为1或0), 那么FN语句把RLO位清0。 例3.1.13 Al1.0 110 FN M1.0 Q4.0 Q40 oB1 Scan Cycle N:⊥1|2|3|4|5161789⊥
12 教 案 教 学 内 容 备 注 3.1.3 边沿信号识别指令 1.RLO 边沿信号识别指令 当信号状态变化时就产生跳变沿,当从 0 变到 1 时,产生一个上升沿 (或正跳沿);若从 1 变到 0,则产生一个下降沿(或负跳沿)。跳变沿检测 的原理是:在每个扫描周期中把信号状态和它在前一个扫描周期的状态进 行比较,若不同则表明有一个跳变沿。因此,前一个周期里的信号状态必 须被存储,以便能和新的信号状态相比较。 ⚫ 下降沿信号识别指令 若 CPU 检测到输入有一个负跳沿,将使得输出线圈在一个扫描周期内 通电。对输入扫描的 RLO 值存放在存储位中。 在 OB1 的扫描周期中,CPU 扫描并形成 RLO 值,若该 RLO 值是 0 且 上次 RLO 值是 1,这说明 FN 指令检测到一个 RLO 的负跳沿,那么 FN 指 令把 RLO 位置 1。如果 RLO 在相邻的两个扫描周期中相同(全为 1 或 0), 那么 FN 语句把 RLO 位清 0。 例 3.1.13 此节内容较难 懂,适当 慢 一 些。 强调“边沿”的 概念
教案 教学内容 备注 若CPU检测到输入I10有一个负跳沿,将使得输出Q40的线圈在 扫描周期内通电。对输入I10常开触点扫描的RLO值(在本例中,此 RLO正好与输入I10的信号状态相同)存放在存储位M10中。 在OBI的扫描周期中,CPU对I10信号状态扫描并形成RLO值,若 该RLO值是0且存放在M10中的上次RLO值是1,这说明FN指令检测 到一个RLO的负跳沿,那么FN指令把RLO位置1。如果RLO在相邻的 两个扫描周期中相同(全为1或0),那么FN语句把RLO位清0 弄清“上升沿” 上升沿信号识别指令 与“下降沿”的 STL指令格式: FP <bit> 概念与区别 address: FED符号: <address> LAD符号: -(P) 若CPU检测到输入有一个正跳沿,将使得输出线圈在一个扫描周期内 通电。对输入扫描的RLO值存放在存储位中。 在OBⅠ的扫描周期中,CPU扫描并形成RLO值,若该RLO值是1且 上次RLO值是0,这说明FN指令检测到一个RLO的正跳沿,那么FP指 令把RLO位置1。如果RLO在相邻的两个扫描周期中相同(全为1或0), 那么FP语句把RLO位清0 例3.1.14 A11.0 110 FP M1.0 Q40 01010 0B1 Scan Cycl81123|4|56||89 若CPU检测到输入I1.0有一个正跳沿,将使得输出Q.0的线圈在 个扫描周期内通电。对输入I1.0常开触点扫描的RLO值(在本例中,此RLO 正好与输入I1.0的信号状态相同)存放在存储位M.0中。 在OBI的扫描周期中,CPU对I10信号状态扫描并形成RLO值,若 该RLO值是1且存放在M1.0中的上次RLO值是0,这说明FN指令检测 到一个RLO的正跳沿,那么FP指令把RLO位置1。如果RLO在相邻的两 个扫描周期中相同(全为1或0),那么FP语句把RLO位清0
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。 ⚫ 上升沿信号识别指令 若 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.触点边沿信号识别指令 触点下降沿信号识别指令 注意与前面指 <address1> 令的区别 NEG caddress2> M BIT 在OBI的扫描周期中,CPU对< address 1>的状态与其上一个扫描周 期的状态进行比较(上一个扫描周期的状态保存在< address2>中。若该 < address1>状态是0且存放在< address2>中的上次状态是1,这说明NEG 指令检测到< address l>的负跳沿,那么NEG指令把RLO位置1。如果 < address!>在相邻的两个扫描周期中状态相同(全为1或0),那么NEG 指令把RLO位清0 例3.1.15 10.010.110.2 NEG 104Q4.0 MO.0-M BIT 当输入信号I0.0、I0.0、I0.2、I0.4全为1〃并且I0.3有 负跳变,则Q4.0输出一个扫描周期的正脉冲信号。 触点上升沿信号识别指令 <address1> address2> M BIT 在OB1的扫描周期中,CPU对< address>的状态与其上一个扫描周 期的状态进行比较(上一个扫描周期的状态保存在< address2>中。若该 < address l>状态是1且存放在< address2>中的上次状态是0,这说明POS 指令检测到< address1>正跳沿,那么POS指令把RL0位置1。如果 < address1>在相邻的两个扫描周期中状态相同(全为1或0),那么POS 指令把RL0位清0
14 教 案 教 学 内 容 备 注 2.触点边沿信号识别指令 ⚫ 触点下降沿信号识别指令 在 OB1 的扫描周期中,CPU 对<address1>的状态与其上一个扫描周 期的状态进行比较(上一个扫描周期的状态保存在<address2>中。若该 <address1>状态是 0 且存放在<address2>中的上次状态是 1,这说明 NEG 指令检测到<address1>的负跳沿,那么 NEG 指令把 RLO 位置 1。如果 <address1>在相邻的两个扫描周期中状态相同(全为 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 输出一个扫描周期的正脉冲信号。 ⚫ 触点上升沿信号识别指令 在 OB1 的扫描周期中,CPU 对<address1>的状态与其上一个扫描周 期的状态进行比较(上一个扫描周期的状态保存在<address2>中。若该 <address1>状态是 1 且存放在<address2>中的上次状态是 0,这说明 POS 指令检测到<address1>正跳沿,那么 POS 指令把 RLO 位置 1。如果 <address1>在相邻的两个扫描周期中状态相同(全为 1 或 0),那么 POS 指令把 RLO 位清 0。 注意与前面指 令的区别
教案 教学内容 备注 例3.1.16 100101102「pos110440 MO.0-M BIT 当输入信号I0.0、I0.0、I0.2、I04全为“1”并且I0.3有一个正跳变 则Q4.0输出一个扫描周期的正脉冲信号 314RLO置位、清零、保存指令 强调尽对RLO 置位指令符号: 操作 SET 功能 RLO=1 复位指令符号: CLR 功能 RLO=O 例3.1.17 STL Program Signal State Result of Logic Operation(RLO) M10.0 M151 M16.0 CLR 100 M102 RLO保存指令符号 SAVE 功能 (RLO)→BR 说明:将RLO的状态保存到状态字寄存器中的BR位中
15 教 案 教 学 内 容 备 注 例 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 操作