Показано с 1 по 4 из 4

Тема: Библиотека OwenStringUtils

  1. #1

    По умолчанию Библиотека OwenStringUtils

    Внимание! Общение в этой теме закрыто. Все обсуждения – в СООТВЕТСТВУЮЩЕЙ теме.

    Мы разработали библиотеку OwenStringUtils, которая содержит наиболее востребованные функции для работы со строками.
    Использовать библиотеку Вы можете в CODESYS 3.5 SP4 и выше.

    1) Конвертация кодировок:

    Часто при программировании в среде разработки CODESYS 3.5 приходится работать с кодировками символов (например: пользователь вводит текст сообщения с визуализации как WSTRING, а модем работает со строками STRING).
    Функции CP1251_TO_UNICODE и UNICODE_TO_CP1251 решают эту проблему и позволяют конвертировать содержимое строк STRING в WSTRING и обратно.
    В этой части библиотека OwenStringUtils полностью перекрывает функционал библиотеки ASCII_TO_UNICOD

    2) Выделение части строки
    Часто необходимо выделить часть строки (например: обработать команду, полученную по SMS).
    Эта задача решается при помощи функций библиотеки Standard: Len, Find, Left, Mid, и Right, но код может получиться достаточно объемным:
    Например, если по SMS получена команда Уставка=25.6
    получить имя команды и значение на языке ST можно таким образом


    Стандартный разбор на теги.png

    На языке CFC, FBD и др. решение задачи будет гораздо более объемным и гораздо менее читабельным.
    С использованием функций Before и After библиотеки OwenStringUtils количество кода (на ST) уменьшиться вдвое.

    Разбор на теги OSU_ST.png

    На CFC решение будет выглядеть не менее элегантно:

    Разбор на теги OSU_CFC.png

    Для того, чтобы облегчить выделение средней части строки между 2мя известными подстроками мы добавили функцию Between.

    Например: для того, чтобы определить текущий баланс на SIM-карте по SMS от оператора:
    «Ваш баланс: 156,30 руб. Ваш Билайн» достаточно будет написать 1 строку в программе:

    Between_OSU_ST.png

    В дальнейшем мы будем дорабатывать библиотеку, добавляя в нее новые функции и функциональные блоки для того, чтобы упростить Вам написание программ.
    Если есть идеи о том, какой функционал стоит добавить в эту библиотеку – смело пишите в теме для ОБСУЖДЕНИЯ.
    P.S. В этой теме будут только обновления библиотеки, так что подписывайтесь на тему, чтобы быть в курсе обновлений.
    Скачать последнюю версию:


    OwenStringUtils_v3.5.4.8.compiled-library

    Список изменений:

    Версия Дата Список изменений
    3.5.4.8 21.07.2020
    • Добавлены функции для преобразования IP и MAC (BYTES_TO_IPSTRING, UDINT_TO_IPSTRING, IPSTRING_TO_BYTES,
      IPSTRING_TO_UDINT, MAC_TO_STRING)
    • Добавлены функции для преобразования для HEX-строк (HEX_STR_TO_WORD, WORD_TO_HEX_STR)
    • Добавлены функции конкатенации строк с увеличенным числом входов (CONCAT4, WCONCAT4, CONCAT8, WCONCAT8)
    • Добавлены функции дополнения строк (ADD_CHAR, WADD_CHAR)
    • Исправлена ошибка в функции преобразования регистров WLowerCase, WUpperCase - ранее символы "q"/"Q" не преобразовывались
    3.5.4.7 16.08.2018
    • Добавлены функции REAL_TO_STRING_FORMAT, LREAL_TO_STRING_FORMAT;
    • Добавлены функции поиска позиции подстроки начиная с позиции N FindSubstringPosAfterN и WFindSubstringPosAfterN (аналог FINDP библиотеки OSCAT BASIC);
    • Добавлены функции замены первого вхождения подстроки в строку ReplaceSubstring и WReplaceSubstring;
    • Добавлены функции замены всех вхождений подстроки в строку ReplaceAllSubstrings и WReplaceAllSubstrings (аналог REPLACE_ALL библиотеки OSCAT BASIC);
    • Добавлены функции форматирования даты и времени TOD_TO_STRING_FORMAT, DATE_TO_STRING_FORMAT, DT_TO_STRING_FORMAT;
    • Устранена ошибка в Between, WBetween из-за которой функции работали некорректно, если sAfter находился перед sBefore.
    3.5.4.2 23.06.2017
    • Добавлены функции UpperCase, LowerCase, WUpperCase, WLowerCase
    • Устранил ошибку при которой символ CP1251 с кодом 16#98 некорректно преобразовывался в UNICODE. Теперь преобразовывается в символ 16#FFFD
    3.5.4.1 23.01.2017 Первая версия библиотеки




    Документация

    Последний раз редактировалось Евгений Кислов; 21.07.2020 в 10:09.

  2. #2

    По умолчанию

    Библиотека в шапке темы обновлена до версии 3.5.4.2
    Список изменений:
    • Добавлены функции UpperCase, LowerCase, WUpperCase, WLowerCase
    • Устранил ошибку при которой символ CP1251 с кодом 16#98 некорректно преобразовывался в UNICODE. Теперь преобразовывается в символ 16#FFFD

  3. #3

    По умолчанию

    Библиотека в шапке темы обновлена до версии 3.5.4.7
    Список изменений:
    • Добавлены функции REAL_TO_STRING_FORMAT, LREAL_TO_STRING_FORMAT;
    • Добавлены функции поиска позиции подстроки начиная с позиции N FindSubstringPosAfterN и WFindSubstringPosAfterN (аналог FINDP библиотеки OSCAT BASIC);
    • Добавлены функции замены первого вхождения подстроки в строку ReplaceSubstring и WReplaceSubstring;
    • Добавлены функции замены всех вхождений подстроки в строку ReplaceAllSubstrings и WReplaceAllSubstrings (аналог REPLACE_ALL библиотеки OSCAT BASIC);
    • Добавлены функции форматирования даты и времени TOD_TO_STRING_FORMAT, DATE_TO_STRING_FORMAT, DT_TO_STRING_FORMAT;
    • Устранена ошибка в Between, WBetween из-за которой функции работали некорректно, если sAfter находился перед sBefore
    OSCAT.ru читать стандарты и статьи по автоматизации на русском без регистрации и СМС

  4. #4

    По умолчанию

    Библиотека в шапке темы обновлена до версии 3.5.4.8
    Список изменений:
    • Добавлены функции для преобразования IP и MAC (BYTES_TO_IPSTRING, UDINT_TO_IPSTRING, IPSTRING_TO_BYTES,
      IPSTRING_TO_UDINT, MAC_TO_STRING)
    • Добавлены функции для работы с HEX-строками (HEX_STR_TO_WORD, WORD_TO_HEX_STR)
    • Добавлены функции конкатенации строк с увеличенным числом входов (CONCAT4, WCONCAT4, CONCAT8, WCONCAT8)
    • Добавлены функции дополнения строк (ADD_CHAR, WADD_CHAR)
    • Исправлена ошибка в функции преобразования регистров WLowerCase, WUpperCase - ранее символы "q"/"Q" не преобразовывались

Похожие темы

  1. Обсуждение: библиотека OwenStringUtils
    от Осинский Алексей в разделе СПК2хх
    Ответов: 17
    Последнее сообщение: 17.08.2020, 14:39
  2. Библиотека unm.lib
    от Newcomer в разделе ПЛК1хх
    Ответов: 34
    Последнее сообщение: 20.11.2018, 18:27
  3. Библиотека для ПЧВ
    от evgeni293 в разделе ПЛК3хх
    Ответов: 2
    Последнее сообщение: 27.10.2016, 20:41
  4. Библиотека ST
    от иван50 в разделе Master SCADA 3
    Ответов: 1
    Последнее сообщение: 01.10.2015, 10:57
  5. Библиотека UNM
    от Сергей71 в разделе ПЛК1хх
    Ответов: 10
    Последнее сообщение: 19.01.2012, 18:15

Ваши права

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