Какой может быть "REAL" при подсчете импульсов ?
Вид для печати
Четырёх ком-портовая мокса воткнута как плата расширения в ПК. Появилась возможность разделить ПЛК на 4 группы. Номера ком-портов хорошо просматриваются в диспетчере устройств. К ним обращаются 4 программы, каждая к своему порту.
Запрос, ожидание по таймауту или пока длина буфера будет равна 75, затем - считывание данных из буфера. 0.09 сек, поставленные на таймаут вполне достаточны.
Элементарно: импульсы (содержатся в формате DINT) надо пересчитывать в реальные единицы с учётом цены этих импульсов, к-та трансформации, а при получении значений текущей мощи ещё и делить на 200. Получаются, иногда, числа с запятыми.
Поэтому решил, чтобы не таскать по проводам знаки, порядки и мантиссы, лучше буду брать данные целым числом. И выиграл на этом в том, что за 1 запрос снимаю данные по 8 входам сразу, больше в буфер не лезет.
Вы, по сути предлагаете то же самое, только счётчики всё равно надо обнулять в один прекрасный момент. И всё равно придётся синхронизировать это обнуление с выполнением программы "наверху" и придётся это делать опять-таки по времени. И там наверху, просто, будут другие проблемы. Так выгоднее - к этому решению пришёл.
Ладно, Вольд, это тема для другого разговора. Не эта бы фигня - всё было бы ништяк. В целом и в подавляющем большинстве система работает. И показатели бъют в рамках своёй точности и методике обработки данных.
В бы лучше что-нибудь про явление с "отпусканием линии" где в КС непонятно что. Я впервые услышал об этом.
С одним направлением поисков определился - проверим ситуацию с заземлением. А если история будет продолжаться в том же духе?
У тебя максимальное время в течение которого ты не можешь принять правильный пакеты от ПЛК какое ? Правильный пакет это тот, у которого правильная КС. С какой периодичностью ты шлешь запросы в ПЛК ?