• 大小: 0.55M
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2024-06-16
  • 语言: C#
  • 标签: 上位机  电机  控制  C#  

资源简介


资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;

namespace _3电机控制
{
    public partial class Form1 : Form
    {
        const byte dcrotate = 0x01;      //正转
        const byte dcc_rotate = 0x02;     //反转
        const byte strotate = 0x11;      //正转
        const byte stc_rotate = 0x12;     //反转

        const byte dcspeedup = 0x81;      //加速
        const byte dcspeeddown = 0x82;     //减速
        const byte stspeedup = 0x91;      //加速
        const byte stspeeddown = 0x92;     //减速

        const byte dcstop = 0x03;      //停转
        const byte dccheck = 0x51;     //查询转速
        const byte ststop = 0x13;      //停转
        const byte stcheck = 0x61;     //查询转速

        const byte temcheck = 0x71;     //查询当前温度

        int t = 0;              //定义全局变量,用于上位机接收数据
        int[] re = new int[2];
        //const byte DeviceOpen3 = 0x03;
        //const byte DeviceClose3 = 0x83;

        public Form1()
        {
            InitializeComponent();
            System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;//设置该属性 为false
        }

        private void Form1_Load(object sender EventArgs e)
        {
            SearchAndAddSerialToComboBox(serialPort1 comboBox1);       //开机扫描可用的com口
            button6.Enabled = false;//加速减速键都不可用
            button7.Enabled = false;
            button10.Enabled = false;
            button13.Enabled = false;//加速减速键都不可用
            button14.Enabled = false;
            button15.Enabled = false;
            serialPort1.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(serialPort1_DataReceived);//必须手动添加事件处理程序
            re[0] = 0;
            re[1] = 1;
        }

        private void serialPort1_DataReceived(object sender System.IO.Ports.SerialDataReceivedEventArgs e)
        {
            for(;t<2;)   //接收模式为数值模式
            {
                re[t]= (int)serialPort1.ReadByte();//此处需要强制类型转换,将(int)类型数据转换为(byte)类型数据,不必考虑是否会丢失数据
                t++;
                break;
            }
            if(t==2)
            {
                if(re[0]==255)//此时接收的数据是直流电机的转速
                {
                    string str = Convert.ToString(re[1]*2 10);//转换为十进制字符串
                    label4.Text = str;
                }
                else
                    if(re[0]==254)//此时接收的数据是步进电机的转速
                    {
                        if (re[1] <= 12)
                        {
                            int a b;
                            a = 120 / re[1] / 10;
                            b = 120 / re[1] % 10;
                            string str = Convert.ToString(a 10)+‘.‘+ Convert.ToString(b 10);//转换为十进制字符串
                            label7.Text = str;
                        }
                        if (re[1]>12)
                        {
      

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件       41984  2021-06-14 10:20  3电机控制和温度显示\.vs\3电机控制\v15\.suo
     文件           0  2021-06-14 10:20  3电机控制和温度显示\.vs\3电机控制\v15\Server\sqlite3\db.lock
     文件      569344  2021-06-14 10:20  3电机控制和温度显示\.vs\3电机控制\v15\Server\sqlite3\storage.ide
     文件       32768  2021-06-14 10:20  3电机控制和温度显示\.vs\3电机控制\v15\Server\sqlite3\storage.ide-shm
     文件     4124152  2021-06-14 10:20  3电机控制和温度显示\.vs\3电机控制\v15\Server\sqlite3\storage.ide-wal
     文件        1138  2021-06-14 10:20  3电机控制和温度显示\3电机控制.sln
     文件        3431  2021-06-14 10:20  3电机控制和温度显示\3电机控制\3电机控制.csproj
     文件       53760  2021-06-14 10:20  3电机控制和温度显示\3电机控制\bin\Debug\3电机控制.exe
     文件       40448  2021-06-14 10:20  3电机控制和温度显示\3电机控制\bin\Debug\3电机控制.pdb
     文件       14742  2021-06-14 10:20  3电机控制和温度显示\3电机控制\Form1.cs
     文件       19277  2021-06-14 10:20  3电机控制和温度显示\3电机控制\Form1.Designer.cs
     文件       45081  2021-06-14 10:20  3电机控制和温度显示\3电机控制\Form1.resx
     文件       35596  2021-06-14 10:20  3电机控制和温度显示\3电机控制\obj\Debug\_3电机控制.Form1.resources
     文件         180  2021-06-14 10:20  3电机控制和温度显示\3电机控制\obj\Debug\_3电机控制.Properties.Resources.resources
     文件          42  2021-06-14 10:20  3电机控制和温度显示\3电机控制\obj\Debug\3电机控制.csproj.CoreCompileInputs.cache
     文件         813  2021-06-14 10:20  3电机控制和温度显示\3电机控制\obj\Debug\3电机控制.csproj.FileListAbsolute.txt
     文件        1012  2021-06-14 10:20  3电机控制和温度显示\3电机控制\obj\Debug\3电机控制.csproj.GenerateResource.cache
     文件       10576  2021-06-14 10:20  3电机控制和温度显示\3电机控制\obj\Debug\3电机控制.csprojAssemblyReference.cache
     文件       53760  2021-06-14 10:20  3电机控制和温度显示\3电机控制\obj\Debug\3电机控制.exe
     文件       40448  2021-06-14 10:20  3电机控制和温度显示\3电机控制\obj\Debug\3电机控制.pdb
     文件        1431  2021-06-14 10:20  3电机控制和温度显示\3电机控制\obj\Debug\DesignTimeResolveAssemblyReferences.cache
     文件        6875  2021-06-14 10:20  3电机控制和温度显示\3电机控制\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
     文件         495  2021-06-14 10:20  3电机控制和温度显示\3电机控制\Program.cs
     文件        1324  2021-06-14 10:20  3电机控制和温度显示\3电机控制\Properties\AssemblyInfo.cs
     文件        2841  2021-06-14 10:20  3电机控制和温度显示\3电机控制\Properties\Resources.Designer.cs
     文件        5612  2021-06-14 10:20  3电机控制和温度显示\3电机控制\Properties\Resources.resx
     文件        1101  2021-06-14 10:20  3电机控制和温度显示\3电机控制\Properties\Settings.Designer.cs
     文件         249  2021-06-14 10:20  3电机控制和温度显示\3电机控制\Properties\Settings.settings

评论

共有 条评论