From e59cc427b89f752e50d243db96ddbad6a6afe9b8 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期三, 12 三月 2025 15:20:46 +0800 Subject: [PATCH] 2025年03月12日15:20:44 --- sdk/src/main/java/com/hdl/sdk/link/core/connect/HDLModBusConnect.java | 30 ++++++++++++++---------------- 1 files changed, 14 insertions(+), 16 deletions(-) diff --git a/sdk/src/main/java/com/hdl/sdk/link/core/connect/HDLModBusConnect.java b/sdk/src/main/java/com/hdl/sdk/link/core/connect/HDLModBusConnect.java index baee893..29c49cf 100644 --- a/sdk/src/main/java/com/hdl/sdk/link/core/connect/HDLModBusConnect.java +++ b/sdk/src/main/java/com/hdl/sdk/link/core/connect/HDLModBusConnect.java @@ -84,11 +84,10 @@ byte[] payload = linkResponse.getByteData(); ModbusResponse modbusResponse = new ModbusResponse(); String topic; - if(10<payload.length){ - topic=String.format("Modbus %s", ByteUtils.encodeHexString(new byte[]{payload[0], payload[1], payload[6], payload[7], payload[8], payload[9]}));//搴忓彿+oid - } - else { - topic=String.format("Modbus %s", ByteUtils.encodeHexString(new byte[]{payload[0], payload[1]})); + if (10 < payload.length) { + topic = String.format("Modbus %s", ByteUtils.encodeHexString(new byte[]{payload[0], payload[1], payload[6], payload[7], payload[8], payload[9]}));//搴忓彿+oid + } else { + topic = String.format("Modbus %s", ByteUtils.encodeHexString(new byte[]{payload[0], payload[1]})); } modbusResponse.setTopic(topic); modbusResponse.setData(payload); @@ -132,7 +131,7 @@ * @param baseCallBack 缁撴灉鍥炶皟 */ public void Send(String gatewayOidOrGatewayId, byte[] payload, final ModbusCallBack baseCallBack) { - Send(gatewayOidOrGatewayId, payload, 4, baseCallBack,false); + Send(gatewayOidOrGatewayId, payload, 4, baseCallBack, false); } /** @@ -143,7 +142,7 @@ * @param baseCallBack 缁撴灉鍥炶皟 */ public void asyncSend(String gatewayOidOrGatewayId, byte[] payload, final ModbusCallBack baseCallBack) { - Send(gatewayOidOrGatewayId, payload, 4, baseCallBack,true); + Send(gatewayOidOrGatewayId, payload, 4, baseCallBack, true); } /** @@ -154,7 +153,7 @@ * @param timeout 瓒呮椂鏃堕棿(s) * @param baseCallBack 缁撴灉鍥炶皟 */ - public void Send(String gatewayOidOrGatewayId, byte[] payload, int timeout, final ModbusCallBack baseCallBack,boolean useSubThread) { + public void Send(String gatewayOidOrGatewayId, byte[] payload, int timeout, final ModbusCallBack baseCallBack, boolean useSubThread) { if (payload == null || payload.length == 0) { if (baseCallBack != null) { baseCallBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_NULL_ERROR)); @@ -173,18 +172,17 @@ } String tempTopic = String.format(TopicConstant.NATIVE_MODBUS_DOWN, gatewayOidOrGatewayId); - LinkRequest request = new LinkRequest(tempTopic, payload, HDLLinkConfig.getInstance().isLocalEncrypt()); + LinkRequest request = new LinkRequest(tempTopic, payload, gatewayBean.isLocalEncrypt()); - request.setCloudTopic(String.format(TopicConstant.NATIVE_MODBUS_DOWN,gatewayBean.getGatewayId())); - if(10<payload.length) { + request.setCloudTopic(String.format(TopicConstant.NATIVE_MODBUS_DOWN, gatewayBean.getGatewayId())); + if (10 < payload.length) { request.setReplyTopic(String.format("Modbus %s", ByteUtils.encodeHexString(new byte[]{payload[0], payload[1], payload[6], payload[7], payload[8], payload[9]})));//搴忓彿+oid - } - else { + } else { request.setReplyTopic(String.format("Modbus %s", ByteUtils.encodeHexString(new byte[]{payload[0], payload[1]}))); } long awaitTime = timeout * 1000L; - HDLConnectHelper hdlConnectHelper=new HDLConnectHelper(awaitTime, 2, gatewayBean.getIp_address(), 8586, request, new HDLConnectHelper.HdlSocketListener() { + HDLConnectHelper hdlConnectHelper = new HDLConnectHelper(awaitTime, 2, gatewayBean.getIp_address(), 8586, request, new HDLConnectHelper.HdlSocketListener() { @Override public void onSucceed(Object msg) { if (msg instanceof ModbusResponse) { @@ -202,8 +200,8 @@ baseCallBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode)); } } - }, true,gatewayBean.getDevice_mac()); - hdlConnectHelper.setUseSubThread(useSubThread); + }, true, gatewayBean.getDevice_mac(),true); +// hdlConnectHelper.setUseSubThread(useSubThread); hdlConnectHelper.send(); } -- Gitblit v1.8.0