Реализация алгоритма работы приборов скриптами

FORUM_NAME: АРМ Орион Про версии до 1.20
Описание: АРМ "Орион Про" — пакет программного обеспечения для аппаратно-программного комплекса ИСО "Орион", на котором реализуются системы охранной сигнализации, контроля и управления доступом, охранного видеонаблюдения, автоматика противопожарных систем, сопряженные с инженерными системами объектов.
Справочная информация, руководства для АРМ Орион Про версии до 1.20
Модератор: Модераторы
andrew717
Автор темы
andrew717
Автор темы
Репутация: 0
Сообщения: 5
Зарегистрирован: 16.12.2013
С нами: 9 лет 5 месяцев
Профессия: инженер

Непрочитанное сообщение #1 andrew717 » 16.12.2013, 11:26

Народ привет. Есть две проблемы которые никак не получается решить технически (методом монтажа). И необходимо это проблемы "заскриптить".
Что есть:
Арм Орион ПРО
Есть клапан сброса давления управляемый с2000-сп1 исп1
Есть с2000смк установленная на дверь.
Есть сигнал пожар.
Нужно сделать следующее

При сигнале пожар включается двигатель подпора воздуха, и соответственно от давления дверь не открыть (чуточку конечно она поддается). Для этого на двери стоит смк. В общем при сигнале пожара и только при нем, при сработке смк нужно открыть этот клапан. Может есть у кого скрипт управления приборов с 2 условиями? или кто просто подскажет как это написать!?

Из школьных уроков паскаля алгоритм выглядит как то так
If (сработка раздела) Then
begin
If (сработка смк) then (открытие клапана-отработка реле с2000сп1)
else (ничего не делать)


второй вопрос, тоже скрипты
Арм Орион ПРО
Есть два двигателя (кпб-шкп)
Есть датчик давления - технологический шс.
Есть сигнал пожар.
При сигнале пожар запускается (отрабатывает с2000кпб запускающая шкп) основной двигатель, в воздуховоде стоит датчик давления (настраиваемое реле, сухой контакт, соответственно оно работает как технологический шлейф), если при пожаре датчик давления не отработал (двигатель не запустился либо давление маленькое) то запускается резервный.
Опять же из школьных курсов
If (сработка раздела) Then
begin
If (не отработал в течение 20 секунд технологического шс) then (включение двигателя-отработка реле с2000кпб)
else (ничего не делать)


Вот как-то так...жду помощи.

andrew717
Автор темы
andrew717
Автор темы
Репутация: 0
Сообщения: 5
Зарегистрирован: 16.12.2013
С нами: 9 лет 5 месяцев
Профессия: инженер

Непрочитанное сообщение #2 andrew717 » 16.12.2013, 18:07

ну же, народ.
Пока пришлось пропустить клапан через 2 реле. первое реле (отрабатывает сигнал пожар) подает питание, второе реле переключает это питание на привод клапана по средствам технологического шлейфа (смк))
но блин, чтобы весь объект перевести на такую систему, надо еще около 70 с2000сп1 исп1 закупить Оо

Так что думаем, помогаем.
С меня пиво с чипсами за помощь ))))

lamyk
lamyk
Репутация: 0
Сообщения: 90
Зарегистрирован: 17.04.2013
С нами: 10 лет 1 месяц
Профессия: Наладчик

Непрочитанное сообщение #3 lamyk » 16.12.2013, 19:02

почитайте про сценарии пульта с2000 м вер 2,06

andrew717
Автор темы
andrew717
Автор темы
Репутация: 0
Сообщения: 5
Зарегистрирован: 16.12.2013
С нами: 9 лет 5 месяцев
Профессия: инженер

Непрочитанное сообщение #4 andrew717 » 16.12.2013, 23:00

lamyk писал(а):почитайте про сценарии пульта с2000 м вер 2,06
Читал, честно, но к сожалению боженька не дал столько разума, сколько необходимо для осмысления прочитанного :ny_tik: .

Посему и был вынужден просить помощи у знатоков.

