private static decimal ReadRegister <TResult>(BaseRegister index, byte slaveId, Func <byte, ushort, ushort, ushort[]> readFunc) where TResult : struct { //Как хранится Int8??? в первом байте или во втором ushort? //возможно надо будет Buffer.BlockCopy(s, 0, dest, 0, readsize * 2); и брать dest[1] var address = index.RealAddress; var size = index.DataType.GetDataTypeSize(); var readSize = (ushort)(size / 2); var dest = new TResult[1]; if (size < 2) { readSize = 1; //dest = new T[2]; } //else dest = new T[1]; var s = readFunc(slaveId, address, readSize); Buffer.BlockCopy(s, 0, dest, 0, size); return(Convert.ToDecimal(dest[0]) / index.Multiplier); }
public virtual void ConfigureContainer(ContainerBuilder builder) { BaseRegister.RegisterConfigureContainer(builder); //BoBContainer.Container = builder; }