1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

А есть в EBP чтото похожее на #define

Модераторы: Глоб.модераторы, специалисты Weintek

Ответить

Автор темы
Number17
здесь недавно
здесь недавно
Сообщения: 24
Зарегистрирован: 30 окт 2019, 09:57
Имя: Евгений
Страна: РФ
город/регион: Нижний Новгород
Благодарил (а): 1 раз

А есть в EBP чтото похожее на #define

Сообщение Number17 »

Возможно ли в EBP сделать определение вроде #define в С? Ну вот бывает нужна константа видимая во всём проекте...

Madwolf
знаток Eplan
знаток Eplan
Сообщения: 1457
Зарегистрирован: 17 окт 2012, 11:24
Имя: Виталий
Страна: Беларусь
город/регион: Минск
Благодарил (а): 61 раз
Поблагодарили: 182 раза

А есть в EBP чтото похожее на #define

Сообщение Madwolf »

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

Автор темы
Number17
здесь недавно
здесь недавно
Сообщения: 24
Зарегистрирован: 30 окт 2019, 09:57
Имя: Евгений
Страна: РФ
город/регион: Нижний Новгород
Благодарил (а): 1 раз

А есть в EBP чтото похожее на #define

Сообщение Number17 »

Madwolf писал(а): 29 ноя 2019, 15:54 Если вам необходимо будет эту константу менять в процессе проектирования
Да в том то и дело что не надо. Имеем фиксированные адреса, например, которые используется в разных макросах. Вот и приходится прописывать цифрами в каждом макросе. Неудобно. Через User Tag тоже не получается, т.к. он содержит кроме значения ещё и тип памяти и используется функциями вроде GetData и SetData. Способ один изобрёл, но он тоже неоптимальный: Присваиваем какой то ячейки памяти осмысленное имя через UserTag, например, adr_Temp1_value. Далее при запуске программы инициализируем эту ячейку значением адреса. А далее в макросах получаем значение адреса с помощью функции GetData и осмысленного имени adr_Temp1_value без надобности вспоминать конкретное значение адреса.
Аватара пользователя

Jackson
администратор
администратор
Сообщения: 18758
Зарегистрирован: 17 июн 2008, 16:01
Имя: Евгений свет Брониславович
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 973 раза
Поблагодарили: 1854 раза

А есть в EBP чтото похожее на #define

Сообщение Jackson »

Number17 писал(а): 03 дек 2019, 08:59 Да в том то и дело что не надо.
Так и используйте какую-то внутренюю переменную и никогда в неё ничего не пишите. Это называется "рецепт".

Отправлено спустя 1 минуту 23 секунды:
Madwolf писал(а): 29 ноя 2019, 15:54Вряд-ли.
Мне тоже казалось что вряд ли, но не факт - надо документацию читать, возможно и есть такое. Но это бессмысленно при наличии рецептов.
По вопросам работы Форума можно обратиться по этим контактам.

Автор темы
Number17
здесь недавно
здесь недавно
Сообщения: 24
Зарегистрирован: 30 окт 2019, 09:57
Имя: Евгений
Страна: РФ
город/регион: Нижний Новгород
Благодарил (а): 1 раз

А есть в EBP чтото похожее на #define

Сообщение Number17 »

Jackson писал(а): 04 дек 2019, 14:39 Это называется "рецепт".
Проводя аналогию с "С" "рецепт" более похож на Структуру чем на #define. Рецепт - это набор разнотипных данных.
Аватара пользователя

Jackson
администратор
администратор
Сообщения: 18758
Зарегистрирован: 17 июн 2008, 16:01
Имя: Евгений свет Брониславович
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 973 раза
Поблагодарили: 1854 раза

А есть в EBP чтото похожее на #define

Сообщение Jackson »

Number17 писал(а): 06 дек 2019, 14:13 Проводя аналогию
А зачем?
По вопросам работы Форума можно обратиться по этим контактам.

Автор темы
Number17
здесь недавно
здесь недавно
Сообщения: 24
Зарегистрирован: 30 окт 2019, 09:57
Имя: Евгений
Страна: РФ
город/регион: Нижний Новгород
Благодарил (а): 1 раз

А есть в EBP чтото похожее на #define

Сообщение Number17 »

