本设计的整体结构如图1所示。
图1 系统整体结构
1.PC机监控软件的设计
(1)首先完成组态王和VB的DDE对话。
动态数据交换(DDE)是Windows平台下的一个完整的通讯协议,它使应用程序间能彼此交换数据和发送指令。要实现DDE对话需进行如下几步的工作:①设计VB控制界面,包括采集数据、开关状态等文本框。编写VB在DDE对话上的程序。并生成tx1.exe文件。②用组态王设计用户界面,包括菜单、封面、监视控制、报警等。在组态王中新建一个DDE设备,命名为tx1,服务器的名称为VB程序窗体的名称,建立一系列需要与VB进行数据交换的I/O变量,其设备为tx1,寄存器类型为VB程序中对应文本框的名称。③系统要求以组态王进行监控,VB程序隐藏于后台执行,将VB应用程序窗体的Visible属性设为False,在编写组态王的启动时应用程序命令语言,用StartApp函数启动VB程序,在用RebuildDDE函数重新建立DDE对话。
到此完成了DDE对话,而面向操作人员的只是组态王设计的画面,如图2所示。
800)this.width=800" border="0" />
图2 监视控制界面
(2)其次完成组态王数据库的访问。本设计采用Access数据库,建立“my.mdb”数据库,并在计算机上配置好数据源。该数据库存放的是火情报警的历史记录。此系统在数据库上有以下功能:①系统启动时,可自行建立表格。②实时记录报警。在报警出现时使用组态王提供的函数,将数据写入所连接的数据库中指定的表格。③按照选择日期条件显示符合日期的历史报警数据。为了方便使用,系统中使用组态王提供的KVDBGrid控件,设置好该控件的属性,就可以实时显示所连接的数据库的数据情况。查询所使用的控件是组态王提供的日期控件。在进行历史数据查询时,可以根据所选择的日期条件显示出对应的历史数据。
2.1无线串口通信的实现
(1) 首先制作RS-232电平和TTL电平的双向转换电路。由于PC机使用
图3 MAX232电平转换电路
表1 PC机→机器人串口通信协议
| bit7 | bit6 | bit5 | bit4 | bit3 | bit2 | bit1 | bit0 | |
| 0XAB | |
| 0XCD |
| | | | 手动或自动 | 车是否向前 | 车是否后退 | 车是否向左转 | 车是否向右转 | |
| PID参数(K) | |
| PID参数(Ti) |
| PID参数(Td) |
| SUM CHECK(低字节在先) | |
out_Send[7] |
表2 机器人→PC机串口通信协议
| bit7 | bit6 | bit5 | bit4 | bit3 | bit2 | bit1 | bit0 | |
| 0XAB | |
| 0XCD |
| | | | | | | | | |
| | | | | | | | |
| 左轮脉冲计数(低字节) | |
| 左轮脉冲计数(高字节) |
| 右轮脉冲计数(低字节) |
| 右轮脉冲计数(高字节) |
| 指南针与车所成角度 |
| SUM CHECK(低字节在先) | |
| | | | | | | | | | |