Необходимо, чтобы из группы каналов с одинаковым типом и периодом пересчета один из них всегда обрабатывался первым. Как это сделать?
Posted by Потемкин В.В. (Участник № / Member № 31) on :
Что Вы имеете в виду: первичную обработку или обработку FBD-программой?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Пересчет каналов в базе осуществляется в порядке возрастания индексов каналов. Если Вы желаете управлять порядком пересчета каналов, то Вам необходимо сделать объект _БАЗА "загружаемым", тогда пересчет каналов будет осуществляться в порядке следования каналов в списке объекта _БАЗА. Таким образом, управляя местоположением канала в списке Вы можете управлять его порядком пересчета.
Posted by preo_alm (Участник № / Member № 33) on :
Сделал "загружаемым", выстроил каналы в нужном порядке - никакой реакции, каналы обрабатываются в произвольном порядке. Для информации - каналы КОНТР_1.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Обработка канала и опрос данных по каналам - два разных понятия. Дело в том, что процедура опроса данных по каналам с внешних источников - процесс асинхронный по отношению к пересчету базы каналов.
Posted by preo_alm (Участник № / Member № 33) on :
Ну хорошо, как тогда задать последовательность опроса каналов уже после того,как они были добавлены в объект? Потом, при опросе каналов КОНТР_1, когда берутся сохраненные в драйвере данные(без обращения к устройству - max_send=0, max_rec=0, sbuf[0]=0),часть данных теряется. В логфайле (собственном) пишется, что были опрошены все точки по каждому каналу, но за один период(заданный) каждый канал опрашивался несколько раз и в ТМ передавались только последние данные за период. Чем это может быть вызвано?
Да, и посмотрите пожалуйста вопросы в разделе Драйверы за 22.01.2002.