工作任务3:抢答器的PLC控制

官方工学老师·16 页·深入(追求细节与边界)·0 次浏览·2 天前
PLC控制抢答器梯形图接线调试

抢答器的PLC控制

从按钮接线到梯形图调试,四路抢答器一次搞懂

按 空格/→ 演示下一步

1 / 16 页

全部页面点击任意一页,跳回舞台从这页播放

PLC控制抢答器梯形图接线调试

抢答器的PLC控制

从按钮接线到梯形图调试,四路抢答器一次搞懂

1第 1 页 · 抢答器的PLC控制

七段数码管结构

回想家里的电子钟或微波炉,亮起的「8」其实是七根小条拼出来的。抢答器要显示1号、2号选手编号,靠的也是它。

七段命名 a~g
顶a、右上b、右下c、底d、左下e、左上f、中间横g,命名是行业固定约定
空间布局
六根围一圈(a上、b/c右、d下、e/f左),g横在正中
共阳 / 共阴
共阳COM接电源、段脚低电平亮;共阴COM接地、段脚高电平亮
段码表
把0~9每数字对应的七段亮灭编成一个字节,PLC查表输出即可
七巧板拼数字对应 →七段数码管点亮

七块板里挑几块摆出来就是一个数字,全摆就是8

2第 2 页 · 七段数码管结构

七段数码管显示原理

从七段a~g出发,每条分支对应一个数字,箭头右侧字母即该数字点亮的段名

图解渲染中…
SEG七段数码管由a~g七个独立可控LED段组成O1号字只点亮b、c两段,是最省段的数字E8号字全部7段点亮,常作数码管自检图形S6与9对称翻转:6亮左下e不亮左上f
3第 3 页 · 七段数码管显示原理

什么是BCD码

数码管怎么点亮我们已经清楚了。但PLC内部算的是二进制,数码管认的是十进制——中间这层'翻译'用什么规则?这就轮到BCD码登场。

BCD码定义
用4位二进制表示1位十进制数字0~9,二-十进制编码
8421权重
从高到低每位权重为8、4、2、1,相加即得十进制值
0~9的编码
0=0000,1=0001,5=0101,9=1001,依此类推
禁止的组合
1010~1111共6种在BCD中无效,对应十进制10~15不允许出现
PLC中的作用
PLC以BCD码直接输出给数码管,省去换算环节
电话号码每位独立对应 →BCD码按位独立编码

138→0001 0011 1000,每位4位独立翻译,不存在跨位进位

4第 4 页 · 什么是BCD码

BCD码与二进制数转换

PLC外部送入的常常是BCD码,要做算术运算必须先还原成普通二进制,按四步走完。

1
四位分组
从低位起每4位一组,分别对应十进制的个位、十位、百位
2
查表识十进制
每组4位查表得到一个0~9的十进制数字
3
按位权展开
各位数字乘位权再相加:个×1+十×10+百×100…
4
除2取余
把十进制数反复除以2,逆序记录余数即得二进制
5第 5 页 · BCD码与二进制数转换

译码指令DECO

上一页我们把抢答按钮编成了二进制数——3 号按钮按下就得到 011。但 PLC 拿到 011 之后,怎么判断是 3 号抢到了?这就要靠 DECO 译码指令。

DECO 指令功能
把源操作数的数值 N,转换成目标字中第 N 位置 1,其余位全部清 0
源与目标格式
源是字节(0–255),目标是字或双字,目标位宽必须装得下源数值
一一对应关系
输入 N 等于几,就只有第几位亮;输入 0 时全 0,最多只有一位为 1
抢答器中的角色
把按钮编号译成对应输出位,为互锁判断'谁先按下'做准备
与 SEG 的区别
DECO 是位译码(输入→哪一位),SEG 是段译码(输入数字→七段哪几段亮)
酒店电梯按钮对应 →DECO 位译码

按 3 楼,电梯只有 3 楼指示灯亮;DECO 输入 3,目标字只有第 3 位 = 1

6第 6 页 · 译码指令DECO

七段译码指令SEG

上页DECO是'点一根线做选择',要显示数字'8'却要七段全亮——这正是SEG要解决的事:把BCD码翻译成一次点亮多段的字形信号。

SEG的功能
把0~9的BCD码翻译成8位七段显示信号,对应点亮数码管相应段组合出数字
8位输出对应段
位7~0依次对应dp、g、f、e、d、c、b、a,一组输出完整字形
与DECO对比
DECO是'选中一根'用于选路;SEG是'点亮多根'用于显示字形
抢答器中的应用
把组号BCD码直接送入SEG,输出驱动数码管即显示获胜组号
使用边界
标准SEG仅译0~9;要显示字母A~F需用SEGD扩展指令或查表法
7位小朋友按a~g位置站好对应 →SEG控制七段数码管

SEG的8位输出像口令,告诉每位小朋友'举手/放下',7人按规则组合就摆出数字造型

7第 7 页 · 七段译码指令SEG

SEG指令应用示例

st

用三菱FX的SEG指令,把数据寄存器里的BCD数直接变成七段码,送到Y0~Y7驱动数码管。

代码高亮加载中…

高亮三行演示 SEG 完整用法:BCD 源(D0)、位组合目的(K2Y0)、实例输出(数字 5 的段码)。K2Y0 是三菱把多位 IO 打包成一个字节的写法,看懂它就理解了 PLC 的位/字转换。

8第 8 页 · SEG指令应用示例

编码指令ENCO

