老菜鸟师傅帮忙啦! 点击:648 | 回复:13



上不了路

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 58回
  • 年度积分:0
  • 历史总积分:77
  • 注册:2007年3月24日
发表于:2008-10-22 19:32:50
楼主

最近遇到一个题目,是关于数码管LED显示的. 请帮忙指教一下.谢谢你了

?启动SB1,数码管显示0,经过5秒后数码管LED自动变为数字1,按此规律连续下去,直到LED显示数字为9后,LED数码管重新显示数字0 .直到按下停止按钮SB2为止.

??请师傅们指点迷经啊!




李占生

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 123回
  • 年度积分:0
  • 历史总积分:138
  • 注册:2003年7月19日
发表于:2008-10-22 20:09:46
1楼
你用一个最笨的办法,将输出接数码管的a~f 程序中用时间继电器和数据加一的办法就可以实现了。

上不了路

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 58回
  • 年度积分:0
  • 历史总积分:77
  • 注册:2007年3月24日
发表于:2008-10-23 18:24:00
2楼

能不能用上升沿后一个5秒的脉冲,然后用记数器 完成 ?

?

luckboypwd

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 71回
  • 年度积分:0
  • 历史总积分:95
  • 注册:2008年1月13日
发表于:2008-10-23 19:01:12
3楼

用数字传输指令和七段译码指令

老狼

  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 821回
  • 年度积分:0
  • 历史总积分:1588
  • 注册:2008年3月01日
发表于:2008-10-23 19:23:15
4楼

哥们你是想用单片机还是硬件电路来实现啊!题目很简单,给出具体条件啊~

老菜鸟

  • 精华:22帖
  • 求助:0帖
  • 帖子:301帖 | 8609回
  • 年度积分:0
  • 历史总积分:24924
  • 注册:2003年6月15日
发表于:2008-10-24 21:03:24
5楼

因为你的题目没有表达清楚,所以分情况讨论一下实现方法:

一、硬件连接的问题(以1个七段数码管来分析):

1、如果你的数码管就是“裸体”的数码管@_@,那么就需要7个PLC的输出,这是铁定的。

2、如果你所说的“数码管”是数码显示器成品,那么可能是采用十进制码、BCD码(8421码)、格雷码以及选通脉冲和数据输入等输入形式的显示器,不过这类显示器以8421码居多,例如欧姆龙、奥托尼克斯的数码显示器。

老菜鸟

  • 精华:22帖
  • 求助:0帖
  • 帖子:301帖 | 8609回
  • 年度积分:0
  • 历史总积分:24924
  • 注册:2003年6月15日
发表于:2008-10-24 21:07:32
6楼

在下面,以原始的PLC输出7个信号的情况来分析。在硬件接线的时候,注意:每个PLC的输出设计一个限流电阻,以免数码管被烧坏。这个限流电阻的阻值计算请参阅帖子:http://www.gongkong.com/Forum/ForumTopic.aspx?Id=2008102107255800001

?

老菜鸟

  • 精华:22帖
  • 求助:0帖
  • 帖子:301帖 | 8609回
  • 年度积分:0
  • 历史总积分:24924
  • 注册:2003年6月15日
发表于:2008-10-24 21:16:51
7楼
二、PLC程序的问题:

第1种方法:采用最笨的办法。先看看这个:

老菜鸟

  • 精华:22帖
  • 求助:0帖
  • 帖子:301帖 | 8609回
  • 年度积分:0
  • 历史总积分:24924
  • 注册:2003年6月15日
发表于:2008-10-24 21:26:13
8楼

这个笨办法就是:该显示0的时候让abcdef导通,显示1的时候让bc导通。。。。。。。

接合到PLC程序就有2种方法实现:

1、直接写a输出:T0、T2、、T3、T5、T6、T7、、T8、T9导通时,a输出动作。。。。。。。。。。。。然后一直写到g输出。

这里说的Tn指的是:只有显示n的时候,Tn才会动作。当然,你也可以采取其他方式来实现这个控制,效果相同就行了。

老菜鸟

  • 精华:22帖
  • 求助:0帖
  • 帖子:301帖 | 8609回
  • 年度积分:0
  • 历史总积分:24924
  • 注册:2003年6月15日
发表于:2008-10-24 21:29:55
9楼

2、采用七段译码指令来实现这个功能。七段译码指令就是为了显示七段数码而设计的。三菱、西门子都有这种指令。

S7-200的七段译码指令:段码指令(SEG)允许您产生一个点阵,用于点亮七段码显示 器的各个段。

限于篇幅,更具体的指令用法请参阅相关手册,在这里就不赘述了。

老菜鸟

  • 精华:22帖
  • 求助:0帖
  • 帖子:301帖 | 8609回
  • 年度积分:0
  • 历史总积分:24924
  • 注册:2003年6月15日
发表于:2008-10-24 21:32:26
10楼
如果你要问先延时A秒,再延时B秒,再延时C秒。。。。。。这个问题怎么实现,我只好说,你应该多动动脑子@_@

上不了路

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 58回
  • 年度积分:0
  • 历史总积分:77
  • 注册:2007年3月24日
发表于:2008-10-25 06:31:27
11楼

?谢谢.老菜鸟师傅.小弟知道一点头绪了,

上不了路

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 58回
  • 年度积分:0
  • 历史总积分:77
  • 注册:2007年3月24日
发表于:2008-10-25 06:36:21
12楼
博客 播客 引用 加为好友 发送消息 回复 老狼 X老狼
积分:130
帖子:30注册时间:2008-3-1 21:22:00 4楼 回复时间:2008-10-23 19:23:15 哥们你是想用单片机还是硬件电路来实现啊!题目很简单,给出具体条件啊~
? 用PLC做,我刚开始想也用几个时间完成.不过这个方法的确太笨了,

szbobo

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 148回
  • 年度积分:0
  • 历史总积分:296
  • 注册:2004年4月19日
发表于:2008-10-25 17:36:14
13楼

如果是用三菱的PLC,直接使用BCD指令就可以了

一个数码管值需要占用PLC的四个输出点

详细参阅译码器的说明:输出点的接线需要对应到驱动数码管的译码器针脚,合理选择电阻,公共端的连接。。。

至于数据的变化时间,一次变多少,可以很灵活的控制:计时器确定变化时间,计数器确定变化量(或上升沿加法)


热门招聘
相关主题

官方公众号

智造工程师