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

Java与opc通信之三 - s7协议(s7connector)

时间:2023-01-29 10:56:25浏览次数:41  
标签:S7Connector Java int DB s7connector s7Connector byte s7

1、引入依赖

<dependency>
            <groupId>com.github.s7connector</groupId>
            <artifactId>s7connector</artifactId>
            <version>2.1</version>
        </dependency>

2、获取S7Connector连接,读取opc数据

public static S7Connector initConnect(){
        //PLC地址 二标段
        //String ipAddress = "xxx";
        //PLC地址 一标段
        String ipAddress = "xxx";
        //默认端口
        //int port = 102;
        int rack=0;
        int slot=3;
        int timeout=10000;
        S7Connector s7connector=
                S7ConnectorFactory
                        .buildTCPConnector()
                        .withHost(ipAddress)
                        //.withPort(port) //optional
                        //.withRack(rack) //optional
                        //.withSlot(slot) //optional
                        .withTimeout(timeout) //连接超时时间
                        .build();
        S7Serializer s7Serializer2L = S7SerializerFactory.buildSerializer(s7connector);
        return s7connector;

    }

public static void testReadPlcRealData() {

        S7Connector s7Connector = initConnect();
        //第一个参数:DaveArea.DB 表示读取PLC的地址区域为DB
        //第二个参数:DB块地址,若plc中是DB1000,则填1000
        //第三个参数:数据长度
        //第四个参数:偏移量
        //byte [] bytes = ByteBuffer.allocate(8).putDouble(1729.1729).array();
        //byte [] bytes = { 64, -101, 4, -79, 12, -78, -107, -22 };
        //System.out.println();

        byte[] getBytes = s7Connector.read(DaveArea.DB, 4, 4, 64);
        //byte[] getBytes = s7Connector.read(DaveArea.DB, 4, 4, 104);
        Float getValue = ByteBuffer.wrap(getBytes).getFloat();
        System.out.println("getFloatData:"+getValue);
        try {
            s7Connector.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
View Code

标签:S7Connector,Java,int,DB,s7connector,s7Connector,byte,s7
From: https://www.cnblogs.com/caesar-the-great/p/17072005.html

相关文章

  • Java与opc通信之二 - s7协议(HslCommunication)
    1、引入依赖<dependency><groupId>com.github.dathlin</groupId><artifactId>HslCommunication</artifactId>......
  • 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......