Java源码示例:net.wimpi.modbus.msg.ReadInputDiscretesRequest
示例1
/**
* Constructs a new master facade instance for communication
* with a given slave.
*
* @param param SerialParameters specifies the serial port parameters to use
* to communicate with the slave device network.
*/
public ModbusSerialMaster(SerialParameters param) {
try {
m_CommParameters = param;
m_Connection = new SerialConnection(m_CommParameters);
m_ReadCoilsRequest = new ReadCoilsRequest();
m_ReadInputDiscretesRequest = new ReadInputDiscretesRequest();
m_WriteCoilRequest = new WriteCoilRequest();
m_WriteMultipleCoilsRequest = new WriteMultipleCoilsRequest();
m_ReadInputRegistersRequest = new ReadInputRegistersRequest();
m_ReadMultipleRegistersRequest = new ReadMultipleRegistersRequest();
m_WriteSingleRegisterRequest = new WriteSingleRegisterRequest();
m_WriteMultipleRegistersRequest = new WriteMultipleRegistersRequest();
} catch (Exception e) {
throw new RuntimeException(e.getMessage());
}
}
示例2
/**
* Constructs a new master facade instance for communication
* with a given slave.
*
* @param addr an internet address as resolvable IP name or IP number,
* specifying the slave to communicate with.
*/
public ModbusUDPMaster(String addr) {
try {
m_SlaveAddress = InetAddress.getByName(addr);
m_Connection = new UDPMasterConnection(m_SlaveAddress);
m_ReadCoilsRequest = new ReadCoilsRequest();
m_ReadInputDiscretesRequest = new ReadInputDiscretesRequest();
m_WriteCoilRequest = new WriteCoilRequest();
m_WriteMultipleCoilsRequest = new WriteMultipleCoilsRequest();
m_ReadInputRegistersRequest = new ReadInputRegistersRequest();
m_ReadMultipleRegistersRequest = new ReadMultipleRegistersRequest();
m_WriteSingleRegisterRequest = new WriteSingleRegisterRequest();
m_WriteMultipleRegistersRequest = new WriteMultipleRegistersRequest();
} catch (UnknownHostException e) {
throw new RuntimeException(e.getMessage());
}
}
示例3
/**
* Constructs a new master facade instance for communication
* with a given slave.
*
* @param addr an internet address as resolvable IP name or IP number,
* specifying the slave to communicate with.
*/
public ModbusTCPMaster(String addr) {
try {
m_SlaveAddress = InetAddress.getByName(addr);
m_Connection = new TCPMasterConnection(m_SlaveAddress);
m_ReadCoilsRequest = new ReadCoilsRequest();
m_ReadInputDiscretesRequest = new ReadInputDiscretesRequest();
m_WriteCoilRequest = new WriteCoilRequest();
m_WriteMultipleCoilsRequest = new WriteMultipleCoilsRequest();
m_ReadInputRegistersRequest = new ReadInputRegistersRequest();
m_ReadMultipleRegistersRequest = new ReadMultipleRegistersRequest();
m_WriteSingleRegisterRequest = new WriteSingleRegisterRequest();
m_WriteMultipleRegistersRequest = new WriteMultipleRegistersRequest();
} catch (UnknownHostException e) {
throw new RuntimeException(e.getMessage());
}
}
示例4
/**
* 查询Function 为Input Status的寄存器
*
* @param ip
* @param address
* @param count
* @param slaveId
* @return
* @throws ModbusIOException
* @throws ModbusSlaveException
* @throws ModbusException
*/
public static int readDigitalInput(String ip, int port, int address, int slaveId) {
int data = 0;
try {
InetAddress addr = InetAddress.getByName(ip);
// 建立连接
TCPMasterConnection con = new TCPMasterConnection(addr);
con.setPort(port);
con.connect();
// 第一个参数是寄存器的地址,第二个参数时读取多少个
ReadInputDiscretesRequest req = new ReadInputDiscretesRequest(address, 1);
// 这里设置的Slave Id, 读取的时候这个很重要
req.setUnitID(slaveId);
ModbusTCPTransaction trans = new ModbusTCPTransaction(con);
trans.setRequest(req);
// 执行查询
trans.execute();
// 得到结果
ReadInputDiscretesResponse res = (ReadInputDiscretesResponse) trans.getResponse();
if(res.getDiscretes().getBit(0)){
data = 1;
}
// 关闭连接
con.close();
} catch (Exception e) {
e.printStackTrace();
}
return data;
}