AlexRuden
AlexRuden
Возраст: 45
Репутация: 0
Сообщения: 1091
Зарегистрирован: 13.01.2012
С нами: 11 лет 4 месяца
Профессия: Наёмник.
Откуда: Россия.

Непрочитанное сообщение #5 AlexRuden » 17.12.2013, 10:01

andrew717 писал(а):ну же, народ.
Пока пришлось пропустить клапан через 2 реле. первое реле (отрабатывает сигнал пожар) подает питание, второе реле переключает это питание на привод клапана по средствам технологического шлейфа (смк))
но блин, чтобы весь объект перевести на такую систему, надо еще около 70 с2000сп1 исп1 закупить Оо

Так что думаем, помогаем.
С меня пиво с чипсами за помощь ))))

Так вам нужно скрипт для пульта или для ОрионаПро ? В пульте может памяти не хватить для сценариев, если много клапанов.
Хотя в обоих случаях можно реализовать.
Для ОрионаПро всё просто - создаёте сервисные разделы и группы, скрываете их от лишних глаз и при нужных событиях парсите либо по названиям, либо по пользовательским ИД. Да как угодно.
Курите man'ы , господа.

andrew717
Автор темы
andrew717
Автор темы
Репутация: 0
Сообщения: 5
Зарегистрирован: 16.12.2013
С нами: 9 лет 5 месяцев
Профессия: инженер

Непрочитанное сообщение #6 andrew717 » 18.12.2013, 00:10

AlexRuden писал(а):
andrew717 писал(а):ну же, народ.
Пока пришлось пропустить клапан через 2 реле. первое реле (отрабатывает сигнал пожар) подает питание, второе реле переключает это питание на привод клапана по средствам технологического шлейфа (смк))
но блин, чтобы весь объект перевести на такую систему, надо еще около 70 с2000сп1 исп1 закупить Оо

Так что думаем, помогаем.
С меня пиво с чипсами за помощь ))))

Так вам нужно скрипт для пульта или для ОрионаПро ? В пульте может памяти не хватить для сценариев, если много клапанов.
Хотя в обоих случаях можно реализовать.
Для ОрионаПро всё просто - создаёте сервисные разделы и группы, скрываете их от лишних глаз и при нужных событиях парсите либо по названиям, либо по пользовательским ИД. Да как угодно.

Нужно для орион про.
Вот проблема в том, что знания не позволяют все это реализовать. разделы то все созданы, а как завязать с помощью скриптов (вернее сценариев, ссори я не правильно высказался).
вот был бы похожий на мою проблему шаблон сценарию, я бы ег подправил, но как ранее говорил свой я не напишу...умом не вышел.

AlexRuden
AlexRuden
Возраст: 45
Репутация: 0
Сообщения: 1091
Зарегистрирован: 13.01.2012
С нами: 11 лет 4 месяца
Профессия: Наёмник.
Откуда: Россия.

Непрочитанное сообщение #7 AlexRuden » 18.12.2013, 07:19

andrew717 писал(а):При сигнале пожар включается двигатель подпора воздуха, и соответственно от давления дверь не открыть (чуточку конечно она поддается). Для этого на двери стоит смк. В общем при сигнале пожара и только при нем, при сработке смк нужно открыть этот клапан. Может есть у кого скрипт управления приборов с 2 условиями? или кто просто подскажет как это написать!?
Тут не совсем понятно какова роль СМК на двери, что за дверь? Напишите алгоритм на словах, будет вам образец скрипта. Например: Пожар (ДваПожара) в разделе №?, проверить что-то(?), включить реле.
Шаблонов как таковых нет, скрипты пишутся под задачу, простые или сложные... Скрипт АСДУ есть , но вы его врядли переделаете подсебя, проще на словах опишите действия по шагам, а там подумаем.
Вот выдержка из скрипта -
Спойлер

