三通管拉制仪材料分配系数精确控制系统设计+PCB+源程序(11)_毕业论文

毕业论文移动版

毕业论文 > 机械论文 >

三通管拉制仪材料分配系数精确控制系统设计+PCB+源程序(11)


正如图3.2.1中所示的人机界面,当进行实验时,首先选择串口通道并打开串口后。单击启动模式中所需要的模式:单步是指步进电机只运转一步0.72度;连续则是指步进电机连续运转,直到按下停止按钮;行程则是控制步进电机运转设定的行程后停止运转。设定上升(或下降)速度后,单击上升(或下降)按钮,步进电机则开始运转。其中,若选择行程模式,则还要设定上升(或下降)的行程。在电机运转过程中,只要单击“停止”按钮,电机将停止运转。
 
图3.2.1 上位机操作界面
图3.2.2 MFC集成开发环境
3.2.4    程序编写
与单片机的程序相对应,MFC的实现程序中各命令字都是与单片机程序中相对应的。最后生成的EXE界面如图3.2.1所示。进行三通管拉制时可在窗口界面设置步进电机运转的方式、转速、行程等参数,通过串口通信将控制信息传送给单片机,从而控制步进电机的驱动。
本文中使用MFC实现串口编程,实现程序主要包括Mscomm控件的设置和各个按钮发送的控制数据列。
(1)    Mscomm控件的初始化命令如下:
m_COM.SetCommPort(1); //选择com1
    m_COM.SetSettings("9600,n,8,1"); //波特率9600,无校验,8个数据位,1个停止位
    m_COM.SetInputMode(1);    //1:表示以二进制方式读写数据
    m_COM.SetRThreshold(2); //参数1表示每当串口接收缓冲区中有多于或等于1个字符时将引发一个接收数据的OnComm事件
    m_COM.SetInputLen(0);    //设置当前接收区数据长度为0
    m_COM.GetInput();        //先预读缓冲区以清除残留数据
(2)    MFC实现程序中控制字是与下位机相对应的,自定义宏说明如表3.2.1所示。
表3.2.1 上位机自定义宏说明
宏名    字符串
SLEEP    0x00
SEND_START    0xaa
SEND_START_D0    0xdd
SEND_START_D1    0xcc
SEND_STOP    0xbb
MODE_STEP      0x00
MODE_RUN    0x01
MODE_CODE      0x02
(3)    单击“上升”按钮控制电机按照所设定参数正转(滑块上升),“上升”按钮所发送的数据包如表3.2.2所示:
表3.2.2 “上升”按钮所发送数据包
数据    数据含义
SEND_STOP    发送停止指令
SEND_START    发送开始命令
SEND_START_D1    发送转向设定指令
LOBYTE(m_v)    发送速度参数的低八位
HIBYTE(m_v)    发送速度参数的高八位
m_mode    发送模式选择数据
LOBYTE(stepnum)    发送步数低八位
HIBYTE(stepnum)    发送步数高八位

(4)    单击“下降”按钮控制电机按照所设定参数反转(滑块下降),“下降”按钮所发送的控制数据包如表3.2.3所示:
表3.2.3 “下降”按钮所发送的数据包
数据    数据含义
SEND_STOP    发送停止指令
SEND_START    发送开始命令
SEND_START_D0    发送设定指令
LOBYTE(m_v2)    发送速度参数的低八位
HIBYTE(m_v2)    发送速度参数的高八位
m_mode    发送模式选择数据
LOBYTE(stepnum)    发送步数低八位
HIBYTE(stepnum)    发送步数高八位 (责任编辑:qin)