PDA

Просмотр полной версии : Быстродействие СПК107



Евгений302
14.12.2016, 08:28
Доброго времени суток , заранее извиняюсь за вновь созданную тему , ответа на свой вопрос я не нашел .
Использовал СПК107 совместно с 2мя модулями ввода вывода и одним модулем аналогового вывода сигналов для управления технологией машины с дизельным ДВС и технологией на гидроприводе , запск прошел удачно , логика работает отлично , связь с модулями работает , осталось решить один вопрос : одним из функционала работы машины является счетчик оборотов , который в последствии достижения определенного числа , отключает технологию , проблема в быстродействии пересчета числа оборотов , возможная скорость вращения данного узла уменьшена до придела , далее будет падать производительность машины в целом. Програмный код счетчика написан на языке релейных диаграмм , код оптимизирован. Визуально вход в дискретный модуль срабатывает стабильно , без прерываний, но на самом СПК107 бывают моменты когда этот оборот не посчитан, что сказывается на точности измерения числа оборотов, влекущую за собой чрезмерную выдачу сырья. Можно ли как то ускорить процесс подсчета , какие есть варианты ?

Заранее благодарен.

slonegd
14.12.2016, 16:48
Если я всё правильно понял...
Оптимизация самой программы мало влияет на пропуски, поскольку информация программе приходит с одного из модулей, который опрашивается дискретно. Видимо, в момент, когда проходит сигнал на счетчик, опроса иногда не бывает. Я вижу 2 варианта.
Идеальный, поставить счетчик импульсов, с которого считывать по сети число прошедших импульсов. Аппаратно ничего не пропустите, а программно получите последнее актуальное число.
Не идеальный, посадить блок расширения, который передает сигнал контроллеру на отдельную линию модбас и максимально быстро опрашивать его. Но, в зависимости от скорости, пропуски теоретически всё равно могут быть.

smk1635
14.12.2016, 17:19
Если нужна точность, то:

Добавить счетчик СИ30 (http://www.owen.ru/catalog/schetchik_impulsov_owen_si30/opisanie).

Завести его на СПК по RS485.

С СПК задавать уставку. В СПК считывать текущее показание счетчика.

Команда на останов с - выходного реле СИ30.

Это наверное, наименее затратный вариант, в данном случае.

Евгений302
16.12.2016, 04:54
Вариант с счетчиком довольно интересный , тут главное не потерять точность , а взаимодействие СПК и самого счетчика осуществляется таким же образом , как и со всем остальным ?

slonegd
16.12.2016, 07:50
по ссылке выше:
Поддержка распространенных протоколов Modbus (ASCII, RTU), ОВЕН.

Так что да, так же как и с другими модулями, по modbus путем чтения/записи соответствующих регистров.