партнерский раздел
ФорумИнсталляция, монтажПодскажите по языку скрипта.

Инсталляция, монтаж » Подскажите по языку скрипта.

Доброго времени суток!  

Кто нибудь может подсказать, как можно проверить состояние реле прибора  (включено в данный момент или выключено) ?!    
Что то я никак не могу догнать, СОСТОЯНИЕ мне возращает какую то хрень, а  ЕСТЬ СОСТОЯНИЕ  почему постоянно выдает false.  Второй день головой бьюсь в монитор, никак догнать не могу. 

8 лет назад

avatar
Доброго.
Уточните где, что и как вы пытаетесь сделать?

Комаров Александр Федорович 8 лет назад

Для добавления сообщений на форуме вам необходимо зарегистрироваться и указать мобильный телефон в своем профиле (зачем?)

5 ответов

Тестером? И причём тут скрипт?

8 лет назад

avatar
Оно и понятно...   )))         Можно так то вообще на лампочку посмотреть на приборе.   (Сигнал- 10).  Но задача стоит, прежде чем произвести кой какие действия  (открыть СДУ, включить вентмашины и т.д.  -  нужно проверить в каком состоянии находится сейчас реле (включено или выключено), так как этим реле управляют еще другие скрипты.    Ну вот как то так...   )   

Никифоров Евгений Валерьевич 8 лет назад

Для добавления сообщений на форуме вам необходимо зарегистрироваться и указать мобильный телефон в своем профиле (зачем?)

Если коротко то вставтье этот текст в поле сценария.
СЦЕНАРИЙ
переменные
перем Выходы;
перем Выход;
НАЧАЛОСЦЕНАРИЯ
Выходы = создатьобъект("Выходы");
Выход = выходы.получитьпоид(3);
сообщить(выход.состояние(),0);
КОНЕЦСЦЕНАРИЯ

Вместо 3, поставите Пользовательский номер того реле которое вам нужно, посмотреть его можно в инспекторе АБД. На вкладке древо управления добавьте этот сценарий для ручного управления, ну или привяжите к какому нибудь событию. Обновите ОЗ, запустите сценарий,  разверните ядро опроса, переключитесь на вкладку сценарии, там и увидите состояние. Можно вывести на монитор, но это потом, если вам этого недостаточно будет.

8 лет назад

avatar
Для добавления сообщений на форуме вам необходимо зарегистрироваться и указать мобильный телефон в своем профиле (зачем?)

СЦЕНАРИЙ
Ага, спасибо за подсказку, попробую.   

Последний раз я уже пробовал такой код, но в сообщении получается какая то хрень (НОРМАЦЕПИ), и как ее прикрутить к остальному коду, никак не соображу.   ))   Прошу сильно не пинать,  я первый раз пишу на таком...     хммм...      "куцем" языке...         

ПЕРЕМЕННЫЕ
ПЕРЕМ Выходы1
ПЕРЕМ Выход1;

НАЧАЛОСЦЕНАРИЯ
Выходы1=СоздатьОбъект ("Выходы"); 
Выход1=Выходы.ПолучитьПоИД(3.0.1.3); 
Выход1=Выходы.Состояние(); 
Сообщить (Выход1,0); 

КОНЕЦСЦЕНАРИЯ

8 лет назад

avatar
Выход1=Выходы.ПолучитьПоИД(3.0.1.3); тут ошибка, если по ИД то в скобках пользовательский номер стоять должен, если хотите в скобках оставить то что есть, тогда получитьпоадресу(Х.Y.Z.S) где Х - номер порта, Y - адрес пульта, Z - адрес прибора, S - номер выхода. Это так, для понимания.
Насчет состояний, я пробовал на демонстраторе, выдает норма цепи, думал это глюк, ан нет, видимо не глюк, и у вас норму выдает. Могу предположить что вам это необходимо для запуска какого либо сценария, но до запуска необходимо проверить состояние реле и в зависимости от его состояния запускать или не запускать сценарий? Если так то у меня была подобная задача, но я выходил из положения путем добавления технологического шлейфа, если реле было включено то шлейф у меня нарушался, я проверял состояние шлейфа перед запуском, може и вы так попробовать.

Тремасов Константин Александрович 8 лет назад

Для добавления сообщений на форуме вам необходимо зарегистрироваться и указать мобильный телефон в своем профиле (зачем?)

