Создание и редактирование макросов

Автор VoronovMaksim88, 08 апреля 2015, 05:29:22

« назад - далее »

VoronovMaksim88

Хочу сделать макрос.
Создаю новый проект;
Программы - добавить - Z400;
Программы - Z400 - добавить - FBD макрос;
Открываю поляну макроса, добавляю вход выход;
Перехожу на поляну программы, кидаю н неё макрос;
Возвращаюсь на поляну макроса и переименовываю вход и выход;
Снова перехожу на поляну программы ,а там он остался без изменений. ПОЧЕМУ ?
Кидаю его ещё раз и вижу  эти  самые изменения. КАК ТОГДА ОБНОВИТЬ СТАРЫЙ МАКРОС ?
При проверке выдаёт ошибку. Скриншот во вложении.

mike

Макроблоки работают следующим образом:
при вытаскивании на схему первоначально создаются те ножки, какие есть в исходной макросхеме. Однако после этого блок Макрос не следит за процессом редактирования породившей его схемы. Это сделано для того, чтобы в процессе редактирования родительской схемы (удаление и добавление ножек, а так же смена их типа) не происходила "невидимые" для пользователя изменения в схеме, где этот макрос используется. Поэтому для приведения в актуальный вид макросов надо использовать команду "Обновить" (по умолчанию F3). По этой команде макрос перерисует свои выходы и входы, не нужные связи уберет. Однако в любой момент вы можете воспользоваться командой Undo, чтобы вернуть предыдущее состояние.
По поводу того, что при добавлении ножки в макросхеме не было ошибки на этот макроблок. Дело в том, что при проверке схемы программа проверяет все входы макроблока и ищет им соответствие в родительской схеме. Так как в схеме ножка есть, а в блоке нет, то он и не является ошибочным. А вот когда вы удалили ножку в схеме, а в блоке ее нет, в этом случае программа при проверке будет выдавать ошибку, так как не знает, что за ножка у макроблока.

VoronovMaksim88


ALexandr

Добрый день! Возможно ли сделать так , чтобы при выделении некоторых элементов на поляне при щелчке правой кнопки мышки, появлялось меню создать макрос? На мой взгляд удобнее если сразу не позаботился о создании макроса и чтобы разгрузить поляну!
Спасибо!

mike

Добрый день!
Мысль такая витала, но она идет вразрез с общей концепцией проектирования ПО в среде ZWorkbench.
Дело в том, что макрос в среде - это подпрограмма, которая может быть вызвана несколько раз в разных местах основной программы.

ALexandr


Yura

Здравствуйте, я только начал разбираться и не пойму вот это. Когда я добавляю в макрос блок "запись(slave)" Modbus то выскакивает окошко "Указанный порт не настроен как Modbus главный (клиент)" Порт я настроил, за пределами макроса (в поле программы) этот блок работает, спасибо.

mike

Добрый день!
Прицепите программу - посмотрим и разберемся