Код: Выделить всё

   СобытиеОрион   = ПолучитьСобытие();
   Если ПустоеЗначение( СобытиеОрион )
   Тогда
      ЗагрузкаЯдра = "не первый";
      Если Не ПустоеЗначение( ЯдроОрион.Шлейфы().Элемент( 0 ).Тег() )
      Тогда
         Если ЯдроОрион.Скрипты().ПолучитьПоИД( ИДСкрипта ).Тег() == 1
         Тогда
            Сообщить( ТекущаяДата() + " " + ТекущееВремя() + " - Вызвано прерывание работы всех систем." , 2 );
            ЯдроОрион.Скрипты().ПолучитьПоИД( ИДСкрипта ).ПоместитьВТег( 0 );         
         КонецЕсли;
      Иначе
         Сообщить( "Первый запуск ядра. Делаем проверку структуры БД и запоминаем параметры." , 0 );
         Сообщить( " ;) " , 0 );
         ЯдроОрион.Скрипты().ПолучитьПоИД( ИДСкрипта ).ПоместитьВТег( 0 );
         ЗагрузкаЯдра = "первый";
      КонецЕсли;
   Иначе
      ЗагрузкаЯдра = "не первый";
      Пока ЯдроОрион.Скрипты().ПолучитьПоИД( ИДСкрипта ).Тег() <> 1
      Цикл
         Задержка( 500 );
      КонецЦикла;
   КонецЕсли;
      КодСобытия       = СобытиеОрион.Событие().ИД(); //
      НазваниеСобытия   = СобытиеОрион.Событие().Название();

      Сообщить( "Код события : " + Строка( КодСобытия ), 0 );
      Сообщить( "Название события : ' " + НазваниеСобытия + " ' ", 0 );
      Если КодСобытия == 37 // "ПОЖАР"
      Тогда
         //- Нажали Ручник, проверим
                                 ...
      Если КодСобытия == 36 // "НАРУШЕНИЕ ТЕХНОЛОГИЧЕСКОГО"
      Тогда
                                 .....
               Если ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Название() == АббревиатураПодпорДыма
               Тогда
                  Если ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().КоличествоЭлементов() > 0
                  Тогда
                     // Разрешено делать ВСЕ
                     // Откроем клапаны ПД везде
                     //-
                     Для Счетчик1 = 0 По ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().КоличествоЭлементов() - 1
                     Цикл
                        Если  Лев( ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Название() , 8 ) == "Питание."
                        Тогда
                           Для Счетчик2 = 0 По ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Зоны().КоличествоЭлементов() - 1
                           Цикл
                              Если ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Зоны().Элемент( Счетчик2 ).ТипЭлемента() == "ВЫХОД"
                              Тогда
                                 Если ТактикаРелеРабочийРежимПДКлапаны == "включить"
                                 Тогда
                                    ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Зоны().Элемент( Счетчик2 ).Включить( "0" );
                                    Сообщить( ТекущаяДата() + " " + ТекущееВремя() + " - ' " + ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Название() + " ' - Реле включили : " + ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Зоны().Элемент( Счетчик2 ).Адрес() , 0 );
                                    Если ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Зоны().Элемент( Счетчик2 ).ЕстьСостояние( 401 ) == ИСТИНА
                                    Тогда
                                       Сообщить( ТекущаяДата() + " " + ТекущееВремя() + " - ' " + ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Название() + " ' - Реле включено : " + ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Зоны().Элемент( Счетчик2 ).Адрес() , 0 );
                                    КонецЕсли;
                                 Иначе
                                    ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Зоны().Элемент( Счетчик2 ).Выключить( "0" );
                                    Сообщить( ТекущаяДата() + " " + ТекущееВремя() + " - ' " + ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Название() + " ' - Реле включили : " + ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Зоны().Элемент( Счетчик2 ).Адрес() , 0 );
                                    Если ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Зоны().Элемент( Счетчик2 ).ЕстьСостояние( 401 ) == ИСТИНА
                                    Тогда
                                       Сообщить( ТекущаяДата() + " " + ТекущееВремя() + " - ' " + ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Название() + " ' - Реле включено : " + ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Зоны().Элемент( Счетчик2 ).Адрес() , 0 );
                                    КонецЕсли;
                                 КонецЕсли;
                              КонецЕсли;
                           КонецЦикла;
                        КонецЕсли;
                     КонецЦикла;
//                     ЯдроОрион.Шлейфы().Элемент( 5 ).ПоместитьВТег( 2 );  // Выполнено АСДУ.ПД.ВСЕ
                  Иначе
                     // АСДУ.ПД.ВСЕ - пустой
                     // Откроем клапаны ПД в отсеке
                     //-
                        Задержка( 500 );
                  КонецЕсли;
               КонецЕсли;
            Для   Счетчик = 0 По ЯдроОрион.ГруппыРазделов().КоличествоЭлементов() - 1
            Цикл
               Если ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Название() == АббревиатураПодпорДыма
               Тогда
                  Если ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().КоличествоЭлементов() > 0
                  Тогда
                     // Разрешено делать ВСЕ
                     // Включим двигатели вентиляторов ПД везде
                     //-
                     Для Счетчик1 = 0 По ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().КоличествоЭлементов() - 1
                     Цикл
                        Если  Лев( ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Название() , 11 ) == "Вентилятор."
                        Тогда
                           Для Счетчик2 = 0 По ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().КоличествоЭлементов() - 1
                           Цикл
                              // если есть важный, то обработаем
                              Если ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик2 ).Название() == ( "Важный." + Прав( ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Название() ,  ДлинаСтроки( ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Название() ) - 11 ) )
                              Тогда
                                 // найден важный
                                 // проверить состояние ВАЖНОГО
                                 Если ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик2 ).ЗначениеСостояния() == ЗначениеСостоянияКлапанаРабочийРежим
                                 Тогда
                                    // разрешено запускать двигатель
                                    Для Счетчик3 = 0 По ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().КоличествоЭлементов() - 1
                                    Цикл
                                       Если ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик3 ).Название() == ( "Клапан." + Прав( ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Название() , ( ДлинаСтроки( ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Название() ) - 11 ) ) )
                                       Тогда
                                          // есть ли хотябы один открытый клапан
                                          Для Счетчик4 = 0 По ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик3 ).Зоны().КоличествоЭлементов() - 1
                                          Цикл
                                             Если ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик3 ).Зоны().Элемент( Счетчик4 ).ТипЭлемента() == "ШЛЕЙФ"
                                             Тогда
                                                Если ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик3 ).Зоны().Элемент( Счетчик4 ).ЗначениеСостояния() == ЗначениеСостоянияКлапанаРабочийРежим
                                                Тогда
                                                   // включить реле
                                                   Для Счетчик5 = 0 По ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Зоны().КоличествоЭлементов() - 1
                                                   Цикл
                                                      Если ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Зоны().Элемент( Счетчик5 ).ТипЭлемента() == "ВЫХОД"
                                                      Тогда
                                                         Если ТактикаРелеВключениеДвигателейПД == "включить"
                                                         Тогда
                                                            ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Зоны().Элемент( Счетчик5 ).Включить( "0" );
                                                            Сообщить( ТекущаяДата() + " " + ТекущееВремя() + " - ' " + ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Название() + " ' - Реле включили : " + ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Зоны().Элемент( Счетчик5 ).Адрес() , 0 );
                                                            Если ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Зоны().Элемент( Счетчик5 ).ЕстьСостояние( 401 ) == ИСТИНА
                                                            Тогда
                                                               Сообщить( ТекущаяДата() + " " + ТекущееВремя() + " - ' " + ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Название() + " ' - Реле включено : " + ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Зоны().Элемент( Счетчик5 ).Адрес() , 0 );
                                                            КонецЕсли;
                                                         Иначе
                                                            ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Зоны().Элемент( Счетчик5 ).Выключить( "0" );
                                                            Сообщить( ТекущаяДата() + " " + ТекущееВремя() + " - ' " + ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Название() + " ' - Реле включили : " + ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Зоны().Элемент( Счетчик5 ).Адрес() , 0 );
                                                            Если ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Зоны().Элемент( Счетчик5 ).ЕстьСостояние( 401 ) == ИСТИНА
                                                            Тогда
                                                               Сообщить( ТекущаяДата() + " " + ТекущееВремя() + " - ' " + ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Название() + " ' - Реле включено : " + ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Зоны().Элемент( Счетчик5 ).Адрес() , 0 );
                                                            КонецЕсли;
                                                         КонецЕсли;
                                                      КонецЕсли;
                                                   КонецЦикла;
                                                   Прервать;
                                                КонецЕсли;
                                             КонецЕсли;
                                          КонецЦикла;
                                          Прервать;
                                       КонецЕсли;
                                    КонецЦикла;
                                 Иначе   
                                    // запрещено запускать двигатель
                                    Сообщить( "Запрет включения двигателя '" + ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Название() + "'", 2 );
                                 КонецЕсли;
                                 Прервать;
                              Иначе
                                 Если Счетчик2 == ( ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().КоличествоЭлементов() - 1 )
                                 Тогда
                                    // Не найден важний
                                    Для Счетчик3 = 0 По ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().КоличествоЭлементов() - 1
                                    Цикл
                                       Если ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик3 ).Название() == ( "Клапан." + Прав( ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Название() , ( ДлинаСтроки( ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Название() ) - 11 ) ) )
                                       Тогда
                                          // есть ли хотябы один открытый клапан
                                          Для Счетчик4 = 0 По ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик3 ).Зоны().КоличествоЭлементов() - 1
                                          Цикл
                                             Если ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик3 ).Зоны().Элемент( Счетчик4 ).ТипЭлемента() == "ШЛЕЙФ"
                                             Тогда
                                                Если ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик3 ).Зоны().Элемент( Счетчик4 ).ЗначениеСостояния() == ЗначениеСостоянияКлапанаРабочийРежим
                                                Тогда
                                                   // включить реле
                                                   Для Счетчик5 = 0 По ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Зоны().КоличествоЭлементов() - 1
                                                   Цикл
                                                      Если ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Зоны().Элемент( Счетчик5 ).ТипЭлемента() == "ВЫХОД"
                                                      Тогда
                                                         Если ТактикаРелеВключениеДвигателейПД == "включить"
                                                         Тогда
                                                            ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Зоны().Элемент( Счетчик5 ).Включить( "0" );
                                                            Сообщить( ТекущаяДата() + " " + ТекущееВремя() + " - ' " + ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Название() + " ' - Реле включили : " + ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Зоны().Элемент( Счетчик5 ).Адрес() , 0 );
                                                            Если ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Зоны().Элемент( Счетчик5 ).ЕстьСостояние( 401 ) == ИСТИНА
                                                            Тогда
                                                               Сообщить( ТекущаяДата() + " " + ТекущееВремя() + " - ' " + ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Название() + " ' - Реле включено : " + ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Зоны().Элемент( Счетчик5 ).Адрес() , 0 );
                                                            КонецЕсли;
                                                         Иначе
                                                            ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Зоны().Элемент( Счетчик5 ).Выключить( "0" );
                                                            Сообщить( ТекущаяДата() + " " + ТекущееВремя() + " - ' " + ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Название() + " ' - Реле включили : " + ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Зоны().Элемент( Счетчик5 ).Адрес() , 0 );
                                                            Если ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Зоны().Элемент( Счетчик5 ).ЕстьСостояние( 401 ) == ИСТИНА
                                                            Тогда
                                                               Сообщить( ТекущаяДата() + " " + ТекущееВремя() + " - ' " + ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Название() + " ' - Реле включено : " + ЯдроОрион.ГруппыРазделов().Элемент( Счетчик ).Разделы().Элемент( Счетчик1 ).Зоны().Элемент( Счетчик5 ).Адрес() , 0 );
                                                            КонецЕсли;
                                                         КонецЕсли;
                                                      КонецЕсли;
                                                   КонецЦикла;
                                                   Прервать;
                                                КонецЕсли;
                                             КонецЕсли;
                                          КонецЦикла;
                                          Прервать;
                                       КонецЕсли;
                                    КонецЦикла;
                                 КонецЕсли;
                              КонецЕсли;
                           КонецЦикла;
                        КонецЕсли;
                     КонецЦикла;
