示例#1
0
        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);
        }
示例#2
0
 public virtual void ConfigureContainer(ContainerBuilder builder)
 {
     BaseRegister.RegisterConfigureContainer(builder);
     //BoBContainer.Container = builder;
 }