Прошу помочь написать сценарий на макроязыке сценариев

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

Непрочитанное сообщение #1 engineeratlas » 02.10.2019, 16:20

В ТЦ на Орион Про 1.12 СКУД(С2000-2) и ОС(С2000-4) на одном ПК. Необходимо создать сценарий, чтобы в ночное время (00.00-07.00), если кто-то заходит в ТЦ через двери 1-го этажа внешнего периметра (7 дверей), срабатывала звуковая сигнализация (на СП1 или на С2000-4 охранки). На основе шаблонов не получается реализовать, сценарий «Тревоги проникновения» запускается и не получается его остановить ни по расписанию, ни кнопками в Дереве управления. В ТП Болид сказали, что надо писать на макроязыке.

pet-and M
Активный участник
Активный участник
pet-and M
Активный участник
Активный участник
Возраст: 41
Репутация: 106
Сообщения: 2928
Зарегистрирован: 11.11.2012
С нами: 7 лет 6 месяцев
Профессия: инженер
Откуда: Санкт-Петербург

Непрочитанное сообщение #2 pet-and » 02.10.2019, 16:49

А не проще воспользоваться стандартной тактикой управления, скажем, "1-Включить"?
По расписанию брать на охрану необходимые разделы, тогда при снятии тревоги оповещение само заткнётся.

DruG
DruG
Репутация: 103
Сообщения: 1242
Зарегистрирован: 03.03.2016
С нами: 4 года 2 месяца
Профессия: безобразнорабочий

Непрочитанное сообщение #3 DruG » 02.10.2019, 17:49

engineeratlas писал(а):сценарий «Тревоги проникновения» запускается и не получается его остановить
ну правильно, сценарий на включение есть, а на выключение кто будет делать? :-) тоже вполне себе шаблонный сценарий, который вешается на событие Снятие с охраны.

но поддерживаю предыдущего оратора, городить огород со сценариями, когда достаточно простой тактики, если конечно нет каких-то других хитрых условий.

ТП однако всё печальнее и печальнее :du_ma_et:

engineeratlas
Автор темы
engineeratlas
Автор темы
Репутация: 0
Сообщения: 3
Зарегистрирован: 02.10.2019
С нами: 7 месяцев 25 дней
Профессия: инженер

Непрочитанное сообщение #4 engineeratlas » 02.10.2019, 17:58

Возможно я чего-то не понял, но на ваше предложение возникли вопросы:
1. СКУД круглосуточно «под охраной», как в ночное время его ещё взять под охрану по расписанию? Поэтому и хочу создать сценарий сработки сирены на несколько сек. по событию, но для сценария нельзя создать окно времени, а только время запуска.
2. Суть этой затеи в следующем: остался 1 охранник на большое здание и если ночью кто-то из своих или чужих войдёт в здание через неконтролируемые им двери должна сработать сирена (5 сек.). Охранник находится в здании не у компьютера со СКУД и ОС.

Добавлено спустя 11 минут 46 секунд:
Может я неправильно шаблонный сценарий составил, не исключаю. Делал так: Сенарий-Тревога проникновения. Шаг сцен.- Выход-вкл. на время (для 2го вых. СП1). Сценарий-Отмена Тревоги проникновения. Шаг- Выход-выкл.(для 2вых.СП1). Опыта с АРМ немного, может я пошёл сильно извилистой дорожкой? Если можно сделать проще, подскажите.

Добавлено спустя 16 часов 7 минут:
Добавлю сюда свой комментарий из другого форума для лучшего понимания ситуации.
Видимо я не понятно объяснил организацию СКУД и ОС у нас. ОС(С2000-4) находятся у арендаторов внутри помещений и только сирены и лампы от каждого вынесены в общий холл(атриумная зона 1-4 этажей). СКУД(С2000-2) отдельно на все двери и их объединяет только то, что они на одном АРМ и rs485. ОС несколько лет не пользуемся(арендаторы во время ремонтов частично демонтировали считыватели у себя), но приборы почти все видны по интерфейсу. Я по шаблону создал сценарий для СП1 (есть на 6этаже) включение на время.и привязал к этому сценарию параметры считывателей нужных дверей в Инспекторе Структуры системы АБД (дверь открыта, дверь взломана, доступ предоставлен, доступ предоставлен по кнопке, проход). Создал 2й сценарий для СП1 выключить(пробовал и вернуть в исходное), но к чему его привязать, к каким параметрам считывателей, чтобы отменить сработку СП1 при открытии дверей в рабочее время или по кнопке на панели управления. У меня сейчас сценарий на выкл. СП1 есть, но он не привязан ни к чему.Поэтому первый сценарий запускается и ничем не отменяется, кроме как его убийством. 
Окно времени - условно с 00.00 до 7.00 должна сработать сирена, если кто-то зайдет в ТЦ, возможно время прийдется менять, поэтому хотелось бы запускать и отменять по кнопке.

DruG
DruG
Репутация: 103
Сообщения: 1242
Зарегистрирован: 03.03.2016
С нами: 4 года 2 месяца
Профессия: безобразнорабочий

Непрочитанное сообщение #5 DruG » 03.10.2019, 20:14

