三通管拉制仪材料分配系数精确控制系统设计+PCB+源程序(11)
时间:2017-01-17 19:36 来源:毕业论文 作者:毕业论文 点击:次
正如图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) |