Страница 49 из 58 ПерваяПервая ... 394748495051 ... ПоследняяПоследняя
Показано с 481 по 490 из 579

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

  1. #481
    Пользователь
    Регистрация
    09.12.2013
    Адрес
    Ставрополь
    Сообщений
    1,254

    По умолчанию

    Цитата Сообщение от lagutin Посмотреть сообщение
    А вот детектор фронтов можно на ST сделать???
    Можно

    Код:
    funR_trig := Clk and not M;
    funF_trig := not Clk and M;
    Безымянный.png

    Но зачем, если в ST их не применить, а в FBD и так есть

    А в счетчике не хватает сброса

  2. #482

    По умолчанию

    День добрый!

    Я спрашивал про присвоение значения переменной во почему -

    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

    Как видно двоеточий нет и программа работает, а на двоеточие ругается
    Спасибо,

  3. #483
    Пользователь Аватар для Сергей0308
    Регистрация
    25.06.2011
    Адрес
    Галактика Андромеды (M31)
    Сообщений
    8,397

    По умолчанию

    Цитата Сообщение от Эдуард_Н Посмотреть сообщение
    Подскажите как это Вложение 64929будет на ST?
    Так изначальная картинка сильно усложнена, можно без усилий сделать проще в 2-3 раза!
    А, зачем на ST, в целях образования?
    Наверно там есть функция вставки(записи) бит, аналогичная как в нормальном ОЛ!
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

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

    По умолчанию

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    Так изначальная картинка сильно усложнена, можно без усилий сделать проще в 2-3 раза!
    А, зачем на ST, в целях образования?
    Наверно там есть функция вставки(записи) бит, аналогичная как в нормальном ОЛ!
    Пока я рисовал, сообщения уже нет?
    Screenshot_1.png
    Код:
    function bm_WeekDay: udint; //имя функции и тип данных выхода
        var_input //объявление входных переменных
            Mon : bool; //входная переменная с типом данных bool
            Tue: bool; //входная переменная с типом данных bool
            Wed: bool; //входная переменная с типом данных bool
            Thu: bool; //входная переменная с типом данных bool
            Fri: bool; //входная переменная с типом данных bool
            Sat: bool; //входная переменная с типом данных bool
            San: bool; //входная переменная с типом данных bool
            All: bool; //входная переменная с типом данных bool
    
    end_var
    
    If All Then bm_WeekDay:= 254;
        else
            bm_WeekDay.1:= Mon;
            bm_WeekDay.2:= Tue;
            bm_WeekDay.3:= Wed;
            bm_WeekDay.4:= Thu;
            bm_WeekDay.5:= Fri;
            bm_WeekDay.6:= Sat;
            bm_WeekDay.7:= San;
    
    end_if;
    end_function
    Может сам догадался?

  5. #485
    Пользователь
    Регистрация
    09.12.2013
    Адрес
    Ставрополь
    Сообщений
    1,254

    По умолчанию

    Цитата Сообщение от Рогов Алексей Посмотреть сообщение
    Как видно двоеточий нет и программа работает, а на двоеточие ругается
    На какие двоеточия ругается?

  6. #486
    Пользователь Аватар для Эдуард_Н
    Регистрация
    22.09.2014
    Адрес
    Курган
    Сообщений
    1,617

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    Пока я рисовал, сообщения уже нет?
    Screenshot_1.png
    Код:
    function bm_WeekDay: udint; //имя функции и тип данных выхода
        var_input //объявление входных переменных
            Mon : bool; //входная переменная с типом данных bool
            Tue: bool; //входная переменная с типом данных bool
            Wed: bool; //входная переменная с типом данных bool
            Thu: bool; //входная переменная с типом данных bool
            Fri: bool; //входная переменная с типом данных bool
            Sat: bool; //входная переменная с типом данных bool
            San: bool; //входная переменная с типом данных bool
            All: bool; //входная переменная с типом данных bool
    
    end_var
    
    If All Then bm_WeekDay:= 254;
        else
            bm_WeekDay.1:= Mon;
            bm_WeekDay.2:= Tue;
            bm_WeekDay.3:= Wed;
            bm_WeekDay.4:= Thu;
            bm_WeekDay.5:= Fri;
            bm_WeekDay.6:= Sat;
            bm_WeekDay.7:= San;
    
    end_if;
    end_function
    Может сам догадался?
    Спасибо, сам догадался.

  7. #487

    По умолчанию

    После входных переменных 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

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

    По умолчанию

    Цитата Сообщение от Рогов Алексей Посмотреть сообщение
    После входных переменных 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

  9. #489

    По умолчанию

    Цитата Сообщение от 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
    Спасибо, я так тоже делал, разбираюсь с правописанием

  10. #490

    По умолчанию

    Цитата Сообщение от Рогов Алексей Посмотреть сообщение
    Спасибо, я так тоже делал, разбираюсь с правописанием
    Посмотрите на мой код, я не даром вам его полностью написал
    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.

Страница 49 из 58 ПерваяПервая ... 394748495051 ... ПоследняяПоследняя

Похожие темы

  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, 12:37

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

Ваши права

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