Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 06.04.2018, 16:29
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от rinat_n86
порт опрашивается автоматически раз в 30 секунд, а положение 4 телесигнала приходит по изменению сразу автоматически без опроса
Ну если у вас все само по себе и по заданному промежутку времени, то почему просто не проверить значение времени когда сработает (должен сработать) четвертый сигнал?
Ответить с цитированием
  #12 (permalink)  
Старый 09.04.2018, 08:30
Интересующийся
Отправить личное сообщение для rinat_n86 Посмотреть профиль Найти все сообщения от rinat_n86
 
Регистрация: 06.04.2018
Сообщений: 14

Сообщение от laimas Посмотреть сообщение
Ну если у вас все само по себе и по заданному промежутку времени, то почему просто не проверить значение времени когда сработает (должен сработать) четвертый сигнал?
Подскажите тогда что необходимо дописать в скрипте чтоб проводилась проверка четвертого ТС. В программирование не силен
Ответить с цитированием
  #13 (permalink)  
Старый 09.04.2018, 08:55
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

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

Вообще-то телеметрия подразумевает обратную связь, а значит сигнал обратной связи может служить индикатором того, что выполняется/выполнено в данный момент времени.
Ответить с цитированием
  #14 (permalink)  
Старый 09.04.2018, 10:46
Интересующийся
Отправить личное сообщение для rinat_n86 Посмотреть профиль Найти все сообщения от rinat_n86
 
Регистрация: 06.04.2018
Сообщений: 14

Сообщение от laimas Посмотреть сообщение
Ну вы же сами сказали, что есть четыре команды, которые выполняются последовательно по таймеру. А это в общем то запустить 4 раза таймер, и достаточно проверять итерацию цикла по которому они и запускаются - если четвертая (последняя), значит последняя команда.

Вообще-то телеметрия подразумевает обратную связь, а значит сигнал обратной связи может служить индикатором того, что выполняется/выполнено в данный момент времени.
Четыре Команды последовательно по таймеру не выполняются. В скрипте указано что если три телесигнала будут по коду 1, подается команда на телеуправления на 4 телесигнал. Так вот в скрипт работает, но есть одна бяка что команда телеуправления подается постояно, хотя 4 телесигнал изменил свое состояние и пока в ручную не остановить команду ТУ, оно не прикратиться. Подскажите мастера программисты своего дела какой командой в скрипте указать что ТУ должно выполняться всего два раза и если первое ТУ успешное и положение ТС изменилось, то последующие ТУ не выполнять.
Ответить с цитированием
  #15 (permalink)  
Старый 09.04.2018, 12:13
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Так я задавал вопрос, каким образом можно подавать следующие команды не опросив порт что он изменил состояние, или не получив обратный сигнал, на что получил ответ, что этого не требуется. А как же тогда можно узнать завершены ли предыдущие команды и можно подавать следующую? Или то что прописано в условии, это и есть сигналы ответа (состояние) на ранее переданные команды?
Ответить с цитированием
  #16 (permalink)  
Старый 09.04.2018, 15:47
Интересующийся
Отправить личное сообщение для rinat_n86 Посмотреть профиль Найти все сообщения от rinat_n86
 
Регистрация: 06.04.2018
Сообщений: 14

Вообще в самом блоке телесигнализации прописано передавать ТС с временем 30 сек. По трассировке смотрю состояние 4 ТС передает, но мне кажется скрипт не понимает состояние ТС4, так как в скрипте не указан его состояние.

if (TM('#TCX:Y:Z') == 0 && TM('#TCX:Y:Z') == 0 && TM('#TCX:Y:Z') == 0) {
здесь указано состояние тс с 1 по 3
далее команду ТУ
tmControl(X, Y, Z, 1); 1 - включить ТУ 4 телесигнала
и вот здесь надо как то указать состояние 4-го ТС (как if (TM('#TCX:Y:Z') == 1). Вопрос здесь if надо?
далее команду ТУ не выполняется
}
sleep(2000);
}

