Страница 47 из 58 ПерваяПервая ... 37454647484957 ... ПоследняяПоследняя
Показано с 461 по 470 из 579

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

  1. #461

    По умолчанию

    При редактировании ФБ на ST, лоджик не изменяет вид ФБ и не кричит о необходимости обновления блока на поляне. Изменяется вид ФБ только в библиотеке. А на поляне вид как до редактирования. Даже если вы сохраните проект и повторно откроете его, вид ФБ не изменяется. Содержимое, да другое, но облик прежний. Мне надо было добавлять входные переменные. Пришлось забрать новый вид ФБ из библиотеки, а старый с поляны удалить. Версия 2.2.317.0

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

    По умолчанию

    Цитата Сообщение от wwtp39 Посмотреть сообщение
    При редактировании ФБ на ST, лоджик не изменяет вид ФБ и не кричит о необходимости обновления блока на поляне. Изменяется вид ФБ только в библиотеке. А на поляне вид как до редактирования. Даже если вы сохраните проект и повторно откроете его, вид ФБ не изменяется. Содержимое, да другое, но облик прежний. Мне надо было добавлять входные переменные. Пришлось забрать новый вид ФБ из библиотеки, а старый с поляны удалить. Версия 2.2.317.0
    Это не новость.
    Так было всегда, если входы и выходы ST функции никуда не подключены на схеме.
    Как только подключишь - сразу закричит.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  3. #463

    По умолчанию

    Добрый день!

    Почитал книжки про ST а в Лоджике даже правописание другое, прошу начинающему в работе с тексом закончить триггер, чтобы запоминал состояние, долго бился, не получается. И как переменным состояние присвоить? R := 1; или 0 ругается...
    function RS_trig: bool; //RS триггер и тип данных выхода bool
    var_input //объявление входных переменных
    R : bool; //входная переменная с типом данных bool
    S : bool; //входная переменная с типом данных bool
    end_var


    if R > S then RS_trig := false; end_if
    if S > R then RS_trig := true; end_if



    end_function
    Последний раз редактировалось Рогов Алексей; 28.12.2022 в 14:48.

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

    По умолчанию

    Цитата Сообщение от Рогов Алексей Посмотреть сообщение
    Добрый день!

    Почитал книжки про ST а в Лоджике даже правописание другое, прошу начинающему в работе с тексом закончить триггер, чтобы запоминал состояние, долго бился, не получается. И как переменным состояние присвоить? R := 1; или 0 ругается...
    function RS_trig: bool; //RS триггер и тип данных выхода bool
    var_input //объявление входных переменных
    R : bool; //входная переменная с типом данных bool
    S : bool; //входная переменная с типом данных bool
    end_var


    if R > S then RS_trig := false; end_if
    if S > R then RS_trig := true; end_if



    end_function
    Самое главное - RS trigger сделать не получиться. Т.к. функция не запоминает состояние внутренних переменных.

    как переменным состояние присвоить
    R := true
    R := false
    Последний раз редактировалось petera; 28.12.2022 в 14:55.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  5. #465

    По умолчанию

    Спасибо!

    Зато получилось A XOR B XOR C - забавная и опасная штучка...
    будем ждать развития и мануалов
    С наступающим!

  6. #466

    По умолчанию

    Цитата Сообщение от Рогов Алексей Посмотреть сообщение
    прошу начинающему в работе с тексом закончить триггер, чтобы запоминал состояние, долго бился, не получается. И как переменным состояние присвоить? R := 1; или 0 ругается...
    function RS_trig: bool; //RS триггер и тип данных выхода bool
    var_input //объявление входных переменных
    R : bool; //входная переменная с типом данных bool
    S : bool; //входная переменная с типом данных bool
    end_var
    if R > S then RS_trig := false; end_if
    if S > R then RS_trig := true; end_if
    end_function
    Всё можно сделать, не хочет запоминать, можно заставить. Скрин==>> 1 RS триггер.jpg
    Код:
    function RS_trig: bool; //RS триггер и тип данных выхода bool 
    var_input //объявление входных переменных
    R : bool; //входная переменная с типом данных bool
    S : bool; //входная переменная с типом данных bool
    x : bool; // переменная с типом данных bool
    end_var
    if S then  RS_trig := true; x := true;  end_if
    if x then  RS_trig := true;  end_if    
    if R then  RS_trig := false; x:= false;  end_if      
    end_function
    Последний раз редактировалось kondor3000; 28.12.2022 в 15:35.

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

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Всё можно сделать, не хочет запоминать, можно заставить.
    Код:
    RS_trig := (S or X) and not R;

  8. #468

    По умолчанию

    Цитата Сообщение от Dimensy Посмотреть сообщение
    Код:
    RS_trig := (S or X) and not R;
    Не стал так писать, новичку не понятно будет.

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

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Всё можно сделать, не хочет запоминать, можно заставить. Скрин==>> 1 RS триггер.jpg
    Код:
    function RS_trig: bool; //RS триггер и тип данных выхода bool 
    var_input //объявление входных переменных
    R : bool; //входная переменная с типом данных bool
    S : bool; //входная переменная с типом данных bool
    x : bool; // переменная с типом данных bool
    end_var
    if S then  RS_trig := true; x := true;  end_if
    if x then  RS_trig := true;  end_if    
    if R then  RS_trig := false; x:= false;  end_if      
    end_function
    Я подобным образом счётчики делал(в виде макроса) ещё когда ST(в ОЛ) в помине не было, в смысле, значение сохранялось во внешней переменной(не в макросе счётчика), по необходимости можно и энергонезависимость добавить. Короче, так можно что угодно сделать, без всякого ожидания "чуда".
    Мне не понятно, чего все выжидают!
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  10. #470
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,740

    По умолчанию

    Сергей0308 наличие ST в FBD, больше одного выхода с блока это точное ожидание чуда

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

Похожие темы

  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

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

Ваши права

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