天天看点

三菱5u 上位机mc协议_上位机读写三菱plc fx5u的内存数据示例

这个例子使用HslCommunication类库的三菱plc读写测试程序,所以在使用前,请安装这个组件。

HslCommunication类库的作者功底扎实,其代码质量很高,是勇哥学习的标榜。

同时作者有愿望和勇气为工业4.0做技术上的积累,这个高度让人汗颜,这里向作者表达真心的致敬。

三菱5u 上位机mc协议_上位机读写三菱plc fx5u的内存数据示例

示例代码:using HslCommunication;

using HslCommunication.Profinet.Melsec;

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace fx5PlcTest

{

public partial class Form1 : Form

{

private MelsecMcNet melsec_net = null;

public Form1()

{

InitializeComponent();

melsec_net = new MelsecMcNet();

}

private void btnLinkplc_Click(object sender, EventArgs e)

{

// 连接

System.Net.IPAddress address;

if (!System.Net.IPAddress.TryParse( tbplcIp.Text, out address ))

{

MessageBox.Show( "Ip地址输入不正确!" );

return;

}

melsec_net.IpAddress = tbplcIp.Text;

int port;

if (!int.TryParse(tbplcPort.Text, out port))

{

MessageBox.Show( "端口输入格式不正确!" );

return;

}

melsec_net.Port = port;

melsec_net.ConnectClose( );

try

{

OperateResult connect = melsec_net.ConnectServer( );

if (connect.IsSuccess)

{

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

btnTest.Enabled = true;

}

else

{

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

btnTest.Enabled = false;

}

}

catch (Exception ex)

{

MessageBox.Show( ex.Message );

}

}

private void btnTest_Click(object sender, EventArgs e)

{

var r1= melsec_net.Write("D1000", 112.55f);

Thread.Sleep(100);

var r2 = melsec_net.Write("D1004", 55);

Thread.Sleep(100);

var r3=melsec_net.Write("D1010", "allegro");

Thread.Sleep(100);

var res=melsec_net.ReadFloat("D1000");

var res1 = melsec_net.ReadInt16("D1004");

var res2 = melsec_net.ReadString("D1010", 7);

rtbMsg.AppendText(res.Content.ToString()+Environment.NewLine+

res1.Content.ToString()+Environment.NewLine+

res2.Content);

}

private void Form1_FormClosed(object sender, FormClosedEventArgs e)

{

melsec_net.ConnectClose();

}

private void Form1_Load(object sender, EventArgs e)

{

btnTest.Enabled = false;

}

}

}

---------------------

作者:hackpig

来源:www.skcircle.com

版权声明:本文为博主原创文章,转载请附上博文链接!

#转载请注明出处 www.skcircle.com 《少有人走的路》勇哥的工业自动化技术网站。如果需要本贴图片源码等资源,请向勇哥索取。