rsLogix 5000, структура программы для одновременного управления 30 двигателями

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

Скриншот рабочей области и структуры подпрограммы Control

Как видите, у меня есть подпрограмма Control. Каждая ступень этой подпрограммы вызывает другие подпрограммы ниже нее по порядку. Drive_Status_1 и 2 вызываются автоматически. Другие подпрограммы вызываются только тогда, когда элемент «проверить на» имеет значение «истина».

Этот способ требует изменения всех тегов для каждой подпрограммы для каждого драйвера. Необходимость повторно вводить несколько тегов и следить за тем, чтобы не пропустить ни одного, уже привела к некоторым досадным ошибкам, и я могу только представить, что с 30 дисками ситуация ухудшится. Есть ли способ лучше?


person prov    schedule 12.07.2018    source источник


Ответы (1)


У тебя все хорошо. Много способов содрать шкуру с кошки. Похоже, вы используете 1756-L82E, у этого процессора достаточно мощности, чтобы делать то, о чем вы просите. Я только что сделал проект управления наполнителем/конвейером бутылок, в котором используется 35 различных приводов. Мы управляем ими всеми через Ethernet i/P, я даже не использую управляемый коммутатор, и у нас нет проблем. Все они бегут одновременно. Я редко разделяю диски на подпрограммы, в этом примере все 35 дисков управляются одной подпрограммой. Как бы то ни было, я ограничиваю данные настройки/параметров в рамках логики. Я стараюсь максимально упростить логику. Настройте свой привод, а затем используйте только необходимые параметры в рамках логики. Примеры команд: вперед/назад, пуск/останов, сброс ошибки и скорость. Примеры обратной связи: Активный, Неисправный

Ниже приведена ссылка на пример простой схемы управления приводом. логика диска

person PaulMc    schedule 01.08.2018
comment
Я хотел бы уточнить свой ответ относительно использования подпрограмм. Мы используем подпрограммы для группировки элементов, в данном случае управления двигателем/приводом, в группы, связанные с процессом. Я пытаюсь думать о людях, которые приходят позже и должны расшифровать нашу логику. В примере, который я использовал выше, у нас есть конвейеры с метками задач, и в этой задаче есть 7 подпрограмм, которые группируют двигатели по этапам процесса. Конвейеры Depal, объединитель ополаскивателя, подача, разгрузка, накопление, объединитель этикетировщика и разгрузчик этикетировщика. - person PaulMc; 29.08.2019