Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 16 из 16

Тема: Ошибка функции DTU.DTSplit()

  1. #11

    По умолчанию

    попробуйте разбить на 2 переменные dt - одна для вычитки, вторая для редактирования.
    переменную dt , которая работает с блоком вычитки времени , обнуляйте в начале цикла до вызова ФБ DTU.SPLIT , а после обработки фб сохраните данные в другую переменную dt1 и редактируйте уже её

  2. #12

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    а что это за извращение по использованию кейса, с такими подходами к программированию не удивительно что всякие глюки вылазят

    А чем вам кейс не угодил?) Что именно вам не понравилось?

    Да тут можно без кейса разумеется, но привычка, после отработки цикла если все удачно отправляю на 222, если нет то на 10 шаг (если раскомментировать 19 и 20 строчку) очень наглядно показывает результат. Разумеется в рабочем проекте такого цирка нет.

    У меня большой проект (около 800 КБ) полгода работал идеально. И работал бы до сих пор, если бы не эта дурацкая ошибка.


    PS Тест был написан на коленке.
    PSS согласен лишь с тем, что хорошая программа работает с ошибками, моя, к сожалению, с такой ошибкой работать не смогла.
    Последний раз редактировалось ntro123; 16.01.2017 в 23:46.

  3. #13

    По умолчанию

    Цитата Сообщение от Трофимов Артем Посмотреть сообщение
    попробуйте разбить на 2 переменные dt - одна для вычитки, вторая для редактирования.
    переменную dt , которая работает с блоком вычитки времени , обнуляйте в начале цикла до вызова ФБ DTU.SPLIT , а после обработки фб сохраните данные в другую переменную dt1 и редактируйте уже её
    Немного не понял, что это даст?
    это split фунция (не concat) и 2 и более DT переменные ничего не дадут, т.к. сами переменные DT сохраняют верное значение (точнее даже не изменяются).
    Проблема на выходе в year1, month1 и т.д.
    Не понимаю как манипуляция с DT переменными может повлиять на UINT переменные на выходе.

    В любом случае я уж тогда постараюсь без костылей, либо OSCAT либо свою функцию как советовали ранее.
    Последний раз редактировалось ntro123; 17.01.2017 в 00:16.

  4. #14

    По умолчанию

    подтверждаем, что DTUSplit так себя ведёт на ПЛК323. на сервер отправляете данные в формате uint или dt? прилагаю вариант работы.
    сделал конверсию в UINT'ы и в DT.
    проверил на указанной дате ( см. скриншот)
    Изображения Изображения
    Вложения Вложения

  5. #15

    По умолчанию

    Цитата Сообщение от Трофимов Артем Посмотреть сообщение
    подтверждаем, что DTUSplit так себя ведёт на ПЛК323. на сервер отправляете данные в формате uint или dt? прилагаю вариант работы.
    сделал конверсию в UINT'ы и в DT.
    проверил на указанной дате ( см. скриншот)

    На сервер идет UINT (только год, не исключено, что понадобится еще месяц и число).
    SysTimeRtcConvertHighResToDate() - работает корректно? (нет возможности в близлежащее время проверить на ПЛК)

    Спасибо за ответ.

  6. #16

    По умолчанию

    ntro123 , я установил в переменные разбора указанные Вами даты, которые разбирались некорректно, всё разобралось нормально.
    отличительно то , что в моём примере Вы вычитываете не DATE_AND_TIME формат, а pTStamp , который исчисляется в секундах от опорной даты.
    в примере этот HiRez формат конвертируется в Uint'ы

Страница 2 из 2 ПерваяПервая 12

Похожие темы

  1. Ответов: 16
    Последнее сообщение: 15.02.2017, 11:39
  2. Ошибка при попытке загрузки любой функции
    от erfinder в разделе Панели оператора (HMI)
    Ответов: 6
    Последнее сообщение: 31.12.2016, 10:11
  3. Функции.
    от Jonikk в разделе Программируемые реле
    Ответов: 11
    Последнее сообщение: 13.09.2011, 18:57
  4. трм-138 мат.функции
    от мастер в разделе Эксплуатация
    Ответов: 1
    Последнее сообщение: 14.07.2008, 07:47
  5. Функции
    от mettled в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 13.02.2008, 10:16

Ваши права

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