Страница 4 из 58 ПерваяПервая ... 234561454 ... ПоследняяПоследняя
Показано с 31 по 40 из 579

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

  1. #31

    По умолчанию

    Цитата Сообщение от bayk Посмотреть сообщение
    я считаю, что сразу прописать, что техподдержка не будет оказывать помощь по ST. не нравится - делайте на ФБД
    С чего вдруг код на ST должен быть проблемнее кода на fbd, я столько видел "уникальных" проектов присылаемых на fbd, и очень сомневаюсь что тех. поддержку можно чем-то удивить. В плане ST вижу даже +, можно код сразу вставить в текст, а на обратной стороне скопировать и запустить, с fbd в этом плане намного сложнее, мне кажется.
    С уважением, Ревака Юрий.
    Инженер группы технической поддержки компании "ОВЕН"
    e-mail: yu.revaka@owen.ru

    Шаблон описания ошибки ПР или OL http://ftp-ow.owen.ru/softupdate/OWE...s/Shablon.docx
    Видео уроки по ПР200 и OWEN Logic http://edu.owen.ru/series/pr200_rev/
    Другие видеоролики по тематике ПР https://www.youtube.com/channel/UCj4...H5H3d_t6iDlQOQ

  2. #32
    Пользователь
    Регистрация
    28.08.2008
    Адрес
    23..93..123
    Сообщений
    1,671

    По умолчанию

    Цитата Сообщение от bayk Посмотреть сообщение
    Вот именно! Одно у овеновцев плохо, они сначала сделают что-то а потом спрашивают у пользователей ... Нет бы наоборот....

    П.с. я не знаю, чем не нравится фбд в ол, но он однозначно лучше чем у Сименса, Митсубиси, сегнетикса. Это только то, с чем я очень плотно работал.
    П.п.с. работа с экранами к фбд не относится если что.
    Вот ничего с пользователями обсуждать не надо, все украдено до нас и велики все уже изобретены, надо смотреть как у великих и делать аналогично, а обсуждение с пользователями это демагогия- непременный спутник демократии, бла-бла-бла.
    Не понятно почему только FBD, если у старших товарищей в ПРках SFC как правило есть, и при реализации последовательно-цикличных алгоритмов наличие SFC здорово помогает.
    В любом случае надо будет смотреть готовую реализацию ST в ОЛ.
    Последний раз редактировалось Алексеев Савр; 25.10.2021 в 15:58.

  3. #33

    По умолчанию

    Добрый день! Огромное пожелание по ST: иметь возможность создавать более одного выхода.

  4. #34

    По умолчанию

    Очень странно, что в ST есть поддержка только UDInt. То есть целочисленный счет в отрицательных диапазонах не предусмотрен (DInt / Int)? Пока для этого использую Real.

  5. #35

    По умолчанию

    Язык ST уже доступен в новой версии OwenLogic 1.22.284.0, кто ждал, можно тестировать возможности.
    Мой небольшой опыт на примере макроса Pt1000 прикрепляю.
    С уважением, Ревака Юрий.
    Инженер группы технической поддержки компании "ОВЕН"
    e-mail: yu.revaka@owen.ru

    Шаблон описания ошибки ПР или OL http://ftp-ow.owen.ru/softupdate/OWE...s/Shablon.docx
    Видео уроки по ПР200 и OWEN Logic http://edu.owen.ru/series/pr200_rev/
    Другие видеоролики по тематике ПР https://www.youtube.com/channel/UCj4...H5H3d_t6iDlQOQ

  6. #36

    По умолчанию

    Доброй ночи! Можно ли вызывать одну функцию ST внутри другой функции ST? Пока не удается...

  7. #37

    По умолчанию

    Как же круто же!!!!!!
    Господи, было бы это лет пять назад, когда я мучился с ужасными Logo этими чёртовыми, пытаясь на FBD написать сложную логику!!
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net

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

    По умолчанию

    Ура!
    Моя первая функция - Вычисление дня недели

    Захват-03.png Захват-04.png

    Нашёл давно на просторах интернета такой метод

    Скрытый текст:
    dayOfWeek = (year+year/4+ ММ[mounth] + day) MOD 7
    где
    year - год;
    day - номер дня в месяце;
    ММ[mounth] - значение из массива
    январь 5 (4 - для високосного года)
    февраль 1 (0 - для високосного года)
    март 1
    апрель 4
    май 6
    июнь 2
    июль 4
    август 0
    сентябрь 3
    октябрь 5
    ноябрь 1
    декабрь 3


    В вычислениях используются только целочисленные значения
    Код:
    FUNCTION dayOfWeek : UDINT;     // (c)  PeterA
    VAR_INPUT
        year: udint;
        mounth: udint;
        day:udint;
    END_VAR
    VAR
        MM: ARRAY [1..12] OF udint := [5,1,1,4,6,2,4,0,3,5,1,3];
    END_VAR
    
    IF udint_to_bool(year MOD 4 ) THEN
        MM[1]:= 5; MM[2]:= 1;
    ELSE
        MM[1]:= 4; MM[2]:= 0;
    END_IF
    
    dayOfWeek:= (year+year/4+ MM[mounth] + day) MOD 7;
        
    end_function
    ЗЫ.
    Добавил вход Sun_7
    если он устанвлен в 1, то воскресенье 7 день, иначе 0

    Код:
    FUNCTION dayOfWeek : UDINT;     // (c)  PeterA
    VAR_INPUT
        year: udint;
        mounth: udint;
        day:udint;
        Sun_7:bool; //если 1, то воскресенье 7 день, иначе 0
    END_VAR
    VAR
        MM: ARRAY [1..12] OF udint := [5,1,1,4,6,2,4,0,3,5,1,3];
        dayOfWeekTMP: udint;
    END_VAR
    
    IF udint_to_bool(year MOD 4 ) THEN
        MM[1]:= 5; MM[2]:= 1;
    ELSE
        MM[1]:= 4; MM[2]:= 0;
    END_IF
    dayOfWeekTMP:= (year+year/4+ MM[mounth] + day) MOD 7;
    
    dayOfWeek:= dayOfWeekTMP + bool_to_udint(Sun_7 AND dayOfWeekTMP=0) * 7;
        
    end_function
    Последний раз редактировалось petera; 18.12.2022 в 15:14.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

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

    По умолчанию

    Экспорт функции в файл - не судьба?
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  10. #40

    По умолчанию

    Для первого раза неплохо, 5 мин искал где написанную функцию найти и как вставить))) Окно было минимальное и функции не видно.

    Petera, функции теперь в блокноте будем хранить, зачем ещё импорт, экспорт делать)
    Последний раз редактировалось kondor3000; 01.12.2021 в 01:02.

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

Похожие темы

  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

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

Ваши права

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