资源简介
使用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个文件信息
- 上一篇:JAVA编写的打砖块程序源代码
- 下一篇:java 俄罗斯方块 毕业设计
评论
共有 条评论