Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: ST в среде Полигон

  1. #1

    По умолчанию ST в среде Полигон

    Как из ST-программы обратиться к выходу (входу) блока, находящегося в FBD-блоке? Конструкция, показанная на скрине, вызывает ошибки при проверке.

    И что вообще можно почитать про ST в Полигоне? Например, про создание библиотечных блоков на ST.
    Изображения Изображения

  2. #2

    По умолчанию

    Цитата Сообщение от TonyMilkers Посмотреть сообщение
    Как из ST-программы обратиться к выходу (входу) блока, находящегося в FBD-блоке? Конструкция, показанная на скрине, вызывает ошибки при проверке.

    И что вообще можно почитать про ST в Полигоне? Например, про создание библиотечных блоков на ST.
    Добрый день.

    Напрямую к входам/выходам блоков другой программы обратиться не получится. Потребуется использовать промежуточные глобальные переменные.
    Информация о языке ST приведена в справке в самой среде Полигон. Создание составного блока на ST в целом не отличается от создания составного блока на C++. Информация также приведена в справке в разделе Среда разработки - Структура проекта - Функциональный блок - Составной блок - Блок на ST.
    Инженер по продукту ПЛК

    e-mail: a.pineko-skvortsov@owen.ru

  3. #3

    По умолчанию

    Спасибо. За полдня удалось разобраться с записью значений в глобальные переменные. Просто и очевидно! Встроенная справка очень помогла, особенно раздел "Среда разработки/Создание библиотеки" – исчерпывающий гайд.

    А вопрос попроще: в каком формате можно экспортировать глобальные переменные, чтобы можно было их импортировать в другой проект?

  4. #4

    По умолчанию

    Добрый день,
    Почитал "Среда разработки/Создание библиотеки", но не понял как этот раздел справки помог разобраться с записью в глобальные переменные
    Если использовать глобальные переменные в проекте с резервированными контроллерами, будут ли копироваться значения этих переменных из основного контроллера в резервный?

  5. #5
    Пользователь
    Регистрация
    22.07.2024
    Адрес
    Санкт-Петербург
    Сообщений
    32

    По умолчанию

    Цитата Сообщение от TonyMilkers Посмотреть сообщение
    А вопрос попроще: в каком формате можно экспортировать глобальные переменные, чтобы можно было их импортировать в другой проект?
    Добрый день!
    Такой возможности (экспорт-импорт глобальных) пока не реализовано.

  6. #6
    Пользователь
    Регистрация
    22.07.2024
    Адрес
    Санкт-Петербург
    Сообщений
    32

    По умолчанию

    Цитата Сообщение от S#716_0P Посмотреть сообщение
    Добрый день,

    Если использовать глобальные переменные в проекте с резервированными контроллерами, будут ли копироваться значения этих переменных из основного контроллера в резервный?
    Добрый день! Да, синхронизировать глобальные переменные можно. Для этого раздел с переменными надо добавить в блок SyncMan (или в оба блока, если их в проекте два).

  7. #7

    По умолчанию

    Добрый день.

    Если я:
    1) создаю группу типов в разделе "Библиотека";
    2) в этой группе создаю ФБ на FBD;
    3) у этого ФБ создаю входы/выходы,
    то могу ли я достучаться напрямую до этих входов/выходов из ST программы?

    Если да, приведите, пожалуйста, пример обращения. Если нет, то планируется ли такая возможность?

  8. #8
    Пользователь
    Регистрация
    22.07.2024
    Адрес
    Санкт-Петербург
    Сообщений
    32

    По умолчанию

    Цитата Сообщение от TonyMilkers Посмотреть сообщение
    Добрый день.

    Если я:
    1) создаю группу типов в разделе "Библиотека";
    2) в этой группе создаю ФБ на FBD;
    3) у этого ФБ создаю входы/выходы,
    то могу ли я достучаться напрямую до этих входов/выходов из ST программы?

    Если да, приведите, пожалуйста, пример обращения. Если нет, то планируется ли такая возможность?
    Добрый день!

    Да, это возможно для экземпляра вашего типа блока. Для этого нужно:
    1) создать экземпляр блока на странице модуля, задать ему нормальное имя (оно будет его именем в коде на ST)
    2) создать раздел глобальных переменных
    3) с нажатым Ctrl потянуть блок в раздел глобальных, при отпускании мыши выбрать Добавить (заголовок блока должен стать желтым, в дереве он должен появиться в разделе)
    4) в коде на ST описать доступ к нему в секции VAR_EXTERNAL, либо подключить все глобальные (подробнее тут https://polygon2.ru/biblioteka/?libr...l2&doc=globals).
    Затем в коде можно обращаться к входам/выходам этого блока также как если бы его экземпляр был создан тут же в коде (но может быть Ваш вопрос был о том как создать его в коде?).
    При этом действуют те же ограничения на блоки, которые можно использовать в коде на ST: без циклических входов/выходов, только стандартные типы данных, без константных входов и указателей в качестве выходов (подробнее тут https://polygon2.ru/biblioteka/?libr...ng_limitations)

  9. #9

    По умолчанию

    Добрый день.

    Вроде, всё сделал, как вы говорите, но при трансляции выдаёт ошибку.
    Изображения Изображения

  10. #10

    По умолчанию

    И ещё вопрос возник. Если я создал два блока глобальных переменных, я в каждом из них могу объявить переменную с одним и тем же именем. Транслятор это пропускает. А вот какая из них будет привязана в ST-программе к переменной, объявленной в секции VAR_EXTERNAL или через галочку "Подключить все глобальные объекты"?
    Последний раз редактировалось TonyMilkers; 16.10.2026 в 13:22.

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. ПОЛИГОН
    от m.petrovich в разделе ПЛК (среда Полигон)
    Ответов: 70
    Последнее сообщение: 20.07.2026, 11:02
  2. Полигон и МЭК 60870-5-104
    от RaceMan в разделе ПЛК (среда Полигон)
    Ответов: 2
    Последнее сообщение: 18.07.2026, 21:00
  3. Полигон на ПЛК210-11-CS
    от Тимур Берендяев в разделе ПЛК (среда Полигон)
    Ответов: 1
    Последнее сообщение: 15.01.2026, 14:39
  4. Опрос модулей МВ210-214 и МВ210-412 в среде Полигон.
    от master2113 в разделе ПЛК (среда Полигон)
    Ответов: 13
    Последнее сообщение: 07.11.2025, 14:33
  5. Полигон-Cds3.5: Межконтроллерный обмен
    от S#716_0P в разделе ПЛК (среда Полигон)
    Ответов: 2
    Последнее сообщение: 08.09.2025, 13:38

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •