Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Процедура по таймеру каждые 0.2 секунды для опроса оборудования (8.2 самописка)
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
cocon2003
Подключены весы через СОМ порт.
По таймеру опрашиваю и что-то делаю с весом.
Но посекундный опрос при постоянном досыпании груза до нормы напрягает - нужно чаще.

Процедура ОпросВесов()
    rs232.ЗаписатьСтроку("G55W");
    Вес = ОтветВесов; // глобал. переменная
КонецПроцедуры    

Процедура ВклНажатие(Элемент)
    ПодключитьОбработчикОжидания("ОпросВесов", 1, Ложь);
КонецПроцедуры

Процедура ВыклНажатие(Элемент)
    ПодключитьОбработчикОжидания("ОпросВесов", 0.1, Истина);
КонецПроцедуры

Vofka
Какое отношение это имеет использованию конфигурации ПУБ ? Вопросто вообще о 7.7?
cocon2003
Vofka @ Сегодня, 12:05 необходимо зарегистрироваться для просмотра ссылки,
Редкий гость на сайте - перепуталась ветка.
Есть возможность перенести?
Vofka
Переезжаем (надеюсь, я правильно стелепатировал куда).

cocon2003, теперь по теме. Сделайте так:
Процедура ВклНажатие(Элемент)
    ПодключитьОбработчикОжидания("ОпросВесов", 0.2, Ложь);
КонецПроцедуры
cocon2003
Vofka @ Сегодня, 14:58 необходимо зарегистрироваться для просмотра ссылки,
Спасибо за транспортировку,
но предложение недопустимо.
При значении Ложь - только целые числа принимаются :-(
Vofka
Да, действительно. В голову приходит такой вариант:

Процедура ОбработчикОжидания1()
    
    rs232.ЗаписатьСтроку("G55W");
    Вес = ОтветВесов;
    
    ПодключитьОбработчикОжидания("ОбработчикОжидания2", 0.1, Истина);
    
КонецПроцедуры

Процедура ОбработчикОжидания2()
    
    rs232.ЗаписатьСтроку("G55W");
    Вес = ОтветВесов;
    
    ПодключитьОбработчикОжидания("ОбработчикОжидания1", 0.1, Истина);
    
КонецПроцедуры    

Процедура ВклНажатие(Элемент)
    
    ПодключитьОбработчикОжидания("ОбработчикОжидания1", 0.1, Истина);
    
КонецПроцедуры

Процедура ВыклНажатие(Элемент)
    
    ОтключитьОбработчикОжидания("ОбработчикОжидания1");
    ОтключитьОбработчикОжидания("ОбработчикОжидания2");
    
КонецПроцедуры
cocon2003
Vofka @ Сегодня, 15:25 необходимо зарегистрироваться для просмотра ссылки,
Не совсем понял, но если Вы об этом
Процедура ТеребитьВесы()
    ПодключитьОбработчикОжидания("ОпросВесов", 0.2, Истина);
    ПодключитьОбработчикОжидания("ОпросВесов", 0.2, Истина);
    ПодключитьОбработчикОжидания("ОпросВесов", 0.2, Истина);
    ПодключитьОбработчикОжидания("ОпросВесов", 0.2, Истина);
    ПодключитьОбработчикОжидания("ОпросВесов", 0.2, Истина);    
КонецПроцедуры    

Процедура ОпросВесов()
    rs232.ЗаписатьСтроку("G55W");
    Вес = ОтветВесов;
КонецПроцедуры    

Процедура ВклНажатие(Элемент)
    ПодключитьОбработчикОжидания("ТеребитьВесы", 1, Ложь);
КонецПроцедуры

Процедура ВыклНажатие(Элемент)
    ПодключитьОбработчикОжидания("ТеребитьВесы", 0.1, Истина);
КонецПроцедуры

То чудо не случилось
Vofka
Я не об этом. Внимательнее посмотрите на код. Суть в том, что обработчики ожидания подключаются поочередно из разных процедур друг к другу. Как доступнее объяснить идею - не знаю.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.