Страница 1 из 7 123 ... ПоследняяПоследняя
Показано с 1 по 10 из 81

Тема: Функции String

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию Функции String

    В стандарте МЭК есть много полезных функций String.
    В КДС есть нечто такое?

    Например если мне нужно перебрать строку и удалить лишние символы.
    Изображения Изображения
    • Тип файла: jpg string.jpg (205.5 Кб, Просмотров: 69)

  2. #2

    По умолчанию

    Поиск в Справке плохо организован.
    "REAL_TO_STRING" через поиск не ищется.

    А STRING_TO_REAL, DWORD_TO_REAL всё равно нет.

  3. #3
    Пользователь
    Регистрация
    22.05.2018
    Адрес
    Сочи, Лазаревское
    Сообщений
    91

    По умолчанию

    Пожалуйста, подскажи что я неправильно делаю.
    Не работает у меня "STRING_TO_REAL"

    2024-08-07_11-35-28.png

    2024-08-07_11-38-58.png

  4. #4
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    3,054

    По умолчанию

    А что хрень в V_STRING?
    тип/значение. Массив какой-то

  5. #5
    Пользователь
    Регистрация
    22.05.2018
    Адрес
    Сочи, Лазаревское
    Сообщений
    91

    По умолчанию

    Просто переменная STRING. В ней значение объёма куб/м, надеюсь FLOAT.
    Я в переменную STRING неправильно дал начальное значение?

  6. #6
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    3,054

    По умолчанию

    Просто переменная STRING
    имеет значение типа '3.4' а не тот непонятный набор символов

  7. #7

    По умолчанию

    Очень похоже, что переменная разложена на 4 байта, (234, 89, 6, 61), а число REAL там 0.03280059

    А чтобы конвертировать в REAL, переменная String должна быть '0.03280059' или '0.0328'
    Последний раз редактировалось kondor3000; 07.08.2024 в 13:25.

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

    По умолчанию

    Вам нужен конвертер во float из массива байт.
    Не знаю, как там в ST на MS4D но если вы можете сделать функцию на c# то примерно так.
    public single ConverToFloat(byte[] mass)
    {
    reuturn BitConverter.ToSingle(mass, 0);
    }

    з.ы. за точность синтаксиса не ручаюсь, пишу с телефона на пляже
    И посто вызываете эту функцию, подсовывая ей байтовый массив. В Пульсоровском протоколе байты идут от младшего с старшему, вроде переставлять не надо.

    Как правильно заметили, там ieee754

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

    По умолчанию

    Наверняка в ST есть так же готовые функции преобразования из байт во float
    Считав несколько переменных одним запросом вы можете добавить доп переменную в функции для индекса и изменить там на
    BitConverter.ToSingle (mass, index);

    И указывать индекс массива каждой требуемой переменной
    Последний раз редактировалось melky; 07.08.2024 в 13:29.

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

    По умолчанию

    capzap не просто вангует, он прав.
    Протокол отдает массив запрашиваемых переменных в виде массива 4-х байтнвх значений .
    Единственное если она float, ,то это ieee754, в наборе ещё можно оказаться так же uint32 так как тоже имеет 4 байта и это допустимо для одного запроса

Страница 1 из 7 123 ... ПоследняяПоследняя

Похожие темы

  1. Длинные строки (STRING)
    от rumkin в разделе ПЛК1хх
    Ответов: 9
    Последнее сообщение: 16.05.2022, 13:45
  2. String и Модбас слейв
    от жекон в разделе Сетевые технологии
    Ответов: 11
    Последнее сообщение: 04.11.2013, 16:59
  3. Длинный STRING
    от Nazar в разделе ПЛК1хх
    Ответов: 9
    Последнее сообщение: 08.03.2011, 13:04
  4. String переменные в архиваторе
    от Антон в разделе ПЛК1хх
    Ответов: 9
    Последнее сообщение: 25.12.2007, 10:53

Ваши права

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