让PLC弹钢琴!你会吗? 点击:7716 | 回复:67



lwb-sjz

    
  • 精华:1帖
  • 求助:0帖
  • 帖子:12帖 | 3回
  • 年度积分:0
  • 历史总积分:49
  • 注册:2003年7月28日
发表于:2003-10-16 17:14:00
楼主
用三菱FX2N-128MR型PLC的输出控制钢琴的琴键上下动作进行乐曲的演奏,你会吗?



wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2006-05-11 20:50:00
21楼
    用PLC弹奏钢琴或电子琴虽然不如音乐艺术家的演奏,但是,编写这种程序对于锻炼我们的编程能力是一个很好的课题!

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2006-05-11 21:14:00
22楼
我很想动手实践这一课题,但是,如此大的系统少说也要好几万人民币!这对于我们下岗工人来说,就好比登天一样难!不过,我想出了一个简易的方案:只用1千余元就可以实践这一课题了!

sicui

  • 精华:0帖
  • 求助:0帖
  • 帖子:11帖 | 152回
  • 年度积分:0
  • 历史总积分:446
  • 注册:2006年3月19日
发表于:2006-05-17 14:43:00
23楼
应该没问题,但没有音乐细胞---不懂“工艺”
呵呵

小陈--

  • 精华:1帖
  • 求助:0帖
  • 帖子:13帖 | 271回
  • 年度积分:1
  • 历史总积分:453
  • 注册:2005年1月01日
