You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
87 lines
2.3 KiB
C#
87 lines
2.3 KiB
C#
using HslCommunication;
|
|
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace DataBlockHelper.DBHelpers
|
|
{
|
|
public class DB112Helper: DBHelper
|
|
|
|
{
|
|
public DB112Helper() {
|
|
OperateResult<byte[]> db112 = PlcConnect.Instance.Read("DB112.0.0", 151);
|
|
bytes = db112.Content;
|
|
}
|
|
|
|
|
|
public Conveyor PressureA => new Conveyor(2, bytes);
|
|
|
|
public Conveyor PressureB => new Conveyor(34, bytes);
|
|
|
|
|
|
public Conveyor PressureC => new Conveyor(66, bytes);
|
|
|
|
|
|
public ConveyorTimer LineTimeA=>new ConveyorTimer(98, bytes);
|
|
|
|
public ConveyorTimer LineTimeB => new ConveyorTimer(102, bytes);
|
|
|
|
public ConveyorTimer LineTimeC => new ConveyorTimer(104, bytes);
|
|
}
|
|
|
|
|
|
|
|
public class Conveyor
|
|
{
|
|
public Conveyor() { }
|
|
|
|
public Conveyor(ushort startSet, byte[] bytes)
|
|
{
|
|
byte[] content = bytes.Skip(startSet).Take(32).ToArray();
|
|
var trans= PlcConnect.Instance.ByteTransform;
|
|
SetValue1 = trans.TransSingle(content, 0);
|
|
SetValue2 = trans.TransSingle(content, 4);
|
|
SetValue3 = trans.TransSingle(content, 8);
|
|
SetValue4 = trans.TransSingle(content, 12);
|
|
SetValue5 = trans.TransSingle(content, 16);
|
|
SetValue6 = trans.TransSingle(content, 20);
|
|
SetValue7 = trans.TransSingle(content, 24);
|
|
SetValue8 = trans.TransSingle(content, 28);
|
|
}
|
|
|
|
public float SetValue1 { get; set; }
|
|
public float SetValue2 { get; set; }
|
|
public float SetValue3 { get; set; }
|
|
public float SetValue4 { get; set; }
|
|
public float SetValue5 { get; set; }
|
|
public float SetValue6 { get; set; }
|
|
public float SetValue7 { get; set; }
|
|
public float SetValue8 { get; set; }
|
|
}
|
|
|
|
|
|
|
|
public class ConveyorTimer
|
|
{
|
|
public ConveyorTimer()
|
|
{
|
|
|
|
}
|
|
|
|
public ConveyorTimer(ushort startSet, byte[] bytes)
|
|
{
|
|
byte[] content = bytes.Skip(startSet).Take(4).ToArray();
|
|
|
|
var trans = PlcConnect.Instance.ByteTransform;
|
|
SetValue1 = trans.TransInt16(content, 0);
|
|
SetValue2 = trans.TransInt16(content, 2);
|
|
}
|
|
|
|
public short SetValue1 { get; set; }
|
|
public short SetValue2 { get; set; }
|
|
}
|
|
}
|