Цитата:
|
Профессора своего дела помогите написать скрипт: Задача стоит в следующем
Есть три положения телесигнализации (откл/вкл) и при срабатывание всех трех ТС в положении откл должна подаваться команда телеуправления на четвертый ТС для его включения. При этом если команда телеуправления 4 ТС прошла успешно и включилась, последующие команды телеуправления 4 ТС не подавать. При изменении положения ТС, блок ТС автоматически передает его состояние, но в скрипте как то надо указать его контроль состояния. Я уже весь запутался в написании скрипта и голову сломал. Если бы понимал в программировании, то мог бы сам написать скрипт |
А чему равно состояние 4ТС до момента срабатывания?
Если знать надо ли, то это просто проверить if(!TC1 && !TC2 && !TC3 && TC4) run TC4 PS. Кстати, а почему обычный счетчик, о чем ранее говорилось, не может служить признаком? |
laimas,
А не так? if(!TC1 && !TC2 && !TC3 && !TC4) run TC4 т.е включить когда ВСЕ выключены. Цитата:
|
Цитата:
Судя по ранее сказанному, выполнено, это 0, а значит не выполнено еще, это либо 1, либо ... не знаю что. А значит запускать 4 или нет, это false && false && false && true. Или если знать выполнены ли все и поступать от этого, то можно и так. Вроде бы очевидно, а вот почему проблемы при этом, я так и не смог понять. |
laimas,
Конечно, это гадание на кофейной гуще, но у меня сложилось впечатление, что анализируются не результаты выполнения команд, а состояния каналов -включен/выключен |
Цитата:
(TM('#TCX:Y:Z') == 0 && TM('#TCX:Y:Z') == 0 && TM('#TCX:Y:Z') == 0) ТМ-телемеханика, ТС-телесигнал, Х-номер канала, Y-номер КП, Z- номер ТС, ==0/1 - состояние ТС (откл/вкл) tmControl(X, Y, Z, 1) 1 - включить команда телеуправления |
rinat_n86,
а если начитать с начала, когда еще не было команд. Подается первая команда, она выполняется функцией tmControl(X, Y, Z, 1) и от нее получает состояние? Если да и запуск первой команды вернул не 0, тогда что? |
после выполнения команды телеуправления состояние телесигнализации не приходит. Вот здесь мне надо как то указать виде наверно переменной чтоб проводил опрос состояния ТС после команды ТУ. Если состояние ТС изменилосьс 0 на 1 то надо чтобы команда ТУ прекратилось
|
Цитата:
Если проблема только проверить, то ее быть не должно, if(....) и все. В чем тогда суть проблемы? |
Часовой пояс GMT +3, время: 19:11. |