包含javajamod的词条

博主:adminadmin 2022-11-27 09:10:13 70

今天给各位分享javajamod的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java jamod实现modbus 如何读取浮点数据

package com.zsc;

import java.util.ArrayList;

import java.util.Date;

import java.util.List;

import com.battery.bean.CommunityExceptionRecord;

import com.serotonin.modbus4j.ModbusFactory;

import com.serotonin.modbus4j.ModbusMaster;

import com.serotonin.modbus4j.exception.ModbusInitException;

import com.serotonin.modbus4j.exception.ModbusTransportException;

import com.serotonin.modbus4j.ip.IpParameters;

import com.serotonin.modbus4j.msg.ModbusRequest;

import com.serotonin.modbus4j.msg.ModbusResponse;

import com.serotonin.modbus4j.msg.ReadHoldingRegistersRequest;

import com.serotonin.modbus4j.msg.WriteRegistersRequest;

import com.serotonin.modbus4j.msg.WriteRegistersResponse;

import com.serotonin.util.queue.ByteQueue;

public class ReadAWriteUtil {

public static void modbusWTCP(String ip, int port, int slaveId, int start, short[] values) {

ModbusFactory modbusFactory = new ModbusFactory();

//

设备

ModbusTCP

Ip

与端口,如果不设定端口则默认为

502

IpParameters params = new IpParameters();

params.setHost(ip);

if (502 != port) {

params.setPort(port);

}//

设置端口,默认

502

ModbusMaster tcpMaster = null;

//

参数

1

IP

和端口信息参数

2

:保持连接激活

tcpMaster = modbusFactory.createTcpMaster(params, true);

try {

tcpMaster.init();

System.out.println("===============" + 1111111);

} catch (ModbusInitException e) {

// System.out.println("11111111111111=="+"

此处出现问题了啊

!");

//

如果出现了通信异常信息,则保存到数据库中

CommunityExceptionRecord cer = new CommunityExceptionRecord();

cer.setDate(new Date());

cer.setIp(ip);

// cer.setRemark(bgName+"

出现连接异常

");

// batteryGroupRecordService.saveCommunityException(cer);

}

try {

WriteRegistersRequest

request

=

new

WriteRegistersRequest(slaveId,

start,

values);

WriteRegistersResponse

response

=

(WriteRegistersResponse)

tcpMaster.send(request);

if (response.isException())

System.out.println("Exception

response:

message="

+

response.getExceptionMessage());

else

System.out.println("Success");

} catch (ModbusTransportException e) {

e.printStackTrace();

}

}

public static ByteQueue modbusTCP(String ip, int port, int start,int readLenth) {

ModbusFactory modbusFactory = new ModbusFactory();

//

设备

ModbusTCP

Ip

与端口,如果不设定端口则默认为

502

IpParameters params = new IpParameters();

params.setHost(ip);

if(502!=port){params.setPort(port);}//

设置端口,默认

502

ModbusMaster tcpMaster = null;

tcpMaster = modbusFactory.createTcpMaster(params, true);

try {

tcpMaster.init();

System.out.println("==============="+1111111);

} catch (ModbusInitException e) {

return null;

}

ModbusRequest modbusRequest=null;

try {

modbusRequest

=

new

ReadHoldingRegistersRequest(1,

start,

readLenth);//

功能码

03

} catch (ModbusTransportException e) {

e.printStackTrace();

}

ModbusResponse modbusResponse=null;

try {

modbusResponse = tcpMaster.send(modbusRequest);

} catch (ModbusTransportException e) {

e.printStackTrace();

ByteQueue byteQueue= new ByteQueue(12);

modbusResponse.write(byteQueue);

System.out.println("

功能码

:"+modbusRequest.getFunctionCode());

System.out.println("

从站地址

:"+modbusRequest.getSlaveId());

System.out.println("

收到的响应信息大小

:"+byteQueue.size());

System.out.println("

收到的响应信息值

:"+byteQueue);

return byteQueue;

}

}

关于javajamod和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-27,除非注明,否则均为首码项目网原创文章,转载请注明出处。