Мешает здравый разум. Как Вы это себе представляете?
Я об этом догадываюсь.
Я такого не говорил. Просто удивляюсь - у кого хватило ума разработать счётчик без сброса в ноль, не говоря уже о предустановке.
За такой совет - большое спасибо, обязательно посмотрю, что за библиотека.
Энкодер я взял DFS-60. DRS вроде как снимаются с производства. По крайней мере, мне так манагер из Сик сказал. А какая разница - какой энкодер? Вроде бы у всех есть сигналы А, В и Z, и все работают одинаково.
PS. Посмотрел, что за ФБ INC_DEC в библиотеке OSCAT. Это программная обработка двух сигналов с дискретных входов. Я такую программулину уже написал за две минуты. Я рассчитывал получить АППАРАТНЫЙ скоростной счётчик, работающий в фоновом режиме, независимо от моей программы. А программа должна была только считывать количество импульсов из регистра.
В принципе, я такой счётчик и получил. Только в ноль сбросить его не могу. А без этого - на кой он мне нужен? Кто догадался сделать такого уродца?
Последний раз редактировалось olc; 28.10.2011 в 21:23.
Я, могу Вам только посочувствовать! По всей видимости необходимо принимать другое, или более кардинальное решение задачи. А какая марка энкодера?
Другое решение принимать поздно. Контроллер уже приобретён, оборудование изготовлено и должно быть сдано заказчику через несколько дней.
Проблему я, конечно, решу программным путём. Но я рассчитывал получить полноценный счётный модуль в составе ПЛК, наподобие как, например, в контроллере 314-2BG03 от Випы
а получил дулю, и теперь, вместо того,что бы спокойно и быстро выполнить свою работу, придётся выёживаться, как мухе на стекле.
Последний раз редактировалось olc; 28.10.2011 в 21:00.
Леонидыч, че-то ты злой сегодня в тяпницу-то вечером! Добрее, к людям помягше))
А по поводу уродца ты прав, конечно.
Можно и так, но гиморно, надо переход через ноль анализировать, сразу сделать нельзя было нормально?
Алексей Дмитриев
Сочувствую.
Я тоже очень удивился когда начал копать эти контроллеры после предложения постоянного заказчика перейти на что-то подешевле, например Овен.
Жесть... для тех кто понимает какой это бред со счётчиком.Во первых кто мешает переконвертировать ФБ из степа в КДС
И не важно что там пишут в рекламе и инструкциях, нет в ПЛК ОВЕН традиционных High-speed counters
Последний раз редактировалось BETEP; 30.10.2011 в 23:02.
В Step7 это SFB47. Блок защищён, и его без пиратской отмычки не вскроешь. Ему просто указываешь номер канала, к которому подключен счётчик, и крутишь счётчиком как хочешь. Для управления счётчиком в этом ФБ 8 входных переменных, 11 выходных и 12 внутренних маркеров. Кроме того, конфигурация счётчика задаётся в HW Config.
Пример такого контроллера - CPU314C-2DP
Последний раз редактировалось olc; 31.10.2011 в 09:12.
Задачи разные бывают
иногда например счётчик сбрасывают в тот момент когда энкодер не крутится, в основном так и происходит, отмерили нужное кол-во импульсов, остановились для выполнения какой-либо операции (отрезать, штампануть, просверлить и.т.д), и спокойненько сбрасываем счётчик не теряя никаких импульсов.
а когда нужен сброс "на ходу" (достаточно редко) пользователь сам определяет возможные потери и возможность применения того или иного контроллера.
во многих контроллерах, в счётчике можно задать значения при достижении которых отработает прерывание, в этом прерывании можно немедленно обнулить счётчик и не потерять ни копейки импульсов.
В нормальном счётчике должен быть такой минимум:
не теряет ни одного импульса на заявленной частоте.
Сброс несколькими способами, в том числе по Z фазе.
Кроме сброса нужна возможность записи в счётчик любого значения.
Счётчик должен вызывать прерывание по заданному значению, и желательно по нескольким заданным значениям.
размер счётчика в одно слово... ну это прошлый век, нужно в два
Кстати ломал недавно один контроллер с кучей счётчиков на борту, нет в нём никаких ПЛИС, память, порты и мозги от фуджицу.
Последний раз редактировалось BETEP; 31.10.2011 в 14:03.
Маленький офтопик: Вы, наверное, не скажете, что разработчики операционных систем некомпетентны? К чему я веду?
Есть в ОС такая штука как системный таймер. Сердце системы. Обработчик его прерывания обычно стараются написать на ассемблере или в крайнем случае на С. Приоритет на скорость обработки.
Так вот. Оказывается, любой самый идеальный код недостаточно быстр для точного срабатывания по таймеру.
Поэтому разработчики процессоров делают специальный, аппаратный таймер для такой задачи, который не просто вызывает прерывание при переполнении, но и сообщает ОС, на сколько она, ОС опоздала при его обработке.
Речь идет о микро и наносекундах.
А тут предлагают из в 50 раз более медленного основного цикла ПЛК управлять счетчиком. И оставить все проблемы от такого на пользователя.
Вы не пробовали управлять автомобилем, открывая глаза раз в 5 секунд?