地铁单程票模拟系统
投币设备
(前半部分)
以地铁售票为主题的教学课程是不是还缺少投币售票的部分,本节课开始转向学习labview的RS232串口通信部分,现布置任务如下:
1.设计投币器上位机界面,实现地铁售票主程序调用;
2.制作串口投币器设备,具有基本检测、处理、退币功能;
3.正确配置VISA,了解单片机简单操作;
关键词:VISA、RS232、状态机、虚拟串口调试
【备注】学习本节labview必须安装VISA引擎驱动
Labview VISA引擎安装包链接:
https://pan.baidu.com/s/1Mxy9n5cXK0aJ78xrn-Y-sA
密码:n2n1
1.单片机程序对接部分
★★★★★
这里不介绍各种型号单片机的编程语言,用 [思维导图] 来表达售票机的工作原理:
1.表示顾客投币操作、得到单程票卡、退回硬币;
2.投币信号送到单片机或微处理器;
3.满足条件售出单程票,并退还剩余金额;
4.每次投币硬件向单片机报告投币金额,上位机软件发出命令控制硬件设备动作;
2.功能模拟部分
下面我们用两个按钮来模拟投入1元或者5角的硬币,用红色LED来模拟是否售出单程票磁卡,用绿色LED来模拟退币操作;
3.数据通信协议部分
★
我们使用串口通信传输数据,控制双方必须有一个规定,软硬件对接数据的协议,下面是售票机软硬件的数据规定协议:
硬件串口发送[input0.5]或者[input1.0]把投币金额报 告给 labview;
labview串口写入[outcard]控制硬件售出单程票感应卡;
labview串口写入[outmoney=1.0]控制硬件输出退还金额;
上位机源代码
1.去掉串口边框菜单栏和工具栏代码块;
2.串口初始化配置代码块,先关闭串口再打开,防止报错;
3.注册用户自定义事件;
4.串口接收数据代码块,读取串口接收到的数据,并输出数据大小;
5.激活 [用户接收处理事件] ;
6.设置超时时间,50代表50ms,说明一秒扫描20次数据变化;
7.串口关闭和销毁注册代码块;
(为了下一次的使用,串口一定要关闭,尤其是蓝牙模拟串口,不关闭得重启电脑才可以下一次使用)
8.串口接收字节数代码块,无数据发来时为零;
解析数据方法
匹配规则:
1.直接输入字母或文字,扫描输入内容之后的数值;
2.输入正则表达式,按格式扫描数据中的数值;
准备工作
很多朋友都学过 [单片机] 硬件方面,我们现在学习 PC软件串口控制方面 的操作,labview没有自带VISA串口驱动,首先我们要配置串口环境:
使用串口前先进行串口环境的配置,只需要一次配置以后就可以是使用了。如果我们没有实际的串口设备,我们要安装[虚拟串口]和[labview串口驱动引擎],然后验证一下是否可以检测到串口,检测到就配置成功了。
建立模拟串口驱动
(无硬件连接调试时使用)
安装labview串口引擎
链接:
https://pan.baidu.com/s/1Mxy9n5cXK0aJ78xrn-Y-sA
密码:n2n1
备注:如果专门VISA安装包很大,上面是专门的RS232驱动安装包
添加驱动串口资源
如果正确安装驱动和引擎后会显示com口
串口相关函数
注意:
串口打开前最好先关闭一下对应串口释放硬件资源,否则会经常报错,因为串口有时会被其他软件占用,导致资源无法释放;
" 本设计制作为原创公益教学课程,不得用于获利性活动。"
——梦魄@行动(2018/07/23)
" This design is an original public interest teaching course,and it should not be used for profitable activities ."
——Dream doing(2018/07/23)
luyuanbin
千 里 优 选 教 学 基 地
03012
微信公众号:qlyxgy
领取专属 10元无门槛券
私享最新 技术干货