Example #1
0
        /// <summary>
        /// Работает при готовности тега проверки для входной области.
        /// </summary>
        /// <param name="aControllerClient">Соединение с контроллерами mossner.</param>
        /// <param name="aSlabId">Идентификатор слитка.</param>
        public void ReadSlabIdCheckForInputArea(ControllerClient aControllerClient, int aSlabId)
        {
            aControllerClient.WriteSlabIdForInputArea(aSlabId);

            // Ищем слиток в ИТС...
            var mixerNumber = IdHelper.MixerNumber(aSlabId);
            var meltNumber = IdHelper.MeltNumber(aSlabId);
            var slabNumber = IdHelper.SlabNumber(aSlabId);

            // Ищем плавку.
            var result = its.CheckMelt(mixerNumber, meltNumber);
            if (result == 1) {
                // Плавка найдена.
                // Ищем слиток.
                result = its.CheckSlab(mixerNumber, meltNumber, slabNumber);
                if (result == 1) {
                    // Слиток не найден.
                    Logger.Debug("Cлиток " + aSlabId + " не существует. Можно создавать.");
                    // Добавляем.
                    its.AddSlab(mixerNumber, meltNumber, slabNumber);
                }
                else {
                    Logger.Debug("Cлиток " + aSlabId + " уже существует.");
                }
            }
            else {
                Logger.Debug("Плавка для слитка " + aSlabId + " не существует.");
            }

            aControllerClient.WriteResultForInputArea(result);
        }