Страница 37 из 37 ПерваяПервая ... 27353637
Показано с 361 по 368 из 368

Тема: Библиотека ModemOwenLib (для старых ПЛК/СПК)

  1. #361

    По умолчанию

    Цитата Сообщение от heos Посмотреть сообщение
    Добрый день и вам. Спасибо, что не забываете про модемы )

    Сразу несколько вопросов по новому компоненту:
    1. (и самый важный))) Есть отправка СМС, но нет ни окончания выполнения операции, ни результата (хотя бы результат "ОК", timeout или "ERROR..").
    2. 80 символов для текста СМС - почему не 70 (ограничение для кириллицы и не только в одну СМС).
    3. Тип текста СМС STRING - как быть с другими языками, почему не WSTRING? А ведь WSTRING гораздо проще запаковать в PDU чем STRING, и нет необходимости заботится о кодировке.
    4. С каким атрибутом "Срок доставки сообщения" отправляется СМС? Хотелось бы выбирать - день, 4 дня, неделя...
    5. Как происходит выполнение произвольной AT-команды? Без флага момента отправки не определить timeout, без приостановки потока нет возможности выполнить последовательность AT-команд.

    Спасибо.
    Добрый день.

    1. Такого функционала действительно нет. В ближайшее время не планируется, так как реализация будет связана с определенными сложностями.
    2. Ограничение - действительно 70 символов. Используется тип канала ARRAY [0..80] OF BYTE, чтобы можно было привязать обычную переменную типа STRING (и не помнить о том, что надо объявлять именно STRING(70) );
    3. WSTRING без проблем можно конвертировать в STRING - см. библиотеку OwenStringUtils.
    4. Компонент не устанавливает никакое значение для vp.
    5. Таймаут определяется автоматически - если в течение 10 секунд ответ не получен, то взводится флаг Получен ответ, при этом канал Ответ в данном случае представляет собой пустую строку.

    По п. 1 и 4 - зафиксировал в качестве пожеланий к следующей версии компонента.

  2. #362

    По умолчанию

    По п. 5: 10 секунд - это не автоматически ))). Если обратиться к документации модуля модема, то можно увидеть, что у каждой АТ-команды прописан свой таймаут и результат выполнения команды не всегда ОК. Не проще ли изначально поглубже изучить документацию, добавить к AT-командам по параметру таймаут и добавить обработку исключительных ситуаций. При соответствующей настройке модуль модема при ошибке может отдавать не только ERROR, но и еще ее код.
    По поводу WSTRING - тут вообще непонятна необходимость конвертации в STRING, если при отправке СМС STRING практически конвертируется обратно в WSTRING, а при приеме СМС PDU содержит именно WSTRING, но вы ее, зачем то, конвертируете в STRING. При таком подходе гарантирована потеря символов и отсекается возможность многоязычности.

    ЗЫ. А вообще было бы не плохо добавить возможность остановки потока выполнения АТ-команд компонента для работы с модулем напрямую, с нормальным буферами чтения и записи - не 80, а хотя бы 2048 (тут нужно смотреть документацию на модули модемов) и с непрерывным чтением из модема.
    Спасибо.
    Последний раз редактировалось heos; 20.08.2020 в 09:20.

  3. #363

    По умолчанию

    Цитата Сообщение от heos Посмотреть сообщение
    По п. 5: 10 секунд - это не автоматически ))). Если обратиться к документации модуля модема, то можно увидеть, что у каждой АТ-команды прописан свой таймаут и результат выполнения команды не всегда ОК. Не проще ли изначально поглубже изучить документацию, добавить к AT-командам по параметру таймаут и добавить обработку исключительных ситуаций. При соответствующей настройке модуль модема при ошибке может отдавать не только ERROR, но и еще ее код.
    По поводу WSTRING - тут вообще непонятна необходимость конвертации в STRING, если при отправке СМС STRING практически конвертируется обратно в WSTRING, а при приеме СМС PDU содержит именно WSTRING, но вы ее, зачем то, конвертируете в STRING. При таком подходе гарантирована потеря символов и отсекается возможность многоязычности.
    1. Возвращается любой результат, не только ОК.
    2. Многоязычность не закладывалась в требования к компоненту.
    С точки зрения каналов ввода-вывода CODESYS - STRING предпочтительнее, так так занимает в два раза меньше памяти.

  4. #364
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,747

    По умолчанию

    Цитата Сообщение от heos Посмотреть сообщение
    Если обратиться к документации модуля модема, то можно увидеть, что у каждой АТ-команды прописан свой таймаут
    а где написано что чипсет знает какая длинна и качество линии между контроллером и модемом? Вы же не утверждаете, что библиотека работает в модеме
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

  5. #365

    По умолчанию

    WSTRING у данных контроллеров много памяти не отберет, а время выполнения операций за счет отсутствия лишних конвертаций только уменьшится.

  6. #366

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    а где написано что чипсет знает какая длинна и качество линии между контроллером и модемом? Вы же не утверждаете, что библиотека работает в модеме
    Я просто вижу, что все недостатки из ModemOwenLib перекочевали в новый компонент... (

  7. #367
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,747

    По умолчанию

    Цитата Сообщение от heos Посмотреть сообщение
    Я просто вижу, что все недостатки из ModemOwenLib перекочевали в новый компонент... (
    однако почему то пользуетесь, структуру PDU формата знаете, набор АТ команд тоже, сделайте свою бибку
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

  8. #368

Страница 37 из 37 ПерваяПервая ... 27353637

Похожие темы

  1. Ответов: 28
    Последнее сообщение: 02.10.2018, 15:48
  2. Ответов: 140
    Последнее сообщение: 06.06.2018, 13:38
  3. Ответов: 16
    Последнее сообщение: 03.04.2017, 08:27
  4. Ответов: 0
    Последнее сообщение: 23.01.2017, 15:32
  5. Использование старых библиотек
    от Boris3B в разделе ПЛК3хх
    Ответов: 18
    Последнее сообщение: 28.02.2011, 17:06

Ваши права

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