/// <summary>Import second can from base block</summary>
        public override void SecondCanImport()
        {
            UInt16 ItemPosition = 0;
            UInt16 DataPosition = SecondCanByteOffset;

            Array.Resize(ref SecondCanItem, 2 + (8 * 14));
            SecondCanItem[ItemPosition] = new TaskConfigurationItem("Can2.uiTime", TaskDataType.type_uint_16, DataPosition);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            SecondCanItem[ItemPosition] = new TaskConfigurationItem("Can2.ucDefBaudrate", TaskDataType.type_can_baudrate_8, DataPosition);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            for (int i = 0; i < 8; i++)
            {
                SecondCanItem[ItemPosition] = new TaskConfigurationItem(String.Format("Can2.Msg[{0}].uiSendrate", i), TaskDataType.type_uint_16, DataPosition);
                DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

                SecondCanItem[ItemPosition] = new TaskConfigurationItem(String.Format("Can2.Msg[{0}].ucDefDirection", i), TaskDataType.type_uint_8, DataPosition);
                DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

                SecondCanItem[ItemPosition] = new TaskConfigurationItem(String.Format("Can2.Msg[{0}].ulIdentifier", i), TaskDataType.type_can_id_32, DataPosition);
                DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

                SecondCanItem[ItemPosition] = new TaskConfigurationItem(String.Format("Can2.Msg[{0}].ucDLC", i), TaskDataType.type_uint_8, DataPosition);
                DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

                SecondCanItem[ItemPosition] = new TaskConfigurationItem(String.Format("Can2.Msg[{0}].ucDefExtStd", i), TaskDataType.type_uint_8, DataPosition);
                DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

                SecondCanItem[ItemPosition] = new TaskConfigurationItem(String.Format("Can2.Msg[{0}].uiP", i), TaskDataType.type_uint_16, DataPosition);
                DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

                SecondCanItem[ItemPosition] = new TaskConfigurationItem(String.Format("Can2.Msg[{0}].ucDefMeasureValue", i), TaskDataType.type_uint_8, DataPosition);
                DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

                SecondCanItem[ItemPosition] = new TaskConfigurationItem(String.Format("Can2.Msg[{0}].ucDefIntelMotorola", i), TaskDataType.type_uint_8, DataPosition);
                DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

                SecondCanItem[ItemPosition] = new TaskConfigurationItem(String.Format("Can2.Msg[{0}].ucStartbit", i), TaskDataType.type_uint_8, DataPosition);
                DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

                SecondCanItem[ItemPosition] = new TaskConfigurationItem(String.Format("Can2.Msg[{0}].uiBitlength", i), TaskDataType.type_uint_16, DataPosition);
                DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

                SecondCanItem[ItemPosition] = new TaskConfigurationItem(String.Format("Can2.Msg[{0}].fFaktor", i), TaskDataType.type_float_32, DataPosition);
                DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

                SecondCanItem[ItemPosition] = new TaskConfigurationItem(String.Format("Can2.Msg[{0}].siOffset", i), TaskDataType.type_int_16, DataPosition);
                DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

                SecondCanItem[ItemPosition] = new TaskConfigurationItem(String.Format("Can2.Msg[{0}].ucValueSigned", i), TaskDataType.type_uint_8, DataPosition);
                DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

                SecondCanItem[ItemPosition] = new TaskConfigurationItem(String.Format("Can2.Msg[{0}].ucDefTrigger", i), TaskDataType.type_uint_8, DataPosition);
                DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;
            }
        }
        private bool ImportAplSae9(UInt16 Offset, ref byte[] Data)
        {
            UInt16 ItemPosition = 0;
            UInt16 DataPosition = 0;

            if (Offset > 6)
            {
                DataPosition = (UInt16)(Offset - 6);   // block header = 6 abziehen
            }
            else
            {
                return(false);
            }
            mData = Data;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiCRC", TaskDataType.type_hex_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiExpire", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiStacksize", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucPrio", TaskDataType.type_uint_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucTimeout", TaskDataType.type_uint_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[0]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[1]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[2]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[3]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[4]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            return((DataPosition + 6) == (Offset + SizeAplSae9()));
        }
