首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Visual C# USB 4继电器板控制器

Visual C# USB 4继电器板控制器
EN

Stack Overflow用户
提问于 2014-02-24 23:01:04
回答 3查看 6.7K关注 0票数 1

我想做的是创建一个简单的Windows窗体应用程序来控制继电器板,以打开和关闭一些灯。没什么大不了的,这是个私人项目。这是我拥有的中继板的链接:http://www.canakit.com/catalog/product/view/id/627/s/4-port-usb-relay-controller/

现在我的问题是如何向中继发送命令,并通过USB接收其中的一些命令。接力板上有个司机。董事会支持以下命令。那我该如何通过我的窗户表格把它们寄到黑板上。

用户手册:它兼容Windows和Apple以及各种Linux版本,并以USB (Communications )设备的形式出现,它创建了一个虚拟串行(COM)端口,允许通过任何支持串行通信的编程语言(VB、VB.NET、C#、C、C++、Perl、C++等)轻松地与板进行通信。一套完整的易于使用的命令可用于所有继电器、I/O通道和传感器的完全控制。

支持的命令:

代码语言:javascript
复制
RELx.ON
RELx.OFF
RELx.TOGGLE
RELx.GET

RELS.ON
RELS.OFF
RELS.GET

CHx.ON
CHx.OFF
CHx.TOGGLE
CHx.GET
CHx.SETMODE
CHx.GETANALOG
CHx.GETTEMP

CHS.ON
CHS.OFF
CHS.GET
CHS.SETTEMPRES
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-01-24 08:09:43

一旦安装了驱动程序,就插入设备。打开设备管理器,您现在应该看到板制造商给出的COM端口。您可以在文档中提供COM端口、波特率、奇偶校验等。现在您可以用下面的代码创建一个c#控制台应用程序了,我已经制作了一个示例,在间隔3秒之后发出一个RELx.ON和一个RELx.OFF:

代码语言:javascript
复制
using System;
using System.IO.Ports;

namespace RelayConsole
{
    class Program
    {
        public static SerialPort port = new SerialPort("COM5", 9600, Parity.None, 8, StopBits.One);
/* Replace COM5 with your COM port, 9600 with baud rate of your board, parity and bits as well as per your device documentation */

        static void Main(string[] args)
        {
            SerialProgram();
        }

        static void SerialProgram()
        {
            try
            {
                port.Open();
                port.Write("RELx.ON"); /* You can pass any command as per your documentation in port.Write */
                System.Threading.Thread.Sleep(3000);
                port.Write("RELx.OFF");
                Environment.Exit(0);
            }
            catch (Exception ex)
            {
                if(ex is System.IO.IOException)
                {
                    Console.WriteLine("Port Exception: " + ex.ToString());
                    Console.ReadLine();
                }
                else
                {
                    Console.WriteLine("General Exception: " + ex.ToString());
                    Console.ReadLine();
                }
            }
        }
    }
}
票数 1
EN

Stack Overflow用户

发布于 2014-02-24 23:25:53

查看说明手册,驱动程序允许您访问串口(但没有直接的USB ),因此您必须打开一个到中继板的串行端口。

首先(如果您还没有),按照下的说明,在手册中与Controller通信,并使用类似HyperTerminal的东西来确保您可以与董事会“交谈”。

然后看一下来自C#的简单串行通信的这些示例:

http://csharp.simpleserial.com/

-.NET.aspx

票数 0
EN

Stack Overflow用户

发布于 2014-02-25 01:18:51

您应该使用System.IO.Ports.SerialPort类

如果您已经看到了该类的文档,并且在使用该类时遇到问题,请详细说明您遇到了哪些问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22001013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档