Commit b04958e5 authored by 高东东's avatar 高东东

Merge branch 'gaodongdong' into develop

parents 224b64bc 4de510b1
...@@ -87,7 +87,10 @@ public class ClientHandler extends SimpleChannelInboundHandler<Apdu>{ ...@@ -87,7 +87,10 @@ public class ClientHandler extends SimpleChannelInboundHandler<Apdu>{
connetOk = false; connetOk = false;
} else if (apdu.getApciType() == Apdu.ApciType.TESTFR_ACT) { } else if (apdu.getApciType() == Apdu.ApciType.TESTFR_ACT) {
ctx.channel().writeAndFlush("680483000000", promise); ctx.channel().writeAndFlush("680483000000", promise);
if (startZZ) {
startZZ = false;
sendZzCommand();
}
Logger.getLogger(this.getClass()).debug("确认测试消息,U类型"); Logger.getLogger(this.getClass()).debug("确认测试消息,U类型");
} else if (apdu.getApciType() == Apdu.ApciType.STARTDT_CON) { } else if (apdu.getApciType() == Apdu.ApciType.STARTDT_CON) {
Logger.getLogger(this.getClass()).debug("启动确认帧回复,U类型"); Logger.getLogger(this.getClass()).debug("启动确认帧回复,U类型");
......
...@@ -70,7 +70,11 @@ public class IEC104NewHandler extends SimpleChannelInboundHandler<Apdu>{ ...@@ -70,7 +70,11 @@ public class IEC104NewHandler extends SimpleChannelInboundHandler<Apdu>{
close(); close();
} else if (apdu.getApciType() == Apdu.ApciType.TESTFR_ACT) { } else if (apdu.getApciType() == Apdu.ApciType.TESTFR_ACT) {
handleBlockingSendQueue.add("680483000000"); handleBlockingSendQueue.add("680483000000");
Logger.getLogger(this.getClass()).debug("确认测试消息,U类型"); if (eecruiting_Communication == null) {
eecruiting_Communication = Executors.newSingleThreadScheduledExecutor();
eecruiting_Communication.scheduleAtFixedRate(Recruiting_runnable, Constant.Z_Z_INITIALDELAY, Constant.Z_Z_PREIOD, TimeUnit.SECONDS);
}
Logger.getLogger(this.getClass()).debug("确认测试消息,U类型");
} else if (apdu.getApciType() == Apdu.ApciType.STARTDT_CON) { } else if (apdu.getApciType() == Apdu.ApciType.STARTDT_CON) {
Logger.getLogger(this.getClass()).debug("启动确认帧回复,U类型"); Logger.getLogger(this.getClass()).debug("启动确认帧回复,U类型");
if (startService != null) { if (startService != null) {
......
package com.yeejoin.amos.iec104.tcp.entity;
import io.netty.buffer.ByteBuf;
import java.io.IOException;
public class IeShort extends InformationElement {
private final float value;
public IeShort(float value) {
this.value = value;
}
public IeShort(ByteBuf is) throws IOException {
value = Float.intBitsToFloat((is.readByte() & 0xff) | ((is.readByte() & 0xff) << 8));
}
@Override
public int encode(byte[] buffer, int i) {
int tempVal = Float.floatToIntBits(value);
buffer[i++] = (byte) tempVal;
buffer[i] = (byte) (tempVal >> 8);
return 2;
}
public float getValue() {
return value;
}
@Override
public String toString() {
return "短浮点数值: " + value;
}
}
...@@ -40,6 +40,16 @@ public class InformationObject { ...@@ -40,6 +40,16 @@ public class InformationObject {
} }
break; break;
// 9 测量值, 规一化值
case 9:
informationElements = new InformationElement[numberOfSequenceElements][2];
for (int i = 0; i < numberOfSequenceElements; i++) {
informationElements[i][0] = new IeShort(is);
informationElements[i][1] = new IeQuality(is);
log.debug("9 浮点型遥测1: " + i + "--->" + informationElements[i][0].toString());
log.debug("9 浮点型遥测2: " + i + "--->" + informationElements[i][1].toString());
}
break;
// 13 浮点型遥测 // 13 浮点型遥测
case 13: case 13:
informationElements = new InformationElement[numberOfSequenceElements][2]; informationElements = new InformationElement[numberOfSequenceElements][2];
...@@ -54,7 +64,7 @@ public class InformationObject { ...@@ -54,7 +64,7 @@ public class InformationObject {
case 21: case 21:
informationElements = new InformationElement[numberOfSequenceElements][1]; informationElements = new InformationElement[numberOfSequenceElements][1];
for (int i = 0; i < numberOfSequenceElements; i++) { for (int i = 0; i < numberOfSequenceElements; i++) {
informationElements[i][0] = new IeShortFloat(is); informationElements[i][0] = new IeShort(is);
log.debug("21 浮点型遥测, 不带品质描述词的规一化值: " + i + "--->" + informationElements[i][0].toString()); log.debug("21 浮点型遥测, 不带品质描述词的规一化值: " + i + "--->" + informationElements[i][0].toString());
} }
break; break;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment