基于S7-300控制的音乐演奏系统仿真设计

2014-01-15 09:59贾正松
电子设计工程 2014年16期
关键词:脉冲序列触摸屏中断

贾正松

(四川信息职业技术学院 四川 广元 628017)

可编程序控制器PLC是一种新型的通用自动控制装置,它将传统的继电器控制技术、计算机技术和通讯技术融为一体,是专门为工业控制而设计的[1]。其中西门子S7-300具有功能强、运用灵活、可靠性高、稳定性好、抗干扰能力强、编程简单、使用方便以及体积小、重量轻、功耗低等一系列特点[2]。本次设计以S7-300作为主控器件设计一种音乐演奏控制系统,通过该设计可以使学习者充分掌握S7-300的基本应用方法。

1 系统硬件结构图

音乐演奏控制系统的组成结构图如图1所示,主要包括PLC控制单元、触摸屏、按钮、扬声器、指示灯和系统控制计算机。其中按钮和触摸屏用来控制系统的启动与停止,PLC用来通知触摸屏显示扬声器的工作状态,以及控制电路中的工作指示灯。

图1 硬件控制结构图Fig.1 Hardware structure chart

2 硬件设计

2. 1 控制需求分析

为保证扬声器按照一定的音符演奏所需要的乐曲信息,可将从“A”(400 Hz)开始的25个半音阶音符的音符周期时间与之对应的脉冲数存放在音符表 (即内存单元V4~V103)中,内存单元(V600~V743)和内存单元(V800~V1059)分别存放通道0和1的乐曲信息。因为是同时演奏2个音符,所以要将两个乐曲信息分别用脉冲通道0和通道1输出,并均被设置成脉冲序列输出(PTO)。当系统启动与停止时通过PLC的I/O端口来分配功能。

根据对控制需求分析,可确定出PLC控制的输入、输出地址分配表如表1所示。

表1 PLC的I/O分配表Tab.1 Table I/O distribution PLC

2. 2 硬件电路设计

根据演奏音乐功能分析,可以设计出该电气控制系统的硬件接线图,如图2所示。当启动按钮SB1接通时,开始演奏音乐,并从Q0.0和Q0.1输出脉冲信号来控制扬声器。当按下停止按钮SB2,系统停止。

图2 音乐控制系统的硬件接线图Fig.2 Wiring diagram of the hardware music control system

3 软件设计

3.1 程序设计的思路

本系统软件设计采用PLC梯形图语言编写,针对梯形图语言的特点,本设计在软件设计时采用了结构化程序设计方法[3]。即先把程序分为几大的模块,包括音符表、通道0乐曲、通道1乐曲、脉冲序列、第一音符、各通道的第二个音符排入队列、启动中断连续演奏等。然后再用编程语言实现。在编程时力求每个模块的独立性和通用性,而且做到清晰易读、易修改。

编程时首先建立25个音符周期的音符表并初始化音符表,同时初始化通道0和1乐曲表及脉冲序列,然后用队列中断程序附着于脉冲序列输出(PTO)完成事件,完成音符连续演奏。

两个脉冲通道都被设置成脉冲序列输出(PTO),当演奏每个通道的第一个音符时,就请求第二个音符,这样就构成了深度为1的队列(一个在进程中,一个在队列中)。中断子程序附着于PTO完成事件。第一个音符演奏完,中断程序调用下一个音符,这个过程继续下去,直到乐曲结束。

3.2 PLC内存单元分配

音乐演奏程序使用了较多的PLC内存单元,用于存储音符表、指针、及乐曲表通道等,具体分工如下:

V4~V103 音符表。

V500~V503指向音符表的指针。

V504~V507指向通道0乐曲表的指针。

V508~V511临时的工作寄存器。

V554~V557指向通道1乐曲表的指针。

V600~V743通道0乐曲表。

V800~V1059通道1乐曲表。

3.3 程序流程图

音乐演奏控制程序由1个主程序、7个子程序和2个中断程序组成,其控制程序流程如图3所示。

1)主程序:只在第一个扫描周期中执行,如果主菜单关闭,主程序也结束运行[4]。

图3 控制流程图Fig.3 Control flow

2)SBR0:初始化程序所使用的音符。用MOVD指令把用十六进制数表示的音符存于内存中,前4个字符码表征音符的频率,后4个字符表示持续音调0.125秒所需的脉冲数。

3)SBR1:由于乐曲的演奏需双重的音符,所以必须定义两个不同的通道 (0和1),SBR1就是初始化通道0的乐曲,每个MOVD指令包含4个字节,每个字节是音符的参考号码(1~125),第二个字母是0.125秒时间单位的数目;第三个字节是下一个音符的参考号码,第四个字节是下一个音符的0.125秒时间单位的数目。

4)SBR2:初始化通道1的乐曲。

5)SBR3:初始化脉冲序列输出,特殊标志字节定义输出端Q0.0和Q0.1输出的方波特性。

6)SBR4:演奏每个通道的第一个音符,通道0的音符参考号码和与之匹配的时间单位数被装入脉冲输出0,同样的过程在通道1中进行,因此能同时演奏两个音符。

7)SBR5:把每个通道的第二个音符排入队列,通道0的音符参考号码和与之匹配的时间单位数被装入脉冲输出0,同样的过程在通道1进行,因此能同时演奏两个音符。