Да, извините, я по памяти писал сценарий, возможно ошибся.   Он остался на объекте в компе,  а я сегодня выходной.   

А с техношлейфом это кстати, идея, спасибо за подсказку.   Чет я сам то не додумался до нее..     ))   

Мне прежде чем запустить сценарий ручного включения вентиляции на этаже жилого дома, нужно проверить состояния шлейфов (состояние клапанов СДУ я снимаю с помощью техношлейфов на Сигнал-10) и состояние реле (открытие/закрытие клапанов СДУ), ну и определиться, нужно  давать команды на включение вентмашины и открывание клапанов СДУ или нет.    

8 лет назад

avatar
А чем клапана ДУ управляются? Если СП4 то там можно по событию клапан в исходном/рабочем положении писать сценарий на включение любого выхода без скрипта, в самом С2000М. Если я конечно не ошибаюсь.

Тремасов Константин Александрович 8 лет назад

Сигнал-10 же и управляются.  Через УК-ВК.   Когда проект делали - СП4 еще небыло.   ))   

 

Никифоров Евгений Валерьевич 8 лет назад

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

Тремасов Константин Александрович 8 лет назад

Есть несколько условий: 
1.  Заказчик пожелал сделать кнопки на всех этажах, и запускать еще вентиляцию и в ручную, но каждом этаже.   То есть если нажали кнопку на 3-ем этаже, то должны открыться клапана на 2-ом, 3-ем, и 4-том этажах и включиться вентмашина на чердаке.   Во как!      А при пожаре должно открыться все и вкючиться все на полную мощь. !   ))      
2. Желание научиться состоавлять скрипты ручками (для себя лично в профкопилку), плюс запутать конкурентов-шабашников (которые умеют только создавать Разделы в  программе и сувать туда Шлейфы, но тем не менее, цены на местном рынке сбивают сильно.    
3. Нехватка возможностей готовых скриптов в программе.     

На сторонней SCADA системе уже есть успешный опыт реализации проекта.  Все жду когда у ОрионПро расширятся графические возможности.      Да и системные тоже...    

 

Никифоров Евгений Валерьевич 8 лет назад

Ну что тут сказать, похвально, это по 2 и 3 пункту. По 1 пункту, написать можно, главное потом с привязками не запутаться. Я так понимаю, кнопки ручного запуска ДУ стоят на каждом этаже подключенные к шлейфам прибора, по нажатию приходит событие ПОЖАР, открываем нужные КДУ и ждем пока они не откроются, как только они открываются запускаем вентилятор? Если что можете писать на почту, помогу чем смогу, её в профиле можете увидеть.

Тремасов Константин Александрович 8 лет назад

Не совсем так.    Кнопки заведены ТехноШлейфами на Сигнал - 10.  По нажатию я буду включать их минут на 10.  Так, для вентиляции...   )))        Видимо жильцы будут много курить на площадке...      
Алгоритм такой.    
Нажимают кнопку - Срабатывает техношлейф - скрипт от нарушения техношлейфа запускает вентмашину и открывает клапана (думаю на время, минут на 10, потому что кнопки без фиксации).  То есть это все происходит без сигнала Пожар, без сирены, без запуска пожнасосов.    Две кнопки (шлейфы 3 и 4).  А вот от сработки от шлейфов 1 и 2 (пожарные), должно происходить все то же самое, но с полной иллюминацией (миганием ВЫХОДОВ, ревом сирен, звонком мальчикам по вызову (01), запуском фонтанов (пожнасосов)  под восторженные крики жильцов) .   (и СДУ будут открыты пока не сбросят тревогу)    


Пы. Зы.  Для ручного подачи сигнала ПОЖАР,  на этажах кроме кнопок включения вентиляции стоят еще и ручные извещатели.  

Никифоров Евгений Валерьевич 8 лет назад

Ждите, щя вам тут напишут что так нельзя, вы нарушаете, а как то, а как это.))) Со своей стороны скажу, для запуска "проветривания" можно написать сценарий в АРМ, а вот при пожаре крайне необходимо чтоб этот сценарий был задан в С2000М так АРМ самое ненадежное место в системе и без него соответсвенно не отработает нужный сценарий.

Тремасов Константин Александрович 8 лет назад

