• 大小: 745KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-11
  • 语言: Java
  • 标签: 数据采集  

资源简介

Modbus协议数据采集java实现源码工程,以及相关jar包。可以在此基础上进行二次开发,无编译错误;现实项目中使用。

资源截图

代码片段和文件信息

/*
 * ============================================================================
 * GNU General Public License
 * ============================================================================
 *
 * Copyright (C) 2006-2011 Serotonin Software Technologies Inc. http://serotoninsoftware.com
 * @author Matthew Lohbihler
 * 
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation either version 3 of the License or
 * (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not see .
 */
package com.serotonin.modbus4j;

import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.serotonin.modbus4j.base.ModbusUtils;
import com.serotonin.modbus4j.base.RangeAndOffset;
import com.serotonin.modbus4j.code.RegisterRange;
import com.serotonin.modbus4j.exception.IllegalDataAddressException;
import com.serotonin.modbus4j.exception.ModbusIdException;
import com.serotonin.modbus4j.locator.baseLocator;
import com.serotonin.modbus4j.locator.NumericLocator;
import com.serotonin.modbus4j.locator.StringLocator;

public class BasicProcessImage implements ProcessImage {
    private final int slaveId;
    private boolean allowInvalidAddress = false;
    private short invalidAddressValue = 0;

    private final Map coils = new HashMap<>();
    private final Map inputs = new HashMap<>();
    private final Map holdingRegisters = new HashMap<>();
    private final Map inputRegisters = new HashMap<>();
    private final List writeListeners = new ArrayList<>();
    private byte exceptionStatus;

    public BasicProcessImage(int slaveId) {
        ModbusUtils.validateSlaveId(slaveId false);
        this.slaveId = slaveId;
    }

    @Override
    public int getSlaveId() {
        return slaveId;
    }

    public synchronized void addListener(ProcessImageListener l) {
        writeListeners.add(l);
    }

    public synchronized void removeListener(ProcessImageListener l) {
        writeListeners.remove(l);
    }

    public boolean isAllowInvalidAddress() {
        return allowInvalidAddress;
    }

    public void setAllowInvalidAddress(boolean allowInvalidAddress) {
        this.allowInvalidAddress = allowInvalidAddress;
    }

    public short getInvalidAddressValue() {
        return invalidAddressValue;
    }

    public void setInvalidAddressValue(short invalidAddressValue) {
        this.invalidAddressValue = invalidAddressVa

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-06-15 11:49  modbus4j\
     目录           0  2018-06-15 11:48  modbus4j\modbus4j\
     文件        1024  2018-06-15 11:29  modbus4j\modbus4j\.classpath
     文件         560  2018-06-15 11:25  modbus4j\modbus4j\.project
     目录           0  2018-06-15 11:48  modbus4j\modbus4j\.settings\
     文件         119  2018-06-15 11:25  modbus4j\modbus4j\.settings\org.eclipse.core.resources.prefs
     文件         430  2018-06-15 11:29  modbus4j\modbus4j\.settings\org.eclipse.jdt.core.prefs
     文件          90  2018-06-15 11:24  modbus4j\modbus4j\.settings\org.eclipse.m2e.core.prefs
     文件        1079  2018-06-15 11:34  modbus4j\modbus4j\pom.xml
     目录           0  2018-06-15 11:48  modbus4j\modbus4j\src\
     目录           0  2018-06-15 11:48  modbus4j\modbus4j\src\main\
     目录           0  2018-06-15 11:48  modbus4j\modbus4j\src\main\java\
     目录           0  2018-06-15 11:48  modbus4j\modbus4j\src\main\java\com\
     目录           0  2018-06-15 11:48  modbus4j\modbus4j\src\main\java\com\serotonin\
     目录           0  2018-06-15 11:48  modbus4j\modbus4j\src\main\java\com\serotonin\modbus4j\
     文件       12860  2017-10-16 18:14  modbus4j\modbus4j\src\main\java\com\serotonin\modbus4j\BasicProcessImage.java
     文件        9301  2017-10-16 18:14  modbus4j\modbus4j\src\main\java\com\serotonin\modbus4j\BatchRead.java
     文件        1727  2017-10-16 18:14  modbus4j\modbus4j\src\main\java\com\serotonin\modbus4j\BatchResults.java
     文件        1538  2017-10-16 18:14  modbus4j\modbus4j\src\main\java\com\serotonin\modbus4j\ExceptionResult.java
     文件        3767  2017-10-16 18:14  modbus4j\modbus4j\src\main\java\com\serotonin\modbus4j\Modbus.java
     文件        3927  2017-10-16 18:14  modbus4j\modbus4j\src\main\java\com\serotonin\modbus4j\ModbusFactory.java
     文件       14435  2018-06-15 11:38  modbus4j\modbus4j\src\main\java\com\serotonin\modbus4j\ModbusLocator.java
     文件       18177  2017-10-16 18:14  modbus4j\modbus4j\src\main\java\com\serotonin\modbus4j\ModbusMaster.java
     文件        2928  2017-10-16 18:14  modbus4j\modbus4j\src\main\java\com\serotonin\modbus4j\ModbusSlaveSet.java
     文件        1212  2017-10-16 18:14  modbus4j\modbus4j\src\main\java\com\serotonin\modbus4j\NodeScanListener.java
     文件        4034  2017-10-16 18:14  modbus4j\modbus4j\src\main\java\com\serotonin\modbus4j\ProcessImage.java
     文件        1203  2017-10-16 18:14  modbus4j\modbus4j\src\main\java\com\serotonin\modbus4j\ProcessImageListener.java
     目录           0  2018-06-15 11:48  modbus4j\modbus4j\src\main\java\com\serotonin\modbus4j\base\
     文件        1811  2017-10-16 18:14  modbus4j\modbus4j\src\main\java\com\serotonin\modbus4j\base\baseMessageParser.java
     文件        2210  2017-10-16 18:14  modbus4j\modbus4j\src\main\java\com\serotonin\modbus4j\base\baseRequestHandler.java
     文件        2607  2017-10-16 18:14  modbus4j\modbus4j\src\main\java\com\serotonin\modbus4j\base\KeyedModbusLocator.java
............此处省略374个文件信息

评论

共有 条评论