Archived
Этот пост заблокирован, редактирование отключено
Программное обеспечениеВопросы по zWorkbenchRe: Создание и редактирование макросов
Вопросы по системе сквозного проектирования и менеджмента проектов
Исходное сообщение:
Yura, 12.09.2016, 22:33

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

Re: Создание и редактирование макросов
Добрый день!
Прицепите программу - посмотрим и разберемся
Прицепите программу - посмотрим и разберемся
VoronovMaksim88, 08.04.2015, 05:29

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

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

Re: Создание и редактирование макросов
Спасибо, понял.
ALexandr, 22.07.2015, 10:18

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

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

Re: Создание и редактирование макросов
Мысль понятно.
Спасибо! :)
Спасибо! :)