-
大小: 104KB文件類型: .rar金幣: 2下載: 1 次發(fā)布日期: 2021-08-04
- 語言: Java
- 標(biāo)簽:
資源簡(jiǎn)介
使用Java通過Modbus讀取任何Modbus設(shè)備的數(shù)據(jù)代碼及使用案例

代碼片段和文件信息
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服務(wù)器
?*/
public?abstract?class?IOServer?extends?Thread?{
private?Vector?devicelist?=?null;
private?Vector?registerGrouplist?=?null;
private?Vector?registers?=?null;
protected?boolean?stop;
/**
?*?構(gòu)造函數(shù)
?*/
public?IOServer()?{
devicelist?=?new?Vector();
registerGrouplist?=?new?Vector();
registers?=?new?Vector();
stop?=?true;
}
/**
?*?加載配置文件
?*/
public?abstract?void?LoadConfigFile();
/**
?*?分析配置文件
?*/
public?abstract?void?AnalysisConfigFile();
/**
?*?更新內(nèi)存數(shù)據(jù)庫
?*/
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? registers.addAll(registerGroups.get(i).getAllChildRegisters());
}
return?true;
}
/**
?*?添加設(shè)備函數(shù)
?*?
?*?@param?drivce
?*?@return
?*/
public?boolean?addDrivce(IDevice?drivce)?{
if?(drivce?==?null)?{
return?false;
}
devicelist.add(drivce);
return?true;
}
/**
?*?添加設(shè)備函數(shù)
?*?
?*?@param?drivce
?*?@return
?*/
public?boolean?addDrivce(Vector?drivcelist)?{
if?(drivcelist?==?null)?{
System.out.println(“添加設(shè)備失敗,向IPServer中添加了空設(shè)備“);
return?false;
}
devicelist.addAll(drivcelist);
return?true;
}
/**
?*?啟動(dòng)IOServer所有設(shè)備的通訊
?*/
public?void?openAllDevicesConnect()?{
stop?=?false;
devicelist.clear();
registerGrouplist.clear();
registers.clear();
LoadConfigFile();
AnalysisConfigFile();
for?(int?i?=?0;?i? devicelist.get(i).connect();
}
if?(!stop)?{
try
{
this.start();
}
catch?(Exception?e)?{
//?TODO:?handle?exception
}
}
}
/**
?*?停止IOServer所有設(shè)備的通訊
?*/
public?void?closeAllDevicesConnect()?{
for?(int?i?=?0;?i? devicelist.get(i).disConnect();
}
}
/**
?*?IOServer的主線程服務(wù)器
?*/
@SuppressWarnings(“deprecation“)
@Override
public?void?run()?{
while?(true)?{
stop?=?false;
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????????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個(gè)文件信息
評(píng)論
共有 條評(píng)論