标题 | 基于鸿格PCI—1202板卡的流水灯控制系统 |
范文 | 林锦实 摘要:泓格PCI-1202板卡有16路的IO数字量输入通道、16路的IO数字量输出通道。文章利用组态王软件设计人机交互界面,可以对流水灯的点亮状态进行远程监控和操作。 关键词:PCI-1202板卡;流水灯控制;组态王 鸿格PCI-1202板卡是一种模拟量输入、输出,数字量输入、输出卡,主要实现的功能:32路的模拟量输入、2路的模拟量输出、16路的IO数字量输入控制、16路的IO数字量输出控制。PCI-1202板卡的16路IO数字量输出控制通道CN1通过端子板DN20输出:PCI-1202板卡的16路IO数字量输入控制通道CN2通过端子板DN20输出。 1 控制要求 设置2个按钮、1个水泵控制开关、1个蜂鸣器控制开关、4个灯。当按钮l、2都没有按下时,所有灯都灭;当按钮2按下时灯左循环点亮,时间间隔3 s'u:当按钮l按下时,4个灯右循环点亮,时间间隔2 s;当按钮1、2同时按下时,2灯一组交替闪烁,间隔时间5 s:当按钮1、2同时按下、水泵控制開关闭合时,下限报警灯亮;当按钮1、2同时按下、蜂鸣器控制开关闲合时,上限报警灯亮[2]。 2 硬件设计 2个按钮分别接在PCI-1202的CN2口连接的端子板的CON2的2、3端子,对应DI1、2寄存器。下限报警、上限报警、灯l—4发光二极管、水泵、蜂鸣器分别接在PCI-1202的CN1口连接的端子板的CON1的1-8端,对应D00~7寄存器,当对应端口输出高电平时发光二极管亮、水泵启动、蜂鸣器响。流水灯控制装置外形结构及控制面板如图1所示。 3 系统组态 打开“工程管理器”,选择文件夹,新建工程。 3.1组态王中鸿格PCI-1202板卡驱动的安装 组态王6.53开发的鸿格PCI-1202板卡原来的版本有缺陷,不能正常通信。经我们与北京亚控公司联系新开发了驱动,驱动文件名为PCI- 1202.dll,版本号为60.1.2.20。用此新驱动更新原来的驱动后,才能正常使用鸿格PCI-1202板卡。 组态新驱动的安装方法:单击开始菜单一程序一组态王6.53-工具一安装新驱动,打开“驱动安装工具”,选择新驱动(PCI 1202.dll文件),安装驱动。 定义组态王设备:板卡一新建一智能模块一鸿格-PCI-1202-PCI,下一步一起“设备名称:PCI1202”,下一步一确定“设备地址”,第一块PCI-1202板卡,地址为0,下一步一确定恢复时间,下一步一完成。 3.2变量设置 该工程所设I/O变量如表1所示。 除以上I/O变量外,该系统为实现循环时间控制简便编程,还需要设置一些内存变量,如表2所示。 3.3画面制作与编程 (1)按照实际设备的构成制作画面,如图2所示。 (2)打开“工程浏览器”|“命令语言”|“数据改变命令语言”。 变量域:$秒 左循环=左循环+1; if(左循环>3) {左循环=0;} 右循环=右循环+1; if(右循环>2) {右循环=0;} 闪烁间隔时间=闪烁间隔时间+1; if(闪烁间隔时间>5) {闪烁间隔时间=0;} (3)打开“工程浏览器”|“命令语言”|“事件命令语言”。 事件描述:循环状态==0;发生时: 灯1=0;灯2=0;灯3=0;灯4=0;下限报警=0;上限报警=0; 事件描述:循环状态==1;发生时: 灯1=1;灯2=0;灯3=0;灯4=0;下限报警=0;上限报警=0; 事件描述:循环状态==2;发生时: 灯1=0;灯2=1;灯3=0;灯4=0;下限报警=0;上限报警=0; 事件描述:循环状态==3;发生时: 灯1=0;灯2=0;灯3=1;灯4=0;下限报警=0;上限报警=0; 事件描述:循环状态==4;发生时: 灯1=0;灯2=0;灯3=0;灯4=1;下限报警=0;上限报警=0; (4)打开“画面属性”1“画面命令语言” 编写“存在时“命令语言 if《按钮1==1)&&(按钮2==10))∥按钮按下为0,没有按下为1 {循环状态=0;}∥没有按钮按下,所有灯灭 if((按钮1==1)&&(按钮2==0)) {右循环=0; if(左循环==3) {循环状态=循环状态-1;} if(循环状态<1) {循环状态=4;}}∥只有按钮2按下,灯左循环点亮,间隔时间3 s else {if((按钮1==o)&&(按钮2==10 {左循环=0; if(右循环==2) {循环状态=循环状态+1;} if(循环状态>4) {循环状态=l;}}}JJ只有按钮1按下,灯右循环点亮,间隔时间2s if《按钮1==o)&&(按钮2==00 {if闪烁间隔时间==5) {闪烁=!闪烁;}//按钮1、2同时按下,2灯为一组交替闪烁 if(闪烁==0) {灯1=1;灯2=1;灯3=0;灯4=0;}//闪烁==0时灯1、2亮,灯3、4灭 else {灯1=0;灯2=0;灯3=1;灯4=l;}}//闪烁==1时灯1、2灭,灯3、4亮// if((按钮1==0)&&(按钮2==0)&&(水泵==1)) {下限报警=1:} else {下限报警=0;} if((按钮1==0)&&(按钮2==o)&&(蜂鸣器==10 {上限报警=1;} else {上限报警=0;} 编写“隐含时”命令语言 灯1=0;灯2=0;灯3=0;灯4=0;下限报警=0; 上限报警=0; 4 系绕调试与结语 启动“运行系统”,按下按钮1、2,在不同组合时,观察4个灯显示的不同状态:同时按下按钮1、2,再启动水泵,观察现象:同时按下按钮1、2,再启动蜂鸣器,观察现象[3]。如运行状态不符合要求,修改软件再运行,直至得到满意的运行结果。 [参考文献] [1]杨宁,阳泳,江世明基于单片机的LED流水灯控制与简述[J]电子世界,2016 (1):52-53 [2]朱艳梅.基于单片机的流水灯的设计与实现[J].电子制作,2014 (3):23-24 [3]谢智英.流水灯在单片机实训中的应用[J].信息系统工程,2015 (11):90-92 |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。