Пример #1
0
        public static ROCMaster_ParameterArray Parse(SqlString stringToParse)
        {
            if (stringToParse.IsNull)
            {
                return(Null);
            }

            var parsedROCParameterArray = new ROCMaster_ParameterArray()
            {
                parameters = new List <ROCMaster_Parameter>()
            };

            var parsedString = stringToParse.Value.Split("|".ToCharArray());

            for (var i = 0; parsedString.Length > i; i++)
            {
                parsedROCParameterArray.Parameters.Add(ROCMaster_Parameter.Parse(parsedString[i]));
            }

            return(parsedROCParameterArray);
        }
Пример #2
0
        public void Read(BinaryReader binaryReader)
        {
            Parameters.Clear();
            IsNull = binaryReader.ReadBoolean();

            if (IsNull)
            {
                return;
            }
            else
            {
                var length = binaryReader.ReadInt32();

                for (var i = 0; length > i; i++)
                {
                    var parameter = new ROCMaster_Parameter();
                    parameter.Read(binaryReader);
                    Parameters.Add(parameter);
                }
            }
        }
Пример #3
0
        public static ROCMaster_Parameter Parse(SqlString stringToParse)
        {
            if (stringToParse.IsNull)
            {
                return(Null);
            }

            var parsedROCPointData = stringToParse.Value.Split(",".ToCharArray());
            var parsedROCParameter = new ROCMaster_Parameter()
            {
                PointType = byte.Parse(parsedROCPointData[0]), LogicalNumber = byte.Parse(parsedROCPointData[1]), Parameter = byte.Parse(parsedROCPointData[2])
            };

            parsedROCParameter.parameterType = (byte)((ParameterType)Enum.Parse(typeof(ParameterType), parsedROCPointData[3]));

            switch (parsedROCPointData[3])
            {
            case "AC3":
                parsedROCParameter.rawValue = (new Ac3Parameter()
                {
                    Value = parsedROCPointData[4]
                }).Data;
                break;

            case "AC7":
                parsedROCParameter.rawValue = (new Ac7Parameter()
                {
                    Value = parsedROCPointData[4]
                }).Data;
                break;

            case "AC10":
                parsedROCParameter.rawValue = (new Ac10Parameter()
                {
                    Value = parsedROCPointData[4]
                }).Data;
                break;

            case "AC12":
                parsedROCParameter.rawValue = (new Ac12Parameter()
                {
                    Value = parsedROCPointData[4]
                }).Data;
                break;

            case "AC20":
                parsedROCParameter.rawValue = (new Ac20Parameter()
                {
                    Value = parsedROCPointData[4]
                }).Data;
                break;

            case "AC30":
                parsedROCParameter.rawValue = (new Ac30Parameter()
                {
                    Value = parsedROCPointData[4]
                }).Data;
                break;

            case "AC40":
                parsedROCParameter.rawValue = (new Ac40Parameter()
                {
                    Value = parsedROCPointData[4]
                }).Data;
                break;

            case "BIN":
                parsedROCParameter.rawValue = (new BinParameter()
                {
                    Value = byte.Parse(parsedROCPointData[4])
                }).Data;
                break;

            case "FL":
                parsedROCParameter.rawValue = (new FlpParameter()
                {
                    Value = float.Parse(parsedROCPointData[4])
                }).Data;
                break;

            case "DOUBLE":
                parsedROCParameter.rawValue = (new DoubleParameter()
                {
                    Value = double.Parse(parsedROCPointData[8])
                }).Data;
                break;

            case "INT16":
                parsedROCParameter.rawValue = (new Int16Parameter()
                {
                    Value = short.Parse(parsedROCPointData[4])
                }).Data;
                break;

            case "INT32":
                parsedROCParameter.rawValue = (new Int32Parameter()
                {
                    Value = int.Parse(parsedROCPointData[4])
                }).Data;
                break;

            case "Int8":
                parsedROCParameter.rawValue = (new Int8Parameter()
                {
                    Value = SByte.Parse(parsedROCPointData[4])
                }).Data;
                break;

            case "TLP":
            {
                var parsedTlp = parsedROCPointData[4].Split(".".ToCharArray());
                parsedROCParameter.rawValue = (new TlpParameter()
                    {
                        Value = new Tlp(byte.Parse(parsedTlp[0]), byte.Parse(parsedTlp[1]), byte.Parse(parsedTlp[2]))
                    }).Data;
            }
            break;

            case "UINT16":
                parsedROCParameter.rawValue = (new UInt16Parameter()
                {
                    Value = ushort.Parse(parsedROCPointData[4])
                }).Data;
                break;

            case "UINT32":
                parsedROCParameter.rawValue = (new UInt32Parameter()
                {
                    Value = uint.Parse(parsedROCPointData[4])
                }).Data;
                break;

            case "TIME":
                parsedROCParameter.rawValue = (new TimeParameter()
                {
                    Value = (new DateTime(1970, 01, 01).AddSeconds(uint.Parse(parsedROCPointData[4])))
                }).Data;
                break;

            case "UINT8":
                parsedROCParameter.rawValue = (new UInt8Parameter()
                {
                    Value = byte.Parse(parsedROCPointData[4])
                }).Data;
                break;
            }
            return(parsedROCParameter);
        }
Пример #4
0
 public ROCMaster_ParameterArray AddParameter(ROCMaster_Parameter parameter)
 {
     Parameters.Add(parameter);
     return(this);
 }