Счетные входы

Автор serov, 02 февраля 2017, 14:07:48

« назад - далее »

serov

Где-то был уже вопрос по счетным входам. Интересует кто использовал и как работает. Какую частоту может посчитать контроллер.

VoronovMaksim88

Боюсь обмануть, но по-моему пока на стадии испытаний.

serge197a

писали 100гц.
это только к примеру для учета количества нажатий.

есть много счетчиков импульсов с модбас сторонних производителей.
заводить на плк скоростной счет не имеет смысла, без прерываний.

VoronovMaksim88

Я недавно овеновский си30 прикрутил к 2G до этого 2 месяца бился пытаясь на самом 2G реализовать квадратурный счёт. А теперь доволен как слон. Уверен что си30 и к зентеку хорошо при крутится по модбасу.

serov

Про внешние варианты я знаю, но меня они не устраивают по ряду причин.
Что я хочу сделать, опишу проект:
Очень много людей сталкиваются с проблемой отопления, на рынке адекватного и в то же время функционального решения нет. Это будет контроллер управляющий и контролирующий тепловой пункт в небольших зданиях, например в коттеджах. Что нужно заказчику: 1. не заморачиваться и 2. вовремя получать от системы тревожные сообщения.
Так вот, касаемо 2-го пункта, хочу диагностировать утечку теплоносителя в замкнутой системе. Как это сделать? Просто, есть клапан подпитки, который открывается при снижении давления ниже нормы. Если поставить расходомер с импульсным выходом, то можно знать как много подпитывается система. То есть как много утекает теплоносителя за определенный период времени. Мгновенный расход на подпитке специально ограничивается, поэтому он довольно маленький и частота импульсов с расходомера будет небольшой. Если контроллер посчитает 100 Гц то всё хорошо, по прикидкам там не будет больше 20Гц.
НО!! Как контроллер считает импульсы? Это сделано на уровне ядра и железа, или как-то привязано к циклу? Например у меня цикл уже увеличен почти до максимума, до 500мс. Играет ли роль время цикла и вообще загрузка контроллера?
Может быть играют роль определенные задачи выполняемые в данный момент времени? Например работа по 485. Тогда я в должен буду предусмотреть в программе приостановку определенных задач на время открытия клапана подпитки и, соответственно, подсчета импульсов.

serov

Кстати особой-то точности там и не надо, ну пропущу я пару импульсов - да и бог с ними. В общем кол-ве они погоду не сделают.

serov

Вопросы-то у меня скорее к разработчикам получается. Но может быть кто-то уже реализовывал что-то подобное.

VoronovMaksim88

Я конечно не разработчик  :)
Но счетные входы думаю работают на аппаратном уровне и не должны быть привязаны к циклу и к загрузке сети.

Artem

Счетные входы конечно же реализованы на уровне ядра. И не зависят от программы, которая исполняется. Работают следующим образом. За время одного цикла FBD-программы счетчик считает импульсы и это значение можно увидеть на след. цикле на выходе блока. Таким образом на выходе всегда отображается количество импульсов, которые были "пойманы" на предыдущем шаге. Поэтому для работы с этим входом надо сделать небольшую схемку, которая будет складывать эти импульсы в какую-нибудь переменную.
В справке к программе есть пример - Система помощи ZWorkbench ›› Язык программирования FBD ›› Переменные контроллера ›› Универсальные входы.

serov

Спасибо, буду пробовать, отпишусь.