Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 21

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

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

    По умолчанию

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

    Вроде, всё сделал, как вы говорите, но при трансляции выдаёт ошибку.
    Как сделан блок cfgDI? Составной?

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

    По умолчанию

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

  3. #13

    По умолчанию

    Здравствуйте.
    При написании блока на ST задался таким вопросом
    В документации нашёл только обращение к стандартным ФБ
    Код:
    VAR
    tonTest: TON;
    END_VAR
    tonTest (IN:= xTest, PT:= tTest);
    xTonTest:= tonTest.Q;
    А если я хочу добавить в свой блок нестандартный (например, Генератор случайных чисел из paCore.rndgen) или свой другой ФБ, это возможно?
    Я не волшебник, я только учусь...

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

    По умолчанию

    Цитата Сообщение от AllXXX Посмотреть сообщение
    Здравствуйте.
    При написании блока на ST задался таким вопросом
    В документации нашёл только обращение к стандартным ФБ
    Код:
    VAR
    tonTest: TON;
    END_VAR
    tonTest (IN:= xTest, PT:= tTest);
    xTonTest:= tonTest.Q;
    А если я хочу добавить в свой блок нестандартный (например, Генератор случайных чисел из paCore.rndgen) или свой другой ФБ, это возможно?
    Да, в коде можно использовать и другие блоки из библиотек, открытых в Полигоне или другие блоки созданные в вашем проекте (за исключением составных, это временное ограничение).
    При этом действуют те же ограничения на блоки, которые можно использовать в коде на ST: без циклических входов/выходов, только стандартные типы данных, без константных входов и указателей в качестве выходов (подробнее тут https://polygon2.ru/biblioteka/?libr...ng_limitations)

  5. #15

    По умолчанию

    Цитата Сообщение от Полигон Посмотреть сообщение
    По ссылке нечего нет
    Вернее есть страница с "Разделы документации" но на ней нечего не работает
    Последний раз редактировалось AllXXX; 23.10.2026 в 13:55.
    Я не волшебник, я только учусь...

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

    По умолчанию

    Цитата Сообщение от AllXXX Посмотреть сообщение
    По ссылке нечего нет
    Вернее есть страница с "Разделы документации" но на ней нечего не работает
    https://polygon2.ru/biblioteka/?libr...ng_limitations

  7. #17

    По умолчанию

    Цитата Сообщение от Полигон Посмотреть сообщение
    С этим разделом документации я уже ознакомился.
    Разобрался, так как у меня резервирование нужно использовать DelayOn_sync
    Код:
    VAR_INPUT
    	xTest : BOOL
    	tTest : DINT; // <- В миллисекундах не TIME 
    END_VAR
    VAR_OUTPUT
    	xTonTest: BOOL;
    END_VAR
    VAR
    tonTest: DelayOn_sync;
    END_VAR
    tonTest (I:= xTest, P:= tTest);
    xTonTest:= tonTest.Q;
    Я не волшебник, я только учусь...

  8. #18

    По умолчанию

    Добрый день.

    А я правильно понял, что у AND нет приоритета перед OR? По крайней мере у этих двух строк:
    xCondition := ((InVal >= InSetting) and IsHigh) or ((InVal < InSetting) and not IsHigh);
    TempOut := (InVal >= InSetting) and IsHigh or (InVal < InSetting) and not IsHigh ;
    результат получается разный...

  9. #19

    По умолчанию

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

    А я правильно понял, что у AND нет приоритета перед OR? По крайней мере у этих двух строк:
    xCondition := ((InVal >= InSetting) and IsHigh) or ((InVal < InSetting) and not IsHigh);
    TempOut := (InVal >= InSetting) and IsHigh or (InVal < InSetting) and not IsHigh ;
    результат получается разный...
    В скобках высший приоритет, and и or приоритет равный. Естественно и результат разный.
    Хотя в Полигоне не спец, тогда поправят.
    Последний раз редактировалось Trevor; Вчера в 16:48.

  10. #20
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    3,212

    По умолчанию

    Цитата Сообщение от Trevor Посмотреть сообщение
    .. and и or приоритет равный.
    Если говорить именно о классических языках программирования (C, C++, Java, C#, JavaScript, Python, Ruby, PHP, Swift, Kotlin, Go, Rust и т.*д.)*—*везде AND приоритетнее OR. Исключения либо связаны с правоассоциативностью (APL), либо с тем, что речь идёт не о логических операторах в обычном понимании.
    У Полигона свой путь.

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя

Похожие темы

  1. ПОЛИГОН
    от m.petrovich в разделе ПЛК (среда Полигон)
    Ответов: 74
    Последнее сообщение: 26.10.2026, 09:54
  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

Ваши права

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