ага, никакой Тревоги проникновения у вас там как раз и нету, что немного ввело в заблуждение.
сейчас тревожный сценарий привязан к Доступ предоставлен (не безопасно, т.к. у чужого не будет карточки и он просто взломает дверь, а это совсем другое событие). А сценарий на отмену вы никуда не можете привязать.
с другого форума:
кстати на событие дверь открыта считывателя не реагирует
не уверен, что к тому событию вы привязываетесь. В логах Монитора от какого адреса событие Дверь открыта приходит? что-то типа 1/1/2/1 (сом-порт/пульт/прибор/шлейф-считка). Есть подозрение, что вы выбираете командное событие, это когда контроллер получил команду открыть дверь, он её открыл отключив питание замка, но понятия не имеет открыта ли она физически, что должен знать геркон.
Если найдёте правильное событие, тогда и второй сценарий получится приписать, например к Дверь закрыта.

а по поводу запуска в определённый промежуток времени. Можно ещё два сценария замутить, Заблокировать сценарий и Разблокировать сценарий, запускать их в Расписании по окну времени для сценариев. Указали в 7 часов заблокировать Тревогу, а в 0 часов разблокировать и всё. Потом просто время поменяли, и оно продолжит работать.

engineeratlas
Автор темы
engineeratlas
Автор темы
Репутация: 0
Сообщения: 3
Зарегистрирован: 02.10.2019
С нами: 7 месяцев 25 дней
Профессия: инженер

Непрочитанное сообщение #6 engineeratlas » 04.10.2019, 12:28

DruG, Тревогу проникновения, кроме предоставления доступа, привязал ещё к Дверь взломана, Проход. Видимо. Вы правы - привязать второй сценарий к Дверь закрыта. Но зачем тогда вообще этот сценарий, если сирена орёт 3 сек., но первый сценарий ведь по-прежнему бдит. Очень понравилась идея Заблокировать, Разблокировать сценарий. Но где это сделать. У меня в Орион Про 1.12 для сценария есть только: Запустить сценарий и Запуск сценария по выбору и никаких блокировок и разблокировок.

XAMMEP
Аватара
XAMMEP
Репутация: 11
Сообщения: 226
Зарегистрирован: 17.10.2014
С нами: 5 лет 7 месяцев
Профессия: Специалист ИТСО
Откуда: Чебоксары

Непрочитанное сообщение #7 XAMMEP » 20.12.2019, 11:33

Давненько был запрошен сценарий подобного рода у ТП, тоже была необходимость оповещать охрану в ночное время (с 22:00 по 5:00).
+ внесением событий о сработке сценария в протокол.
Сам же сценарий привязывается к разделам/гр.разделов на необходимый вид события.

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

Сценарий
Переменные
Перем РабМесто4;
Перем Реле3;
Перем РабочееМесто3;
Перем Реле2;
Перем РабочееМесто2;
Перем Реле1;
Перем Компьютеры1;
Перем Компьютер1;
Перем РабочиеМеста1;
Перем РабочееМесто1;
Перем t;
Перем t1;
Перем t2;

НачалоСценария


Попытка
Компьютеры1 = СоздатьОбъект( "Компьютеры" );
Компьютер1 = Компьютеры1.ПолучитьПоИд(1);
РабочиеМеста1 = Компьютер1.РабочиеМеста();
РабМесто4 = РабочиеМеста1.ПолучитьПоТипуСетевогоМеста("Оболочка");
РабочееМесто1 = РабочиеМеста1.ПолучитьПоТипуСетевогоМеста("Ядро");
РабочееМесто2 = РабочиеМеста1.ПолучитьПоТипуСетевогоМеста("Ядро");
РабочееМесто3 = РабочиеМеста1.ПолучитьПоТипуСетевогоМеста("Ядро");
Реле1 = РабочееМесто1.Выходы().ПолучитьПоИД( 439 );
Реле2 = РабочееМесто2.Выходы().ПолучитьПоИД( 440 );
Реле3 = РабочееМесто3.Выходы().ПолучитьПоИД( 441 );
t = ПолучитьЧасы(ТекущееВремяДатаЧисло())*3600+ ПолучитьМинуты(ТекущееВремяДатаЧисло ())*60+ ПолучитьСекунды(ТекущееВремяДатаЧисло());
t2 = СобратьВремя(5,0,0,0);
t2 = ПолучитьЧасы(t2)*3600+ ПолучитьМинуты(t2)*60+ ПолучитьСекунды(t2);
t1 =СобратьВремя(22,0,0,0);
t1 = ПолучитьЧасы(t1)*3600+ ПолучитьМинуты(t1)*60+ ПолучитьСекунды(t1);
Если (t<=t2) ИЛИ (t>=t1) Тогда
Реле1.МигатьИзСостоянияВыключеноНаВремя( "0", "6", "25" );
Реле2.МигатьИзСостоянияВыключеноНаВремя( "0", "6", "25" );
Реле3.МигатьИзСостоянияВыключеноНаВремя( "0", "6", "25" );
РабМесто4.ЗаписатьВЖурналСобытий("Оповещение охраны ON");
иначе РабМесто4.ЗаписатьВЖурналСобытий("Оповещение охраны OFF");
КонецЕсли;
Исключение Сообщить("Произошло исключение",0);
КонецПопытки;
КонецСценария;


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

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

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

Сейчас этот раздел просматривают: 2 гостя

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