예제 #1
0
        /// <summary>
        /// Создание нового действия.
        /// </summary>
        /// <param name="name">Имя действия.</param>
        /// <param name="luaName">Имя действия - как оно будет называться в
        /// таблице Lua.</param>
        /// <param name="owner">Владелец действия (Шаг)</param>
        public ActionWash(string name, Step owner, string luaName)
            : base(name, owner, luaName)
        {
            vGroups = new List <Action>();
            vGroups.Add(new Action(DI, owner, DI,
                                   new Device.DeviceType[]
            {
                Device.DeviceType.DI,
                Device.DeviceType.SB
            }));
            vGroups.Add(new Action(DO, owner, DO,
                                   new Device.DeviceType[]
            {
                Device.DeviceType.DO
            }));

            vGroups.Add(new Action("Устройства", owner, Devices,
                                   new Device.DeviceType[]
            {
                Device.DeviceType.M,
                Device.DeviceType.V,
                Device.DeviceType.DO,
                Device.DeviceType.AO,
                Device.DeviceType.VC
            },
                                   new Device.DeviceSubType[]
            {
                Device.DeviceSubType.M_FREQ,
                Device.DeviceSubType.M_REV_FREQ,
                Device.DeviceSubType.M_REV_FREQ_2,
                Device.DeviceSubType.M_REV_FREQ_2_ERROR,
                Device.DeviceSubType.M_ATV,
                Device.DeviceSubType.M,
                Device.DeviceSubType.V_AS_DO1_DI2,
                Device.DeviceSubType.V_AS_MIXPROOF,
                Device.DeviceSubType.V_BOTTOM_MIXPROOF,
                Device.DeviceSubType.V_DO1,
                Device.DeviceSubType.V_DO1_DI1_FB_OFF,
                Device.DeviceSubType.V_DO1_DI1_FB_ON,
                Device.DeviceSubType.V_DO1_DI2,
                Device.DeviceSubType.V_DO2,
                Device.DeviceSubType.V_DO2_DI2,
                Device.DeviceSubType.V_DO2_DI2_BISTABLE,
                Device.DeviceSubType.V_IOLINK_DO1_DI2,
                Device.DeviceSubType.V_IOLINK_MIXPROOF,
                Device.DeviceSubType.V_IOLINK_VTUG_DO1,
                Device.DeviceSubType.V_IOLINK_VTUG_DO1_DI2,
                Device.DeviceSubType.V_IOLINK_VTUG_DO1_FB_OFF,
                Device.DeviceSubType.V_IOLINK_VTUG_DO1_FB_ON,
                Device.DeviceSubType.V_MIXPROOF,
                Device.DeviceSubType.AO,
                Device.DeviceSubType.AO_VIRT,
                Device.DeviceSubType.DO,
                Device.DeviceSubType.DO_VIRT,
                Device.DeviceSubType.NONE
            }));

            vGroups.Add(new Action("Реверсивные устройства", owner,
                                   ReverseDevices,
                                   new Device.DeviceType[]
            {
                Device.DeviceType.M
            },
                                   new Device.DeviceSubType[]
            {
                Device.DeviceSubType.M_FREQ,
                Device.DeviceSubType.M_REV_FREQ,
                Device.DeviceSubType.M_REV_FREQ_2,
                Device.DeviceSubType.M_REV_FREQ_2_ERROR,
                Device.DeviceSubType.M_ATV,
                Device.DeviceSubType.M
            }));

            items = new List <ITreeViewItem>();
            foreach (Action action in vGroups)
            {
                items.Add(action);
            }

            var pumpFreqParam = new ActiveParameter("frequency",
                                                    "Производительность");

            pumpFreqParam.OneValueOnly = true;
            pumpFreq = pumpFreqParam;
            items.Add(pumpFreq);
        }