Показано с 1 по 10 из 606

Тема: Создать функцию на ST

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    4,110

    По умолчанию

    Цитата Сообщение от Рогов Алексей Посмотреть сообщение
    После входных переменных if A := true

    function test: bool; //тестовый и тип данных выхода bool
    var_input //объявление входных переменных
    A : bool; //входная переменная с типом данных bool
    B : bool; //входная переменная с типом данных bool
    C : bool; //входная переменная с типом данных bool
    end_var
    if A := true then test := true; end_if
    if B := true then test := true; end_if
    if C := true then test := false; end_if
    end_function
    Все правильно ругается!
    Зачем оператор присваивания(:=) вместо проверки условия (=)
    Нужно
    if A = true then test := true; end_if
    if B = true then test := true; end_if
    if C = true then test := false; end_if

    Но вообще это масло масляное, нужно быть проще
    if A then test := true; end_if
    if B then test := true; end_if
    if C then test := false; end_if
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  2. #2

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    Все правильно ругается!
    Зачем оператор присваивания(:=) вместо проверки условия (=)
    Нужно
    if A = true then test := true; end_if
    if B = true then test := true; end_if
    if C = true then test := false; end_if

    Но вообще это масло масляное, нужно быть проще
    if A then test := true; end_if
    if B then test := true; end_if
    if C then test := false; end_if
    Спасибо, я так тоже делал, разбираюсь с правописанием

  3. #3

    По умолчанию

    Цитата Сообщение от Рогов Алексей Посмотреть сообщение
    Спасибо, я так тоже делал, разбираюсь с правописанием
    Посмотрите на мой код, я не даром вам его полностью написал
    if A = true then test := true; end_if это излишнее сравнение
    Достаточно
    if A then test := true; end_if
    А всегда сравнивается с true и писать не обязательно.
    Если надо сравнить с False, то пишем
    if NOT A then test := true; end_if
    Последний раз редактировалось kondor3000; 29.12.2022 в 15:14.

  4. #4

    По умолчанию

    Да, я понял

    Когда Ладдер изучал, нашёл книжку от старинного контроллера Аллен Бредли 1982 года - хоть на английском, но лучше и доходчивей никто не писал - по моему мнению, конечно - у всех разное восприятие информации

    Поэтому для ST от Овен мануал всё-таки нужен. Хороший, доходчивый, с разбором примеров.

  5. #5

    По умолчанию

    Цитата Сообщение от Рогов Алексей Посмотреть сообщение
    Да, я понял

    Когда Ладдер изучал, нашёл книжку от старинного контроллера Аллен Бредли 1982 года - хоть на английском, но лучше и доходчивей никто не писал - по моему мнению, конечно - у всех разное восприятие информации

    Поэтому для ST от Овен мануал всё-таки нужен. Хороший, доходчивый, с разбором примеров.
    Просто вы начали не с того, изучать ST надо было сразу на ПЛК.
    На ПР он сильно урезан. Там есть не больше 1/4 настоящего ST.
    Последний раз редактировалось kondor3000; 29.12.2022 в 15:43.

  6. #6
    Пользователь
    Регистрация
    14.07.2021
    Адрес
    Орел
    Сообщений
    95

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Просто вы начали не с того, изучать ST надо было сразу на ПЛК.
    На ПР он сильно урезан. Там есть не больше 1/4 настоящего ST.
    А где бы узнать, что поддерживается? Вот к примеру побитовое умножение.. 5&6 - и как я только не писал. Все не хочет, ошибку пишет. Может синтаксис какой другой?

  7. #7

    По умолчанию

    Цитата Сообщение от lagutin Посмотреть сообщение
    А где бы узнать, что поддерживается? Вот к примеру побитовое умножение.. 5&6 - и как я только не писал. Все не хочет, ошибку пишет. Может синтаксис какой другой?
    Скачайте CODESYS версия 2.3.9.41 (Русифицированная версия), таргеты ПЛК и библиотеки с сайта, создайте новый проект, с любым таргетом например ПЛК100-М, основную программу PLC_PRG на ST и упражняйтесь,
    по справке F1 там много информации по ST.
    https://owen.ru/product/codesys_v2
    Там же по ссылке обучающие видео, посмотрите хотя бы первые 10
    Последний раз редактировалось kondor3000; 29.12.2022 в 17:02.

  8. #8
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    4,110

    По умолчанию

    Цитата Сообщение от lagutin Посмотреть сообщение
    А где бы узнать, что поддерживается? Вот к примеру побитовое умножение.. 5&6 - и как я только не писал. Все не хочет, ошибку пишет. Может синтаксис какой другой?
    5 AND 6
    пробовали?
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

Похожие темы

  1. Ответов: 14
    Последнее сообщение: 01.07.2023, 21:30
  2. Ответов: 6
    Последнее сообщение: 22.12.2021, 10:50
  3. Ответов: 3
    Последнее сообщение: 13.09.2021, 13:31
  4. ПЛК160. Чем заменить функцию записи 0x05?
    от FallenDAY в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 26.08.2017, 13:19
  5. Как написать собственную функцию wait()
    от PavelKazakov в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 23.07.2009, 11:37

Метки этой темы

Ваши права

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