package com.ruoyi.device.utils;
|
|
import cn.hutool.core.bean.BeanUtil;
|
import com.ruoyi.device.pojo.NA7672LRequestBean;
|
import com.ruoyi.device.pojo.NA7672LValueVO;
|
|
import java.io.IOException;
|
import java.io.InputStream;
|
import java.io.OutputStream;
|
import java.io.PrintWriter;
|
import java.math.BigDecimal;
|
import java.math.RoundingMode;
|
import java.net.Socket;
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.Scanner;
|
|
public class NA7672LTCPClientUtils {
|
|
private Socket socket = null;
|
private String serverIP = null;
|
private int serverPort;
|
|
public NA7672LTCPClientUtils(String serverIP, int serverPort) {
|
this.serverIP = serverIP;
|
this.serverPort = serverPort;
|
}
|
|
public void initTCP() throws IOException {
|
this.socket = new Socket(this.serverIP, this.serverPort);
|
this.socket.setSoTimeout(5000);
|
}
|
|
public void closeTcp() throws IOException {
|
this.socket.close();
|
this.socket = null;
|
}
|
|
//设置全部通道(界面save/recall-调式2,需要本地有state02文件)
|
public void initMemory(String filePath) throws IOException {
|
try {
|
this.initTCP();
|
InputStream inputStream = this.socket.getInputStream();
|
OutputStream outputStream = this.socket.getOutputStream();
|
// 把字节流转换成字符流
|
PrintWriter printWriter = new PrintWriter(outputStream);
|
Scanner inFromSocket = new Scanner(inputStream);
|
String requestString = ":MMEM:LOAD " + filePath;
|
printWriter.println(requestString);
|
printWriter.flush();
|
this.closeTcp();
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
}
|
|
//获取01配置里的所有值
|
public List<NA7672LValueVO> getState01AllValue(NA7672LRequestBean requestBean) {
|
List<NA7672LValueVO> rs = new ArrayList<>();
|
List<NA7672LValueVO> c1_t1 = this.getListValue(1, 1, 3, "swr", 1);
|
//写入
|
rs.addAll(c1_t1);
|
return rs;
|
}
|
|
//获取02配置里的所有值
|
public List<NA7672LValueVO> getState02AllValue(NA7672LRequestBean requestBean) {
|
List<NA7672LValueVO> rs = new ArrayList<>();
|
/*判断是否需要衰减的计算值*/
|
int ifNeedDecay = 0;
|
if (requestBean.getTemperture() != null) {
|
ifNeedDecay = 1;
|
}
|
List<NA7672LValueVO> c1_t1 = this.getListValue(1, 1, 1, "decay", 16);
|
if (ifNeedDecay == 1) {
|
for (NA7672LValueVO one : c1_t1) {
|
/*衰减的温度系数换算公式 = 1+0.002×(实际温度-20℃)测试值÷长度÷温度系数×100*/
|
double wd = 1 + 0.002 * (requestBean.getTemperture() - 20);
|
double decay_cal = one.getDecimalVal().doubleValue() / requestBean.getLength() / wd * 100;
|
one.setMeasureValue(new BigDecimal(decay_cal).setScale(4, RoundingMode.HALF_UP));
|
}
|
}
|
List<NA7672LValueVO> c3_t1 = this.getListValue(3, 1, 3, "swr", 1);
|
List<NA7672LValueVO> c3_t2 = this.getListValue(3, 2, 3, "swr", 1);
|
List<NA7672LValueVO> c4_t1 = this.getListValue(4, 1, 3, "swr", 1);
|
List<NA7672LValueVO> c4_t2 = this.getListValue(4, 2, 3, "swr", 1);
|
List<NA7672LValueVO> c5_t1 = this.getListValue(5, 1, 3, "swr", 1);
|
List<NA7672LValueVO> c5_t2 = this.getListValue(5, 2, 3, "swr", 1);
|
List<NA7672LValueVO> c6_t1 = this.getListValue(6, 1, 3, "swr", 1);
|
List<NA7672LValueVO> c6_t2 = this.getListValue(6, 2, 3, "swr", 1);
|
List<NA7672LValueVO> c8_t1 = this.getListValue(8, 1, 3, "swr", 1);
|
List<NA7672LValueVO> c8_t2 = this.getListValue(8, 2, 3, "swr", 1);
|
rs.addAll(c1_t1);
|
rs.addAll(c4_t1);
|
rs.addAll(c4_t2);
|
rs.addAll(c5_t1);
|
rs.addAll(c5_t2);
|
rs.addAll(c6_t1);
|
rs.addAll(c6_t2);
|
rs.addAll(c8_t1);
|
rs.addAll(c8_t2);
|
/*判断是否需要计算相位差和平均特性阻抗*/
|
int ifNeedPHA = 0;
|
if (requestBean.getCycle() != null) {
|
ifNeedPHA = 1;
|
} else {
|
ifNeedPHA = 0;
|
}
|
if (ifNeedPHA == 1) {
|
NA7672LValueVO pha = this.getPhaseAndImpedanceCalculate(7, 1, requestBean.getCycle(), requestBean.getCapacity());
|
NA7672LValueVO imp_1 = this.getImpedance(2, 1);
|
NA7672LValueVO imp_2 = this.getImpedance(2, 2);
|
imp_1.setCalculateValue(pha.getCalculateValue());
|
imp_2.setCalculateValue(pha.getCalculateValue());
|
rs.add(pha);
|
rs.add(imp_1);
|
rs.add(imp_2);
|
} else {
|
|
}
|
return rs;
|
}
|
|
//获取03配置里的所有值(老的03)
|
public List<NA7672LValueVO> getState03AllValueOld(NA7672LRequestBean requestBean) {
|
List<NA7672LValueVO> rs = new ArrayList<>();
|
List<NA7672LValueVO> c1_t1 = this.getListValue(1, 1, 3, "swr", 1);
|
/*判断是否需要衰减的计算值*/
|
int ifNeedDecay = 0;
|
if (requestBean.getTemperture() != null) {
|
ifNeedDecay = 1;
|
}
|
List<NA7672LValueVO> c1_t2 = this.getListValue(1, 2, 1, "decay", 16);
|
NA7672LValueVO c2_t1 = this.getImpedance(2, 1);
|
NA7672LValueVO c2_t2 = this.getImpedance(2, 2);
|
List<NA7672LValueVO> c3 = this.getListValue(5, 1, 1, "decay", 16);
|
if (ifNeedDecay == 1) {
|
for (NA7672LValueVO one : c1_t2) {
|
double wd = 1 + 0.002 * (requestBean.getTemperture() - 20);
|
double decay_cal = one.getDecimalVal().doubleValue() / requestBean.getLength() / wd * 100;
|
one.setMeasureValue(new BigDecimal(decay_cal).setScale(4, RoundingMode.HALF_UP));
|
}
|
for (NA7672LValueVO one : c3) {
|
double wd = 1 + 0.002 * (requestBean.getTemperture() - 20);
|
double decay_cal = one.getDecimalVal().doubleValue() / requestBean.getLength() / wd * 100;
|
one.setMeasureValue(new BigDecimal(decay_cal).setScale(4, RoundingMode.HALF_UP));
|
}
|
}
|
//写入
|
rs.addAll(c1_t1);
|
rs.addAll(c1_t2);
|
rs.add(c2_t1);
|
rs.add(c2_t2);
|
rs.addAll(c3);
|
return rs;
|
}
|
|
//获取03配置里的所有值(新的)
|
public List<NA7672LValueVO> getState03AllValue(NA7672LRequestBean requestBean) {
|
List<NA7672LValueVO> rs = new ArrayList<>();
|
List<NA7672LValueVO> c1_t1 = this.getListValue(1, 1, 1, "decay", 16);
|
List<NA7672LValueVO> c2_t1 = this.getListValue(2, 1, 1, "decay", 16);
|
List<NA7672LValueVO> c4_t1 = this.getListValue(4, 1, 3, "swr", 1);
|
List<NA7672LValueVO> c4_t2 = this.getListValue(4, 2, 3, "swr", 1);
|
List<NA7672LValueVO> c5_t1 = this.getListValue(5, 1, 4, "swr", 1);
|
List<NA7672LValueVO> c5_t2 = this.getListValue(5, 2, 3, "swr", 1);
|
List<NA7672LValueVO> c6_t1 = this.getListValue(6, 1, 3, "swr", 1);
|
List<NA7672LValueVO> c6_t2 = this.getListValue(6, 2, 3, "swr", 1);
|
List<NA7672LValueVO> c7_t1 = this.getListValue(7, 1, 3, "swr", 1);
|
List<NA7672LValueVO> c7_t2 = this.getListValue(7, 2, 3, "swr", 1);
|
List<NA7672LValueVO> c8_t1 = this.getListValue(8, 1, 3, "swr", 1);
|
List<NA7672LValueVO> c8_t2 = this.getListValue(8, 2, 3, "swr", 1);
|
for (NA7672LValueVO one : c1_t1) {
|
double wd = 1 + 0.002 * (requestBean.getTemperture() - 20);
|
double decay_cal = one.getDecimalVal().doubleValue() / requestBean.getLength() / wd * 100;
|
one.setMeasureValue(new BigDecimal(decay_cal).setScale(4, RoundingMode.HALF_UP));
|
}
|
for (NA7672LValueVO one : c2_t1) {
|
double wd = 1 + 0.002 * (requestBean.getTemperture() - 20);
|
double decay_cal = one.getDecimalVal().doubleValue() / requestBean.getLength() / wd * 100;
|
one.setMeasureValue(new BigDecimal(decay_cal).setScale(4, RoundingMode.HALF_UP));
|
}
|
//特性阻抗
|
NA7672LValueVO c3_t1 = this.getImpedance(3, 1);
|
NA7672LValueVO c3_t2 = this.getImpedance(3, 2);
|
//写入
|
rs.addAll(c1_t1);
|
rs.addAll(c2_t1);
|
rs.add(c3_t1);
|
rs.add(c3_t2);
|
rs.addAll(c4_t1);
|
rs.addAll(c4_t2);
|
rs.addAll(c5_t1);
|
rs.addAll(c5_t2);
|
rs.addAll(c6_t1);
|
rs.addAll(c6_t2);
|
rs.addAll(c7_t1);
|
rs.addAll(c7_t2);
|
rs.addAll(c8_t1);
|
rs.addAll(c8_t2);
|
return rs;
|
}
|
|
//获取04配置里的所有值
|
public List<NA7672LValueVO> getState04AllValue(NA7672LRequestBean requestBean) {
|
List<NA7672LValueVO> rs = new ArrayList<>();
|
List<NA7672LValueVO> c1_t1 = this.getListValue(1, 1, 3, "swr", 1);
|
List<NA7672LValueVO> c1_t2 = this.getListValue(1, 2, 3, "swr", 1);
|
List<NA7672LValueVO> c3_t1 = this.getListValue(3, 1, 3, "swr", 1);
|
List<NA7672LValueVO> c3_t2 = this.getListValue(3, 2, 3, "swr", 1);
|
List<NA7672LValueVO> c4_t1 = this.getListValue(4, 1, 3, "swr", 1);
|
List<NA7672LValueVO> c4_t2 = this.getListValue(4, 2, 3, "swr", 1);
|
List<NA7672LValueVO> c5_t1 = this.getListValue(5, 1, 4, "swr", 1);
|
List<NA7672LValueVO> c5_t2 = this.getListValue(5, 2, 3, "swr", 1);
|
List<NA7672LValueVO> c6_t1 = this.getListValue(6, 1, 3, "swr", 1);
|
List<NA7672LValueVO> c6_t2 = this.getListValue(6, 2, 3, "swr", 1);
|
List<NA7672LValueVO> c7_t1 = this.getListValue(7, 1, 3, "swr", 1);
|
List<NA7672LValueVO> c7_t2 = this.getListValue(7, 2, 3, "swr", 1);
|
List<NA7672LValueVO> c8_t1 = this.getListValue(8, 1, 3, "swr", 1);
|
List<NA7672LValueVO> c8_t2 = this.getListValue(8, 2, 3, "swr", 1);
|
//特性阻抗
|
NA7672LValueVO c2_t1 = this.getImpedance(2, 1);
|
NA7672LValueVO c2_t2 = this.getImpedance(2, 2);
|
//写入
|
rs.addAll(c1_t1);
|
rs.addAll(c1_t2);
|
rs.addAll(c3_t1);
|
rs.addAll(c3_t2);
|
rs.addAll(c4_t1);
|
rs.addAll(c4_t2);
|
rs.addAll(c5_t1);
|
rs.addAll(c5_t2);
|
rs.addAll(c6_t1);
|
rs.addAll(c6_t2);
|
rs.addAll(c7_t1);
|
rs.addAll(c7_t2);
|
rs.addAll(c8_t1);
|
rs.addAll(c8_t2);
|
rs.add(c2_t1);
|
rs.add(c2_t2);
|
return rs;
|
}
|
|
//获取05配置里的所有值
|
public List<NA7672LValueVO> getState05AllValue(NA7672LRequestBean requestBean) {
|
List<NA7672LValueVO> rs = new ArrayList<>();
|
/*判断是否需要衰减的计算值*/
|
int ifNeedDecay = 0;
|
if (requestBean.getTemperture() != null) {
|
ifNeedDecay = 1;
|
}
|
List<NA7672LValueVO> c1_t1 = this.getListValue(1, 1, 1, "decay", 16);
|
List<NA7672LValueVO> c1_t2 = this.getListValue(1, 2, 1, "decay", 16);
|
List<NA7672LValueVO> c2_t1 = this.getListValue(2, 1, 1, "decay", 16);
|
List<NA7672LValueVO> c2_t2 = this.getListValue(2, 2, 1, "decay", 16);
|
List<NA7672LValueVO> c4_t1 = this.getListValue(4, 1, 1, "decay", 16);
|
List<NA7672LValueVO> c4_t2 = this.getListValue(4, 2, 1, "decay", 16);
|
List<NA7672LValueVO> c5_t1 = this.getListValue(5, 1, 1, "decay", 16);
|
List<NA7672LValueVO> c5_t2 = this.getListValue(5, 2, 1, "decay", 16);
|
List<NA7672LValueVO> c6_t1 = this.getListValue(6, 1, 1, "decay", 16);
|
List<NA7672LValueVO> c6_t2 = this.getListValue(6, 2, 1, "decay", 16);
|
if (ifNeedDecay == 1) {
|
for (NA7672LValueVO one : c1_t1) {
|
double wd = 1 + 0.002 * (requestBean.getTemperture() - 20);
|
double decay_cal = one.getDecimalVal().doubleValue() / requestBean.getLength() / wd * 100;
|
one.setMeasureValue(new BigDecimal(decay_cal).setScale(4, RoundingMode.HALF_UP));
|
}
|
for (NA7672LValueVO one : c1_t2) {
|
double wd = 1 + 0.002 * (requestBean.getTemperture() - 20);
|
double decay_cal = one.getDecimalVal().doubleValue() / requestBean.getLength() / wd * 100;
|
one.setMeasureValue(new BigDecimal(decay_cal).setScale(4, RoundingMode.HALF_UP));
|
}
|
for (NA7672LValueVO one : c2_t1) {
|
double wd = 1 + 0.002 * (requestBean.getTemperture() - 20);
|
double decay_cal = one.getDecimalVal().doubleValue() / requestBean.getLength() / wd * 100;
|
one.setMeasureValue(new BigDecimal(decay_cal).setScale(4, RoundingMode.HALF_UP));
|
}
|
for (NA7672LValueVO one : c2_t2) {
|
double wd = 1 + 0.002 * (requestBean.getTemperture() - 20);
|
double decay_cal = one.getDecimalVal().doubleValue() / requestBean.getLength() / wd * 100;
|
one.setMeasureValue(new BigDecimal(decay_cal).setScale(4, RoundingMode.HALF_UP));
|
}
|
for (NA7672LValueVO one : c4_t1) {
|
double wd = 1 + 0.002 * (requestBean.getTemperture() - 20);
|
double decay_cal = one.getDecimalVal().doubleValue() / requestBean.getLength() / wd * 100;
|
one.setMeasureValue(new BigDecimal(decay_cal).setScale(4, RoundingMode.HALF_UP));
|
}
|
for (NA7672LValueVO one : c4_t2) {
|
double wd = 1 + 0.002 * (requestBean.getTemperture() - 20);
|
double decay_cal = one.getDecimalVal().doubleValue() / requestBean.getLength() / wd * 100;
|
one.setMeasureValue(new BigDecimal(decay_cal).setScale(4, RoundingMode.HALF_UP));
|
}
|
for (NA7672LValueVO one : c5_t1) {
|
double wd = 1 + 0.002 * (requestBean.getTemperture() - 20);
|
double decay_cal = one.getDecimalVal().doubleValue() / requestBean.getLength() / wd * 100;
|
one.setMeasureValue(new BigDecimal(decay_cal).setScale(4, RoundingMode.HALF_UP));
|
}
|
for (NA7672LValueVO one : c5_t2) {
|
double wd = 1 + 0.002 * (requestBean.getTemperture() - 20);
|
double decay_cal = one.getDecimalVal().doubleValue() / requestBean.getLength() / wd * 100;
|
one.setMeasureValue(new BigDecimal(decay_cal).setScale(4, RoundingMode.HALF_UP));
|
}
|
for (NA7672LValueVO one : c6_t1) {
|
double wd = 1 + 0.002 * (requestBean.getTemperture() - 20);
|
double decay_cal = one.getDecimalVal().doubleValue() / requestBean.getLength() / wd * 100;
|
one.setMeasureValue(new BigDecimal(decay_cal).setScale(4, RoundingMode.HALF_UP));
|
}
|
for (NA7672LValueVO one : c6_t2) {
|
double wd = 1 + 0.002 * (requestBean.getTemperture() - 20);
|
double decay_cal = one.getDecimalVal().doubleValue() / requestBean.getLength() / wd * 100;
|
one.setMeasureValue(new BigDecimal(decay_cal).setScale(4, RoundingMode.HALF_UP));
|
}
|
}
|
//特性阻抗
|
NA7672LValueVO c3_t1 = this.getImpedance(3, 1);
|
NA7672LValueVO c3_t2 = this.getImpedance(3, 2);
|
//写入
|
rs.addAll(c1_t1);
|
rs.addAll(c1_t2);
|
rs.addAll(c2_t1);
|
rs.addAll(c2_t2);
|
rs.add(c3_t1);
|
rs.add(c3_t2);
|
rs.addAll(c4_t1);
|
rs.addAll(c4_t2);
|
rs.addAll(c5_t1);
|
rs.addAll(c5_t2);
|
rs.addAll(c6_t1);
|
rs.addAll(c6_t2);
|
return rs;
|
}
|
|
//获取06配置里的所有值
|
public List<NA7672LValueVO> getState06AllValue(NA7672LRequestBean requestBean) {
|
List<NA7672LValueVO> rs = new ArrayList<>();
|
List<NA7672LValueVO> c1 = this.getListValue(1, 1, 1, "swr", 1);
|
rs.addAll(c1);
|
return rs;
|
}
|
|
//获取07配置里的所有值
|
public List<NA7672LValueVO> getState07AllValue(NA7672LRequestBean requestBean) {
|
List<NA7672LValueVO> rs = new ArrayList<>();
|
List<NA7672LValueVO> c1_t1 = this.getListValue(1, 1, 3, "swr", 1);
|
List<NA7672LValueVO> c1_t2 = this.getListValue(1, 2, 1, "decay", 16);
|
List<NA7672LValueVO> c2_t1 = this.getListValue(2, 1, 3, "swr", 1);
|
List<NA7672LValueVO> c2_t2 = this.getListValue(2, 2, 1, "decay", 16);
|
List<NA7672LValueVO> c4_t1 = this.getListValue(4, 1, 1, "decay", 16);
|
/*判断是否需要衰减的计算值*/
|
int ifNeedDecay = 0;
|
if (requestBean.getTemperture() != null) {
|
ifNeedDecay = 1;
|
}
|
if (ifNeedDecay == 1) {
|
for (NA7672LValueVO one : c1_t2) {
|
double wd = 1 + 0.002 * (requestBean.getTemperture() - 20);
|
double decay_cal = one.getDecimalVal().doubleValue() / requestBean.getLength() / wd * 100;
|
one.setMeasureValue(new BigDecimal(decay_cal).setScale(4, RoundingMode.HALF_UP));
|
}
|
for (NA7672LValueVO one : c2_t2) {
|
double wd = 1 + 0.002 * (requestBean.getTemperture() - 20);
|
double decay_cal = one.getDecimalVal().doubleValue() / requestBean.getLength() / wd * 100;
|
one.setMeasureValue(new BigDecimal(decay_cal).setScale(4, RoundingMode.HALF_UP));
|
}
|
for (NA7672LValueVO one : c4_t1) {
|
double wd = 1 + 0.002 * (requestBean.getTemperture() - 20);
|
double decay_cal = one.getDecimalVal().doubleValue() / requestBean.getLength() / wd * 100;
|
one.setMeasureValue(new BigDecimal(decay_cal).setScale(4, RoundingMode.HALF_UP));
|
}
|
}
|
rs.addAll(c1_t1);
|
rs.addAll(c1_t2);
|
rs.addAll(c2_t1);
|
rs.addAll(c2_t2);
|
rs.addAll(c4_t1);
|
//特性阻抗
|
NA7672LValueVO c3_t1 = this.getImpedance(3, 1);
|
NA7672LValueVO c3_t2 = this.getImpedance(3, 2);
|
rs.add(c3_t1);
|
rs.add(c3_t2);
|
return rs;
|
}
|
|
//获取08配置里的所有值
|
public List<NA7672LValueVO> getState08AllValue(NA7672LRequestBean requestBean) {
|
List<NA7672LValueVO> rs = new ArrayList<>();
|
/*判断是否需要衰减的计算值*/
|
int ifNeedDecay = 0;
|
if (requestBean.getTemperture() != null) {
|
ifNeedDecay = 1;
|
}
|
List<NA7672LValueVO> c1_t1 = this.getListValue(1, 1, 1, "decay", 16);
|
if (ifNeedDecay == 1) {
|
for (NA7672LValueVO one : c1_t1) {
|
/*获取计算值*/
|
/*衰减的温度系数换算公式 = 1+0.002×(实际温度-20℃)
|
测试值÷长度÷温度系数×100*/
|
double wd = 1 + 0.002 * (requestBean.getTemperture() - 20);
|
double decay_cal = one.getDecimalVal().doubleValue() / requestBean.getLength() / wd * 100;
|
one.setMeasureValue(new BigDecimal(decay_cal).setScale(4, RoundingMode.HALF_UP));
|
}
|
}
|
//获取驻波比
|
List<NA7672LValueVO> c3_t1 = this.getListValue(3, 1, 3, "swr", 1);
|
List<NA7672LValueVO> c3_t2 = this.getListValue(3, 2, 3, "swr", 1);
|
List<NA7672LValueVO> c4_t1 = this.getListValue(4, 1, 3, "swr", 1);
|
List<NA7672LValueVO> c4_t2 = this.getListValue(4, 2, 3, "swr", 1);
|
List<NA7672LValueVO> c5_t1 = this.getListValue(5, 1, 3, "swr", 1);
|
List<NA7672LValueVO> c5_t2 = this.getListValue(5, 2, 3, "swr", 1);
|
List<NA7672LValueVO> c6_t1 = this.getListValue(6, 1, 3, "swr", 1);
|
List<NA7672LValueVO> c6_t2 = this.getListValue(6, 2, 3, "swr", 1);
|
List<NA7672LValueVO> c8_t1 = this.getListValue(8, 1, 3, "swr", 1);
|
List<NA7672LValueVO> c8_t2 = this.getListValue(8, 2, 3, "swr", 1);
|
rs.addAll(c1_t1);
|
rs.addAll(c3_t1);
|
rs.addAll(c3_t2);
|
rs.addAll(c4_t1);
|
rs.addAll(c4_t2);
|
rs.addAll(c5_t1);
|
rs.addAll(c5_t2);
|
rs.addAll(c6_t1);
|
rs.addAll(c6_t2);
|
rs.addAll(c8_t1);
|
rs.addAll(c8_t2);
|
/*判断是否需要计算相位差和平均特性阻抗*/
|
int ifNeedPHA = 0;
|
if (requestBean.getCycle() != null) {
|
ifNeedPHA = 1;
|
} else {
|
ifNeedPHA = 0;
|
}
|
if (ifNeedPHA == 1) {
|
NA7672LValueVO pha = this.getPhaseAndImpedanceCalculate(7, 1, requestBean.getCycle(), requestBean.getCapacity());
|
NA7672LValueVO imp_1 = this.getImpedance(2, 1);
|
NA7672LValueVO imp_2 = this.getImpedance(2, 2);
|
imp_1.setCalculateValue(pha.getCalculateValue());
|
imp_2.setCalculateValue(pha.getCalculateValue());
|
rs.add(pha);
|
rs.add(imp_1);
|
rs.add(imp_2);
|
} else {
|
|
}
|
return rs;
|
}
|
|
//获取autorec配置里的所有值
|
public List<NA7672LValueVO> getStateAutoRecAllValue(NA7672LRequestBean requestBean) {
|
List<NA7672LValueVO> rs = new ArrayList<>();
|
/*判断是否需要衰减的计算值*/
|
int ifNeedDecay = 0;
|
if (requestBean.getTemperture() != null) {
|
ifNeedDecay = 1;
|
}
|
List<NA7672LValueVO> c1_t1 = this.getListValue(1, 1, 1, "decay", 16);
|
List<NA7672LValueVO> c2_t1 = this.getListValue(2, 1, 1, "decay", 16);
|
if (ifNeedDecay == 1) {
|
for (NA7672LValueVO one : c1_t1) {
|
/*获取计算值*/
|
/*衰减的温度系数换算公式 = 1+0.002×(实际温度-20℃)
|
测试值÷长度÷温度系数×100*/
|
double wd = 1 + 0.002 * (requestBean.getTemperture() - 20);
|
double decay_cal = one.getDecimalVal().doubleValue() / requestBean.getLength() / wd * 100;
|
one.setMeasureValue(new BigDecimal(decay_cal).setScale(4, RoundingMode.HALF_UP));
|
}
|
for (NA7672LValueVO one : c2_t1) {
|
/*获取计算值*/
|
/*衰减的温度系数换算公式 = 1+0.002×(实际温度-20℃)
|
测试值÷长度÷温度系数×100*/
|
double wd = 1 + 0.002 * (requestBean.getTemperture() - 20);
|
double decay_cal = one.getDecimalVal().doubleValue() / requestBean.getLength() / wd * 100;
|
one.setMeasureValue(new BigDecimal(decay_cal).setScale(4, RoundingMode.HALF_UP));
|
}
|
}
|
List<NA7672LValueVO> c4_t1 = this.getListValue(4, 1, 3, "swr", 1);
|
List<NA7672LValueVO> c4_t2 = this.getListValue(4, 2, 3, "swr", 1);
|
List<NA7672LValueVO> c5_t1 = this.getListValue(5, 1, 3, "swr", 1);
|
List<NA7672LValueVO> c5_t2 = this.getListValue(5, 2, 3, "swr", 1);
|
List<NA7672LValueVO> c6_t1 = this.getListValue(6, 1, 3, "swr", 1);
|
List<NA7672LValueVO> c6_t2 = this.getListValue(6, 2, 3, "swr", 1);
|
List<NA7672LValueVO> c7_t1 = this.getListValue(7, 1, 3, "swr", 1);
|
List<NA7672LValueVO> c7_t2 = this.getListValue(7, 2, 3, "swr", 1);
|
List<NA7672LValueVO> c8_t1 = this.getListValue(8, 1, 3, "swr", 1);
|
List<NA7672LValueVO> c8_t2 = this.getListValue(8, 2, 3, "swr", 1);
|
rs.addAll(c1_t1);
|
rs.addAll(c2_t1);
|
rs.addAll(c4_t1);
|
rs.addAll(c4_t2);
|
rs.addAll(c5_t1);
|
rs.addAll(c5_t2);
|
rs.addAll(c6_t1);
|
rs.addAll(c6_t2);
|
rs.addAll(c7_t1);
|
rs.addAll(c7_t2);
|
rs.addAll(c8_t1);
|
rs.addAll(c8_t2);
|
/*判断是否需要计算相位差和平均特性阻抗*/
|
int ifNeedPHA = 0;
|
if (requestBean.getCycle() != null) {
|
ifNeedPHA = 1;
|
} else {
|
ifNeedPHA = 0;
|
}
|
if (ifNeedPHA == 1) {
|
NA7672LValueVO pha = this.getPhaseAndImpedanceCalculate(9, 1, requestBean.getCycle(), requestBean.getCapacity());
|
NA7672LValueVO imp_1 = this.getImpedance(3, 1);
|
NA7672LValueVO imp_2 = this.getImpedance(3, 2);
|
imp_1.setCalculateValue(pha.getCalculateValue());
|
imp_2.setCalculateValue(pha.getCalculateValue());
|
rs.add(pha);
|
rs.add(imp_1);
|
rs.add(imp_2);
|
} else {
|
|
}
|
return rs;
|
}
|
|
/*获取相位差和特性阻抗计算值*/
|
public NA7672LValueVO getPhaseAndImpedanceCalculate(int channelId, int traceId, double cycle, double capacity) {
|
NA7672LValueVO phaseMeatured = this.getPHA(channelId, traceId);
|
NA7672LValueVO impedanceCalculate = this.getImpedanceCalculateVal(cycle, phaseMeatured.getDecimalVal().doubleValue(), capacity);
|
phaseMeatured.setCalculateValue(impedanceCalculate.getMeasureValue());
|
return phaseMeatured;
|
}
|
|
|
/*获取衰减(新)*/
|
// public List<NA7672LValueVO> getDecayListNew(int channelId, int traceId, int fetchType, String returnType, double temperture, double length) {
|
// List<NA7672LValueVO> returnValueList = new ArrayList<>();
|
// try {
|
// this.initTCP();
|
// InputStream inputStream = this.socket.getInputStream();
|
// OutputStream outputStream = this.socket.getOutputStream();
|
// // 把字节流转换成字符流
|
// PrintWriter printWriter = new PrintWriter(outputStream);
|
// Scanner inFromSocket = new Scanner(inputStream);
|
// //获取mark的x
|
// for (int markId = 1; markId <= 16; markId++) {
|
// NA7672LValueVO returnValue = new NA7672LValueVO();
|
// String requestString = ":CALC" + channelId + ":TRAC" + traceId + ":MARK" + markId + ":X?";
|
// printWriter.println(requestString);
|
// printWriter.flush();
|
// String responseString = inFromSocket.next();
|
// BigDecimal val = new BigDecimal(responseString);
|
// BigDecimal valRound = val.divide(new BigDecimal(1000 * 1000), 0, RoundingMode.CEILING);
|
// returnValue.setLabel(returnType + "_" + valRound.toString() + "m");
|
// //获取mark的y
|
// requestString = ":CALC" + channelId + ":TRAC" + traceId + ":MARK" + markId + ":Y?";
|
// printWriter.println(requestString);
|
// printWriter.flush();
|
// responseString = inFromSocket.next();
|
// String[] valList = responseString.split(",");
|
// val = new BigDecimal(valList[0]);
|
// val.setScale(4, RoundingMode.HALF_UP);
|
// returnValue.setDecimalVal(val);
|
// /*类别衰减、通道、轨迹线、mark*/
|
// returnValue.setFetchType(fetchType);
|
// returnValue.setChannel(channelId);
|
// returnValue.setTrace(traceId);
|
// returnValue.setChannel(channelId);
|
// returnValue.setMark(markId);
|
// returnValueList.add(returnValue);
|
// }
|
// this.closeTcp();
|
// } catch (IOException e) {
|
// e.printStackTrace();
|
// }
|
// for (NA7672LValueVO one : returnValueList) {
|
// /*获取计算值*/
|
// /*衰减的温度系数换算公式 = 1+0.002×(实际温度-20℃)
|
// 测试值÷长度÷温度系数×100*/
|
// double wd = 1 + 0.002 * (temperture - 20);
|
// double decay_cal = one.getDecimalVal().doubleValue() / length / wd * 100;
|
// one.setMeasureValue(new BigDecimal(decay_cal).setScale(4, RoundingMode.HALF_UP));
|
// }
|
// return returnValueList;
|
// }
|
|
/*获取驻波比(新)*/
|
public NA7672LValueVO getSWRNew(int channelId, int fetchType) {
|
NA7672LValueVO swr1 = this.getSWR(channelId, 1, 1);
|
NA7672LValueVO swr2 = this.getSWR(channelId, 2, 1);
|
BigDecimal p1 = swr1.getDecimalVal();
|
BigDecimal p2 = swr2.getDecimalVal();
|
BigDecimal p3 = new BigDecimal(0.0);
|
if (p1.compareTo(p2) == 1) {
|
p3 = p1;
|
} else {
|
p3 = p2;
|
}
|
swr1.setMeasureValue(swr2.getDecimalVal());
|
swr1.setCalculateValue(p3);
|
swr1.setFetchType(fetchType);
|
return swr1;
|
}
|
|
/*获取列表值*/
|
public List<NA7672LValueVO> getListValue(int channelId, int traceId, int fetchType, String returnType, int fetchNum) {
|
List<NA7672LValueVO> returnValueList = new ArrayList<>();
|
try {
|
this.initTCP();
|
InputStream inputStream = this.socket.getInputStream();
|
OutputStream outputStream = this.socket.getOutputStream();
|
// 把字节流转换成字符流
|
PrintWriter printWriter = new PrintWriter(outputStream);
|
Scanner inFromSocket = new Scanner(inputStream);
|
//获取mark的x
|
for (int markId = 1; markId <= fetchNum; markId++) {
|
NA7672LValueVO returnValue = new NA7672LValueVO();
|
String requestString = ":CALC" + channelId + ":TRAC" + traceId + ":MARK" + markId + ":X?";
|
printWriter.println(requestString);
|
printWriter.flush();
|
String responseString = inFromSocket.next();
|
BigDecimal val = new BigDecimal(responseString);
|
BigDecimal valRound = val.divide(new BigDecimal(1000 * 1000), 0, RoundingMode.CEILING);
|
returnValue.setLabel(returnType + "_" + valRound.toString() + "m");
|
//获取mark的y
|
requestString = ":CALC" + channelId + ":TRAC" + traceId + ":MARK" + markId + ":Y?";
|
printWriter.println(requestString);
|
printWriter.flush();
|
responseString = inFromSocket.next();
|
String[] valList = responseString.split(",");
|
val = new BigDecimal(valList[0]);
|
val.setScale(4, RoundingMode.HALF_UP);
|
returnValue.setDecimalVal(val);
|
/*类别衰减、通道、轨迹线、mark*/
|
returnValue.setFetchType(fetchType);
|
returnValue.setChannel(channelId);
|
returnValue.setTrace(traceId);
|
returnValue.setChannel(channelId);
|
returnValue.setMark(markId);
|
returnValueList.add(returnValue);
|
}
|
this.closeTcp();
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
return returnValueList;
|
}
|
|
/*获取单一均值*/
|
public NA7672LValueVO getMeanValue(int channelId, int traceId) {
|
NA7672LValueVO returnValue = new NA7672LValueVO();
|
try {
|
this.initTCP();
|
InputStream inputStream = this.socket.getInputStream();
|
OutputStream outputStream = this.socket.getOutputStream();
|
// 把字节流转换成字符流
|
PrintWriter printWriter = new PrintWriter(outputStream);
|
Scanner inFromSocket = new Scanner(inputStream);
|
//获取阻抗
|
String requestString = ":CALC" + channelId + ":TRAC" + traceId + ":MST:DATA?";
|
printWriter.println(requestString);
|
printWriter.flush();
|
String responseString = inFromSocket.next();
|
String[] valList = responseString.split(",");
|
BigDecimal val = new BigDecimal(valList[0]);
|
val.setScale(4, RoundingMode.HALF_UP);
|
returnValue.setDecimalVal(val);
|
returnValue.setLabel("impedance_mean");
|
/*类别阻抗、通道、轨迹线、mark*/
|
returnValue.setFetchType(2);
|
returnValue.setChannel(channelId);
|
returnValue.setTrace(traceId);
|
returnValue.setChannel(channelId);
|
returnValue.setMark(-1);
|
this.closeTcp();
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
return returnValue;
|
}
|
|
/*测试1,错误的例子*/
|
public void test1() {
|
try {
|
this.initTCP();
|
InputStream inputStream = socket.getInputStream();
|
OutputStream outputStream = socket.getOutputStream();
|
// 把字节流转换成字符流
|
PrintWriter printWriter = new PrintWriter(outputStream);
|
Scanner inFromSocket = new Scanner(inputStream);
|
String requestString = ":CALC1:TRAC1:MARK100:Y?";
|
// 2,写入请求
|
printWriter.println(requestString);
|
printWriter.flush();
|
// 3,读取请求
|
String responseString = inFromSocket.next();
|
// 控制台 打印请求字符串 + 响应字符串
|
System.out.println(requestString + " + " + responseString);
|
this.closeTcp();
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
}
|
|
/*测试2,正确的例子*/
|
public void test2() {
|
try {
|
this.initTCP();
|
InputStream inputStream = socket.getInputStream();
|
OutputStream outputStream = socket.getOutputStream();
|
// 把字节流转换成字符流
|
PrintWriter printWriter = new PrintWriter(outputStream);
|
Scanner inFromSocket = new Scanner(inputStream);
|
String requestString = ":CALC1:TRAC1:MARK1:Y?";
|
// 2,写入请求
|
printWriter.println(requestString);
|
printWriter.flush();
|
// 3,读取请求
|
String responseString = inFromSocket.next();
|
// 控制台 打印请求字符串 + 响应字符串
|
System.out.println(requestString + " + " + responseString);
|
this.closeTcp();
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
}
|
|
/*获取衰减*/
|
public NA7672LValueVO getDecay(int channelId, int traceId, int markId) {
|
NA7672LValueVO returnValue = new NA7672LValueVO();
|
try {
|
this.initTCP();
|
InputStream inputStream = this.socket.getInputStream();
|
OutputStream outputStream = this.socket.getOutputStream();
|
// 把字节流转换成字符流
|
PrintWriter printWriter = new PrintWriter(outputStream);
|
Scanner inFromSocket = new Scanner(inputStream);
|
//获取mark的x
|
String requestString = ":CALC" + channelId + ":TRAC" + traceId + ":MARK" + markId + ":X?";
|
printWriter.println(requestString);
|
printWriter.flush();
|
String responseString = inFromSocket.next();
|
BigDecimal val = new BigDecimal(responseString);
|
BigDecimal valRound = val.divide(new BigDecimal(1000 * 1000), 0, RoundingMode.CEILING);
|
returnValue.setLabel("decay_" + valRound.toString() + "m");
|
//获取mark的y
|
requestString = ":CALC" + channelId + ":TRAC" + traceId + ":MARK" + markId + ":Y?";
|
printWriter.println(requestString);
|
printWriter.flush();
|
responseString = inFromSocket.next();
|
String[] valList = responseString.split(",");
|
val = new BigDecimal(valList[0]);
|
val.setScale(4, RoundingMode.HALF_UP);
|
returnValue.setDecimalVal(val);
|
/*类别衰减、通道、轨迹线、mark*/
|
returnValue.setFetchType(1);
|
returnValue.setChannel(channelId);
|
returnValue.setTrace(traceId);
|
returnValue.setChannel(channelId);
|
returnValue.setMark(markId);
|
this.closeTcp();
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
return returnValue;
|
}
|
|
/*获取衰减列表*/
|
public List<NA7672LValueVO> getDecayList(int channelId, int traceId) {
|
List<NA7672LValueVO> returnValueList = new ArrayList<>();
|
try {
|
this.initTCP();
|
InputStream inputStream = this.socket.getInputStream();
|
OutputStream outputStream = this.socket.getOutputStream();
|
// 把字节流转换成字符流
|
PrintWriter printWriter = new PrintWriter(outputStream);
|
Scanner inFromSocket = new Scanner(inputStream);
|
//获取mark的x
|
for (int markId = 1; markId <= 16; markId++) {
|
NA7672LValueVO returnValue = new NA7672LValueVO();
|
String requestString = ":CALC" + channelId + ":TRAC" + traceId + ":MARK" + markId + ":X?";
|
printWriter.println(requestString);
|
printWriter.flush();
|
String responseString = inFromSocket.next();
|
BigDecimal val = new BigDecimal(responseString);
|
BigDecimal valRound = val.divide(new BigDecimal(1000 * 1000), 0, RoundingMode.CEILING);
|
returnValue.setLabel("decay_" + valRound.toString() + "m");
|
//获取mark的y
|
requestString = ":CALC" + channelId + ":TRAC" + traceId + ":MARK" + markId + ":Y?";
|
printWriter.println(requestString);
|
printWriter.flush();
|
responseString = inFromSocket.next();
|
String[] valList = responseString.split(",");
|
val = new BigDecimal(valList[0]);
|
val.setScale(4, RoundingMode.HALF_UP);
|
returnValue.setDecimalVal(val);
|
/*类别衰减、通道、轨迹线、mark*/
|
returnValue.setFetchType(1);
|
returnValue.setChannel(channelId);
|
returnValue.setTrace(traceId);
|
returnValue.setChannel(channelId);
|
returnValue.setMark(markId);
|
returnValueList.add(returnValue);
|
}
|
this.closeTcp();
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
return returnValueList;
|
}
|
|
/*通过label获取衰减*/
|
public NA7672LValueVO getDecayByLabel(int channelId, int traceId, String label, double temperture, double length) {
|
NA7672LValueVO returnVale = new NA7672LValueVO();
|
List<NA7672LValueVO> list = this.getDecayList(channelId, traceId);
|
int ifFind = 0;
|
for (NA7672LValueVO one : list) {
|
if (one.getLabel().equals(label)) {
|
BeanUtil.copyProperties(one, returnVale);
|
/*获取计算值*/
|
/*衰减的温度系数换算公式 = 1+0.002×(实际温度-20℃)
|
测试值÷长度÷温度系数×100*/
|
double wd = 1 + 0.002 * (temperture - 20);
|
double decay_cal = one.getDecimalVal().doubleValue() / length / wd * 100;
|
returnVale.setMeasureValue(new BigDecimal(decay_cal).setScale(4, RoundingMode.HALF_UP));
|
ifFind = 1;
|
break;
|
}
|
}
|
if (ifFind == 0) {
|
returnVale.setIfLegal(0);
|
returnVale.setLabel(label);
|
}
|
return returnVale;
|
}
|
|
/*获取阻抗*/
|
public NA7672LValueVO getImpedance(int channelId, int traceId) {
|
NA7672LValueVO returnValue = new NA7672LValueVO();
|
try {
|
this.initTCP();
|
InputStream inputStream = this.socket.getInputStream();
|
OutputStream outputStream = this.socket.getOutputStream();
|
// 把字节流转换成字符流
|
PrintWriter printWriter = new PrintWriter(outputStream);
|
Scanner inFromSocket = new Scanner(inputStream);
|
//获取阻抗
|
String requestString = ":CALC" + channelId + ":TRAC" + traceId + ":MST:DATA?";
|
printWriter.println(requestString);
|
printWriter.flush();
|
String responseString = inFromSocket.next();
|
String[] valList = responseString.split(",");
|
BigDecimal val = new BigDecimal(valList[0]);
|
val.setScale(4, RoundingMode.HALF_UP);
|
returnValue.setDecimalVal(val);
|
returnValue.setLabel("impedance_mean");
|
/*类别阻抗、通道、轨迹线、mark*/
|
returnValue.setFetchType(2);
|
returnValue.setChannel(channelId);
|
returnValue.setTrace(traceId);
|
returnValue.setChannel(channelId);
|
returnValue.setMark(-1);
|
this.closeTcp();
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
return returnValue;
|
}
|
|
/*获取驻波比*/
|
public NA7672LValueVO getSWR(int channelId, int traceId, int markId) {
|
NA7672LValueVO returnValue = new NA7672LValueVO();
|
try {
|
this.initTCP();
|
InputStream inputStream = this.socket.getInputStream();
|
OutputStream outputStream = this.socket.getOutputStream();
|
// 把字节流转换成字符流
|
PrintWriter printWriter = new PrintWriter(outputStream);
|
Scanner inFromSocket = new Scanner(inputStream);
|
//获取mark的x
|
String requestString = ":CALC" + channelId + ":TRAC" + traceId + ":MARK" + markId + ":X?";
|
printWriter.println(requestString);
|
printWriter.flush();
|
String responseString = inFromSocket.next();
|
BigDecimal val = new BigDecimal(responseString);
|
BigDecimal valRound = val.divide(new BigDecimal(1000 * 1000), 0, RoundingMode.CEILING);
|
returnValue.setLabel("swr_" + valRound.toString() + "m");
|
//获取mark的y
|
requestString = ":CALC" + channelId + ":TRAC" + traceId + ":MARK" + markId + ":Y?";
|
printWriter.println(requestString);
|
printWriter.flush();
|
responseString = inFromSocket.next();
|
String[] valList = responseString.split(",");
|
val = new BigDecimal(valList[0]);
|
val.setScale(4, RoundingMode.HALF_UP);
|
returnValue.setDecimalVal(val);
|
/*类别衰减、通道、轨迹线、mark*/
|
returnValue.setFetchType(3);
|
returnValue.setChannel(channelId);
|
returnValue.setTrace(traceId);
|
returnValue.setChannel(channelId);
|
returnValue.setMark(markId);
|
this.closeTcp();
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
return returnValue;
|
}
|
|
/*获取驻波比列表*/
|
public List<NA7672LValueVO> getSWRList(int channelId, int traceId) {
|
List<NA7672LValueVO> returnValueList = new ArrayList<>();
|
try {
|
this.initTCP();
|
InputStream inputStream = this.socket.getInputStream();
|
OutputStream outputStream = this.socket.getOutputStream();
|
// 把字节流转换成字符流
|
PrintWriter printWriter = new PrintWriter(outputStream);
|
Scanner inFromSocket = new Scanner(inputStream);
|
//获取mark的x
|
for (int markId = 1; markId <= 16; markId++) {
|
NA7672LValueVO returnValue = new NA7672LValueVO();
|
String requestString = ":CALC" + channelId + ":TRAC" + traceId + ":MARK" + markId + ":X?";
|
printWriter.println(requestString);
|
printWriter.flush();
|
String responseString = inFromSocket.next();
|
BigDecimal val = new BigDecimal(responseString);
|
BigDecimal valRound = val.divide(new BigDecimal(1000 * 1000), 0, RoundingMode.CEILING);
|
returnValue.setLabel("swr_" + valRound.toString() + "m");
|
//获取mark的y
|
requestString = ":CALC" + channelId + ":TRAC" + traceId + ":MARK" + markId + ":Y?";
|
printWriter.println(requestString);
|
printWriter.flush();
|
responseString = inFromSocket.next();
|
String[] valList = responseString.split(",");
|
val = new BigDecimal(valList[0]);
|
val.setScale(4, RoundingMode.HALF_UP);
|
returnValue.setDecimalVal(val);
|
/*类别衰减、通道、轨迹线、mark*/
|
returnValue.setFetchType(1);
|
returnValue.setChannel(channelId);
|
returnValue.setTrace(traceId);
|
returnValue.setChannel(channelId);
|
returnValue.setMark(markId);
|
returnValueList.add(returnValue);
|
}
|
this.closeTcp();
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
return returnValueList;
|
}
|
|
/*通过label获取驻波比*/
|
public NA7672LValueVO getSWRByLabel(int channelId, int traceId, String label) {
|
NA7672LValueVO returnVale = new NA7672LValueVO();
|
List<NA7672LValueVO> list = this.getSWRList(channelId, traceId);
|
int ifFind = 0;
|
for (NA7672LValueVO one : list) {
|
if (one.getLabel().equals(label)) {
|
BeanUtil.copyProperties(one, returnVale);
|
ifFind = 1;
|
break;
|
}
|
}
|
if (ifFind == 0) {
|
returnVale.setIfLegal(0);
|
returnVale.setLabel(label);
|
}
|
return returnVale;
|
}
|
|
/*获取相位差*/
|
public NA7672LValueVO getPHA(int channelId, int traceId) {
|
NA7672LValueVO returnValue = new NA7672LValueVO();
|
try {
|
this.initTCP();
|
InputStream inputStream = this.socket.getInputStream();
|
OutputStream outputStream = this.socket.getOutputStream();
|
// 把字节流转换成字符流
|
PrintWriter printWriter = new PrintWriter(outputStream);
|
Scanner inFromSocket = new Scanner(inputStream);
|
//先设置触发是连续模式,默认是单点
|
String requestString = ":INIT" + channelId + ":CONT 1";
|
printWriter.println(requestString);
|
printWriter.flush();
|
//再设置数据统计状态设置为开启,默认是关闭状态
|
requestString = ":CALC" + channelId + ":TRAC" + traceId + ":MST 1";
|
printWriter.println(requestString);
|
printWriter.flush();
|
//需要暂停一刻
|
Thread.sleep(1000);
|
//获取相位差
|
requestString = ":CALC" + channelId + ":TRAC" + traceId + ":MST:DATA?";
|
printWriter.println(requestString);
|
printWriter.flush();
|
String responseString = inFromSocket.next();
|
String[] valList = responseString.split(",");
|
BigDecimal val = new BigDecimal(valList[0]);
|
val.setScale(4, RoundingMode.HALF_UP);
|
returnValue.setDecimalVal(val);
|
returnValue.setLabel("pha_mean");
|
/*类别阻抗、通道、轨迹线、mark*/
|
returnValue.setFetchType(4);
|
returnValue.setChannel(channelId);
|
returnValue.setTrace(traceId);
|
returnValue.setChannel(channelId);
|
returnValue.setMark(-1);
|
this.closeTcp();
|
} catch (IOException e) {
|
e.printStackTrace();
|
} catch (InterruptedException e) {
|
e.printStackTrace();
|
}
|
return returnValue;
|
}
|
|
/*获取特性阻抗计算值*/
|
public NA7672LValueVO getImpedanceCalculateVal(double cycle, double phaValue, double capacity) {
|
//平均特性阻抗 = 周期数÷(相位差值/1000000)÷(电容测)×1000
|
NA7672LValueVO returnValue = new NA7672LValueVO();
|
returnValue.setFetchType(5);
|
BigDecimal val = new BigDecimal(cycle / (phaValue / 1000000) / capacity * 1000);
|
BigDecimal newVal = val.setScale(4, RoundingMode.HALF_UP);
|
returnValue.setMeasureValue(newVal);
|
return returnValue;
|
}
|
|
|
/*获取所有数值*/
|
/*public static void main(String[] args) throws IOException {
|
String serverIp = "10.88.15.169";
|
int serverPort = 5025;
|
NA7672LTCPClientUtils tcpClient = new NA7672LTCPClientUtils(serverIp, serverPort);
|
tcpClient.initMemory("D:/state03.sta");
|
*//*
|
tcpClient.test1();
|
tcpClient.test2();
|
*//*
|
*//*单个测试*//*
|
*//*
|
NA7672LValueVO decay = tcpClient.getDecay(1, 1, 1);
|
NA7672LValueVO impedance = tcpClient.getImpedance(2, 1);
|
NA7672LValueVO swr = tcpClient.getSWR(3, 1, 1);
|
NA7672LValueVO pha=tcpClient.getPHA(7,1);
|
*//*
|
*//*列表测试*//*
|
*//*List<NA7672LValueVO> decayList = tcpClient.getDecayList(1, 1);
|
List<NA7672LValueVO> swrList = tcpClient.getSWRList(3, 1);*//*
|
|
*//*使用的接口测试*//*
|
// NA7672LValueVO decay = tcpClient.getDecayByLabel(1, 1, "decay_400m", 37.5, 100);
|
NA7672LValueVO impedance = tcpClient.getImpedance(2, 1);
|
// NA7672LValueVO swr = tcpClient.getSWRByLabel(3, 1, "swr_1000m");
|
// NA7672LValueVO pha = tcpClient.getPHA(7, 1);
|
// System.out.println("eqweqwe");
|
|
}*/
|
|
}
|