首页 > 编程语言 >Java与opc通信之二 - s7协议(HslCommunication)

Java与opc通信之二 - s7协议(HslCommunication)

时间:2023-01-29 10:45:23浏览次数:55  
标签:HslCommunication Java read ReadBool s7 short opc siemensTcpNet OperateResultExOn

1、引入依赖

<dependency>
                    <groupId>com.github.dathlin</groupId>
                    <artifactId>HslCommunication</artifactId>
                    <version>3.1.1</version>
                </dependency>

2、使用SiemensS7Net获取opc数据

    /**
     * 测试90
     */
    public static void test90() {
        SiemensS7Net siemensTcpNet = new SiemensS7Net(SiemensPLCS.S1500, "172.18.1.90");
        // 有符号的16位 地址:DB5.DBW528   字段名称:new_silo2_high_voltage_in
        //byte[] getBytes = siemensTcpNet.Read(DaveArea.DB, 5, 2, 528);
        //OperateResultExOne<byte[]> read = siemensTcpNet.Read("DB572.48", (short) 4);
        OperateResultExOne<byte[]> read = siemensTcpNet.Read("DB5.DBW524", (short) 2);
        //String str = getBinaryStrFromByte(getBytes[0]);
        //System.out.println("getDoubleData:"+str);
        //105代表读取的长度
        //OperateResultExOne<byte[]> read = siemensTcpNet.Read("I32", (short) 1);
        OperateResultExOne<boolean[]> read1 = siemensTcpNet.ReadBool("I188", (short) 1);
        OperateResultExOne<Boolean> i188 = siemensTcpNet.ReadBool("I188.4");
        OperateResultExOne<Boolean> i1881 = siemensTcpNet.ReadBool("I188.5");
        OperateResultExOne<Boolean> i1882 = siemensTcpNet.ReadBool("I188.6");

        if (read.IsSuccess) {
            // I74: 10100101
            // 2:1 4:0 0:1 3:0
            // I188: 11000100
            // 4:0 5:0 3:0 2:1 7:1 6:1
            byte[] content = read.Content;
            String str = getBinaryStrFromByte(content[0]);
            System.out.println("getDoubleData:"+str);
            //2是下标
            //short no = siemensTcpNet.getByteTransform().TransInt16(content, 2);
            //System.out.println(no);
        }

    }
View Code

源码:https://gitee.com/caesarthegreat/opc.git

标签:HslCommunication,Java,read,ReadBool,s7,short,opc,siemensTcpNet,OperateResultExOn
From: https://www.cnblogs.com/caesar-the-great/p/17071984.html

相关文章

  • Java类加载器与双亲委派机制
    类加载器顶级类加载器:BootStrapClassLoader负责加载%JAVA_HOME%路径下lib文件夹中的jar包和class文件扩展类加载器:ExtClassLoader负责加载%JAVA_HOME%路径下lib文件夹......
  • JavaScript学习笔记—DOM之初识
    document浏览器为我们提供了一个document对象,是一个全局变量代表整个网页...<body><buttonid="btn">点我一下</button><script>//获取btn对象cons......
  • 读Java8函数式编程笔记04_类库
    1. 默认方法1.1. 接口中定义的包含方法体的方法,方法名有default关键字做前缀1.1.1. 在任何接口中,无论函数接口还是非函数接口,都可以使用该方法1.2. Collection接口......
  • Java8学习笔记
    OracleJDK是基于OpenJDK源代码的商业版本,要学习Java新技术可以去OpenJDK官网学习。Lambda表达式介绍匿名内部类存在的问题newThread(newRunnable(){@Ove......
  • Java安全 - RMI源码分析
    RMI远程服务创建流程分析1、远程对象创建过程首先步入对象的构造方法下一步这里步入了父类UnicastRemoteObject的构造函数,传入一个参数port,作用是将远程对象随即发......
  • JavaScript学习笔记—DOM简介
    DOM(DocumentObjectModel)文档对象模型使用JS去操作网页的一组对象DOM属于WebAPI的一部分。WebAPI中定义了非常多的对象,通过这些对象可以完成对网页的各种操作(添加删......
  • JavaSE学习笔记Day 1
     packagecom.baidu.demo;/***@authorbaozi*@version1.0*@since1.8*/publicclassDemo01{Stringname;/****@paramname*@return......
  • JavaScript学习笔记—垃圾回收
    垃圾回收(Garbagecollection)如果一个对象没有任何的变量对其进行引用,那么这个对象就是一个垃圾垃圾对象的存在,会严重的影响程序的性能在JS中有自动的垃圾回收机制,这些......
  • CentOS 7 安装和配置java环境
    yum安装1.检查系统环境首先你要熟悉你的系统环境,憨憨我一上来就是一通熟悉的操作。后来遇到了很多的问题,比如你的系统是32位还是64位。这与Windows不同它会直接告诉你,Lin......
  • 10 个问题搞定 Java 异常处理,值得收藏!
    本文总结了关于Java异常的十大常见问题。1.有检查的与无检查的简而言之,检查型异常必须在方法中明确捕获,或者在方法的throws子句中声明。未检查的异常是由无法解决的问题引......