【C#】不同窗体如何调用同一个串口

不要用c#自带的serialPort控件,自己定义一个静态实例即可。

public static SerialPort serialPort1 = new SerialPort();

如果是在Form1里 用serialPort1来引用它
则其他窗口可以通过Form1.serialPort1来引用它
当然 更好的是放在另一个静态类里
比如

public static class CommonRes
{
       public static SerialPort serialPort1;
}

只要using了这个类的命名空间
这样任何窗体内都能用CommonRes.serialPort1来引用它

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
欧姆龙通讯一般指的是与欧姆龙PLC进行通信,通常使用欧姆龙的HostLink协议或FINS协议进行通信。这里提供一个使用HostLink协议进行通信的示例代码: 1. 在WinForm窗体上添加一个按钮和一个文本框,用于发送和接收数据。 2. 引用欧姆龙HostLink通讯的DLL库文件(OmronHostLink.dll)。 3. 编写代码: ```csharp using System; using System.Windows.Forms; using OmronHostLink; namespace OmronHostLinkTest { public partial class Form1 : Form { // 定义HostLink通讯对象 private OmronHostLink hostLink = new OmronHostLink(); public Form1() { InitializeComponent(); } private void btnConnect_Click(object sender, EventArgs e) { // 设置PLC的通讯参数 hostLink.SerialPortName = "COM1"; hostLink.BaudRate = 9600; hostLink.DataBits = 7; hostLink.Parity = OmronHostLink.Parities.Even; hostLink.StopBits = OmronHostLink.StopBits.One; try { // 打开通讯端口 hostLink.Open(); // 连接PLC hostLink.Connect(); MessageBox.Show("连接成功!"); } catch (Exception ex) { MessageBox.Show("连接失败:" + ex.Message); } } private void btnDisconnect_Click(object sender, EventArgs e) { // 断开PLC的连接 hostLink.Disconnect(); // 关闭通讯端口 hostLink.Close(); MessageBox.Show("断开连接成功!"); } private void btnSend_Click(object sender, EventArgs e) { // 发送读取PLC数据的命令 OmronHostLink.WordData data = hostLink.ReadWord(0x82, 0, 1); // 将数据显示在文本框 txtRecv.Text = data.ToString(); } } } ``` 4. 在窗体上的按钮的Click事件调用对应的函数即可进行通讯操作。 需要注意的是,HostLink通讯需要使用RS232串口进行连接,需要根据实际情况设置相应的通讯参数(如串口号、波特率、数据位、校验位、停止位等)。此外,还需要根据PLC的具体情况设置读取和写入数据的地址和数据类型。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值