|
|
|
|
using HslCommunication;
|
|
|
|
|
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
|
|
|
|
namespace DataBlockHelper.DBHelpers
|
|
|
|
|
{
|
|
|
|
|
public class DB120Helper: DBHelper
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
public DB120Helper() {
|
|
|
|
|
|
|
|
|
|
OperateResult<byte[]> db120 = PlcConnect.Instance.Read("DB120.0.0", 154);
|
|
|
|
|
bytes = db120.Content;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public Uhd GetUhd => new Uhd(bytes);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public DustfanEntity Dustfan => new DustfanEntity(78, bytes);
|
|
|
|
|
|
|
|
|
|
public DustfanEntity DustfanLineA => new DustfanEntity(80, bytes);
|
|
|
|
|
|
|
|
|
|
public DustfanEntity DustfanLineB => new DustfanEntity(82, bytes);
|
|
|
|
|
|
|
|
|
|
public DustfanEntity DustfanLineC => new DustfanEntity(84, bytes);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public float SiloA
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
var trans = PlcConnect.Instance.ByteTransform;
|
|
|
|
|
return trans.TransSingle(bytes, 94);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public float SiloB
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
var trans = PlcConnect.Instance.ByteTransform;
|
|
|
|
|
return trans.TransSingle(bytes, 98);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public float SiloC
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
var trans = PlcConnect.Instance.ByteTransform;
|
|
|
|
|
return trans.TransSingle(bytes, 102);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public float SiloD
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
var trans = PlcConnect.Instance.ByteTransform;
|
|
|
|
|
return trans.TransSingle(bytes, 106);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public float SiloE
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
var trans = PlcConnect.Instance.ByteTransform;
|
|
|
|
|
return trans.TransSingle(bytes, 110);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public float SiloF
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
var trans = PlcConnect.Instance.ByteTransform;
|
|
|
|
|
return trans.TransSingle(bytes, 114);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public float SiloG
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
var trans = PlcConnect.Instance.ByteTransform;
|
|
|
|
|
return trans.TransSingle(bytes, 118);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public float SiloH
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
var trans = PlcConnect.Instance.ByteTransform;
|
|
|
|
|
return trans.TransSingle(bytes, 122);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public float SiloI
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
var trans = PlcConnect.Instance.ByteTransform;
|
|
|
|
|
return trans.TransSingle(bytes, 126);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public float SiloJ
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
var trans = PlcConnect.Instance.ByteTransform;
|
|
|
|
|
return trans.TransSingle(bytes, 130);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public float SiloK
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
var trans = PlcConnect.Instance.ByteTransform;
|
|
|
|
|
return trans.TransSingle(bytes, 134);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public float SiloL
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
var trans = PlcConnect.Instance.ByteTransform;
|
|
|
|
|
return trans.TransSingle(bytes, 138);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public float SiloM
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
var trans = PlcConnect.Instance.ByteTransform;
|
|
|
|
|
return trans.TransSingle(bytes, 142);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public float SiloN
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
var trans = PlcConnect.Instance.ByteTransform;
|
|
|
|
|
return trans.TransSingle(bytes, 146);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public float SiloO
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
var trans = PlcConnect.Instance.ByteTransform;
|
|
|
|
|
return trans.TransSingle(bytes, 150);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public class Uhd
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
public Uhd()
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public Uhd(byte[] content)
|
|
|
|
|
{
|
|
|
|
|
var trans = PlcConnect.Instance.ByteTransform;
|
|
|
|
|
A= trans.TransSingle(content, 0);
|
|
|
|
|
B = trans.TransSingle(content, 4);
|
|
|
|
|
C = trans.TransSingle(content, 8);
|
|
|
|
|
D = trans.TransSingle(content, 12);
|
|
|
|
|
E = trans.TransSingle(content, 16);
|
|
|
|
|
F = trans.TransSingle(content, 20);
|
|
|
|
|
G = trans.TransSingle(content, 24);
|
|
|
|
|
H = trans.TransSingle(content, 28);
|
|
|
|
|
I = trans.TransSingle(content, 32);
|
|
|
|
|
J = trans.TransSingle(content, 36);
|
|
|
|
|
K = trans.TransSingle(content, 40);
|
|
|
|
|
|
|
|
|
|
L = trans.TransSingle(content, 44);
|
|
|
|
|
M = trans.TransSingle(content, 48);
|
|
|
|
|
|
|
|
|
|
N = trans.TransSingle(content, 52);
|
|
|
|
|
O= trans.TransSingle(content, 56);
|
|
|
|
|
|
|
|
|
|
Delay1 = trans.TransUInt16(content, 60);
|
|
|
|
|
Delay2 = trans.TransUInt16(content, 62);
|
|
|
|
|
Delay3 = trans.TransUInt16(content, 64);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public float A { get; set; }
|
|
|
|
|
public float B { get; set; }
|
|
|
|
|
public float C { get; set; }
|
|
|
|
|
public float D { get; set; }
|
|
|
|
|
public float E { get; set; }
|
|
|
|
|
public float F { get; set; }
|
|
|
|
|
public float G { get; set; }
|
|
|
|
|
public float H { get; set; }
|
|
|
|
|
public float I { get; set; }
|
|
|
|
|
public float J { get; set; }
|
|
|
|
|
|
|
|
|
|
public float K { get; set; }
|
|
|
|
|
|
|
|
|
|
public float L { get; set; }
|
|
|
|
|
|
|
|
|
|
public float M { get; set; }
|
|
|
|
|
|
|
|
|
|
public float N { get; set; }
|
|
|
|
|
|
|
|
|
|
public float O { get; set; }
|
|
|
|
|
|
|
|
|
|
public ushort Delay1 { get; set; }
|
|
|
|
|
|
|
|
|
|
public ushort Delay2 { get; set; }
|
|
|
|
|
|
|
|
|
|
public ushort Delay3 { get; set; }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public class DustfanEntity
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
public DustfanEntity(ushort startSet, byte[] bytes) {
|
|
|
|
|
byte[] content = bytes.Skip(startSet).Take(2).ToArray();
|
|
|
|
|
|
|
|
|
|
byte byt = content[0];
|
|
|
|
|
|
|
|
|
|
SilogroupA = byt.GetBit(0);
|
|
|
|
|
SilogroupB = byt.GetBit(1);
|
|
|
|
|
SilogroupC = byt.GetBit(2);
|
|
|
|
|
SilogroupD = byt.GetBit(3);
|
|
|
|
|
SilogroupE = byt.GetBit(4);
|
|
|
|
|
}
|
|
|
|
|
public bool SilogroupA { get; set; }
|
|
|
|
|
public bool SilogroupB { get; set; }
|
|
|
|
|
public bool SilogroupC { get; set; }
|
|
|
|
|
public bool SilogroupD { get; set; }
|
|
|
|
|
public bool SilogroupE { get; set; }
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|