发表于:2007-12-31 19:55:00
24楼
见到很多工控方面的兄弟都在找
[color=#FF0000]三菱全系列编程软件GX Developer Version 7.08j 中文版[/color]
这里有个免费下载的,分享一下
http://www.m8002.cn/Content.Asp?ID=2

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2008-03-25 11:21:00
25楼

 

  关于这个话题,有更深层次的讨论。请参见《写个程序叫PLC“唱歌”》主题下的讨论!

 

   

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2009-03-17 17:08:47
26楼

 

    关于这个话题,还可以参阅《手把教您写“让PLC唱歌”的程序》主题下的讨论。

168888

  • 精华:1帖
  • 求助:0帖
  • 帖子:13帖 | 2103回
  • 年度积分:0
  • 历史总积分:4601
  • 注册:2005年3月23日
发表于:2009-03-17 17:43:50
27楼
  高手果然是高手啊

张医生

  • 精华:0帖
  • 求助:2帖
  • 帖子:4帖 | 417回
  • 年度积分:0
  • 历史总积分:971
  • 注册:2008年10月05日
发表于:2009-03-17 21:42:04
28楼
高手                                

李春华1

  • 精华:0帖
  • 求助:0帖
  • 帖子:23帖 | 313回
  • 年度积分:0
  • 历史总积分:822
  • 注册:2008年9月11日
发表于:2009-04-14 13:49:06
29楼
您的网站的网址是什么?我很想看看您的东西!多向您学学

wantong

  • 精华:0帖
  • 求助:0帖
  • 帖子:18帖 | 435回
  • 年度积分:0
  • 历史总积分:673
  • 注册:2002年2月03日
发表于:2009-04-15 01:19:12
30楼
向你学习。

Fengws_sd

  • 精华:0帖
  • 求助:4帖
  • 帖子:62帖 | 201回
  • 年度积分:0
  • 历史总积分:1179
  • 注册:2004年6月21日
发表于:2009-04-15 06:36:49
31楼

 

弹琴?不错不错,我还知道一个PLC网站:http://gongkongplc.sd.cn
 

大家看看吧!

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2009-06-06 15:49:06
32楼

 

    下面引用“ sicui ”网友的帖子

  
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  不懂“工艺”也没关系,因为音乐的“工艺”很简单的!只要稍微的给您讲一下,您就可以懂得音乐的“工艺”了!“工艺”虽然简单,但是“功夫”可就不简单的了!您要写好让PLC弹琴的程序就要费把劲!(拿射击来打比方:靶点、准星、缺口 三点一线,瞄准之后屏住呼吸扣动扳机。射击的“工艺”够简单了吧!但是,神枪手可不是随便哪个人都能当得上的!这里面有“功夫”!!)
  

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2009-06-19 15:56:04
33楼

  把楼主的题目落实到一个具体的乐谱!(简单的)

  下面就贴出“冰岛的雨季”网友写的某版本的《欢乐颂》(原版作者为 贝多芬)作为蓝本。并以此为标准给网友们练习写“让PLC弹琴”的程序。

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2009-06-19 16:55:36
34楼

 

   我们就以“冰岛的雨季”网友(根据听曲)写出的这个版本的《欢乐颂》为例,简单介绍一下它的“工艺”:

 

  音符的属性主要有:①、“音高”;②、“时值”。其次是:“强弱”(在初步学习写“让PLC弹琴”的程序时可以暂不考虑音符的“强弱”)。

 

 先谈“音高”,把整个乐曲的所有各个不同高度的音统计出来,从低到高的顺序排列。该版本的《欢乐颂》共计有25个不同高度的音。(参见下图所示)

 

 

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2009-06-19 23:03:53
35楼

 

  把PLC的输出继电器与琴键对应起来。如果是钢琴(或是风琴),可以用这些输出继电器去接通电磁阀控制液压缸(或 气缸)推动杠杆来敲击琴键。如果是电子琴,那就更简单一些!直接用输出继电器接点去触发电子琴的琴键开关。

 

 

 

gjj

  • 精华:1帖
  • 求助:1帖
  • 帖子:58帖 | 145回
  • 年度积分:1
  • 历史总积分:1480
  • 注册:2006年9月22日
发表于:2009-06-19 23:55:28
36楼

按时段和频率编写程序,在一个输出点上(晶体管输出)驱动一个发声的硬件(喇叭)应该可以做到,有点异想天开吧

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2009-06-20 15:11:43
37楼

回复第36楼“gjj ”的:

  “ 按时段和频率编写程序,在一个输出点上(晶体管输出)驱动一个发声的硬件(喇叭)应该可以做到,有点异想天开吧 ”


 

  “按时段和频率编写程序,在一个输出点(晶体管输出)驱动发声器件(喇叭)”是《写个程序叫PLC “唱歌”》所讨论的话题!有关这种话题请 

参阅《写个程序叫PLC “唱歌”》 和 《手把手教您写“让PLC唱歌”的程序》

 

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2009-06-20 15:36:18
38楼

 

  目前我们讨论的是控制PLC的多个输出点去完成“弹琴”的“工艺”!!

 

#天涯

  • 精华:0帖
  • 求助:3帖
  • 帖子:100帖 | 2953回
  • 年度积分:0
  • 历史总积分:8816
  • 注册:2005年3月02日
发表于:2009-06-20 16:06:25
39楼
长见识了,这里真是人才汇聚啊。

高渐飞

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 101回
  • 年度积分:0
  • 历史总积分:426
  • 注册:2002年4月07日
发表于:2009-06-20 16:27:28
40楼

没有实际的意义,让钢琴自动弹起来,一般都使用人工智能控制技术,不会用反映比较慢的PLC的

当然要用,也可以考虑一下思路:

1》编写一个标准块,用于控制钢琴键的按下、松开以及按下时间

2>编写一个译码程序,用于转换琴谱至控制队列:

  <1>、第一步按什么键(按多长时间),有其他键需要同时按下吗(他们各自需要多长时间)?有,控制相应的输出

  <2>、第二步按什么键....同上

。。。

或者将琴谱翻译成采用时间来控制键的队列:

  即找出每一个键的起始按键时间,以及持续时间(当然可能会被多次按下,最主要是列出所有用到键的时间信息列表即可),然后不需要考虑考虑步进编程,按照时间方式控制即可以了。

感觉后面这种方式更好一些。


热门招聘
相关主题

官方公众号

智造工程师