В CODESYS V3.5 функции с "дополнительными выходами" поддержаны.Это выходит, Кодесис не соответствует стандарту.
Не очень понятно, причем здесь "побочные эффекты".Функции с побочными эффектами. Бее-е..
В CODESYS V3.5 функции с "дополнительными выходами" поддержаны.Это выходит, Кодесис не соответствует стандарту.
Не очень понятно, причем здесь "побочные эффекты".Функции с побочными эффектами. Бее-е..
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
Согласен. В данном конкретном случае это не так ярко выражено. Но все равно, термин функция к данному программному элементу подходит как корове седло. Эта "функция" принимает на вход дату-время, а возвращает логическое значение. Зачем оно нам? Нам надо совсем другое. А чтобы получить нужные данные, необходимо влезть в потроха этой функции.
Сломана логика, сломан синтаксис. Остается только надеяться, что где-то внутри ее не сохраняется какое-нибудь "состояние".
Здесь с вами согласен, в смысле, что прочитать "всю документацию" от корки до корки может быть недостаточно!
Всё от человека зависит, кому-то можно и не читать!
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
Не работает функция SPLIT_DT. Делаю так:
Переменная dtime показывает текущую дату-время, а все переменные lsec, lmin, ... всегда равны нулю. Почему?Код: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 );
Последний раз редактировалось kondor3000; 16.04.2026 в 16:35.
Справка:
Это библиотечные функции.Код: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.
Написал про Лоджик, а тут оказывается МС4D,
Я же отвечал вам уже, это вы 1,5 месяца разобраться не могли ?
Попробовал, на ST не хочет работать, почему не понятно, зато на FBD работает без проблем 1 FBD.jpg
Последний раз редактировалось kondor3000; 16.04.2026 в 19:41.