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

Тема: язык ST, библиотечные функции

  1. #11
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    13,839

    По умолчанию

    Это выходит, Кодесис не соответствует стандарту.
    В CODESYS V3.5 функции с "дополнительными выходами" поддержаны.

    Функции с побочными эффектами. Бее-е..
    Не очень понятно, причем здесь "побочные эффекты".

  2. #12

    По умолчанию

    Цитата Сообщение от Евгений Пашигоров Посмотреть сообщение
    Откуда вы взяли это сокровенное знание, что выходные параметры присваиваются стрелочкой?
    Внимательнее читайте хелп, в том числе и на другие (соседние) функции.

    Цитата Сообщение от Евгений Пашигоров Посмотреть сообщение
    Приходится еще угадывать, где функция, а где функциональный блок.
    Внимательнее читайте хелп, там все четко написано.

    Цитата Сообщение от Евгений Пашигоров Посмотреть сообщение
    SPLIT_DT - это функция?
    Функция. В хелпе так написано.

  3. #13

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Не очень понятно, причем здесь "побочные эффекты".
    Согласен. В данном конкретном случае это не так ярко выражено. Но все равно, термин функция к данному программному элементу подходит как корове седло. Эта "функция" принимает на вход дату-время, а возвращает логическое значение. Зачем оно нам? Нам надо совсем другое. А чтобы получить нужные данные, необходимо влезть в потроха этой функции.
    Сломана логика, сломан синтаксис. Остается только надеяться, что где-то внутри ее не сохраняется какое-нибудь "состояние".

  4. #14

    По умолчанию

    Цитата Сообщение от pavel.migdalev Посмотреть сообщение
    Внимательнее читайте хелп, в том числе и на другие (соседние) функции.
    Тоже что-то с логикой. Чтобы узнать, как вызвать нужную мне функцию, надо прочитать всю документацию от корки до корки.

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

    По умолчанию

    Здесь с вами согласен, в смысле, что прочитать "всю документацию" от корки до корки может быть недостаточно!
    Всё от человека зависит, кому-то можно и не читать!
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  6. #16

    По умолчанию

    Не работает функция SPLIT_DT. Делаю так:
    Код:
    var
        lyear: udint;
        lmonth: udint;
        lday: udint;
        lhour: udint;
        lmin: udint;
    (*    lsec: udint;
    *)    q: bool;
       
    
    end_var
    
    dtime := GET_TIME();
    q := SPLIT_DT(in := dtime, 
            YEAR => lyear, 
            MONTH => lmonth,
            DAY => lday,
            HOUR => lhour,
            MIN => lmin,
            SEC => lsec      
        );
    Переменная dtime показывает текущую дату-время, а все переменные lsec, lmin, ... всегда равны нулю. Почему?

  7. #17

    По умолчанию

    Цитата Сообщение от Евгений Пашигоров Посмотреть сообщение
    Не работает функция SPLIT_DT. Делаю так:
    Переменная dtime показывает текущую дату-время, а все переменные lsec, lmin, ... всегда равны нулю. Почему?
    Во первых GET_TIME(); это функция времени, а не даты и времени, нужна функция get_date_time();
    Во вторых откуда вы взяли эту функцию SPLIT_DT, где код?
    И в третьих это вызов ФБ.

    ЗЫ; Написал про Лоджик, а тут оказывается МС4D
    Последний раз редактировалось kondor3000; 16.04.2026 в 16:35.

  8. #18

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Во первых GET_TIME(); это функция времени, а не даты и времени, нужна функция get_date_time();
    Во вторых откуда вы взяли эту функцию SPLIT_DT, где код?
    И в третьих это вызов ФБ.
    Справка:
    Код:
    GET_TIME - выдает дату и время в том формате, который является 
    стандартным для места исполнения функции:
    Выходы Q  DATE_AND_TIME  Дата и время. Результат.     Q:=GET_TIME()
    
    SPLIT_DT служит для разделение значения DT на отдельные составляющие.
    Пример в ST
    Q:=SPLIT_DT(IN:=Время, HOUR =>Параметр_1, MONTH=>Параметр_2);
    Это библиотечные функции.
    Последний раз редактировалось Евгений Пашигоров; 16.04.2026 в 16:38.

  9. #19

    По умолчанию

    Цитата Сообщение от Евгений Пашигоров Посмотреть сообщение
    Справка:

    Это библиотечные функции.
    Написал про Лоджик, а тут оказывается МС4D,
    Я же отвечал вам уже, это вы 1,5 месяца разобраться не могли ?
    Попробовал, на ST не хочет работать, почему не понятно, зато на FBD работает без проблем 1 FBD.jpg
    Последний раз редактировалось kondor3000; 16.04.2026 в 19:41.

  10. #20

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Попробовал, на ST не хочет работать, почему не понятно1 FBD.jpg
    Значит, и у вас ответа нет.

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

Похожие темы

  1. SFC язык
    от Спорягин Кирилл в разделе ПЛК (среда MasterSCADA 4D)
    Ответов: 14
    Последнее сообщение: 04.10.2020, 10:44
  2. Язык ST
    от tagor4444 в разделе ПЛК1хх
    Ответов: 14
    Последнее сообщение: 24.09.2020, 13:31
  3. язык St
    от жекон в разделе ПЛК1хх
    Ответов: 13
    Последнее сообщение: 12.08.2017, 20:00
  4. язык St
    от freeon в разделе ПЛК1хх
    Ответов: 14
    Последнее сообщение: 14.12.2016, 19:45
  5. язык St
    от Сергей71 в разделе ПЛК1хх
    Ответов: 18
    Последнее сообщение: 23.01.2008, 13:19

Ваши права

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