Beispiel #3
0
        private bool ImportTurnSpeed7(UInt16 Offset, ref byte[] Data)
        {
            UInt16 ItemPosition = 0;
            UInt16 DataPosition = 0;

            if (Offset > 6)
            {
                DataPosition = (UInt16)(Offset - 6);   // block header = 6 abziehen
            }
            else
            {
                return(false);
            }
            mData = Data;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiCRC", TaskDataType.type_hex_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiExpire", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(500);
            mItem[ItemPosition].SetPlausibilityMax(500);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiStacksize", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(512);
            mItem[ItemPosition].SetPlausibilityMax(512);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucPrio", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(50);
            mItem[ItemPosition].SetPlausibilityMax(80);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucTimeout", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(2);
            mItem[ItemPosition].SetPlausibilityMax(2);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("fFaktorSpeed", TaskDataType.type_float_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiTakteProHundertMeter", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            return((DataPosition + 6) == (Offset + SizeTurnspeed7()));
        }
Beispiel #4
0
        private bool ImportSaeComm7(UInt16 Offset, ref byte[] Data)
        {
            UInt16 ItemPosition = 0;
            UInt16 DataPosition = 0;

            if (Offset > 6)
            {
                DataPosition = (UInt16)(Offset - 6);   // block header = 6 abziehen
            }
            else
            {
                return(false);
            }
            mData = Data;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiCRC", TaskDataType.type_hex_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiExpire", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiStacksize", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucPrio", TaskDataType.type_uint_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucTimeout", TaskDataType.type_uint_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucBaudrate", TaskDataType.type_can_baudrate_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("N_Adr_Tester_SAE", TaskDataType.type_hex_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("N_Adr_ECU_SAE", TaskDataType.type_hex_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("DiagConf", TaskDataType.type_hex_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            return((DataPosition + 6) == (Offset + SizeSaeComm7()));
        }
        private bool ImportDrivePattern7(UInt16 Offset, ref byte[] Data)
        {
            UInt16 ItemPosition = 0;
            UInt16 DataPosition = 0;

            if (Offset > 6)
            {
                DataPosition = (UInt16)(Offset - 6);   // block header = 6 abziehen
            }
            else
            {
                return(false);
            }
            mData = Data;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiCRC", TaskDataType.type_hex_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiExpire", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(1000);
            mItem[ItemPosition].SetPlausibilityMax(1000);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiStacksize", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(512);
            mItem[ItemPosition].SetPlausibilityMax(512);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucPrio", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(50);
            mItem[ItemPosition].SetPlausibilityMax(80);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucTimeout", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(2);
            mItem[ItemPosition].SetPlausibilityMax(5);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucRestlaufzeit", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(10);  //5 ucRestLaufzeit, Kompatibilität 8
            mItem[ItemPosition].SetPlausibilityMax(10);  //5
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            return((DataPosition + 6) == (Offset + SizeDrivePattern7()));
        }
Beispiel #6
0
        private bool ImportPreDiagnose7(UInt16 Offset, ref byte[] Data)
        {
            UInt16 ItemPosition = 0;
            UInt16 DataPosition = 0;

            if (Offset > 6)
            {
                DataPosition = (UInt16)(Offset - 6);   // block header = 6 abziehen
            }
            else
            {
                return(false);
            }
            mData = Data;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiCRC", TaskDataType.type_hex_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiExpire", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(6);
            mItem[ItemPosition].SetPlausibilityMax(6);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiStacksize", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(512);
            mItem[ItemPosition].SetPlausibilityMax(512);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucPrio", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(71);
            mItem[ItemPosition].SetPlausibilityMax(71);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucTimeout", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(5);
            mItem[ItemPosition].SetPlausibilityMax(5);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            return((DataPosition + 6) == (Offset + SizePreDiagnose7()));
        }
        private bool ImportGrundfos9(UInt16 Offset, ref byte[] Data)
        {
            UInt16 ItemPosition = 0;
            UInt16 DataPosition = 0;

            if (Offset > 6)
            {
                DataPosition = (UInt16)(Offset - 6);   // block header = 6 abziehen
            }
            else
            {
                return(false);
            }
            mData = Data;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiCRC", TaskDataType.type_hex_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiExpire", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(100);
            mItem[ItemPosition].SetPlausibilityMax(100);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiStacksize", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(512);
            mItem[ItemPosition].SetPlausibilityMax(512);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucPrio", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(50);
            mItem[ItemPosition].SetPlausibilityMax(50);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucTimeout", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(2);
            mItem[ItemPosition].SetPlausibilityMax(5);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiTaskRunDelay", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(65520);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucPumpStatusSrc", TaskDataType.type_enum_mrw_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucFree[0]", TaskDataType.type_hex_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucFree[1]", TaskDataType.type_hex_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucFree[2]", TaskDataType.type_hex_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[0]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[1]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[2]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[3]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[4]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[5]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[6]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[7]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[8]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[9]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[10]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[11]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[12]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[13]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[14]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[15]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[16]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            return((DataPosition + 6) == (Offset + SizeGrundfos9()));
        }
        /// <summary>Import initial values from base block</summary>
        public override void InitValueImport()
        {
            UInt16 ItemPosition = 0;
            UInt16 DataPosition = InitValueByteOffset;

            Array.Resize(ref InitValueItem, 25);
            InitValueItem[ItemPosition] = new TaskConfigurationItem("sBeladCRT.uiTempMinGrenze", TaskDataType.type_uint_16, DataPosition);
            InitValueItem[ItemPosition].SetPlausibilityMax(100);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.ucResetBehaveWatch", TaskDataType.type_uint_8, DataPosition);
            InitValueItem[ItemPosition].SetPlausibilityMax(15);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.uiPalarm", TaskDataType.type_uint_16, DataPosition);
            InitValueItem[ItemPosition].SetPlausibilityMax(750);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.uiTalarm", TaskDataType.type_uint_16, DataPosition);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.uiPalarmResetDelay", TaskDataType.type_uint_16, DataPosition);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.uiPwarn", TaskDataType.type_uint_16, DataPosition);
            InitValueItem[ItemPosition].SetPlausibilityMax(750);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.uiTwarn", TaskDataType.type_uint_16, DataPosition);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.uiPwarnResetDelay", TaskDataType.type_uint_16, DataPosition);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.uiPbroken", TaskDataType.type_uint_16, DataPosition);
            InitValueItem[ItemPosition].SetPlausibilityMax(750);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.uiPbrokenTime", TaskDataType.type_uint_16, DataPosition);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.uiPbrokenTimeDelay", TaskDataType.type_uint_16, DataPosition);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.uiTurnSchwelleMin", TaskDataType.type_uint_16, DataPosition);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.siTvorAlarmValue", TaskDataType.type_uint_16, DataPosition);
            InitValueItem[ItemPosition].SetPlausibilityMin(-2731);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.uiTvorAlarmTime", TaskDataType.type_uint_16, DataPosition);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.uiTvorAlarmResetDelay", TaskDataType.type_uint_16, DataPosition);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.siTvorWarnValue", TaskDataType.type_uint_16, DataPosition);
            InitValueItem[ItemPosition].SetPlausibilityMin(-2731);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.uiTvorWarnTime", TaskDataType.type_uint_16, DataPosition);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.uiTvorWarnResetDelay", TaskDataType.type_uint_16, DataPosition);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.uiAdditivImFilter", TaskDataType.type_uint_16, DataPosition);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sTurns.fFaktorTurns", TaskDataType.type_float_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sTurns.uiKilometerzaehler", TaskDataType.type_uint_16, DataPosition);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sDosi.uiSollKonzentration", TaskDataType.type_uint_16, DataPosition);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sDosi.uiKraftstoffverbrauch", TaskDataType.type_uint_16, DataPosition);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sIO.uiDPlus", TaskDataType.type_uint_16, DataPosition);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sIO.ucTempEnable", TaskDataType.type_uint_8, DataPosition);
            InitValueItem[ItemPosition].SetPlausibilityMax(3);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;
        }
        private bool ImportCanCom7(UInt16 Offset, ref byte[] Data)
        {
            String msg          = "";
            UInt16 ItemPosition = 0;
            UInt16 DataPosition = 0;
            int    i            = 0;

            if (Offset > 6)
            {
                DataPosition = (UInt16)(Offset - 6);   // block header = 6 abziehen
            }
            else
            {
                return(false);
            }
            mData = Data;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiCRC", TaskDataType.type_hex_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiExpire", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(2);
            mItem[ItemPosition].SetPlausibilityMax(2);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiStacksize", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(512);
            mItem[ItemPosition].SetPlausibilityMax(512);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucPrio", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(50);
            mItem[ItemPosition].SetPlausibilityMax(50);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucTimeout", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(2);
            mItem[ItemPosition].SetPlausibilityMax(5);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            for (i = 0; i < 4; i++)
            {
                Array.Resize(ref mItem, ItemPosition + 1);
                msg = String.Format("aulMesswerte[{0}]", i);
                mItem[ItemPosition] = new TaskConfigurationItem(msg, TaskDataType.type_hex_32, DataPosition);
                DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;
            }

            for (i = 0; i < 4; i++)
            {
                Array.Resize(ref mItem, ItemPosition + 1);
                msg = String.Format("aulRechenwerte[{0}]", i);
                mItem[ItemPosition] = new TaskConfigurationItem(msg, TaskDataType.type_hex_32, DataPosition);
                DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;
            }

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiSeedOffset", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiKeyOffset", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("aulShowErr[0]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("aulShowErr[1]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucBaudrate", TaskDataType.type_can_baudrate_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucNetworkSourceAdress", TaskDataType.type_hex_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("DiagConf", TaskDataType.type_uint_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            for (i = 0; i < 100; i++)
            {
                Array.Resize(ref mItem, ItemPosition + 1);
                msg = String.Format("aucTextInfo[{0}]", i);
                mItem[ItemPosition] = new TaskConfigurationItem(msg, TaskDataType.type_hex_8, DataPosition);
                DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;
            }

            return((DataPosition + 6) == (Offset + SizeCanCom7()));
        }
        private bool ImportMassAirFlow10(UInt16 Offset, ref byte[] Data)
        {
            String msg          = "";
            int    i            = 0;
            UInt16 ItemPosition = 0;
            UInt16 DataPosition = 0;

            if (Offset > 6)
            {
                DataPosition = (UInt16)(Offset - 6);   // block header = 6 abziehen
            }
            else
            {
                return(false);
            }
            mData = Data;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiCRC", TaskDataType.type_hex_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiExpire", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(100);
            mItem[ItemPosition].SetPlausibilityMax(100);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiStacksize", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(512);
            mItem[ItemPosition].SetPlausibilityMax(512);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucPrio", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(50);
            mItem[ItemPosition].SetPlausibilityMax(50);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucTimeout", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(2);
            mItem[ItemPosition].SetPlausibilityMax(5);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eFreigabe", TaskDataType.type_enum_mrw_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiKriterium", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiFailSafeTurns", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulKFMafFactor", TaskDataType.type_kf_id_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eTypeMafFactor", TaskDataType.type_kf_type_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucKennGroesseX", TaskDataType.type_enum_mrw_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiADMafPressPlausibelunten", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(1023);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiADMafPressPlausibeloben", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(1023);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiADMafPressMittelIntervall", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulKFAirPressure", TaskDataType.type_kf_id_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eTypeAirPressure", TaskDataType.type_kf_type_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiFailSafeAirPress", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiADMafTempPlausibelunten", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiADMafTempPlausibeloben", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(1023);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiADMafTempMittelIntervall", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(1023);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulKFAirTemp", TaskDataType.type_kf_id_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eTypeAirTemp", TaskDataType.type_kf_type_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("siFailSafeAirTemp", TaskDataType.type_int_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiMaxMafOut", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucEnableAGRProhibition", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(1);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiAGR_MAFDeactivationLevel", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiAGR_MAFReactivationLevel", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucAGR_DeactivationDelay", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(0);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            for (i = 0; i < 7; i++)
            {
                Array.Resize(ref mItem, ItemPosition + 1);
                msg = String.Format("eMeasureObservation[{0}].eDefMeasureValue", i);
                mItem[ItemPosition] = new TaskConfigurationItem(msg, TaskDataType.type_enum_mrw_8, DataPosition);
                DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

                Array.Resize(ref mItem, ItemPosition + 1);
                msg = String.Format("eMeasureObservation[{0}].siPlausibilityMax", i);
                mItem[ItemPosition] = new TaskConfigurationItem(msg, TaskDataType.type_int_16, DataPosition);
                mItem[ItemPosition].SetPlausibilityMin(-31999);
                mItem[ItemPosition].SetPlausibilityMax(32999);
                DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

                Array.Resize(ref mItem, ItemPosition + 1);
                msg = String.Format("eMeasureObservation[{0}].siPlausibilityMin", i);
                mItem[ItemPosition] = new TaskConfigurationItem(msg, TaskDataType.type_int_16, DataPosition);
                mItem[ItemPosition].SetPlausibilityMin(-31999);
                mItem[ItemPosition].SetPlausibilityMax(32999);
                DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

                Array.Resize(ref mItem, ItemPosition + 1);
                msg = String.Format("eMeasureObservation[{0}].uiTimeDebounceActive", i);
                mItem[ItemPosition] = new TaskConfigurationItem(msg, TaskDataType.type_uint_16, DataPosition);
                DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

                Array.Resize(ref mItem, ItemPosition + 1);
                msg = String.Format("eMeasureObservation[{0}].uiTimeDebounceInactive", i);
                mItem[ItemPosition] = new TaskConfigurationItem(msg, TaskDataType.type_uint_16, DataPosition);
                DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;
            }

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiFailSafeSensor", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eAirPressSource", TaskDataType.type_enum_mrw_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eAirTempSource", TaskDataType.type_enum_mrw_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[0]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[1]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[2]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[3]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[4]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            return((DataPosition + 6) == (Offset + SizeMassAirFlow10()));
        }
        private bool ImportTankgeber10(UInt16 Offset, ref byte[] Data)
        {
            UInt16 ItemPosition = 0;
            UInt16 DataPosition = 0;

            if (Offset > 6)
            {
                DataPosition = (UInt16)(Offset - 6);   // block header = 6 abziehen
            }
            else
            {
                return(false);
            }
            mData = Data;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiCRC", TaskDataType.type_hex_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiExpire", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(500);
            mItem[ItemPosition].SetPlausibilityMax(500);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiStacksize", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(512);
            mItem[ItemPosition].SetPlausibilityMax(512);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucPrio", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(50);
            mItem[ItemPosition].SetPlausibilityMax(80);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucTimeout", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(2);
            mItem[ItemPosition].SetPlausibilityMax(2);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucOffset", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(80);
            mItem[ItemPosition].SetPlausibilityMax(80);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucVerstaekungA", TaskDataType.type_psoc_gain_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucSignal", TaskDataType.type_tank_signal_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiPlausibilitaetMin", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(1023);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiPlausibilitaetMax", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(1023);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulTankkennlinieID", TaskDataType.type_kf_id_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eTypeTankkennlinie", TaskDataType.type_kf_type_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucErrorDebounce", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(1);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucTankBlockiertAnzSchritte", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(1);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucTankBlockiertZeitIntervall", TaskDataType.type_uint_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucTankBlockiertErrorDebounce", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(1);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiReferenceVoltage", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("fVoltageFactor", TaskDataType.type_float_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[0]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[1]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[2]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[3]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[4]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            return((DataPosition + 6) == (Offset + SizeTankgeber10()));
        }
Beispiel #12
0
        }                                                                 //wtr/jdr 2016-01

        private bool ImportPostDiagnose10(UInt16 Offset, ref byte[] Data) //wtr/jdr 2016-01 komplett
        {
            String msg          = "";
            int    i            = 0;
            UInt16 ItemPosition = 0;
            UInt16 DataPosition = 0;

            if (Offset > 6)
            {
                DataPosition = (UInt16)(Offset - 6);   // block header = 6 abziehen
            }
            else
            {
                return(false);
            }
            mData = Data;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiCRC", TaskDataType.type_hex_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiExpire", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(2000);
            mItem[ItemPosition].SetPlausibilityMax(2000);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiStacksize", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(512);
            mItem[ItemPosition].SetPlausibilityMax(512);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucPrio", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(70);
            mItem[ItemPosition].SetPlausibilityMax(70);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucTimeout", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(5);
            mItem[ItemPosition].SetPlausibilityMax(5);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulResetPowerUp[0]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulResetPowerUp[1]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulReset[0]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulReset[1]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucMIL1Time", TaskDataType.type_uint_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucMIL2Time", TaskDataType.type_uint_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucMIL3Time", TaskDataType.type_uint_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucMIL_Test", TaskDataType.type_uint_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eTrigger", TaskDataType.type_enum_mrw_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucMalfunction", TaskDataType.type_hex_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(31); // Maske bis 0x1F
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucMILbehave", TaskDataType.type_hex_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(31); // Maske bis 0x1F
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("iMin", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("iMax", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            for (i = 0; i < 64; i++)
            {
                Array.Resize(ref mItem, ItemPosition + 1);
                msg = String.Format("Cfg.ucError[{0}]", i);
                mItem[ItemPosition] = new TaskConfigurationItem(msg, TaskDataType.type_hex_8, DataPosition);
                DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;
            }

            for (i = 0; i < 16; i++)
            {
                Array.Resize(ref mItem, ItemPosition + 1);
                msg = String.Format("Cfg.number[{0}]", i);
                mItem[ItemPosition] = new TaskConfigurationItem(msg, TaskDataType.type_uint_16, DataPosition);
                DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;
            }

            for (i = 0; i < 16; i++)
            {
                Array.Resize(ref mItem, ItemPosition + 1);
                msg = String.Format("Cfg.uiBehave[{0}]", i);
                mItem[ItemPosition] = new TaskConfigurationItem(msg, TaskDataType.type_hex_16, DataPosition);
                DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;
            }

            for (int j = 0; j < 3; j++)
            {
                for (i = 0; i < 64; i++)
                {
                    Array.Resize(ref mItem, ItemPosition + 1);
                    msg = String.Format("Cfg.eFigures[{0}][{1}]", i, j);
                    mItem[ItemPosition] = new TaskConfigurationItem(msg, TaskDataType.type_enum_mrw_8, DataPosition);
                    DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;
                }
            }

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiBehaveOnRing", TaskDataType.type_hex_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucDeratingError", TaskDataType.type_uint_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[0]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[1]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[2]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[3]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[4]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            return((DataPosition + 6) == (Offset + SizePostDiagnose10()));
        }
        private bool ImportBeladungMittel9(UInt16 Offset, ref byte[] Data)
        {
            UInt16 ItemPosition = 0;
            UInt16 DataPosition = 0;

            if (Offset > 6)
            {
                DataPosition = (UInt16)(Offset - 6);   // block header = 6 abziehen
            }
            else
            {
                return(false);
            }
            mData = Data;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiCRC", TaskDataType.type_hex_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiExpire", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(200);
            mItem[ItemPosition].SetPlausibilityMax(200);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiStacksize", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(512);
            mItem[ItemPosition].SetPlausibilityMax(512);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucPrio", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(50);
            mItem[ItemPosition].SetPlausibilityMax(80);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucTimeout", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(2);
            mItem[ItemPosition].SetPlausibilityMax(2);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiMaxLeerlaufUpm", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(65528);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiMaxMessSpeed", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(65530);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("siMinMessTemp", TaskDataType.type_int_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(-32763);
            mItem[ItemPosition].SetPlausibilityMax(32766);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiMinMessUpm", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(65530);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiMaxGegendruck", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(750);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucMessungen", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(2);
            mItem[ItemPosition].SetPlausibilityMax(87);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiMessToleranz", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(750);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulAschepulse", TaskDataType.type_uint_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiMaxWeg", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(65530);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucLeerlaufStrategie", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(1); // nur 0 oder 1 erlaubt
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("siTempSchwellwertOben", TaskDataType.type_int_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(-32763);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("siTempSchwellwertUnten", TaskDataType.type_int_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(-32763);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiTempNoiseMax", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(32767);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiTempIntervalDiffMax", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(32767);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiTempIntervalDiffTime", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(65530);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiDruckSchwellwert", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(65530);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiDruckAbweichungMax", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(1);
            mItem[ItemPosition].SetPlausibilityMax(65530);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiZeitTempFenster", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(65529);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiZeitDruckFenster", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(65529);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[0]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[1]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[2]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[3]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[4]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            return((DataPosition + 6) == (Offset + SizeBeladungMittel9()));
        }
Beispiel #14
0
        private bool ImportIcDosing7(UInt16 Offset, ref byte[] Data)
        {
            UInt16 ItemPosition = 0;
            UInt16 DataPosition = 0;

            if (Offset > 6)
            {
                DataPosition = (UInt16)(Offset - 6);   // block header = 6 abziehen
            }
            else
            {
                return(false);
            }
            mData = Data;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiCRC", TaskDataType.type_hex_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiExpire", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(1000);
            mItem[ItemPosition].SetPlausibilityMax(1000);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiStacksize", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(512);
            mItem[ItemPosition].SetPlausibilityMax(512);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucPrio", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(50);
            mItem[ItemPosition].SetPlausibilityMax(80);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucTimeout", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(2);
            mItem[ItemPosition].SetPlausibilityMax(2);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucStartDosing", TaskDataType.type_uint_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("s1.ucPrio", TaskDataType.type_uint_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("s1.scUpDosing", TaskDataType.type_int_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("s1.uiDuration", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("s2.ucPrio", TaskDataType.type_uint_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("s2.scUpDosing", TaskDataType.type_int_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("s2.scDownDosing", TaskDataType.type_int_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("s2.uiLoadDown", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("s2.uiLoadUp", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("s2.uiLockedTime", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("s3.ucPrio", TaskDataType.type_uint_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("s3.scUpDosing", TaskDataType.type_int_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("s3.scHighUpDosing", TaskDataType.type_int_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("s3.uiDuration", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("s3.uiValueHigh", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(65534);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("s3.uiValueTooHigh", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("s3.ucValueId", TaskDataType.type_enum_mrw_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("s3.uiDelay", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("s4.ucPrio", TaskDataType.type_uint_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("s4.scUpDosing", TaskDataType.type_int_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("s4.scDownDosing", TaskDataType.type_int_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("s4.uiDeltaUp", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("s4.uiDeltaDown", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("s4.ucValueId", TaskDataType.type_enum_mrw_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;


            return((DataPosition + 6) == (Offset + SizeIcDosing7()));
        }
Beispiel #15
0
        private bool ImportAdditivierung10(UInt16 Offset, ref byte[] Data)
        {
            UInt16 ItemPosition = 0;
            UInt16 DataPosition = 0;

            if (Offset > 6)
            {
                DataPosition = (UInt16)(Offset - 6);   // block header = 6 abziehen
            }
            else
            {
                return(false);
            }
            mData = Data;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiCRC", TaskDataType.type_hex_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiExpire", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(500);
            mItem[ItemPosition].SetPlausibilityMax(500);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiStacksize", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(512);
            mItem[ItemPosition].SetPlausibilityMax(512);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucPrio", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(50);
            mItem[ItemPosition].SetPlausibilityMax(80);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucTimeout", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(2);
            mItem[ItemPosition].SetPlausibilityMax(5);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucMittelwerte", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(50);
            mItem[ItemPosition].SetPlausibilityMax(50);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eFreigabe", TaskDataType.type_enum_mrw_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiKriterium", TaskDataType.type_uint_16, DataPosition);
            //mItem[ItemPosition].SetPlausibilityMin(21);
            //mItem[ItemPosition].SetPlausibilityMax(21);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiUBMax", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(13100);
            mItem[ItemPosition].SetPlausibilityMax(25000);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiVarianzOben", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiVarianzUnten", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiMindestTankmenge", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(65000);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiKraftstoffklauLimit", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiVerbrauchMax", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulAddErhoeht", TaskDataType.type_uint_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulAddRegVerbesserung", TaskDataType.type_uint_32, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(10000);
            mItem[ItemPosition].SetPlausibilityMax(10000);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucUnterspannungMessCntMax", TaskDataType.type_uint_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[0]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[1]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[2]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[3]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[4]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            return((DataPosition + 6) == (Offset + SizeAdditivierung10()));
        }
Beispiel #16
0
        private bool ImportHeizen7(UInt16 Offset, ref byte[] Data)
        {
            UInt16 ItemPosition = 0;
            UInt16 DataPosition = 0;

            if (Offset > 6)
            {
                DataPosition = (UInt16)(Offset - 6);   // block header = 6 abziehen
            }
            else
            {
                return(false);
            }
            mData = Data;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiCRC", TaskDataType.type_hex_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiExpire", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(200);
            mItem[ItemPosition].SetPlausibilityMax(200);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiStacksize", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(512);
            mItem[ItemPosition].SetPlausibilityMax(512);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucPrio", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(50);
            mItem[ItemPosition].SetPlausibilityMax(80);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucTimeout", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(2);
            mItem[ItemPosition].SetPlausibilityMax(2);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiHeizLeistung", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(550);
            mItem[ItemPosition].SetPlausibilityMax(1050);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiWiderstand", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(34);
            mItem[ItemPosition].SetPlausibilityMax(47);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiMinStromEin", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(2700);
            mItem[ItemPosition].SetPlausibilityMax(3200);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiMaxStromEin", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(5400);
            mItem[ItemPosition].SetPlausibilityMax(6000);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiPpgFrequenz", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(20833);
            mItem[ItemPosition].SetPlausibilityMax(20833);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucRkreis", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(1);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucModus", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(3);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiLowVolt", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(11100);
            mItem[ItemPosition].SetPlausibilityMax(22000);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            return((DataPosition + 6) == (Offset + SizeHeizen7()));
        }
        private bool ImportIoTask7(UInt16 Offset, ref byte[] Data)
        {
            UInt16 ItemPosition = 0;
            UInt16 DataPosition = 0;

            if (Offset > 6)
            {
                DataPosition = (UInt16)(Offset - 6);   // block header = 6 abziehen
            }
            else
            {
                return(false);
            }
            mData = Data;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiCRC", TaskDataType.type_hex_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiExpire", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(25);
            mItem[ItemPosition].SetPlausibilityMax(25);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiStacksize", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(512);
            mItem[ItemPosition].SetPlausibilityMax(512);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucPrio", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(50);
            mItem[ItemPosition].SetPlausibilityMax(80);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucTimeout", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(2);
            mItem[ItemPosition].SetPlausibilityMax(5);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiUbMin", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(8000);
            mItem[ItemPosition].SetPlausibilityMax(8000);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("fUb", TaskDataType.type_float_32, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(32);
            mItem[ItemPosition].SetPlausibilityMax(32);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiUboff", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(1700);
            mItem[ItemPosition].SetPlausibilityMax(1700);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiInvert", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiPoffmin", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(1023);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiPoffmax", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(1023);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("fPdiff", TaskDataType.type_float_32, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(0.9155273);
            mItem[ItemPosition].SetPlausibilityMax(0.9155274);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiDruckMax", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(750);
            mItem[ItemPosition].SetPlausibilityMax(750);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiADDruckMittelIntervall", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(1);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("fTfactPTx", TaskDataType.type_float_32, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(0.073302);
            mItem[ItemPosition].SetPlausibilityMax(0.073303);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("siTnullPTx", TaskDataType.type_int_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(-3731);
            mItem[ItemPosition].SetPlausibilityMax(-2731);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiCheckTime", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucTempOffsetOben", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(1);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucTempGradientOben", TaskDataType.type_uint_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucTempOffsetUnten", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(1);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucTempGradientUnten", TaskDataType.type_uint_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eADLastValue", TaskDataType.type_enum_mrw_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiADLastMittelIntervall", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(1);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("fLfact", TaskDataType.type_float_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiLoff", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulLastkennlinieID", TaskDataType.type_kf_id_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eTypLastkennlinie", TaskDataType.type_kf_type_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiADLastPlausibelunten", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(1023);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiADLastPlausibeloben", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(1023);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiADLastOffMin", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(1023);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiADLastOffMax", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(1023);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("fLmsCalcFactor", TaskDataType.type_float_32, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(287.049);
            mItem[ItemPosition].SetPlausibilityMax(287.050);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eFreigabeDplus", TaskDataType.type_enum_mrw_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiKriteriumDplus", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(65530);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiTimeDplus", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            return((DataPosition + 6) == (Offset + SizeIoTask7()));
        }
        private bool ImportBeladCrt7(UInt16 Offset, ref byte[] Data)
        {
            UInt16 ItemPosition = 0;
            UInt16 DataPosition = 0;

            if (Offset > 6)
            {
                DataPosition = (UInt16)(Offset - 6);   // block header = 6 abziehen
            }
            else
            {
                return(false);
            }
            mData = Data;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiCRC", TaskDataType.type_hex_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiExpire", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(1000);
            mItem[ItemPosition].SetPlausibilityMax(1000);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiStacksize", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(512);
            mItem[ItemPosition].SetPlausibilityMax(512);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucPrio", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(50);
            mItem[ItemPosition].SetPlausibilityMax(50);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucTimeout", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(2);
            mItem[ItemPosition].SetPlausibilityMax(5);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucStrategieEnable", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(7);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiDruckIntervall", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(600);
            mItem[ItemPosition].SetPlausibilityMax(600);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiDruckMessungen", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(600);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiTempIntervall", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiTempMessungen", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucAnzahlMittelungen", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(12);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucDPFResetEnable", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(127);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eFreigabe", TaskDataType.type_enum_mrw_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiKriterium", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiFreigabeWertFehler", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiDruckMaxWert", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulKennfeldDruckZeitMax", TaskDataType.type_kf_id_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eTypDruckZeitMax", TaskDataType.type_kf_type_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulKennfeldDruckZeitMin", TaskDataType.type_kf_id_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eTypDruckZeitMin", TaskDataType.type_kf_type_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulKennfeldTempWirk", TaskDataType.type_kf_id_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eTypTempWirk", TaskDataType.type_kf_type_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulKennfeldWirkDeltaDruckMax", TaskDataType.type_kf_id_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eTypWirkDeltaDruckMax", TaskDataType.type_kf_type_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulKennfeldWirkDeltaDruckMin", TaskDataType.type_kf_id_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eTypWirkDeltaDruckMin", TaskDataType.type_kf_type_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            return((DataPosition + 6) == (Offset + SizeBeladCrt7()));
        }
Beispiel #19
0
        private bool ImportScrHeiz9(UInt16 Offset, ref byte[] Data)
        {
            UInt16 ItemPosition = 0;
            UInt16 DataPosition = 0;

            if (Offset > 6)
            {
                DataPosition = (UInt16)(Offset - 6);   // block header = 6 abziehen
            }
            else
            {
                return(false);
            }
            mData = Data;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiCRC", TaskDataType.type_hex_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiExpire", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiStacksize", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucPrio", TaskDataType.type_uint_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucTimeout", TaskDataType.type_uint_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("siEnableTemperatureMin", TaskDataType.type_int_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("siEnableTemperatureMax", TaskDataType.type_int_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("siDisableTemperatureMin", TaskDataType.type_int_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("siDisableTemperatureMax", TaskDataType.type_int_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiMaxTimeHeaterOn", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiMinTimeHeaterOff", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiHeatStartVoltageMin", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiHeaterShutoffVoltage", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiUnderVoltageErrorDelay", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiHeatCurrentMin", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiHeatCurrentMax", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiHeatCurrentErrorDelay", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiSensorErrorDelay", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiErrorActiveDelay", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eConditionValue", TaskDataType.type_enum_mrw_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("siLowerConditionLimit", TaskDataType.type_int_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("siUpperConditionLimit", TaskDataType.type_int_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiAdditionCondLimit", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[0]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[1]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[2]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[3]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem(">ulFree[4]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            return((DataPosition + 6) == (Offset + SizeScrHeiz9()));
        }
        private bool ImportAcquisition7(UInt16 Offset, ref byte[] Data)
        {
            UInt16 ItemPosition = 0;
            UInt16 DataPosition = 0;

            if (Offset > 6)
            {
                DataPosition = (UInt16)(Offset - 6);   // block header = 6 abziehen
            }
            else
            {
                return(false);
            }
            mData = Data;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiCRC", TaskDataType.type_hex_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiExpire", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(1000);
            mItem[ItemPosition].SetPlausibilityMax(1000);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiStacksize", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(512);
            mItem[ItemPosition].SetPlausibilityMax(512);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucPrio", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(50);
            mItem[ItemPosition].SetPlausibilityMax(80);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucTimeout", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(2);
            mItem[ItemPosition].SetPlausibilityMax(5);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eTrigger", TaskDataType.type_enum_mrw_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("slTriggerWert", TaskDataType.type_int_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eaAQSource[0]", TaskDataType.type_enum_mrw_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eaAQSource[1]", TaskDataType.type_enum_mrw_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eaAQSource[2]", TaskDataType.type_enum_mrw_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eaAQSource[3]", TaskDataType.type_enum_mrw_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eaAQSource[4]", TaskDataType.type_enum_mrw_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eaAQSource[5]", TaskDataType.type_enum_mrw_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eaAQSource[6]", TaskDataType.type_enum_mrw_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eaAQSource[7]", TaskDataType.type_enum_mrw_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eaAQSource[8]", TaskDataType.type_enum_mrw_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eaAQSource[9]", TaskDataType.type_enum_mrw_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("bfMaskAQSave", TaskDataType.type_hex_32, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(0x3FFFFFFF);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucSave", TaskDataType.type_uint_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            return((DataPosition + 6) == (Offset + SizeAcquisition7()));
        }
Beispiel #21
0
        private bool ImportBeladKennfeld7(UInt16 Offset, ref byte[] Data)
        {
            UInt16 ItemPosition = 0;
            UInt16 DataPosition = 0;

            if (Offset > 6)
            {
                DataPosition = (UInt16)(Offset - 6);   // block header = 6 abziehen
            }
            else
            {
                return(false);
            }
            mData = Data;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiCRC", TaskDataType.type_hex_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiExpire", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(250);
            mItem[ItemPosition].SetPlausibilityMax(250);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiStacksize", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(384);
            mItem[ItemPosition].SetPlausibilityMax(384);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucPrio", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(50);
            mItem[ItemPosition].SetPlausibilityMax(80);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucTimeout", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(2);
            mItem[ItemPosition].SetPlausibilityMax(2);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulBeladKennfeldID", TaskDataType.type_kf_id_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eTypBeladKf", TaskDataType.type_kf_type_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulGegendruckKennfeldID", TaskDataType.type_kf_id_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eTypGegendruckKf", TaskDataType.type_kf_type_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulRegentimeKennfeldID", TaskDataType.type_kf_id_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eTypRegentimeKf", TaskDataType.type_kf_type_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulMaxBeladung", TaskDataType.type_uint_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eKennGroesse", TaskDataType.type_enum_mrw_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            return((DataPosition + 6) == (Offset + SizeBeladKennfeld7()));
        }
        private bool ImportBeladungPro7(UInt16 Offset, ref byte[] Data)
        {
            UInt16 ItemPosition = 0;
            UInt16 DataPosition = 0;

            if (Offset > 6)
            {
                DataPosition = (UInt16)(Offset - 6);   // block header = 6 abziehen
            }
            else
            {
                return(false);
            }
            mData = Data;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiCRC", TaskDataType.type_hex_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiExpire", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiStacksize", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucPrio", TaskDataType.type_uint_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucTimeout", TaskDataType.type_uint_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulKennfeldObenID", TaskDataType.type_kf_id_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eTypeProOben", TaskDataType.type_kf_type_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulKennfeldUntenID", TaskDataType.type_kf_id_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eTypeProUnten", TaskDataType.type_kf_type_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiVerweildauer", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eKennGroesseX", TaskDataType.type_enum_mrw_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eKennGroesseY", TaskDataType.type_enum_mrw_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eKennGroesseA", TaskDataType.type_enum_mrw_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiKriteriumX", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiKriteriumY", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiKriteriumA", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFreigabeKennfeldID", TaskDataType.type_kf_id_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eTypeFreigabePro", TaskDataType.type_kf_type_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eNotRegSignal", TaskDataType.type_enum_mrw_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiNotRegWert", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            return((DataPosition + 6) == (Offset + SizeBeladungPro7()));
        }
Beispiel #23
0
        private bool ImportStaudruck9(UInt16 Offset, ref byte[] Data)
        {
            UInt16 ItemPosition = 0;
            UInt16 DataPosition = 0;

            if (Offset > 6)
            {
                DataPosition = (UInt16)(Offset - 6);   // block header = 6 abziehen
            }
            else
            {
                return(false);
            }
            mData = Data;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiCRC", TaskDataType.type_hex_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiExpire", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(50);
            mItem[ItemPosition].SetPlausibilityMax(50);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiStacksize", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(512);
            mItem[ItemPosition].SetPlausibilityMax(512);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucPrio", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(70);
            mItem[ItemPosition].SetPlausibilityMax(70);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucTimeout", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(2);
            mItem[ItemPosition].SetPlausibilityMax(5);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulTxIdentifier", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("siTxOffsetTemp", TaskDataType.type_int_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("fTxFaktorTemp", TaskDataType.type_float_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eMesswertTemp", TaskDataType.type_enum_mrw_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("siTempPlausibilityMax", TaskDataType.type_int_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("siTempPlausibilityMin", TaskDataType.type_int_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("siTemperaturFailSafe", TaskDataType.type_int_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulRxIdentifier", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("siRxOffsetAir", TaskDataType.type_int_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("fRxFaktorAir", TaskDataType.type_float_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eMesswertAir", TaskDataType.type_enum_mrw_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eStaudruckStatus", TaskDataType.type_enum_mrw_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("fAirMassFilterConst", TaskDataType.type_float_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("fAirMassKFactor", TaskDataType.type_float_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("siAirMassPlausibilityMax", TaskDataType.type_int_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("siAirMassPlausibilityMin", TaskDataType.type_int_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucAirMassExpectedErrorCode", TaskDataType.type_uint_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiEngineRunDetection", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiAirMassErrorDebounce", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiEngineRunErrorDebounce", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiCanErrorDebounce", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiAirmassMinValueEngineRun", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucEngineRunDetectionValue", TaskDataType.type_uint_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiEngineRunDetectionMin", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiEngineRunDetectionMax", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiZeroLimit", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(10000);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiCorrectionLimit", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(20000);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("fCorrectionFactor", TaskDataType.type_float_32, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(0);
            mItem[ItemPosition].SetPlausibilityMax(5);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucFree", TaskDataType.type_hex_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree_1", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            return((DataPosition + 6) == (Offset + SizeStaudruck9()));
        }
        private bool ImportVertWatch9(UInt16 Offset, ref byte[] Data)
        {
            UInt16 ItemPosition = 0;
            UInt16 DataPosition = 0;

            if (Offset > 6)
            {
                DataPosition = (UInt16)(Offset - 6);   // block header = 6 abziehen
            }
            else
            {
                return(false);
            }
            mData = Data;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiCRC", TaskDataType.type_hex_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiExpire", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(1000);
            mItem[ItemPosition].SetPlausibilityMax(1000);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiStacksize", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(512);
            mItem[ItemPosition].SetPlausibilityMax(512);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucPrio", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(50);
            mItem[ItemPosition].SetPlausibilityMax(80);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucTimeout", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(2);
            mItem[ItemPosition].SetPlausibilityMax(5);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiF37acceptCounterLimit", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiF37acceptTimeWindow", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[0]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[1]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[2]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[3]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            return((DataPosition + 6) == (Offset + SizeVertWatch9()));
        }
        private bool ImportBeladungMittel7(UInt16 Offset, ref byte[] Data)
        {
            UInt16 ItemPosition = 0;
            UInt16 DataPosition = 0;

            if (Offset > 6)
            {
                DataPosition = (UInt16)(Offset - 6);   // block header = 6 abziehen
            }
            else
            {
                return(false);
            }
            mData = Data;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiCRC", TaskDataType.type_hex_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiExpire", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(200);
            mItem[ItemPosition].SetPlausibilityMax(200);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiStacksize", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(512);
            mItem[ItemPosition].SetPlausibilityMax(512);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucPrio", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(50);
            mItem[ItemPosition].SetPlausibilityMax(80);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucTimeout", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(2);
            mItem[ItemPosition].SetPlausibilityMax(2);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiMaxLeerlaufUpm", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(65528);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiMaxMessSpeed", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(65530);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("siMinMessTemp", TaskDataType.type_int_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(-32763);
            mItem[ItemPosition].SetPlausibilityMax(32766);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiMinMessUpm", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(65530);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiMaxGegendruck", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(750);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucMessungen", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(2);
            mItem[ItemPosition].SetPlausibilityMax(87);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiMessToleranz", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(750);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulAschepulse", TaskDataType.type_uint_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiMaxWeg", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(65530);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            return((DataPosition + 6) == (Offset + SizeBeladungMittel7()));
        }
Beispiel #26
0
        private bool ImportCanIn10(UInt16 Offset, ref byte[] Data)
        {
            String msg          = "";
            int    i            = 0;
            UInt16 ItemPosition = 0;
            UInt16 DataPosition = 0;

            if (Offset > 6)
            {
                DataPosition = (UInt16)(Offset - 6);   // block header = 6 abziehen
            }
            else
            {
                return(false);
            }
            mData = Data;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiCRC", TaskDataType.type_hex_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiExpire", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(50);
            mItem[ItemPosition].SetPlausibilityMax(1000);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiStacksize", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(512);
            mItem[ItemPosition].SetPlausibilityMax(512);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucPrio", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(50);
            mItem[ItemPosition].SetPlausibilityMax(80);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucTimeout", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(2);
            mItem[ItemPosition].SetPlausibilityMax(5);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucBaudrate", TaskDataType.type_can_baudrate_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(3);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            for (i = 0; i < 12; i++)
            {
                Array.Resize(ref mItem, ItemPosition + 1);
                msg = String.Format("saWert[{0}].ulMBID", i);
                mItem[ItemPosition] = new TaskConfigurationItem(msg, TaskDataType.type_can_id_32, DataPosition);
                DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

                Array.Resize(ref mItem, ItemPosition + 1);
                msg = String.Format("saWert[{0}].ucDLC", i);
                mItem[ItemPosition] = new TaskConfigurationItem(msg, TaskDataType.type_uint_8, DataPosition);
                mItem[ItemPosition].SetPlausibilityMin(1);
                //mItem[ItemPosition].SetPlausibilityMax(8);
                DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

                Array.Resize(ref mItem, ItemPosition + 1);
                msg = String.Format("saWert[{0}].eMRW", i);
                mItem[ItemPosition] = new TaskConfigurationItem(msg, TaskDataType.type_enum_mrw_8, DataPosition);
                DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

                Array.Resize(ref mItem, ItemPosition + 1);
                msg = String.Format("saWert[{0}].ucStartbit", i);
                mItem[ItemPosition] = new TaskConfigurationItem(msg, TaskDataType.type_uint_8, DataPosition);
                mItem[ItemPosition].SetPlausibilityMax(63);
                DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

                Array.Resize(ref mItem, ItemPosition + 1);
                msg = String.Format("saWert[{0}].fFaktor", i);
                mItem[ItemPosition] = new TaskConfigurationItem(msg, TaskDataType.type_float_32, DataPosition);
                DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

                Array.Resize(ref mItem, ItemPosition + 1);
                msg = String.Format("saWert[{0}].iOffset", i);
                mItem[ItemPosition] = new TaskConfigurationItem(msg, TaskDataType.type_int_16, DataPosition);
                DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

                Array.Resize(ref mItem, ItemPosition + 1);
                msg = String.Format("saWert[{0}].iPlausibel", i);
                mItem[ItemPosition] = new TaskConfigurationItem(msg, TaskDataType.type_int_16, DataPosition);
                DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

                Array.Resize(ref mItem, ItemPosition + 1);
                msg = String.Format("saWert[{0}].ucBitMask", i);
                mItem[ItemPosition] = new TaskConfigurationItem(msg, TaskDataType.type_uint_8, DataPosition);
                DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

                Array.Resize(ref mItem, ItemPosition + 1);
                msg = String.Format("saWert[{0}].ucSendRate", i);
                mItem[ItemPosition] = new TaskConfigurationItem(msg, TaskDataType.type_uint_8, DataPosition);
                mItem[ItemPosition].SetPlausibilityMax(254);
                DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;
            }

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("bfWertMask", TaskDataType.type_hex_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(0x0FFF);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("bfSwap", TaskDataType.type_hex_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(0x0FFF);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("bfEnable", TaskDataType.type_hex_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(0x0FFF);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("bfDirection", TaskDataType.type_hex_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(0x0FFF);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("aulShowErr[0]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("aulShowErr[1]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("bOrderActive", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(1);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eTypDerating", TaskDataType.type_kf_type_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eTypNoxSensor", TaskDataType.type_kf_type_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            for (i = 0; i < 12; i++)
            {
                Array.Resize(ref mItem, ItemPosition + 1);
                msg = String.Format("unsignedMesswertParameter[{0}].ucPlausibilitaetscheckFlag", i);
                mItem[ItemPosition] = new TaskConfigurationItem(msg, TaskDataType.type_uint_8, DataPosition);
                mItem[ItemPosition].SetPlausibilityMax(1);
                DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

                Array.Resize(ref mItem, ItemPosition + 1);
                msg = String.Format("unsignedMesswertParameter[{0}].uiValueMax", i);
                mItem[ItemPosition] = new TaskConfigurationItem(msg, TaskDataType.type_uint_16, DataPosition);
                DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

                Array.Resize(ref mItem, ItemPosition + 1);
                msg = String.Format("unsignedMesswertParameter[{0}].uiValueMin", i);
                mItem[ItemPosition] = new TaskConfigurationItem(msg, TaskDataType.type_uint_16, DataPosition);
                DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;
            }

            for (i = 0; i < 12; i++)
            {
                Array.Resize(ref mItem, ItemPosition + 1);
                msg = String.Format("signedMesswertParameter[{0}].ucPlausibilitaetscheckFlag", i);
                mItem[ItemPosition] = new TaskConfigurationItem(msg, TaskDataType.type_uint_8, DataPosition);
                mItem[ItemPosition].SetPlausibilityMax(1);
                DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

                Array.Resize(ref mItem, ItemPosition + 1);
                msg = String.Format("signedMesswertParameter[{0}].siValueMax", i);
                mItem[ItemPosition] = new TaskConfigurationItem(msg, TaskDataType.type_int_16, DataPosition);
                DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

                Array.Resize(ref mItem, ItemPosition + 1);
                msg = String.Format("signedMesswertParameter[{0}].siValueMin", i);
                mItem[ItemPosition] = new TaskConfigurationItem(msg, TaskDataType.type_int_16, DataPosition);
                DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;
            }

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulSystemStartErrorDelay", TaskDataType.type_uint_32, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(59999);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[0]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[1]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[2]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[3]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            return((DataPosition + 6) == (Offset + SizeCanIn10()));
        }
        private bool ImportBeladungLuftmasse7(UInt16 Offset, ref byte[] Data)
        {
            UInt16 ItemPosition = 0;
            UInt16 DataPosition = 0;

            if (Offset > 6)
            {
                DataPosition = (UInt16)(Offset - 6);   // block header = 6 abziehen
            }
            else
            {
                return(false);
            }
            mData = Data;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiCRC", TaskDataType.type_hex_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiExpire", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(1000);
            mItem[ItemPosition].SetPlausibilityMax(1000);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiStacksize", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(512);
            mItem[ItemPosition].SetPlausibilityMax(512);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucPrio", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(50);
            mItem[ItemPosition].SetPlausibilityMax(50);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucTimeout", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(2);
            mItem[ItemPosition].SetPlausibilityMax(5);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiUeberladungsgrenze", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(600);
            mItem[ItemPosition].SetPlausibilityMax(600);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulKennfeldID", TaskDataType.type_kf_id_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eTypeRussmenge", TaskDataType.type_kf_type_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("fFaktor", TaskDataType.type_float_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulBeladungLKFID", TaskDataType.type_kf_id_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eTypeBeladungLKF", TaskDataType.type_kf_type_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFreigabeLKFID", TaskDataType.type_kf_id_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eTypeFreigabeLKF", TaskDataType.type_kf_type_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucFilterSchadenDelay", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(60);
            mItem[ItemPosition].SetPlausibilityMax(60);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            return((DataPosition + 6) == (Offset + SizeBeladungLuftmasse7()));
        }
Beispiel #28
0
        private bool ImportDosieren10(UInt16 Offset, ref byte[] Data)
        {
            UInt16 ItemPosition = 0;
            UInt16 DataPosition = 0;

            if (Offset > 6)
            {
                DataPosition = (UInt16)(Offset - 6);   // block header = 6 abziehen
            }
            else
            {
                return(false);
            }
            mData = Data;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiCRC", TaskDataType.type_hex_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiExpire", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(250);
            mItem[ItemPosition].SetPlausibilityMax(250);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiStacksize", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(512);
            mItem[ItemPosition].SetPlausibilityMax(512);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucPrio", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(50);
            mItem[ItemPosition].SetPlausibilityMax(80);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucTimeout", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(2);
            mItem[ItemPosition].SetPlausibilityMax(5);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("fProzentualadd", TaskDataType.type_float_32, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(1);
            mItem[ItemPosition].SetPlausibilityMax(5.2);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulPumpenhubvolumen", TaskDataType.type_uint_32, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(65000);
            mItem[ItemPosition].SetPlausibilityMax(65000);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("fStromfaktor", TaskDataType.type_float_32, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(7.56150);
            mItem[ItemPosition].SetPlausibilityMax(7.56154);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("siDeltaI", TaskDataType.type_int_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(50);
            mItem[ItemPosition].SetPlausibilityMax(61);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("siMaxSoll", TaskDataType.type_int_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(1700);
            mItem[ItemPosition].SetPlausibilityMax(3000);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("siMinSoll", TaskDataType.type_int_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(650);
            mItem[ItemPosition].SetPlausibilityMax(750);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("siWendepunktueberhoehung", TaskDataType.type_int_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(80);
            mItem[ItemPosition].SetPlausibilityMax(121);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("siMinWendepunktStrom", TaskDataType.type_int_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(800);
            mItem[ItemPosition].SetPlausibilityMax(1050);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("siDIDTluft", TaskDataType.type_int_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(-182);
            mItem[ItemPosition].SetPlausibilityMax(-85);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiPulsdauer", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(40);
            mItem[ItemPosition].SetPlausibilityMax(40);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiPumpenhubkorrektur", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(100);
            mItem[ItemPosition].SetPlausibilityMax(100);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucNotInterval", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(60);
            mItem[ItemPosition].SetPlausibilityMax(120);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucEnableAdditiveLevelSensor", TaskDataType.type_uint_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiADReserveUpperThreshold", TaskDataType.type_int_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiADReserveLowerThreshold", TaskDataType.type_int_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiADReserveShortCircuit", TaskDataType.type_int_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiADReserveOpenCircuit", TaskDataType.type_int_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucDualCanMailBox", TaskDataType.type_uint_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[0]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[1]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[2]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[3]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulFree[4]", TaskDataType.type_hex_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            return((DataPosition + 6) == (Offset + SizeDosieren10()));
        }
Beispiel #29
0
        /// <summary>Import initial values from base block</summary>
        public override void InitValueImport()
        {
            UInt16 ItemPosition = 0;
            UInt16 DataPosition = InitValueByteOffset;

            Array.Resize(ref InitValueItem, 75);
            InitValueItem[ItemPosition] = new TaskConfigurationItem("sBeladCRT.uiTempMinGrenze", TaskDataType.type_uint_16, DataPosition);
            InitValueItem[ItemPosition].SetPlausibilityMax(100);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sBeladCRT.ulFree[0]", TaskDataType.type_hex_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sBeladCRT.ulFree[1]", TaskDataType.type_hex_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sBeladCRT.ulFree[2]", TaskDataType.type_hex_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sBeladCRT.ulFree[3]", TaskDataType.type_hex_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.ucResetBehaveWatch", TaskDataType.type_uint_8, DataPosition);
            InitValueItem[ItemPosition].SetPlausibilityMax(15);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.uiPalarm", TaskDataType.type_uint_16, DataPosition);
            InitValueItem[ItemPosition].SetPlausibilityMax(750);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.uiTalarm", TaskDataType.type_uint_16, DataPosition);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.uiPalarmResetDelay", TaskDataType.type_uint_16, DataPosition);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.uiPwarn", TaskDataType.type_uint_16, DataPosition);
            InitValueItem[ItemPosition].SetPlausibilityMax(750);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.uiTwarn", TaskDataType.type_uint_16, DataPosition);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.uiPwarnResetDelay", TaskDataType.type_uint_16, DataPosition);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.uiPbroken", TaskDataType.type_uint_16, DataPosition);
            InitValueItem[ItemPosition].SetPlausibilityMax(750);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.uiPbrokenTime", TaskDataType.type_uint_16, DataPosition);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.uiPbrokenTimeDelay", TaskDataType.type_uint_16, DataPosition);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.uiTurnSchwelleMin", TaskDataType.type_uint_16, DataPosition);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.siTvorAlarmValue", TaskDataType.type_uint_16, DataPosition);
            InitValueItem[ItemPosition].SetPlausibilityMin(-2731);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.uiTvorAlarmTime", TaskDataType.type_uint_16, DataPosition);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.uiTvorAlarmResetDelay", TaskDataType.type_uint_16, DataPosition);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.siTvorWarnValue", TaskDataType.type_uint_16, DataPosition);
            InitValueItem[ItemPosition].SetPlausibilityMin(-2731);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.uiTvorWarnTime", TaskDataType.type_uint_16, DataPosition);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.uiTvorWarnResetDelay", TaskDataType.type_uint_16, DataPosition);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.siTnachAlarmValue", TaskDataType.type_int_16, DataPosition);
            InitValueItem[ItemPosition].SetPlausibilityMin(-2731);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.uiTnachAlarmTime", TaskDataType.type_uint_16, DataPosition);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.uiTnachAlarmResetDelay", TaskDataType.type_uint_16, DataPosition);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.siTnachWarnValue", TaskDataType.type_int_16, DataPosition);
            InitValueItem[ItemPosition].SetPlausibilityMin(-2731);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.uiTnachWarnTime", TaskDataType.type_uint_16, DataPosition);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.uiTnachWarnResetDelay", TaskDataType.type_uint_16, DataPosition);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.uiAdditivImFilter", TaskDataType.type_uint_16, DataPosition);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.ulFree[0]", TaskDataType.type_hex_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.ulFree[1]", TaskDataType.type_hex_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.ulFree[2]", TaskDataType.type_hex_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sVert.ulFree[3]", TaskDataType.type_hex_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sTurns.fFaktorTurns", TaskDataType.type_float_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sTurns.uiKilometerzaehler", TaskDataType.type_uint_16, DataPosition);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sTurns.ulFree[0]", TaskDataType.type_hex_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sTurns.ulFree[1]", TaskDataType.type_hex_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sTurns.ulFree[2]", TaskDataType.type_hex_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sTurns.ulFree[3]", TaskDataType.type_hex_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sDosi.uiSollKonzentration", TaskDataType.type_uint_16, DataPosition);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sDosi.uiKraftstoffverbrauch", TaskDataType.type_uint_16, DataPosition);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sDosi.ulAdditivtankinhalt", TaskDataType.type_uint_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sDosi.ulFree[0]", TaskDataType.type_hex_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sDosi.ulFree[1]", TaskDataType.type_hex_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sDosi.ulFree[2]", TaskDataType.type_hex_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sDosi.ulFree[3]", TaskDataType.type_hex_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sIO.uiDPlus", TaskDataType.type_uint_16, DataPosition);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sIO.ucTempEnable", TaskDataType.type_uint_8, DataPosition);
            InitValueItem[ItemPosition].SetPlausibilityMax(3);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sIO.uiAmbPressureCalibration", TaskDataType.type_uint_16, DataPosition);
            InitValueItem[ItemPosition].SetPlausibilityMax(120);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sIO.ulFree[0]", TaskDataType.type_hex_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sIO.ulFree[1]", TaskDataType.type_hex_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sIO.ulFree[2]", TaskDataType.type_hex_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sIO.ulFree[3]", TaskDataType.type_hex_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sGrundfos.ulReserved[0]", TaskDataType.type_hex_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sGrundfos.ulReserved[1]", TaskDataType.type_hex_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sGrundfos.ulReserved[2]", TaskDataType.type_hex_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sGrundfos.ulFree[0]", TaskDataType.type_hex_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sGrundfos.ulFree[1]", TaskDataType.type_hex_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sGrundfos.ulFree[2]", TaskDataType.type_hex_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sGrundfos.ulFree[3]", TaskDataType.type_hex_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sAddi.ulAddStandard", TaskDataType.type_uint_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sAddi.ulFree[0]", TaskDataType.type_hex_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sAddi.ulFree[1]", TaskDataType.type_hex_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sAddi.ulFree[2]", TaskDataType.type_hex_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sAddi.ulFree[3]", TaskDataType.type_hex_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sStaudruck.fAirMassKFactor", TaskDataType.type_float_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sStaudruck.ulFree[0]", TaskDataType.type_hex_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sStaudruck.ulFree[1]", TaskDataType.type_hex_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sStaudruck.ulFree[2]", TaskDataType.type_hex_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sStaudruck.ulFree[3]", TaskDataType.type_hex_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sMaf.fDisplacedVolume", TaskDataType.type_float_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sMaf.ulFree[0]", TaskDataType.type_hex_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sMaf.ulFree[1]", TaskDataType.type_hex_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sMaf.ulFree[2]", TaskDataType.type_hex_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;

            InitValueItem[ItemPosition] = new TaskConfigurationItem("sMaf.ulFree[3]", TaskDataType.type_hex_32, DataPosition);
            DataPosition = (UInt16)(DataPosition + 4); ItemPosition++;
        }
        private bool ImportMassAirFlow8(UInt16 Offset, ref byte[] Data)
        {
            UInt16 ItemPosition = 0;
            UInt16 DataPosition = 0;

            if (Offset > 6)
            {
                DataPosition = (UInt16)(Offset - 6);   // block header = 6 abziehen
            }
            else
            {
                return(false);
            }
            mData = Data;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiCRC", TaskDataType.type_hex_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiExpire", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(100);
            mItem[ItemPosition].SetPlausibilityMax(100);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->uiStacksize", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(512);
            mItem[ItemPosition].SetPlausibilityMax(512);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucPrio", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(50);
            mItem[ItemPosition].SetPlausibilityMax(50);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("TaskCfg->ucTimeout", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMin(2);
            mItem[ItemPosition].SetPlausibilityMax(5);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eFreigabe", TaskDataType.type_enum_mrw_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiKriterium", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiFailSafeTurns", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulKFMafFactor", TaskDataType.type_kf_id_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eTypeMafFactor", TaskDataType.type_kf_type_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucKennGroesseX", TaskDataType.type_enum_mrw_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiADMafPressPlausibelunten", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(1023);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiADMafPressPlausibeloben", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(1023);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiADMafPressMittelIntervall", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulKFAirPressure", TaskDataType.type_kf_id_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eTypeAirPressure", TaskDataType.type_kf_type_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiFailSafeAirPress", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiADMafTempPlausibelunten", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(1023);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiADMafTempPlausibeloben", TaskDataType.type_uint_16, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(1023);
            DataPosition = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiADMafTempMittelIntervall", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ulKFAirTemp", TaskDataType.type_kf_id_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("eTypeAirTemp", TaskDataType.type_kf_type_8, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("siFailSafeAirTemp", TaskDataType.type_int_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("fDisplacedVolume", TaskDataType.type_float_32, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 4); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiMaxMafOut", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucEnableAGRProhibition", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(1);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiAGR_MAFDeactivationLevel", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("uiAGR_MAFReactivationLevel", TaskDataType.type_uint_16, DataPosition);
            DataPosition        = (UInt16)(DataPosition + 2); ItemPosition++;

            Array.Resize(ref mItem, ItemPosition + 1);
            mItem[ItemPosition] = new TaskConfigurationItem("ucAGR_DeactivationDelay", TaskDataType.type_uint_8, DataPosition);
            mItem[ItemPosition].SetPlausibilityMax(0);
            DataPosition = (UInt16)(DataPosition + 1); ItemPosition++;

            return((DataPosition + 6) == (Offset + SizeMassAirFlow8()));
        }