//                     ЯдроОрион.Шлейфы().Элемент( 5 ).ПоместитьВТег( 2 );  // Выполнено АСДУ.ПД.ВСЕ
                  Иначе
                     // АСДУ.ПД.ВСЕ - пустой
                     // Включим двигатели вентиляторов ПД в отсеке
                     //-
                        Задержка( 500 );
                  КонецЕсли;

Ну и так далее.....

:ps_ih:
Курите man'ы , господа.

Mozgolom
Mozgolom
Репутация: 0
Сообщения: 10
Зарегистрирован: 07.12.2013
С нами: 9 лет 5 месяцев
Профессия: инженер

Непрочитанное сообщение #8 Mozgolom » 20.12.2013, 21:54

Нужно для орион про.
Воу-воу, полегче :) Сейчас выскажу крамольную мысль, но дело в том, что АРМ Орион Про не имеет права управлять какой-бы то ни было пожарной автоматикой по причине отсутствия у АРМ пожарного сертификата. АРМ это, всего-навсего, очень продвинутый блок индикации, который показывает место возгорания с точностью до датчика и, таким образом, позволяет свести к минимуму время обнаружения места возгорания. На этом его функции заканчиваются. А запускать автоматику должен только сетевой контроллер С2000М или какой-либо ПКП при локальном управлении. И это совершенно логично и правильно, если принять во внимание, что комп с Орион Про может банально зависнуть, а может его просто выключит кто-нибудь. И ничего не сработает.А вся автоматика обязана сработать даже в том случае, если комп вообще выключен. При общении с техподдержкой Болида мне заявили, что в будущих версиях АРМ Орион Про будет исключена возможность централизованного управления тактиками реле. То есть, если сейчас это сделать можно, хоть Болид и настоятельно не рекомендует так делать, то в будущем даже гипотетически не получится. Так что прекращайте играться с АРМ. Учитесь реализовывать любые алгоритмы работы при помощи стандартного С2000М и прочих ПКП. Благо, стандартными средствами можно сделать все, что угодно. Да, в АРМ это проще. Иногда даже намного проще, но это неграмотно.

