【教学基地】地铁单程票

地铁单程票模拟系统

投币设备

(前半部分)

以地铁售票为主题的教学课程是不是还缺少投币售票的部分,本节课开始转向学习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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180726G0HNMJ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券