PDA

Просмотр полной версии : ПЛК110-60 и Fast Counters



odekolon
10.10.2018, 18:39
Всем добрый день!
для задачи, требуются счетчики для подсчета величины перемещения . Грубо говоря, датчик холла на валу двигателя.
направление движения, задается одним из выходов. Типа "высокий уровень - вперед, низкий уровень - назад."
максимальная частота - 300 герц. Ошибка в 1-2 тика счетчика ,при реверсе, некритична, поскольку в момент реверса, предполагается обнуление счетчика.

программа написана в SFC, а блоки в ней, на LD.
Входы 1-4 , я сконфигурировал, как fast counters, назвал counter1, counter2 etc
но убей не пойму как мне теперь эти входы в LD применить.
заводить контакт с именем counter1 и подавать его на обычный STU или STUD ?
или нужно какой-то еще функциональный блок применять?

ПС извините за название темы, пунто свичер постарался, а я прозевал...

Мастеренко Иван
12.10.2018, 16:58
Здравствуйте!
Нужно перейти на другой язык программирования, например, CFC или ST.

odekolon
13.10.2018, 21:49
Здравствуйте!
Нужно перейти на другой язык программирования, например, CFC или ST.

Спасибо за участие! :)
но переходить на другой язык (ST) в данном проекте не с руки.
ждал я немного другого....:(

если б кто-то намекнул, что:
быстрые счетчики работают так: тупо считают импульсы в переменную типа WORD и обнуляются, при считывании, текущего значения. причем считывать можно в программе на любом языке. Хоть в том же лэддере, при помощи "блока с enable"

понять это, мне помог пример частотметра http://kipshop.ru/Primeri/Samples_plc1xx/Samples/17_Timer.Lib.zip
все отлично заработало.
немого поразмыслив, сделал свой FB на CFC и написал простенький отладочный проектик который и опробовал на макете. (в приложении)
все заработало, но обратил внимание, что мой драйвер выполняет реверс за 0,4 сек, что конечно же вносит ошибки.
сейчас доработаю FB (заведу ему на вход логические сигналы управления) а на выходы - физические выходы сигналов, так чтоб движок работал в режиме пуск-остановка-реверс. Это позволит знать положение исполнительного механизма в любой момент времени, точностью до 1 оборота движка.
PS
вот отладочный макет проекта
39195
движок и драйвер -внизу в центре
в центре - ардуина нана, которая отлично работает в режиме ввода 4-х аналоговых сигналов по MODBUS :D

Виталий Светашов
01.10.2023, 23:33
Здравствуйте!
Растолкуйте, пожалуйста, как работать с быстрыми счетчиками. Заменил модуль быстрых входов на Fast Counters. Связал с переменными. На DI1 подключил индуктивный датчик. Импульсы идут, светодиод на входе моргает, переменная не меняется. Чего я еще не сделал? Я правильно понимаю, что именно связанная с каналом переменная должна при поступлении на вход импульсов меняться автоматом?
70637
Чтение документации (всех 17-ти строк) только вносит непонятки.

Счетчик обнуляется в случае достижения значения большего, чем 65535 (FFFF16), либо, если происходит не увеличение, а уменьшение
значения счетчика, после того, как будет достигнут ноль, значение счетчика станет равно 65535 (FFFF16).
Что значит "уменьшение"? В каких случаях значение счетчика уменьшается? Где задается направление счета?
В общем, запутался в трех соснах, выручайте. Заранее благодарен.

upd. Вопрос закрыт. Мешался PRU0.prg.