Jackson писал(а): 06 дек 2019, 15:03А зачем?
Очень уж похоже. Сама собой проводится).
По рецептам... Пробовал использовать, но вот натолкнулся сразу же на непонятное: как только я добавляю в проект какой либо рецепт, то при запуске симуляции проекта на ПК вываливается ошибка com_e30.exe. Удаляю рецепты - всё работает. Что не так?
Аватара пользователя

Jackson
администратор
администратор
Сообщения: 18758
Зарегистрирован: 17 июн 2008, 16:01
Имя: Евгений свет Брониславович
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 973 раза
Поблагодарили: 1854 раза

А есть в EBP чтото похожее на #define

Сообщение Jackson »

Number17 писал(а): 06 дек 2019, 15:41Что не так?
Глючный симулятор. Проверяйте на живой панели.
По вопросам работы Форума можно обратиться по этим контактам.

Madwolf
знаток Eplan
знаток Eplan
Сообщения: 1457
Зарегистрирован: 17 окт 2012, 11:24
Имя: Виталий
Страна: Беларусь
город/регион: Минск
Благодарил (а): 61 раз
Поблагодарили: 182 раза

А есть в EBP чтото похожее на #define

Сообщение Madwolf »

Симулятор норм. но надо учитывать, что рецепты хранятся в панели. Поэтому нужно при симуляции эти рецепты загрузить в симуляцию (ПК) Сори. но более внятно не могу написать.

Автор темы
Number17
здесь недавно
здесь недавно
Сообщения: 24
Зарегистрирован: 30 окт 2019, 09:57
Имя: Евгений
Страна: РФ
город/регион: Нижний Новгород
Благодарил (а): 1 раз

А есть в EBP чтото похожее на #define

Сообщение Number17 »

Madwolf писал(а): 06 дек 2019, 22:22 нужно при симуляции эти рецепты загрузить в симуляцию (ПК
Создал рецепт для размещения в памяти RW. Как его "загрузить в симуляцию"?

Madwolf
знаток Eplan
знаток Eplan
Сообщения: 1457
Зарегистрирован: 17 окт 2012, 11:24
Имя: Виталий
Страна: Беларусь
город/регион: Минск
Благодарил (а): 61 раз
Поблагодарили: 182 раза

А есть в EBP чтото похожее на #define

Сообщение Madwolf »

Лично я не знаю как это сделать, в этом и проблема. Симуляция оперирует собственными рецептами. Но их можно набрать вручную, есть сделать такую возможность. И при этом, при последующих симуляциях они будут сохраняться. Может можно как-то загрузить, но мне это было не нужно, поэтому я особо не заморачивался.
Аватара пользователя

Jackson
администратор
администратор
Сообщения: 18758
Зарегистрирован: 17 июн 2008, 16:01
Имя: Евгений свет Брониславович
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 973 раза
Поблагодарили: 1854 раза

А есть в EBP чтото похожее на #define

Сообщение Jackson »

Madwolf писал(а): 08 дек 2019, 00:09 Лично я не знаю как это сделать, в этом и проблема.
Вот про это я и говорил, имея в виду "глючный симулятор". Это не единственная проблема там. Так что проверять лучше на живой панели.
По вопросам работы Форума можно обратиться по этим контактам.

Автор темы
Number17
здесь недавно
здесь недавно
Сообщения: 24
Зарегистрирован: 30 окт 2019, 09:57
Имя: Евгений
Страна: РФ
город/регион: Нижний Новгород
Благодарил (а): 1 раз

А есть в EBP чтото похожее на #define

Сообщение Number17 »

Jackson писал(а): 08 дек 2019, 11:23 Так что проверять лучше на живой панели.
Пробовал работать с разными рецептами: и теми что в RW сохраняются, и с теми что в виде базы данных. Те что в RW видимо никак нельзя загрузить в симулятор, если только через макрос инициализировать ячейки памяти в RW. При загрузке в панель вроде бы всё работает.
Теперь про рецепты в виде БД: как уже писал выше, при добавлении рецепта в настройках симулятор начинал глючить и выдавать ошибку модуля com_e30.exe. Но вдруг ошибка пропала сама собой, не понял что и сделал. При симуляции полная непонятка. То данные рецепта нормально отображаются в объекте просмотра рецептов, то вообще ничего не отображается, то отображаются, но данные совсем не те. И зависят эти явления от типа данных элементов рецепта. При загрузке в панель всё отображается как надо.
Ответить

Вернуться в «WEINTEK (операторские панели)»