Панель пользователя

Автор Тема: Знаете ли Вы?  (Прочитано 5163 раз)

Оффлайн mike

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1235
  • Карма: +34/-2
Знаете ли Вы?
« : 23 Февраль 2016, 20:51:00 »
Здравствуйте коллеги!
В этой ветке буду периодически делиться маленькими хитростями ЗВБ, которые существенно упрощают работу над проектами.

Оффлайн mike

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1235
  • Карма: +34/-2
Re: Знаете ли Вы?
« Ответ #1 : 23 Февраль 2016, 20:59:58 »
Первый праздничный выпуск посвящен автоматизации именования пинов.
Суть проблемы:
Есть два макроса: МАКРОС-1 и МАКРОС-2. Эти макросы нужно вставить в МАКРОС-3.
В МАКРОСЕ-3 есть еще пять переменных. Названия выходов макросов 1 и 2, а так же всех пяти переменных, должны соответствовать названиям выходов макроса 3.
В сторонних пакетах проектирования данная работа вызывает исключительное уныние, т.к. предстоит рутинная работа по копированию/вставке названий.

ЗВБ позволяет облегчить задачу и свести рутинный процесс к минимуму.

Поехали:

Оффлайн mike

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1235
  • Карма: +34/-2
Re: Знаете ли Вы?
« Ответ #2 : 23 Февраль 2016, 21:08:00 »
Создаем МАКРОС-1 и МАКРОС-2
Что будет внутри находиться не имеет значения. Я сделаю по 4 выхода.
Внутренний вид макросов показан на картинке.

Оффлайн mike

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1235
  • Карма: +34/-2
Re: Знаете ли Вы?
« Ответ #3 : 23 Февраль 2016, 21:15:43 »
Создаю МАКРОС-3, внутри этого макроса создаю необходимые переменные и устанавливаю на сцену переменные и макросы 1 и 2

Оффлайн mike

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1235
  • Карма: +34/-2
Re: Знаете ли Вы?
« Ответ #4 : 23 Февраль 2016, 21:21:45 »
Кстати, что бы вытащить все переменные на сцену, достаточно выделить первую переменную, нажать Shift и выделить последнюю переменную и потянуть выделенный блок на сцену. Для произвольного выделения нескольких переменных вместо Shift необходимо использовать Ctrl

Должно получиться, как на картинках.
« Последнее редактирование: 23 Февраль 2016, 21:23:31 от mike »

Оффлайн mike

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1235
  • Карма: +34/-2
Re: Знаете ли Вы?
« Ответ #5 : 23 Февраль 2016, 21:28:21 »
Теперь выставим на сцену выход макроса и размножим его (ctrl+c / ctrl+v) в необходимом количестве.
Порядок представления и тип данных не имеет значения.

Снаружи макрос выглядит ужасно.

Оффлайн mike

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1235
  • Карма: +34/-2
Re: Знаете ли Вы?
« Ответ #6 : 23 Февраль 2016, 21:36:28 »
Приведем его в порядок.
Выделяем пин выхода макроса 1 и нажимаем ctrl+c (то есть копируем пин макроса).
Затем выделяем необходимый выход в макросе 3 и нажимаем ctrl+shift+v
Название выхода макроса 3 изменится.

Оффлайн mike

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1235
  • Карма: +34/-2
Re: Знаете ли Вы?
« Ответ #7 : 23 Февраль 2016, 21:41:45 »
Если типы данных отличаются, то при вставке свойств будет выведено окно с запросом на действие.

Оффлайн mike

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1235
  • Карма: +34/-2
Re: Знаете ли Вы?
« Ответ #8 : 23 Февраль 2016, 21:46:35 »
Соглашаемся с изменением названия и типа данных.

Таким образом бОльшая часть рутинной работы выполнена в полуавтоматическом режиме.

В качестве заметки:
в ЗВБ реализован механизм копирования свойств. Поэтому, данным методом можно копировать свойства других объектов.

Творческих вам успехов, коллеги!
Надеюсь, этот инструмент сэкономит вам значительное количество времени.

Оффлайн Max

  • Постоялец
  • ***
  • Сообщений: 150
  • Карма: +0/-0
Re: Знаете ли Вы?
« Ответ #9 : 24 Февраль 2016, 08:36:34 »
Предлагаю оформить это все не в виде темы на форуме а в виде документации... и выложить на сайте. Так будет правильнее (ИМХО)... на форум нужно "лезть" в последний момент... когда в документации нет ответа на этот вопрос...

Оффлайн mike

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1235
  • Карма: +34/-2
Re: Знаете ли Вы?
« Ответ #10 : 24 Февраль 2016, 09:00:23 »
Конечно же это стоит в планах.
Почему сначала это пишется на форуме? Потому что хотим критики.
Нам важно знать ваши предложения и пожелания.

Оффлайн VoronovMaksim88

  • Ветеран
  • *****
  • Сообщений: 699
  • Карма: +10/-1
  • www.sibplc.ru
Re: Знаете ли Вы?
« Ответ #11 : 25 Февраль 2016, 04:52:14 »
Вытаскивать все переменные на поляну разом - это удобно, отлично придумали!!!

Насчёт копирования свойств:
Думаю было бы удачнее сделать так: при создании выхода(входа) внутри макроса он не имеет ни типа ни имени и не отображается при выходе из макроса, если теперь к нему зацепить связь, то он автоматически приобретает её тип и её имя. Или же тип и имя можно задать вручную в свойствах входа. При таком подходе нет необходимости копировать свойства горячими клавишами.

Оффлайн Artem

  • Глобальный модератор
  • Старожил
  • *****
  • Сообщений: 375
  • Карма: +13/-1
Re: Знаете ли Вы?
« Ответ #12 : 25 Февраль 2016, 08:41:26 »
Или же тип и имя можно задать вручную в свойствах входа.

Так не получится. Может сложится ситуация, когда будут вытащены две или больше копий макросов. И появится возможность устанавливать им разные типы данных и имена для одних и тех же ножек.
Макрос это по сути тот же блок и поэтому у него должны жестко определены типы и названия входов/выходов уже на этапе, когда его вытаскивают на схему.
Кстати, такой вариант мы уже пробовали пол года назад. Но возникла куча проблем и пришлось от этой идеи отказаться.

Оффлайн mike

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1235
  • Карма: +34/-2
Re: Знаете ли Вы?
« Ответ #13 : 18 Июль 2016, 22:14:58 »
Продолжу про работу с пинами.
Есть маленькая хитрость.
Например, нужны одинаковые названия пинов входов одного макроса и выходов другого.
На помощь приходит копирование свойств пинов.
Пример в двух скриншотах.
На первом я копирую свойства входа макроса №1, затем переключаюсь в макрос №2 и вставляю свойства выхода. Получается быстро.

Оффлайн VoronovMaksim88

  • Ветеран
  • *****
  • Сообщений: 699
  • Карма: +10/-1
  • www.sibplc.ru
Re: Знаете ли Вы?
« Ответ #14 : 19 Июль 2016, 03:48:31 »
Ух ты.  Прикольно!