详讲OPC通讯,实现上位和PLC的通讯【2】

        小伙伴们,大家好,我又回来,非常有幸很快就接到了欧姆龙PLC,这款是NX102-1200,这块拥有OPCUA功能,最多可以带到5台客户端。我们要实现的过程是在上篇论文结尾讲到的,这边就再给大家讲解一下过程,如下图:

        在这边PLC是OPCUA服务器,因为它自带服务器功能,就简化OPC服务到设备的过程,这块就相当于一体了,今天我们要做两个测试:

        ①欧姆龙PLC和仿真软件的OPCUA通讯;

        ②欧姆龙PLC和上位控制台的OPCUA通讯;

        在开始测试前我们先打开欧姆龙的OPCUA服务,步骤如下:

        ①使用欧姆龙的OPCUA服务;

        ②导入客户端证书(这个是为了安全性),允许匿名登录,传送到PLC;

        ③创建全局变量,将全局变量的网络公开设为公开,如下图;

        

        ④连接PLC,,下载到PLC中,去检测PLC的OPCUA服务器状态,一定要正在运行才行。

        可以看到我的OPCUA服务器已经打开,还没连接设备,接下来我们去完成我们要完成的两个测试。

测试1:和OPCUA客户端模拟软件连接

        我这边选择的是Softing OPC Client软件,大家可以网上去找找下载,只要是OPCUA客户端模拟软件都是可以的。

        通讯步骤:

        ①将PLC的OPCUA服务器证书导入进去,如下图;

        ②双击创建server,将连接到PLC的终点写入进去,并写入用户名密码,连接,成功之后会出来以下画面。

       连接成功在PLC的OPCUA监控里面也可以监测到:这时的连接的客户端数会更新为1。

        ③读写测试

        我们就读取dataInt、dataArray、led数据,写入start、stop、dataReal。

        读取成功!!!

测试2:和上位机控制台连接

        我们还是和之前的OPC通讯一样,做个简单的控制台,来实现和PLC的OPCUA通讯,并读取和写入变量,这个步骤如下:

        ①去管理NUGET程序包里下载OPCFoundation.NetStandard.Opc.Ua包;

        ②在OPCUA客户端中通讯利用的是Session,所以我们必须创建Session,以匿名登录为例,程序如下:

        ③读写

        同步读取

        同步写入

        这边给大家解释一下NodeId是什么?NodeId是能读取到的数据的标记,这个怎么写呢,我们可以参考模拟软件上的NodeId就可以了,举个例子

        行,相信大家应该已经能够明白了。我上面写的程序是读取dataInt、dataReal的数据,并写入dataArray和start的数据,现在给它运行一下,看看能不能实现读取写入功能。

        测试结果:

        可见我们的测试非常成功!!!

        OK,今天给大家分享的OPCUA通讯知识就到这里,我也是只给大家一点提示,更多的知识还需大家深入去研究,这边也给大家扩展一下,我们其实除了刚刚的那个dll外,还有个更简单的dll,就是OpcUahelper,大家有兴趣的可以去使用看看,会比今天分享的简单很多,但今天分享的更接近原理,大家如果了解了今天所讲的去看OpcUahelper的代码会比较方便,好了,我们下次见吧,小伙伴们。

  • 13
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Java PLC OPC通讯是指使用Java语言和OPC协议来实现PLC(可编程逻辑控制器)之间的通信。PLC是一种常用于工业控制系统的设备,它能够接受输入信号并根据预定的逻辑控制规则来输出控制信号,从而实现对工业过程的控制。 OPC(OLE for Process Control)是一种广泛应用于工业自动化领域的通信协议。它通过提供一套标准接口,使得不同设备和系统之间可以方便地进行数据交换和通信。在PLC与其他设备进行通信时,OPC协议常常被用作接口。 Java是一种跨平台的编程语言,具有良好的可移植性和开发便利性。通过使用Java编写PLC OPC通讯程序,可以实现PLC与其他设备之间的数据交换和通信。Java提供了丰富的网络编程库,可以方便地编写网络通信代码。同时,Java还提供了多线程和异步编程的支持,可以实现并行通信和高效的数据处理。 在Java PLC OPC通讯中,首先需要创建一个与PLC连接的OPC客户端。通过OPC客户端,可以与OPC服务器进行通信,并获取或设置PLC的数据。然后,可以使用Java的网络编程库,通过TCP/IP或UDP协议与OPC服务器进行通信。通过发送和接收数据包,实现PLC的数据交换。 在通信过程中,需要根据PLC的通信协议进行数据的封装和解析。通常情况下,PLC提供了一套API或SDK来进行数据的封装和解析。通过调用PLC提供的接口,可以获取或设置PLC的数据。 总之,Java PLC OPC通讯是一种使用Java语言和OPC协议实现PLC之间通信的方法,它能够实现PLC与其他设备之间的数据交换和通信,具有良好的可移植性和开发便利性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值