Совет разработчика: В основном цикле сделайте какую-нибудь переменную, после первой команды телеуправления увеличивайте значение этой переменной, по прошествии какого-то времени соответственно принимайте действия, если ТС не переключился.

Подскажите и помогите
Ответить с цитированием
  #17 (permalink)  
Старый 09.04.2018, 16:10
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от rinat_n86
Совет разработчика: В основном цикле сделайте какую-нибудь переменную, после первой команды телеуправления увеличивайте значение этой переменной
Ну я же об этом тоже говорил, ответом было, что все не так, так как команды передаются не последовательно "Четыре Команды последовательно по таймеру не выполняются". А ведь иначе, это просто цикл с обходом массива команд, запустили первую, запомнили итерацию, и т.д. То есть то, что вам и советуют.

Сообщение от rinat_n86
Вопрос здесь if надо?
Ну если if (TM('#TCX:Y:Z') == 1), это условие запуска команды 4, то да, я же не в курсе того, что это вообще означает.
Ответить с цитированием
  #18 (permalink)  
Старый 09.04.2018, 16:29
Интересующийся
Отправить личное сообщение для rinat_n86 Посмотреть профиль Найти все сообщения от rinat_n86
 
Регистрация: 06.04.2018
Сообщений: 14

Сообщение от laimas Посмотреть сообщение
Ну я же об этом тоже говорил, ответом было, что все не так, так как команды передаются не последовательно "Четыре Команды последовательно по таймеру не выполняются". А ведь иначе, это просто цикл с обходом массива команд, запустили первую, запомнили итерацию, и т.д. То есть то, что вам и советуют.



Ну если if (TM('#TCX:Y:Z') == 1), это условие запуска команды 4, то да, я же не в курсе того, что это вообще означает.
Если б знал какой командой в скрипте создать переменную
Это не условие запуска команды, а состояние телесигнализации
Ответить с цитированием
  #19 (permalink)  
Старый 09.04.2018, 16:39
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от rinat_n86
Если б знал какой командой в скрипте создать переменную
Для этого команды не требуется, просто объявляется переменная, var cont = 1, например, которая увеличивается по мере выполнения команд, и после четвертой она будет равна 4.

Сообщение от rinat_n86
Это не условие запуска команды, а состояние телесигнализации
Если нужно выполнит нечто по условию этого состояния, то все верно, нужно проверять это состояние, то есть if(xxx==1) выполнить.
Ответить с цитированием
  #20 (permalink)  
Старый 09.04.2018, 16:50
Интересующийся
Отправить личное сообщение для rinat_n86 Посмотреть профиль Найти все сообщения от rinat_n86
 
Регистрация: 06.04.2018
Сообщений: 14

Сообщение от laimas Посмотреть сообщение
Для этого команды не требуется, просто объявляется переменная, var cont = 1, например, которая увеличивается по мере выполнения команд, и после четвертой она будет равна 4.



Если нужно выполнит нечто по условию этого состояния, то все верно, нужно проверять это состояние, то есть if(xxx==1) выполнить.
while (true) {
if (TM('#TCX:Y:Z') == 0 && TM('#TCX:Y:Z') == 0 && TM('#TCX:Y:Z') == 0) {
tmControl(X, Y, Z, 1); 1 - включить ТУ 4 телесигнала
}
if (TM('#TCX:Y:Z') == 1
var cont==1
sleep(2000);
}
Мне так надо оставлять скрипт или я ошибку допускаю
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пожалуйста помогите сделать проверку выполнения vk Dodik Общие вопросы Javascript 3 01.03.2013 16:49
Помогите пожалуйста разобраться со скриптом Shalty Opera, Safari и др. 1 21.01.2013 16:41
Пожалуйста помогите решить задачу на java alex01rus1991 Элементы интерфейса 9 27.11.2012 01:02
Помогите пожалуйста с тестом alex-chrono Общие вопросы Javascript 0 14.11.2012 19:23
Помогите, пожалуйста! rzhsasha Ваши сайты и скрипты 2 20.07.2009 21:07