上一页DECO把数字拆成单个灯点亮,实现'2'→「a、b、d、e、g」亮。现在反过来:八个抢答按钮中只有一位被按下,怎么让PLC直接算出'是第几号选手'?ENCO就是干这件事的。

ENCO功能
在一组输入位中找出为1的位置,把该位置编号以二进制输出
抢答器中的作用
按钮编号对应输入位的位置,按下后ENCO输出该编号的二进制
与DECO互逆
DECO是「号→点亮哪些位」,ENCO是「哪位亮→号」,方向相反
编码规则
多个位同时为1时,只编码最高位的那一位
前台看指示灯报房号对应 →ENCO从输入位找编号

一排灯只有一盏亮,前台读出对应房号;一排输入只有一位为1,ENCO输出该位编号

9第 9 页 · 编码指令ENCO

ASCII转换指令

前页 ENCO 把位模式编成数字,这是 PLC 内部语言。但 PLC 要把数字告诉触摸屏、打印机,必须先翻译成人类能读懂的文字字符——这就是 ASCII 转换。

ASCII 码的本质
每个字符(字母、数字、符号)对应一个固定的 7/8 位二进制码,如 'A'=41H、'0'=30H
PLC 常用转换指令
ITA 整数→ASCII、RTA 实数→ASCII、HTA 十六进制→ASCII、ATH 反向
格式参数很关键
必须指定输出字节长度与小数位数,长度不足会报错,多了会浪费
典型应用场景
触摸屏显示数值、打印机输出报表、扫码枪数据接收、上位机通信
双人翻译官对应 →ASCII 转换指令

PLC 的「二进制语」和外部设备的「字符语」不通,指令就是中间翻译,决定说什么、怎么说

10第 10 页 · ASCII转换指令

四路抢答器需求分析

想象《一站到底》节目现场——主持人提问,4 位选手面前各有一个抢答按钮,谁先按下谁作答,后面的按下无效。这正是 PLC 抢答器要复刻的核心场景。

硬件构成
4 路选手按钮 + 1 路主持人复位键 + 4 个 LED + 1 个七段数码管 + 蜂鸣器
核心规则
先按有效、后按锁定——PLC 只承认第一个有效输入
输出反馈
指示灯亮、数码管显示编号、蜂鸣器响——三重提示抢答成功
工作流程
复位就绪 → 抢答检测 → 互锁锁定 → 开始计时 → 主持人复位
边界处理
多按钮同时按下时按预设优先级裁决,如 1 号优先于其他
课堂举手抢答对应 →PLC四路抢答器

主持人=老师;按下按钮=举手;只认第一个=老师只点第一个举手的;锁定=叫停后面再举的

11第 11 页 · 四路抢答器需求分析

四路抢答器硬件设计

从左到右读信号流:5个按钮 → PLC输入端子 → CPU扫描 → 输出端子 → 数码管、指示灯、蜂鸣器。

图解渲染中…
a1SB1~SB4 为 4 个选手抢答按钮,常开型b3Y0~Y6 接数码管 a~g 七段,占 7 个输出点b4Y10~Y13 点亮对应选手指示灯,Y20 驱动蜂鸣器
12第 12 页 · 四路抢答器硬件设计

四路抢答器梯形图程序

text

抢答判断、互锁锁存、组号显示三大模块一次看全

代码高亮加载中…

M0自锁启动抢答;四组用ANI相互封锁,SET只锁住最先按下的那组;DECO+SEG把组号变成指示灯与数码管可显示的码。

13第 13 页 · 四路抢答器梯形图程序

四路抢答器调试与验证

程序写完不等于能跑——还要经下载、模拟、联调与排错四道关,才能放心交付。

1
程序下载
用编程电缆把梯形图从电脑写入PLC,断电重启确认程序已驻留
2
空载模拟
用强制ON/OFF代替实际按钮,在软件里跑逻辑,提前发现逻辑错误
3
I/O点验证
逐一按下每个按钮、看指示灯和数码管是否按预期动作
4
功能联调
完整模拟四人抢答流程,验证优先级、互锁、复位、显示是否正确
5
故障排查
对抢答无响应、显示乱码、互锁失效等常见问题逐一定位与修复
14第 14 页 · 四路抢答器调试与验证

本课知识点回顾

  • 数码管靠七段组合显数,共阴共阳由公共端决定
  • BCD用4位二进制存1位十进制,是人机交互桥梁
  • DECO/ENCO转位与字,SEG专为数码管译码
  • 按键+互锁+显示,抢答器三要素
延伸主题:多位数数码管动态扫描抢答器扩展为八路交通灯PLC综合应用
15第 15 页 · 本课知识点回顾

课后思考

先自己想想,再点开参考答案对一对思路。

1SEG指令为什么不能直接显示BCD码,而要先"翻译"成七段码?

参考答案BCD码只表示0-9的数值本身,七段数码管却要决定每段亮灭——SEG做的就是"数值→笔画"的映射。

2编码译码只服务于显示吗?工业现场还有哪些场景离不开它们?

参考答案编码:键盘扫描、拨码开关读取;译码:通信协议解析(如Modbus)、故障代码查表、状态灯指示等。

3若抢答器改用LCD点阵屏或OLED显示组号,SEG指令还够用吗?为什么?

参考答案SEG只覆盖七段笔画组合。点阵屏/OLED需任意图形,得用查表或字模数据,远超单条SEG的能力。

16第 16 页 · 课后思考