iec104协议导包错误优化
This commit is contained in:
parent
f3015b6a6f
commit
1bf9a2d40a
@ -10,6 +10,7 @@ import com.yfd.platform.component.iec104.message.MessageDetail;
|
|||||||
import com.yfd.platform.component.iec104.message.MessageInfo;
|
import com.yfd.platform.component.iec104.message.MessageInfo;
|
||||||
import com.yfd.platform.component.iec104.server.master.BootNettyClientChannel;
|
import com.yfd.platform.component.iec104.server.master.BootNettyClientChannel;
|
||||||
import com.yfd.platform.component.iec104.server.master.BootNettyClientChannelCache;
|
import com.yfd.platform.component.iec104.server.master.BootNettyClientChannelCache;
|
||||||
|
import com.yfd.platform.component.iec104.util.Iec104Util;
|
||||||
import com.yfd.platform.modules.auxcontrol.domain.DeviceSignal;
|
import com.yfd.platform.modules.auxcontrol.domain.DeviceSignal;
|
||||||
import com.yfd.platform.modules.auxcontrol.domain.GatewayDevice;
|
import com.yfd.platform.modules.auxcontrol.domain.GatewayDevice;
|
||||||
import com.yfd.platform.modules.auxcontrol.domain.MeterDevice;
|
import com.yfd.platform.modules.auxcontrol.domain.MeterDevice;
|
||||||
@ -101,7 +102,7 @@ public class IIEC104Service {
|
|||||||
// 发送序号
|
// 发送序号
|
||||||
short send = 0;
|
short send = 0;
|
||||||
//控制欲
|
//控制欲
|
||||||
byte[] control = com.ydl.iec.util.Iec104Util.getIcontrol(accept, send);
|
byte[] control = Iec104Util.getIcontrol(accept, send);
|
||||||
//类型标识 2D
|
//类型标识 2D
|
||||||
TypeIdentifierEnum typeIdentifierEnum = null;
|
TypeIdentifierEnum typeIdentifierEnum = null;
|
||||||
// 消息地址 总召唤地址为0
|
// 消息地址 总召唤地址为0
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
package com.yfd.platform.component.iec104.client;
|
package com.yfd.platform.component.iec104.client;
|
||||||
|
|
||||||
import cn.hutool.core.util.ObjUtil;
|
import cn.hutool.core.util.ObjUtil;
|
||||||
import com.ydl.iec.util.ByteUtil;
|
|
||||||
import com.yfd.platform.component.iec104.message.MessageDetail;
|
import com.yfd.platform.component.iec104.message.MessageDetail;
|
||||||
import com.yfd.platform.component.iec104.message.MessageInfo;
|
import com.yfd.platform.component.iec104.message.MessageInfo;
|
||||||
import com.yfd.platform.component.iec104.server.handler.ChannelHandler;
|
import com.yfd.platform.component.iec104.server.handler.ChannelHandler;
|
||||||
import com.yfd.platform.component.iec104.server.handler.DataHandler;
|
import com.yfd.platform.component.iec104.server.handler.DataHandler;
|
||||||
import com.yfd.platform.component.iec104.server.master.BootNettyClientChannel;
|
import com.yfd.platform.component.iec104.server.master.BootNettyClientChannel;
|
||||||
import com.yfd.platform.component.iec104.server.master.BootNettyClientChannelCache;
|
import com.yfd.platform.component.iec104.server.master.BootNettyClientChannelCache;
|
||||||
|
import com.yfd.platform.component.iec104.util.ByteUtil;
|
||||||
import com.yfd.platform.modules.auxcontrol.service.IDeviceSignalService;
|
import com.yfd.platform.modules.auxcontrol.service.IDeviceSignalService;
|
||||||
import com.yfd.platform.modules.auxcontrol.service.IDeviceWorkDataService;
|
import com.yfd.platform.modules.auxcontrol.service.IDeviceWorkDataService;
|
||||||
import com.yfd.platform.modules.auxcontrol.service.IGatewayDeviceService;
|
import com.yfd.platform.modules.auxcontrol.service.IGatewayDeviceService;
|
||||||
|
@ -7,8 +7,8 @@ import com.yfd.platform.component.iec104.message.MessageInfo;
|
|||||||
import com.yfd.platform.component.iec104.enums.QualifiersEnum;
|
import com.yfd.platform.component.iec104.enums.QualifiersEnum;
|
||||||
import com.yfd.platform.component.iec104.enums.TypeIdentifierEnum;
|
import com.yfd.platform.component.iec104.enums.TypeIdentifierEnum;
|
||||||
import com.yfd.platform.component.iec104.enums.UControlEnum;
|
import com.yfd.platform.component.iec104.enums.UControlEnum;
|
||||||
import com.ydl.iec.util.ByteUtil;
|
import com.yfd.platform.component.iec104.util.ByteUtil;
|
||||||
import com.ydl.iec.util.Iec104Util;
|
import com.yfd.platform.component.iec104.util.Iec104Util;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
|
@ -2,7 +2,7 @@ package com.yfd.platform.component.iec104.core;
|
|||||||
|
|
||||||
import com.yfd.platform.component.iec104.common.Iec104Constant;
|
import com.yfd.platform.component.iec104.common.Iec104Constant;
|
||||||
import com.yfd.platform.component.iec104.message.MessageDetail;
|
import com.yfd.platform.component.iec104.message.MessageDetail;
|
||||||
import com.ydl.iec.util.Iec104Util;
|
import com.yfd.platform.component.iec104.util.Iec104Util;
|
||||||
import com.yfd.platform.component.utils.OptimizedThreadPool;
|
import com.yfd.platform.component.utils.OptimizedThreadPool;
|
||||||
import io.netty.channel.ChannelHandlerContext;
|
import io.netty.channel.ChannelHandlerContext;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
package com.yfd.platform.component.iec104.core;
|
package com.yfd.platform.component.iec104.core;
|
||||||
|
|
||||||
import com.ydl.iec.util.Iec104Util;
|
|
||||||
import com.yfd.platform.component.iec104.message.MessageDetail;
|
import com.yfd.platform.component.iec104.message.MessageDetail;
|
||||||
import com.yfd.platform.component.iec104.message.MessageInfo;
|
import com.yfd.platform.component.iec104.message.MessageInfo;
|
||||||
import com.yfd.platform.component.iec104.enums.QualifiersEnum;
|
import com.yfd.platform.component.iec104.enums.QualifiersEnum;
|
||||||
import com.yfd.platform.component.iec104.enums.TypeIdentifierEnum;
|
import com.yfd.platform.component.iec104.enums.TypeIdentifierEnum;
|
||||||
import com.ydl.iec.util.ByteUtil;
|
import com.yfd.platform.component.iec104.util.ByteUtil;
|
||||||
|
import com.yfd.platform.component.iec104.util.Iec104Util;
|
||||||
|
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -4,8 +4,8 @@ import com.yfd.platform.component.iec104.enums.QualifiersEnum;
|
|||||||
import com.yfd.platform.component.iec104.enums.TypeIdentifierEnum;
|
import com.yfd.platform.component.iec104.enums.TypeIdentifierEnum;
|
||||||
import com.yfd.platform.component.iec104.message.MessageDetail;
|
import com.yfd.platform.component.iec104.message.MessageDetail;
|
||||||
import com.yfd.platform.component.iec104.message.MessageInfo;
|
import com.yfd.platform.component.iec104.message.MessageInfo;
|
||||||
import com.ydl.iec.util.ByteUtil;
|
import com.yfd.platform.component.iec104.util.ByteUtil;
|
||||||
import com.ydl.iec.util.Iec104Util;
|
import com.yfd.platform.component.iec104.util.Iec104Util;
|
||||||
|
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
package com.yfd.platform.component.iec104.message;
|
package com.yfd.platform.component.iec104.message;
|
||||||
|
|
||||||
import com.ydl.iec.util.Iec104Util;
|
|
||||||
import com.yfd.platform.component.iec104.enums.QualifiersEnum;
|
import com.yfd.platform.component.iec104.enums.QualifiersEnum;
|
||||||
import com.yfd.platform.component.iec104.enums.TypeIdentifierEnum;
|
import com.yfd.platform.component.iec104.enums.TypeIdentifierEnum;
|
||||||
|
import com.yfd.platform.component.iec104.util.Iec104Util;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -3,9 +3,8 @@ package com.yfd.platform.component.iec104.server.handler;
|
|||||||
import com.yfd.platform.component.iec104.common.Iec104Constant;
|
import com.yfd.platform.component.iec104.common.Iec104Constant;
|
||||||
import com.yfd.platform.component.iec104.server.master.BootNettyClientChannel;
|
import com.yfd.platform.component.iec104.server.master.BootNettyClientChannel;
|
||||||
import com.yfd.platform.component.iec104.server.master.BootNettyClientChannelCache;
|
import com.yfd.platform.component.iec104.server.master.BootNettyClientChannelCache;
|
||||||
import com.ydl.iec.util.ByteUtil;
|
import com.yfd.platform.component.iec104.util.ByteUtil;
|
||||||
import io.netty.buffer.ByteBuf;
|
import io.netty.buffer.ByteBuf;
|
||||||
import io.netty.buffer.Unpooled;
|
|
||||||
import io.netty.channel.ChannelHandlerContext;
|
import io.netty.channel.ChannelHandlerContext;
|
||||||
import io.netty.channel.ChannelInboundHandlerAdapter;
|
import io.netty.channel.ChannelInboundHandlerAdapter;
|
||||||
import io.netty.util.ReferenceCountUtil;
|
import io.netty.util.ReferenceCountUtil;
|
||||||
@ -39,7 +38,7 @@ public class Check104Handler extends ChannelInboundHandlerAdapter {
|
|||||||
result.readBytes(bytes);
|
result.readBytes(bytes);
|
||||||
BootNettyClientChannel Channel= BootNettyClientChannelCache.get(ctx.channel().id().asShortText());
|
BootNettyClientChannel Channel= BootNettyClientChannelCache.get(ctx.channel().id().asShortText());
|
||||||
String slave_ip= Channel.getCode();
|
String slave_ip= Channel.getCode();
|
||||||
LOGGER.info( String.format("接收到从站[%s]发送的报文: %s", slave_ip,ByteUtil.byteArrayToHexString(bytes) ));
|
LOGGER.info( String.format("接收到从站[%s]发送的报文: %s", slave_ip, ByteUtil.byteArrayToHexString(bytes) ));
|
||||||
if (bytes.length < Iec104Constant.APCI_LENGTH || bytes[0] != Iec104Constant.HEAD_DATA) {
|
if (bytes.length < Iec104Constant.APCI_LENGTH || bytes[0] != Iec104Constant.HEAD_DATA) {
|
||||||
LOGGER.error("报文无效");
|
LOGGER.error("报文无效");
|
||||||
ReferenceCountUtil.release(result);
|
ReferenceCountUtil.release(result);
|
||||||
|
@ -1,16 +1,14 @@
|
|||||||
package com.yfd.platform.component.iec104.server.handler;
|
package com.yfd.platform.component.iec104.server.handler;
|
||||||
|
|
||||||
import com.yfd.platform.component.iec104.core.Iec104ThreadLocal;
|
|
||||||
import com.ydl.iec.util.Iec104Util;
|
|
||||||
import com.yfd.platform.component.iec104.core.Decoder104;
|
import com.yfd.platform.component.iec104.core.Decoder104;
|
||||||
|
import com.yfd.platform.component.iec104.core.Iec104ThreadLocal;
|
||||||
import com.yfd.platform.component.iec104.message.MessageDetail;
|
import com.yfd.platform.component.iec104.message.MessageDetail;
|
||||||
import com.ydl.iec.util.ByteUtil;
|
import com.yfd.platform.component.iec104.util.ByteUtil;
|
||||||
|
import com.yfd.platform.component.iec104.util.Iec104Util;
|
||||||
import io.netty.buffer.ByteBuf;
|
import io.netty.buffer.ByteBuf;
|
||||||
import io.netty.channel.ChannelHandlerContext;
|
import io.netty.channel.ChannelHandlerContext;
|
||||||
import io.netty.channel.ChannelInboundHandlerAdapter;
|
|
||||||
import io.netty.handler.codec.ByteToMessageDecoder;
|
import io.netty.handler.codec.ByteToMessageDecoder;
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@ -2,10 +2,10 @@ package com.yfd.platform.component.iec104.server.handler;
|
|||||||
|
|
||||||
|
|
||||||
import com.yfd.platform.component.iec104.core.Iec104ThreadLocal;
|
import com.yfd.platform.component.iec104.core.Iec104ThreadLocal;
|
||||||
import com.ydl.iec.util.Iec104Util;
|
|
||||||
import com.yfd.platform.component.iec104.core.Encoder104;
|
import com.yfd.platform.component.iec104.core.Encoder104;
|
||||||
import com.yfd.platform.component.iec104.message.MessageDetail;
|
import com.yfd.platform.component.iec104.message.MessageDetail;
|
||||||
import com.ydl.iec.util.ByteUtil;
|
import com.yfd.platform.component.iec104.util.ByteUtil;
|
||||||
|
import com.yfd.platform.component.iec104.util.Iec104Util;
|
||||||
import io.netty.buffer.ByteBuf;
|
import io.netty.buffer.ByteBuf;
|
||||||
import io.netty.channel.ChannelHandlerContext;
|
import io.netty.channel.ChannelHandlerContext;
|
||||||
import io.netty.handler.codec.MessageToByteEncoder;
|
import io.netty.handler.codec.MessageToByteEncoder;
|
||||||
@ -35,7 +35,7 @@ public class DataEncoder extends MessageToByteEncoder<MessageDetail> {
|
|||||||
}
|
}
|
||||||
bytes[10] = terminalAddressBytes[0];
|
bytes[10] = terminalAddressBytes[0];
|
||||||
bytes[11] = terminalAddressBytes[1];
|
bytes[11] = terminalAddressBytes[1];
|
||||||
String hexString=ByteUtil.byteArrayToHexString(bytes);
|
String hexString= ByteUtil.byteArrayToHexString(bytes);
|
||||||
log.info(hexString);
|
log.info(hexString);
|
||||||
out.writeBytes(bytes);
|
out.writeBytes(bytes);
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
package com.yfd.platform.component.iec104.server.handler;
|
package com.yfd.platform.component.iec104.server.handler;
|
||||||
|
|
||||||
import com.yfd.platform.component.iec104.common.Iec104Constant;
|
import com.yfd.platform.component.iec104.common.Iec104Constant;
|
||||||
import com.ydl.iec.util.Iec104Util;
|
import com.yfd.platform.component.iec104.util.ByteUtil;
|
||||||
import com.ydl.iec.util.ByteUtil;
|
import com.yfd.platform.component.iec104.util.Iec104Util;
|
||||||
import io.netty.buffer.ByteBuf;
|
import io.netty.buffer.ByteBuf;
|
||||||
import io.netty.channel.ChannelHandlerContext;
|
import io.netty.channel.ChannelHandlerContext;
|
||||||
import io.netty.channel.ChannelInboundHandlerAdapter;
|
import io.netty.channel.ChannelInboundHandlerAdapter;
|
||||||
|
@ -4,8 +4,8 @@ import com.yfd.platform.component.iec104.core.Iec104ThreadLocal;
|
|||||||
import com.yfd.platform.component.iec104.enums.UControlEnum;
|
import com.yfd.platform.component.iec104.enums.UControlEnum;
|
||||||
import com.yfd.platform.component.iec104.server.master.BootNettyClientChannel;
|
import com.yfd.platform.component.iec104.server.master.BootNettyClientChannel;
|
||||||
import com.yfd.platform.component.iec104.server.master.BootNettyClientChannelCache;
|
import com.yfd.platform.component.iec104.server.master.BootNettyClientChannelCache;
|
||||||
import com.ydl.iec.util.ByteUtil;
|
import com.yfd.platform.component.iec104.util.ByteUtil;
|
||||||
import com.ydl.iec.util.Iec104Util;
|
import com.yfd.platform.component.iec104.util.Iec104Util;
|
||||||
import io.netty.buffer.ByteBuf;
|
import io.netty.buffer.ByteBuf;
|
||||||
import io.netty.channel.ChannelHandlerContext;
|
import io.netty.channel.ChannelHandlerContext;
|
||||||
import io.netty.channel.ChannelInboundHandlerAdapter;
|
import io.netty.channel.ChannelInboundHandlerAdapter;
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
package com.yfd.platform.component.iec104.server.slave.handler;
|
package com.yfd.platform.component.iec104.server.slave.handler;
|
||||||
|
|
||||||
import com.yfd.platform.component.iec104.common.BasicInstruction104;
|
import com.yfd.platform.component.iec104.common.BasicInstruction104;
|
||||||
import com.ydl.iec.util.Iec104Util;
|
|
||||||
import com.yfd.platform.component.iec104.enums.UControlEnum;
|
import com.yfd.platform.component.iec104.enums.UControlEnum;
|
||||||
import com.ydl.iec.util.ByteUtil;
|
import com.yfd.platform.component.iec104.util.ByteUtil;
|
||||||
|
import com.yfd.platform.component.iec104.util.Iec104Util;
|
||||||
import io.netty.buffer.ByteBuf;
|
import io.netty.buffer.ByteBuf;
|
||||||
import io.netty.channel.ChannelHandlerContext;
|
import io.netty.channel.ChannelHandlerContext;
|
||||||
import io.netty.channel.ChannelInboundHandlerAdapter;
|
import io.netty.channel.ChannelInboundHandlerAdapter;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package com.ydl.iec.util;
|
package com.yfd.platform.component.iec104.util;
|
||||||
|
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package com.ydl.iec.util;
|
package com.yfd.platform.component.iec104.util;
|
||||||
|
|
||||||
import com.yfd.platform.component.iec104.message.MessageDetail;
|
import com.yfd.platform.component.iec104.message.MessageDetail;
|
||||||
import com.yfd.platform.component.iec104.enums.TypeIdentifierEnum;
|
import com.yfd.platform.component.iec104.enums.TypeIdentifierEnum;
|
||||||
|
Loading…
Reference in New Issue
Block a user