• 大小: 104KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-08-04
  • 语言: Java
  • 标签:

资源简介

使用Java通过Modbus读取任何Modbus设备的数据代码及使用案例

资源截图

代码片段和文件信息

package com.modbusIOServer;

import java.util.Vector;

import com.modbusIOServer.Device.IDevice;
import com.modbusIOServer.Register.RegistersGroup;
import com.modbusIOServer.Register.Basic.IRegister;

/**
 * BasicInformation :

 * author :ZhengCR

 * package :com.AutomaticIOServer

 * project :AutomaticIOServer

 * GreateDate :2016-8-23

 * 

 * FunctionDescription :

 * MobusIOServerModbusTCP的IO服务器
 */
public abstract class IOServer extends Thread {
private Vector devicelist = null;
private Vector registerGrouplist = null;
private Vector registers = null;
protected boolean stop;

/**
 * 构造函数
 */
public IOServer() {
devicelist = new Vector();
registerGrouplist = new Vector();
registers = new Vector();
stop = true;
}

/**
 * 加载配置文件
 */
public abstract void LoadConfigFile();

/**
 * 分析配置文件
 */
public abstract void AnalysisConfigFile();

/**
 * 更新内存数据库
 */
public abstract void UpdateInMemoryDatabase(IRegister register);

/**
 * 获得所有的寄存器组
 * 
 * @return
 */
public Vector getRegisterGroups() {
return registerGrouplist;
}

/**
 * 获得所有的寄存器组
 * 
 * @return
 */
public Vector getDevices() {
return devicelist;
}

/**
 * 添加寄存器组
 * 
 * @param node
 * @return
 */
public boolean addGroup(Vector registerGroups) {
if (registerGroups == null) {
return false;
}
registerGrouplist.addAll(registerGroups);
for (int i = 0; i < registerGroups.size(); i++) {
registers.addAll(registerGroups.get(i).getAllChildRegisters());
}
return true;
}

/**
 * 添加设备函数
 * 
 * @param drivce
 * @return
 */
public boolean addDrivce(IDevice drivce) {
if (drivce == null) {
return false;
}
devicelist.add(drivce);
return true;
}

/**
 * 添加设备函数
 * 
 * @param drivce
 * @return
 */
public boolean addDrivce(Vector drivcelist) {
if (drivcelist == null) {
System.out.println(“添加设备失败,向IPServer中添加了空设备“);
return false;
}
devicelist.addAll(drivcelist);
return true;
}

/**
 * 启动IOServer所有设备的通讯
 */
public void openAllDevicesConnect() {
stop = false;
devicelist.clear();
registerGrouplist.clear();
registers.clear();
LoadConfigFile();
AnalysisConfigFile();
for (int i = 0; i < devicelist.size(); i++) {
devicelist.get(i).connect();
}
if (!stop) {
try
{
this.start();
}
catch (Exception e) {
// TODO: handle exception
}

}
}

/**
 * 停止IOServer所有设备的通讯
 */
public void closeAllDevicesConnect() {
for (int i = 0; i < devicelist.size(); i++) {
devicelist.get(i).disConnect();
}
}

/**
 * IOServer的主线程服务器
 */
@SuppressWarnings(“deprecation“)
@Override
public void run() {
while (true) {
stop = false;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        301  2016-08-31 10:52  ModbusIOServer\.classpath

     文件        390  2016-08-27 20:52  ModbusIOServer\.project

     文件        629  2016-08-27 20:52  ModbusIOServer\.settings\org.eclipse.jdt.core.prefs

     文件       9892  2016-08-27 21:07  ModbusIOServer\.settings\org.eclipse.jdt.ui.prefs

     文件       9636  2016-09-02 15:57  ModbusIOServer\bin\com\modbusIOServer\config\IOConfig.class

     文件       5759  2016-10-09 10:10  ModbusIOServer\bin\com\modbusIOServer\config\RegisterNode.class

     文件       4760  2016-09-02 13:29  ModbusIOServer\bin\com\modbusIOServer\config\RegisterNodeGroup.class

     文件        630  2016-08-31 10:52  ModbusIOServer\bin\com\modbusIOServer\Device\IDevice.class

     文件      14774  2016-09-14 08:39  ModbusIOServer\bin\com\modbusIOServer\Device\ModbusTCPDevice.class

     文件       3991  2016-10-08 21:33  ModbusIOServer\bin\com\modbusIOServer\IOServer.class

     文件       1580  2016-08-31 10:52  ModbusIOServer\bin\com\modbusIOServer\ModbusFunction.class

     文件       5616  2016-09-14 08:33  ModbusIOServer\bin\com\modbusIOServer\net\ModbusTCPConnection.class

     文件       2430  2016-08-31 10:52  ModbusIOServer\bin\com\modbusIOServer\net\ModbusTCPConnectionResponses.class

     文件       1467  2016-08-31 10:52  ModbusIOServer\bin\com\modbusIOServer\net\ModbusTCPSocketMode.class

     文件       5496  2016-10-09 16:49  ModbusIOServer\bin\com\modbusIOServer\OPC\OPCClient.class

     文件        973  2016-09-02 14:32  ModbusIOServer\bin\com\modbusIOServer\OPC\OPCDataEvent.class

     文件        238  2016-09-02 13:31  ModbusIOServer\bin\com\modbusIOServer\OPC\OPCDataListener.class

     文件       1218  2016-09-02 13:31  ModbusIOServer\bin\com\modbusIOServer\OPC\OPCDataType.class

     文件       1022  2016-09-02 13:31  ModbusIOServer\bin\com\modbusIOServer\OPC\OPCMode.class

     文件       4669  2016-10-09 17:40  ModbusIOServer\bin\com\modbusIOServer\OPC\OPCServer.class

     文件       5385  2016-10-09 17:41  ModbusIOServer\bin\com\modbusIOServer\OPC\OPCServerThread.class

     文件       1032  2016-09-02 13:31  ModbusIOServer\bin\com\modbusIOServer\OPC\OPCStatus.class

     文件       2898  2016-10-08 21:02  ModbusIOServer\bin\com\modbusIOServer\Register\ArrayIntRegister.class

     文件       1577  2016-09-02 13:28  ModbusIOServer\bin\com\modbusIOServer\Register\Basic\AbstractBooleanRegister.class

     文件       6144  2016-09-02 17:33  ModbusIOServer\bin\com\modbusIOServer\Register\Basic\AbstractRegister.class

     文件       3169  2016-08-31 10:52  ModbusIOServer\bin\com\modbusIOServer\Register\Basic\BytesBuffStream.class

     文件        325  2016-08-31 10:52  ModbusIOServer\bin\com\modbusIOServer\Register\Basic\IBooleanRegister.class

     文件        340  2016-09-02 13:27  ModbusIOServer\bin\com\modbusIOServer\Register\Basic\INode.class

     文件       1008  2016-09-02 17:28  ModbusIOServer\bin\com\modbusIOServer\Register\Basic\IRegister.class

     文件        844  2016-08-31 10:52  ModbusIOServer\bin\com\modbusIOServer\Register\Basic\IRegisterGroup.class

............此处省略69个文件信息

评论

共有 条评论

相关资源