Это само собой разумеется.    В С2000М будет только сценарий ПОЖАР,  обойдутся без вентиляции...  То есть сценарий Вентиляции будет только в АРМе..    Все "плюшки" - только в АРМе, в С2000М - только суровая необходимость.     


Пы. Зы.   Интересно, а при Экспорте из АРМа в Пульт, это все перенесется?!  Жалко пульт еще не пришел, попробовать надо.        
 

Никифоров Евгений Валерьевич 8 лет назад

По этому поводу, пункт 6.4.1.1 Старая схема управления  и 6.4.1.2 Новая схема управления РЭ на АРМ Орион ПРО. Таблицы посмотрите.

Тремасов Константин Александрович 8 лет назад

Для добавления сообщений на форуме вам необходимо зарегистрироваться и указать мобильный телефон в своем профиле (зачем?)

Ну чтобы в общем картина была понятней, выглядит все это так:   Жилой комплекс из 3-х блок секций  (две секции по 11 этажей, и одна 14).  НВ каждой секции, со второго по последний этаж  стоят Сигнал-10.    Два шлейфа пожарных (1 (потолок в холле) и 2(запотолочное пространство)).  Сами квартиры стоят под охраной "автономок".     Два клапана системы СДУ и один клапан подпорной вентиляции (нагнетает воздух в шахту лифта после опускания и блокировки оного на первом этаже).    Состояние клапанов заводится на шлейфы прибора Сигнал-10. (Открыт/Закрыт) с 3-го по 8-ой.   9 и 10 шлейф - кнопки ручного включения вентиляции.    Вентмашины расположены на техническом этаже.  Там же расположены щиты управления вентмашинами и лифтами (их два).  Весь технический этаж (теплый чердак) контролируется так же двумя пожарными шлейфами прибора Сигнал- 10.    Незнаю, что за извращенцы эти проектанты, я бы все на КДЛ решил.  %-/        Клапана открываются одним реле  все разом через УК-ВК.   (по проекту должны были стоят соленоиды на 12 вольт с возвратной пружиной, но заменили зачем то на 220 Воль РЕВЕРСИВНЫ, в результате схема немного усложнилась.    . 

8 лет назад

avatar
Так что? Вы пока сами созданием сценария займетесь или мне начать пробовать? 

Тремасов Константин Александрович 8 лет назад

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

Никифоров Евгений Валерьевич 8 лет назад

Обращайтесь, если что. Буду рад помочь!

Тремасов Константин Александрович 8 лет назад

Конечно!   Я в принципе уже придумал как это реализовать, через несколько дней проверю на объекте.  Я в прошлом АСУшник, так что "автоматизировать" всякое оборудование и стыковать нестыкуемое  - моя специфика.   У Болида мне жутко не хватает хотя бы примитивных графических возможностей ОрионПро,  некоторых возможностей "куцего" языка скриптов (ну почему нельзя объявить Глобальную переменную?).  ну и так.. по мелочи много чего наберется...   ))  

Никифоров Евгений Валерьевич 8 лет назад

Всмысле нельзя объявить глобальную?

Тремасов Константин Александрович 8 лет назад

Один раз объявил ее, и потом использовать во всех скриптах.  
 

Никифоров Евгений Валерьевич 8 лет назад

И в теле другого скрипта я могу спокойно к ней обратится?!    )    И она сохранит последние присвоенные ей данные?!  

Никифоров Евгений Валерьевич 8 лет назад

Нет, я даже себе представить не могу как можно обратиться к переменной объявленной в другой программе? Вы не про функцию говорите часом?

Тремасов Константин Александрович 8 лет назад

Ну Функция  это несколько иное (по крайней мере в моем понятии).   Но я думаю, что это уже относится к теме Пожелания Разработчикам и дискуссию можно переносить туда.  Я представляю себе скрипты внутри ОДНОЙ программы как модули, а не как кучку совершенно разных программ.  (поправте меня если я ошибаюсь).  

Никифоров Евгений Валерьевич 8 лет назад

Видимо мы о разном говорим, я то не программист.

Тремасов Константин Александрович 8 лет назад

Для добавления сообщений на форуме вам необходимо зарегистрироваться и указать мобильный телефон в своем профиле (зачем?)

Добавить ответ

Для добавления сообщений на форуме вам необходимо зарегистрироваться и указать мобильный телефон в своем профиле (зачем?)

ПОКАЗАН

4296 раз

ЗАДАН

8 лет назад

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