欢迎光临
我们一直在努力

【教学基地】地铁单程票(投币设备部分)

地铁单程票模拟系统

投币设备

(前半部分)

以地铁售票为主题的教学课程是不是还缺少投币售票的部分,本节课开始转向学习labview的RS232串口通信部分,现布置任务如下:

1.设计投币器上位机界面,实现地铁售票主程序调用;

2.制作串口投币器设备,具有基本检测、处理、退币功能;

3.正确配置VISA,了解单片机简单操作;

关键词:VISA、RS232、状态机、虚拟串口调试

【备注】学习本节labview必须安装VISA引擎驱动

Labview VISA引擎安装包链接:

密码:n2n1

1.单片机程序对接部分

★★★★★

这里不介绍各种型号单片机的编程语言,用 [思维导图] 来表达售票机的工作原理:

1.表示顾客投币操作、得到单程票卡、退回硬币;

2.投币信号送到单片机或微处理器;

3.满足条件售出单程票,并退还剩余金额;

4.每次投币硬件向单片机报告投币金额,上位机软件发出命令控制硬件设备动作;

2.功能模拟部分

下面我们用两个按钮来模拟投入1元或者5角的硬币,用红色LED来模拟是否售出单程票磁卡,用绿色LED来模拟退币操作;

3.数据通信协议部分

我们使用串口通信传输数据,控制双方必须有一个规定,软硬件对接数据的协议,下面是售票机软硬件的数据规定协议:

<1>  硬件串口发送 [input0.5] 或者 [input1.0] 把 投币金额报 告给 labview;

<2>  labview串口写入 [outcard] 控制硬件售出单程票感应卡;

<3>  labview串口写入 [outmoney=1.0] 控制硬件输出退还金额;

上位机源代码

1.去掉串口边框菜单栏和工具栏代码块;

2.串口初始化配置代码块,先关闭串口再打开,防止报错;

3.注册用户自定义事件;

4.串口接收数据代码块,读取串口接收到的数据,并输出数据大小;

5.激活 [用户接收处理事件] ;

6.设置超时时间,50代表50ms,说明一秒扫描20次数据变化;

7.串口关闭和销毁注册代码块;

(为了下一次的使用,串口一定要关闭,尤其是蓝牙模拟串口,不关闭得重启电脑才可以下一次使用)

8.串口接收字节数代码块,无数据发来时为零;

解析数据方法

匹配规则:

1.直接输入字母或文字,扫描输入内容之后的数值;

2.输入正则表达式,按格式扫描数据中的数值;

准备工作

很多朋友都学过 [单片机] 硬件方面,我们现在学习 PC软件串口控制方面 的操作,labview没有自带VISA串口驱动,首先我们要配置串口环境:

使用串口前先进行串口环境的配置,只需要一次配置以后就可以是使用了。如果我们没有实际的串口设备,我们要安装  [虚拟串口]  和  [labview串口驱动引擎]  ,然后验证一下是否可以检测到串口,检测到就配置成功了。

建立模拟串口驱动

(无硬件连接调试时使用)

安装labview串口引擎

密码: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)

千 里 优 选 教 学 基 地

赞(89)
分享到: 更多

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址