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;
}