8)SBR6:设置的中断对于连续地演奏乐曲是很重要的,中断0是脉冲输出0的脉冲计数中断事件,中断1是脉冲输出1的脉冲计数中断事件,演奏完一个音符后中断发生。

2.对在外经商或务工不愿土地信托流转的部分“农民”,通过各种途径进行宣传教育。这些人本身具有一定的素质和能力,见多识广,有些已经是功成名就的企业家,也热心在家乡搞公益事业,可能和家乡一些领导比较熟,在家乡具有一定的影响力和号召力,他们思想通了,对农村土地信托流转具有极大的推动作用。在重要节假日他们回乡的时候,乡(镇)村干部多走访,召开座谈会,向他们宣传土地信托流转的意义,平时电话多联系,或到他们工作创业的地方多走访,这些人明事理,思想也很开放,做好他们的思想工作相对比较容易。

9)INT0:演奏完通道0的一个音符后,就激活中断程序0,下一个音符的参考号码和计算出的时间单位数将被传给通道0的脉冲输出,当乐曲的最后一个音符演奏完成时,将自动禁止中断,程序终止。

10)INT1:演奏完通道1的一个音符后,就激活中断程序1,下一个音符的参考号码和计算出的时间单位数将被传给通道1的脉冲输出,当乐曲的最后一个音符演奏完成时,将自动禁止中断,程序终止。

4 监控画面的设计

画面设计就是将表示过程的对象插入到画面中,并对该对象进行组态使之符合过程要求。画面包含静态和动态元素。其中静态元素是在运行时不改变它们的状态(如文本或图形对象);动态元素是根据过程改变它们的状态。动态元素通过下列方式显示当前过程值。

通过外部变量,从PLC的映像寄存器中获得当前过程值。例如以字母数字、趋势图和棒图的形式显示过程值。

通过外部变量,将HMI设备上的输入值写入到PLC的映像寄存器中。例如按钮启动、温度给定值[5]。

1)组态 HMI,打开 Wincc flexible,建立项目;创建连接,将PLC的硬件部分连接过来;创建变量,根据PLC的I/O口和内存分配情况来建立变量。

2)画面的设计

图4 控制系统监控界面Fig.4 Control system and control interface

3)为各个对象元素关联对应变量及动作,在画面中的各个指示灯和按钮均要与PLC程序的输入端口、输出端口和内存单元相关联,从而实现他们的联动。

4)下载项目内容,当项目下载成功后,拔下PPI通信电缆。用标准通信电缆RS485(1F1B)将触摸屏与装有温度控制程序的S7-300相连。设备通电后,项目就可以运行了。

5 触摸屏与PLC之间的通信设置问题

首先用RS232/PPI多主站电缆将触摸屏连接到计算机。然后做如下的通信设置:

1)将触摸屏接通电源。设备启动后,控制面板画面将短暂出现。如果项目正在运行,首先要停止该项目,然后打开控制面板画面。

2)单击通信图标(transfer),打开传送画面。选中“启用通道”复选框以启用串口传送。确认后,将触摸屏设为传送模式,等待计算机的传送。

单击计算机“开始\控制面板\设置PG/PC接口”。进入通信设置窗口,选择S7online。在PPI属性窗口,将计算机站地址设为0,不能与触摸屏站地址相同。

6 结束语

本次设计的基于PLC S7-300的演奏音乐控制系统,并利用WinCC flexible进行仿真,如果要生成完整的音乐,则要把整首歌曲的简谱的音符按弹奏顺序进行编码并存入数据存储区,然后再把变址寄存器赋值为存在数据存储区。这样修改后的PLC程序就能控制电子琴生成完整的音乐了。该设计融合了较先进的自动化技术、计算机技术、通讯技术,具有可靠性高、操作简单、维护容易等特点[6]。

[1]李瑞程,应柏青.音乐喷泉控制系统的设计及PLC实现[J].实验技术与管理,2008(5):81-83.LIRui-cheng,YING Bai-qing.Musicalfountain control system design and PLC to achieve[J].Experimental Technology and Management,2008(5):81-83.

[2]童克波.音乐喷泉电气控制系统的设计与实施 [D].天津:天津大学,2010.

[3]王亚东.音乐喷泉控制系统的PLC程序设计 [J].数字技术与应用,2011(11):15-16.WANG Ya-dong.PLC program design of music fountain control system[J].Digital Technology&Application,2011(11):15-16.

[4]张学辉.西门子PLC程序设计方法研究 [J].机械工程与自动化,2010(6):189-191.ZHANG Xue-hui.Siemens PLC program design method[J].Mechanical Engineering&Automation,2010(6):189-191.

[5]张文明,刘志军.组态软件控制技术[M].北京:北京交通大学出版社,2006.

[6]徐良雄.PLC控制的彩灯广告屏设计[J].制造业自动化,2012(21):126-127,153.XU Liang-xiong.Lantern advertising screen design of PLC control[J].Manufacturing Automation,2012(21):126-127,153.

猜你喜欢
脉冲序列触摸屏中断
一种基于TOA的同型雷达同源判别方法
PLC和触摸屏在卫生间控制系统的应用
浅析投射式多点触控电容触摸屏
基于FPGA的中断控制器设计*
皮肤“长”出触摸屏
跟踪导练(二)(5)
千里移防,卫勤保障不中断
基于脉冲序列核的脉冲神经元监督学习算法
一D-T2二维核磁共振脉冲序列改进设计及性能对比
二维反式氢磷相关脉冲序列设计及在含磷化学毒剂分析中的应用