c#rs232与三菱通讯

编程入门 行业动态 更新时间:2024-10-07 02:28:11

c#rs232与三菱<a href=https://www.elefans.com/category/jswz/34/1770665.html style=通讯"/>

c#rs232与三菱通讯

【实例简介】

【实例截图】

【核心代码】

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 HslCommunication;

using HslCommunication.Profinet.Melsec;

namespace PLC_TestDemo

{

public partial class FrmMain : Form

{

public FrmMain()

{

InitializeComponent();

splitContainer1.Panel2.Enabled = false;

btnBreakConn.Enabled = false;

}

#region 建立通讯连接

MelsecMcNet melsec = new MelsecMcNet();

//建立通讯连接

private void btnConnect_Click(object sender, EventArgs e)

{

melsec.IpAddress = txtIPAddr.Text.Trim();

melsec.Port = Convert.ToInt32(txtPort.Text.Trim());

try

{

OperateResult connectStatus = melsec.ConnectServer();

if (connectStatus.IsSuccess)

{

MessageBox.Show("连接成功");

splitContainer1.Panel2.Enabled = true;

btnBreakConn.Enabled = true;

btnConnect.Enabled = false;

}

else

{

MessageBox.Show("连接失败");

}

}

catch (Exception ex)

{

MessageBox.Show(ex.Message);

}

}

//断开连接

private void btnBreakConn_Click(object sender, EventArgs e)

{

try

{

melsec.ConnectClose();

splitContainer1.Panel2.Enabled = false;

btnBreakConn.Enabled = false;

btnConnect.Enabled = true;

}

catch (Exception ex)

{

throw ex;

}

}

#endregion

#region 读取三菱PLC数据

private void btnReadX_ButtonClick(object Sender)

{

txtResultView.Text = melsec.ReadBool(txtReadX.Text.Trim(), 1).Content[0] .ToString();

}

private void btnReadY_ButtonClick(object Sender)

{

txtResultView.Text = melsec.ReadBool(txtReadY.Text.Trim(), 1).Content[0].ToString();

}

private void btnReadM_ButtonClick(object Sender)

{

txtResultView.Text = melsec.ReadBool(txtReadM.Text.Trim()).Content.ToString();

}

private void btnReadD_ButtonClick(object Sender)

{

txtResultView.Text = melsec.ReadInt16(txtReadD.Text.Trim()).Content.ToString();

}

#endregion

#region 写入三菱PLC数据

private void btnWriteY_ButtonClick(object Sender)

{

bool writebool = false ;

if (txtWriteView .Text .Trim ()=="1"|| txtWriteView.Text.Trim() =="true")

{

writebool = true;

}

if (txtWriteView.Text.Trim() == "0" || txtWriteView.Text.Trim() == "false")

{

writebool = false;

}

OperateResult result= melsec.Write(txtWriteY.Text.Trim(), writebool);

if (result.IsSuccess )

{

MessageBox.Show("写入成功");

}

else

{

MessageBox.Show("写入失败");

}

}

private void btnWriteM_ButtonClick(object Sender)

{

bool writebool = false;

if (txtWriteView.Text.Trim() == "1" || txtWriteView.Text.Trim() == "true")

{

writebool = true;

}

if (txtWriteView.Text.Trim() == "0" || txtWriteView.Text.Trim() == "false")

{

writebool = false;

}

OperateResult result = melsec.Write(txtWriteM.Text.Trim(), writebool);

if (result.IsSuccess)

{

MessageBox.Show("写入成功");

}

else

{

MessageBox.Show("写入失败");

}

}

private void btnWriteW_ButtonClick(object Sender)

{

OperateResult result = melsec.Write(txtWriteW.Text.Trim(), Convert.ToInt16(txtWriteView .Text .Trim ()));

if (result.IsSuccess)

{

MessageBox.Show("写入成功");

}

else

{

MessageBox.Show("写入失败");

}

}

private void btnWriteD_ButtonClick(object Sender)

{

OperateResult result = melsec.Write(txtWriteD.Text.Trim(), Convert.ToInt16(txtWriteView.Text.Trim()));

if (result.IsSuccess)

{

MessageBox.Show("写入成功");

}

else

{

MessageBox.Show("写入失败");

}

}

#endregion

}

}

更多推荐

c#rs232与三菱通讯

本文发布于:2024-02-13 14:13:15,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1759236.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:通讯

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!