andrew717
Автор темы
andrew717
Автор темы
Репутация: 0
Сообщения: 5
Зарегистрирован: 16.12.2013
С нами: 9 лет 5 месяцев
Профессия: инженер

Непрочитанное сообщение #9 andrew717 » 22.12.2013, 17:21

Ссори за долгое молчание, на днях на трассе в лобовое влетела монтировка, теперь немного болит голова и руки от пореза стеклом.

Mozgolom писал(а):
Нужно для орион про.
Воу-воу, полегче :)
Спойлер
Сейчас выскажу крамольную мысль, но дело в том, что АРМ Орион Про не имеет права управлять какой-бы то ни было пожарной автоматикой по причине отсутствия у АРМ пожарного сертификата. АРМ это, всего-навсего, очень продвинутый блок индикации, который показывает место возгорания с точностью до датчика и, таким образом, позволяет свести к минимуму время обнаружения места возгорания. На этом его функции заканчиваются. А запускать автоматику должен только сетевой контроллер С2000М или какой-либо ПКП при локальном управлении. И это совершенно логично и правильно, если принять во внимание, что комп с Орион Про может банально зависнуть, а может его просто выключит кто-нибудь. И ничего не сработает.А вся автоматика обязана сработать даже в том случае, если комп вообще выключен. При общении с техподдержкой Болида мне заявили, что в будущих версиях АРМ Орион Про будет исключена возможность централизованного управления тактиками реле. То есть, если сейчас это сделать можно, хоть Болид и настоятельно не рекомендует так делать, то в будущем даже гипотетически не получится. Так что прекращайте играться с АРМ. Учитесь реализовывать любые алгоритмы работы при помощи стандартного С2000М и прочих ПКП. Благо, стандартными средствами можно сделать все, что угодно. Да, в АРМ это проще. Иногда даже намного проще, но это неграмотно.

Про управление пож техникой с ориона про знаю. но выбора нет, а так....
На днях ковырялся с сценариями в с2000м, что-то начало получаться, так что пока продолжаю работать в этом направление. Чувство подсказывает что решение проблемы элементарное, но я не могу до него допереть.


  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «АРМ Орион Про версии до 1.20»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 3 гостя
Боты: Bing [Bot]

forum-bolid.ru : Отказ от ответственности