PDA

Просмотр полной версии : Модуль вывода МУ110 в codesys



Deins
18.05.2017, 21:13
Здравствуйте!
Люди добрые, подскажите пожалуйста, правильно ли я прописываю модуль расширения? У меня МУ110-32Р.
Я тут полтора дня мануалы вычитываю, но какой-то полной ясности всё равно нет. А самих устройств тоже нет, придут примерно через двадцать дней, проверить не на чем. Не хотелось бы сейчас зацикливаться, надо программу выдумывать дальше, а выходные реле на модуле. Четыре восьмибитных блока по восемь контактов, как мне кажется, вот так должно быть.
Но мне частенько кажется не то, вот в чём проблема.31233

Евгений Багаев
19.05.2017, 11:01
Здравствуйте, Deins.
Рекомендую работать с битовой маской выходов. Она доступна в регистрах 97 и 98 соответственно. Добавляете 32bit output module и даете ему имя, например, Outs. Далее в коде можно обращаться к выходам модуля:
Outs.0:=TRUE; (*Замкнуть 1 выход*)
...
Outs.31:=TRUE; (*Замкнуть 32 выход*)
Проект во вложении

Deins
19.05.2017, 20:18
Евгений, не открывается проект, пишет, что файл "Модуль.рут" не найден. Таргет-файлы вроде все установлены, библиотеки тоже вчера ставил, пока разбирался.

Вы на меня сильно не раздражайтесь, давно хотел запрограммировать ПЛК, да всё возможности не было. А тут возможность представилась, да и задача, по-сути банальная, вот решил попробовать слепить на функциональных блоках. Да что там на блоках, на куче таймеров и промежуточных реле, огромной куче. Элементарная задача, в принципе.

Поэтому можно сказать, что я вчера скачал кодесис и начал вспоминать, что там и где я раньше читал об этом. А потом скачал ещё полторы тыщщи страниц всякого, и сижу, разбираюсь теперь с этим всем.
Код у меня получается (как я понял) достаточно громоздкий, но в визуализации работающий, а вот что там дальше - я пока очень и очень слабо соображаю. Отсюда и ворох глупых вопросов: почему лучше такой вариант, который вы рекомендуете? Могу я объявить выходными реле Outs.0 bit в своём коде? И где этот Модуль.рут, в конце концов?:D

Евгений Багаев
20.05.2017, 11:24
Работа с битовой маской дает преимущества в скорости обмена. Настройте конфигурацию ПЛК согласно приложенным изображениям.
3126431265

Deins
20.05.2017, 12:33
Дык это... Евгений, я так не умею.:eek:
У вас способ программирования ST, а у меня функциональными блоками. Я картинку прилепил, там выходное реле Out1 красным квадратиком выделено. В моём случае, где эти переменные объявлять, Outs.0-Outs.31?
В остальном я понял, спасибо.31279

Евгений Багаев
20.05.2017, 13:11
Обращение к выходам происходит через точку. Если в конфигурации битовую маску обозвали Outs, то в коде Ваш out1 надо заменить на Outs.0 и т.д.

Deins
20.05.2017, 14:12
Настроил конфигурацию ПЛК согласно приложенным изображениям. То есть, если раньше я присваивал каждому выходу своё имя, и выбирал его из списка глобальных переменных, теперь у меня в списке есть одна переменная Оuts, которую я беру, вставляю и через точку присваиваю ей номер.
31280
Спасибо за помощь!

zendo057
22.05.2017, 14:03
можно и по битно31296