Просмотр полной версии : генератор в плк100
Инженер-Эл
03.12.2009, 08:55
Пытаюсь запустить аппаратный генератор для 12 выхода ПЛК100
(подмодуль "Generator" на Discrete output 2 bits)
Но он прописывается на выход 6.0, а не на 6.1...
прописываю второй, он ложится на 6.1, но не работает...
в чём ошибка?
Филоненко Владислав
03.12.2009, 10:37
какой конкретно плк? проект выложите.
Инженер-Эл
03.12.2009, 14:33
Ну конечно же с транзисторными выходами...
Какой проект? Просто прописываем в "конфигурации ПЛК", в Discrete output 2 bits "добавить подъэлемент - генератор"...
Филоненко Владислав
03.12.2009, 16:43
Модуль генератор не имеет настройки ножки и всегда привязан к одному и тому-же выходу.
И чтобы он работал и на релейной версии - это нога 6.0. (правда на релейной он особо и не нужен).
И его можно вставить только 1 штуку. Что логично :)
Из описания:
Подмодуль «Генератор» (Generator)
Модуль «Генератор» (Generator) – программный модуль, расширяющий функционал дискретного выхода и осуществляющий за счет аппаратного обеспечения процессора функционирование выхода в режиме высокоточного и высокоскоростного генератора с изменяемой скважностью.
Примечание. Особенности аппаратной реализации ОВЕН ПЛК позволяют осуществлять генерирование сигнала для ПЛК100-К только через одиннадцатый выход. При этом выход ПЛК100-К способен выдавать импульсы, как единичные, так и нулевые, длительностью не менее 30мкс.
Инженер-Эл
03.12.2009, 21:48
вот почему в описании сказано про 12 выход?
описанию генератора уделено пара абзацев и вот такие ляпы...
как же программировать?
на такую простую вещь как генератор сегодня убил пол-дня, что бы догадаться как его запускать, как прописывать и где этот выход искать...
описание слабое и неточное...
Филоненко Владислав
03.12.2009, 21:58
каком описании? я привел выдержку из описания, там - 11 выход.
Инженер-Эл
04.12.2009, 06:23
сейчас посмотрел...
это было старое описание, в новом исправлено на 11 вывод...
Инженер-Эл
04.12.2009, 09:46
Кстати для тех, кто займётся генератором, он управляется переменной 6.0.2 "Amount Ticks "0xffffffff -infinite,0x00 - Stoр"
для перезапуска нужно записать в неё 0, а затем число импульсов в ДЕСЯТИЧНОМ формате...
Филоненко Владислав
04.12.2009, 12:05
можно и в 16-чном, если настроить среду исполнения на режим 16-ти ричных чисел :)
Дмитрий Артюховский
09.12.2009, 01:41
Кстати для тех, кто займётся генератором, он управляется переменной 6.0.2 "Amount Ticks "0xffffffff -infinite,0x00 - Stoр"
для перезапуска нужно записать в неё 0, а затем число импульсов в ДЕСЯТИЧНОМ формате...
Вас ждет еще много открытий ))) Например, для изменения частоты, количества импульсов и пр. вам следует остановить генератор, в следующем цикле ввести новые параметры, и в следующем цикле вы их увидите. И осторожнее с инверсией выхода, могут появиться "зубы"
Инженер-Эл
09.12.2009, 22:15
да нет... изменяю частоту в течении пачки и формирую разгонную характеристику для шагового двигателя...
Дмитрий Артюховский
10.12.2009, 18:26
было бы интересно посмотреть на проект :D .... просто не понятна идея... для разгона ШД меняют (уменьшают) время между последовательными шагами, а менять частоту прыжками после нескольких шагов - это очень медленно и рвано, легко потерять синхронизацию.... ведь чаще чем раз в цикл контроллера вы частоту не поменяете :eek:
Инженер-Эл
11.12.2009, 14:31
уменьшить период и увеличить частоту, это не одно и тоже?
>ведь чаще чем раз в цикл контроллера вы частоту не поменяете
я думаю, что этого достаточно...
первый шаг - период 300 тактов
второй шаг - период 299 тактов
третий шаг - период 298 тактов
... и т.д.
Дмитрий Артюховский
13.12.2009, 17:50
эээ, а смысл этого действия? шаговые двигатели из удержания сразу поддержат 300 - 400 герц, а разгоны делают для вывода шд на частоты до 5-10 кгц... что никак не укладывается в циклы контроллера.
... можно конечно предположить что старт с такой низкой частоты ( 300 тактов = 3 гц ) требуется из-за гиганской инерции нагрузки... но тогда, мне кажется, не правильно выбран сам тип привода ))
Инженер-Эл
14.12.2009, 05:27
имеется оборудование, на котором нужно заменить контроллёр, сервопривод стоит. нужно повторить управляющие сигналы предыдущего контроллёра...
даже если считать такты контроллера, то 300 тактов=0.3 гц, а если считать в тактах аппаратного генератора 11 вывода, то 1 такт=10 мкс, 300тактов=333 гц - начальная частота разгона...
Дмитрий Артюховский
14.12.2009, 09:33
типовая длительность цикла плк "овен" 1 мс. соотв. 300 циклов = 300 мс = 0,3 с -> эквивалент 3,333 гц.
если вы начинаете разгон с 333 гц, то по идее, поменять частоту нужно через 3 мс, т.е. через 3 цикла контроллера, что в принципе возможно, правда с оговоркой на несинхронность "модуля генератор" и цикла контроллера, но уже на 2 шаге времена точно не сойдуться.... кроме того, при перезагрузке значения частоты, длительность текущего формируемого импульса может прыгнуть в непонятную сторону из-за перепрограммирования внтренних счетчиков.
... может это и будет работать если нужно просто вращение (движение) но на шаговом приводе обычно не допускается потери шагов...
я поднимал задачу с шаговым двигателем, работает но идеального решения не получается пока (на плк100, получилось на 110), поэтому очень интересны все мысли и ход их возникновения ))))
Инженер-Эл
15.12.2009, 14:56
там не совсем шаговый двигатель. там сервопривод со своим контроллером. я просто ему даю последовательность импульсов, как на соседней машине... описание на английском и подробностей я не знаю и он пока не запустился...
а по осциллографу импульсы красиво получаются...
Powered by vBulletin® Version 4.2.3 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot