opc客户端_工控超实用的OPC客户端上位机编写

本文介绍了一款软件如何通过IP地址获取主机名,并进一步连接到OPC服务器,包括获取服务器上的所有节点及如何订阅和修改节点的值。文中提供了具体的实现代码。

1、软件实现根据IP地址获取主机名,然后获取OPC服务器,连接服务器后获OPC服务器上的所有节点,双击某个节点标签,在下面可以订阅标签的值,点击某个标签,右键点击可以更改写入值:

766ff937033697005082db58e273e129.png
163ee9b9c598d2e9359533b439b0d8e6.png

2、软件功能演示:

73b4c40b50f28406219bf37f5d846a38.gif

3、部分代码如下:

///

/// 根据IP地址获取DNS主机名

///

///

///

private void button1_Click(object sender, EventArgs e)

{

try

{

IPHostEntry iPHostEntry = Dns.GetHostEntry(textBox1.Text);

textBox2.Text = iPHostEntry.HostName;

}

catch(Exception ex)

{

MessageBox.Show(ex.ToString());

}

}

///

/// 获取OPC服务器

///

///

///

private void button2_Click(object sender, EventArgs e)

{

try

{

if (textBox2.Text != "")

{

kepServer = new OPCServer();

//获取指定DNS主机名上的OPC服务器

object serverList = kepServer.GetOPCServers(textBox2.Text);

comboBox1.Items.Clear();

foreach (string serverName in (Array)serverList)

{

if (!comboBox1.Items.Contains(serverName))

{

comboBox1.Items.Add(serverName);

}

}

}

else

{

MessageBox.Show("请先获取DNS主机名");

}

}

catch(Exception ex)

{

MessageBox.Show(ex.ToString());

}

}

///

/// 连接OPC服务器

///

///

///

private void button3_Click(object sender, EventArgs e)

{

listBox1.Items.Clear();

bool connFlag= ConnectServer(comboBox1.Text,textBox2.Text);

if(connFlag==true)

{

button3.Text = "已连接OPC";

}

GetOPC_Info();

kepBrowser = kepServer.CreateBrowser();

CreateKepBrowser(kepBrowser);

CreateGroup();

}

///

/// 连接OPC服务器,并返回是否连接成功

///

///

///

///

public bool ConnectServer(string serverName,String ServerNode)

{

try

{

kepServer.Connect(serverName, ServerNode);

//判断OPC服务器的连接状态

if (kepServer.ServerState == (int)OPCServerState.OPCRunning)

{

toolStripStatusLabel1.Text = "已连接到服务器:" + kepServer.ServerName + " ";

return true;

}

else

{

toolStripStatusLabel1.Text= "状态:" + kepServer.ServerState.ToString() + " ";

return false;

}

}

catch

{

return false;

}

}

4、完整代码较长,如需要完整代码可先关注并留言,然后私信我发送“OPCDA”即可自动回复,如果能帮助到你,感谢你的关注订阅,可以第一时间接收后续更新。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值