Страница 725 из 856 ПерваяПервая ... 225625675715723724725726727735775825 ... ПоследняяПоследняя
Показано с 7,241 по 7,250 из 8553

Тема: CODESYS V3.5. Вопросы и ответы

  1. #7241

    По умолчанию

    Здравствуйте.
    Подскажите, а есть ли способ поиска подстроки в строке (типа OwenStringUtils.WFindSubstringPosAfterN от ОВЕНа),
    но с wstring длинной 16000 символов? (а не 255 символов).
    Спасибо.

  2. #7242
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    13,603

    По умолчанию

    Цитата Сообщение от ВладОвен Посмотреть сообщение
    Здравствуйте.
    Подскажите, а есть ли способ поиска подстроки в строке (типа OwenStringUtils.WFindSubstringPosAfterN от ОВЕНа),
    но с wstring длинной 16000 символов? (а не 255 символов).
    Спасибо.
    Добрый день.
    См. функцию StrFindW в библиотеке StringUtils.

  3. #7243

    По умолчанию Изменение адреса датчиков

    Здравствуйте уважаемые форумчане. Возник вопрос. Можно ли как то поменять адрес модуля расширения или датчика(например ПД150) без использования специальной утилиты для изменения конфигурации? каким образом изменить адрес modbus rtu модуля ввода/вывода через спк?(т.е. мне нужно нажать кнопку и прочитать текущий адрес modbus rtu модуля, после чего оно будет в текстовом поле, потом я хочу изменить его и чтобы он записался в модуле, как читать адреса модулей на самой панели PD150.SlaveAddress, а как именно с модуля)

  4. #7244
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    13,603

    По умолчанию

    Цитата Сообщение от ИльяВ Посмотреть сообщение
    Здравствуйте уважаемые форумчане. Возник вопрос. Можно ли как то поменять адрес модуля расширения или датчика(например ПД150) без использования специальной утилиты для изменения конфигурации? каким образом изменить адрес modbus rtu модуля ввода/вывода через спк?(т.е. мне нужно нажать кнопку и прочитать текущий адрес modbus rtu модуля, после чего оно будет в текстовом поле, потом я хочу изменить его и чтобы он записался в модуле, как читать адреса модулей на самой панели PD150.SlaveAddress, а как именно с модуля)
    Добрый день.
    В ПД150 значение его адреса хранится в holding-регистре 0x0007.
    После записи в него нового значения адреса нужно записать значение 129 в регистр 0x000F, чтобы новое значение адреса было применено и сохранено в энергонезависимой памяти датчика.

  5. #7245

    По умолчанию

    Цитата Сообщение от ИльяВ Посмотреть сообщение
    Здравствуйте уважаемые форумчане. Возник вопрос. Можно ли как то поменять адрес модуля расширения или датчика(например ПД150) без использования специальной утилиты для изменения конфигурации? каким образом изменить адрес modbus rtu модуля ввода/вывода через спк?(т.е. мне нужно нажать кнопку и прочитать текущий адрес modbus rtu модуля, после чего оно будет в текстовом поле, потом я хочу изменить его и чтобы он записался в модуле, как читать адреса модулей на самой панели PD150.SlaveAddress, а как именно с модуля)
    В документации на конкретный модуль или датчик и смотрите.
    Вот для ПД150 например:
    изображение_2024-07-04_131340710.png

  6. #7246

    По умолчанию

    Цитата Сообщение от 1exan Посмотреть сообщение
    В документации на конкретный модуль или датчик и смотрите.
    Вот для ПД150 например:
    изображение_2024-07-04_131340710.png
    Извините если туплю. Я не совсем понимаю как мне обратиться к модулю. Получается чтобы мне прочитать адрес модуля мне нужно используя библиотеку owencommunication перебрать все адреса и прочитать все что есть в модуле и от туда взять сетевой адрес, а потом как его записать в него? Просто я не совсем даже понимаю как реализовать сканирование сети и последующее изменение адреса на самом модуле

  7. #7247

    По умолчанию

    Цитата Сообщение от ИльяВ Посмотреть сообщение
    Извините если туплю. Я не совсем понимаю как мне обратиться к модулю. Получается чтобы мне прочитать адрес модуля мне нужно используя библиотеку owencommunication перебрать все адреса и прочитать все что есть в модуле и от туда взять сетевой адрес, а потом как его записать в него? Просто я не совсем даже понимаю как реализовать сканирование сети и последующее изменение адреса на самом модуле
    Чтобы задавать правильные вопросы уже нужны какие-то базовые знания об использовании протокола Modbus.
    Почитайте здесь, чтобы хоть с чего-то начать

  8. #7248

    По умолчанию

    Привет.
    Я получаю от ВЕБ-сервера строку типа wstring длинной около 15Кб. Я создал строку wstring(16000).
    Потом я пытаюсь ее сохранить к другую локальную строку того же типа.
    Какую длину я должен поставить для функции копирования MEM.MemMove? 16000 или 32000?

    Screenshot 2024-07-04 105021.png

    Я думал, что 32000, т.к. каждый символ в wstring - это 2 байта.

    Скрытый текст:
    Для эксперимента я поставил туда 16000. Думал, что скопируется только пол строки.
    Но функция поиска STU.StrFindW находит на 15000-15500 (это 30000-31000 байт) участке нужные мне символы!.. Как так?

  9. #7249

    По умолчанию

    Мне хочется ругаться и плёткой, плёткой.
    Чтобы программы потом не глючили, НЕЛЬЗЯ указывать прямой размер данных в цифрах!
    Надо использовать SIZEOF
    . Тогда всё будет правильно: размер буфера в байтах.
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net | Канал в ТГ @CsCsNetLab

  10. #7250

    По умолчанию

    Да ладно, погоди ты с плеткой. Вот еще прикол:

    1. Получаю от сервера ответ 200 (iStatus).
    2. Получаю длину ответа от сервера - 15162 байта (diLen).
    3. Копирую ответ от сервера в переменную wsResult : wstring(16000). Но! Копирую только 7000 байт.
    4. Ищу в этой строке подстроку wsOlolo := "2020". Этот фрагмент внизу ВЕБ-страницы сервера (в подвале).
    5. Получаю успешный поиск на позиции 15109!

    Перед запуском делал сброс, что-бы все переменные были пустыми.


    Screenshot 2024-07-04 111221.png

Страница 725 из 856 ПерваяПервая ... 225625675715723724725726727735775825 ... ПоследняяПоследняя

Похожие темы

  1. Панели оператора СП3xx. Вопросы и ответы
    от Мурат Ахриев в разделе Панели оператора (HMI)
    Ответов: 4011
    Последнее сообщение: Вчера, 16:11
  2. Панели оператора ИП320. Вопросы и ответы
    от automat в разделе Панели оператора (HMI)
    Ответов: 849
    Последнее сообщение: 16.11.2025, 08:58
  3. ИПП120. Вопросы и ответы
    от Р.Александр в разделе Программируемые реле
    Ответов: 273
    Последнее сообщение: 08.09.2025, 13:21
  4. Индикатор ИП120 , вопросы- ответы
    от rovki в разделе Программируемые реле
    Ответов: 56
    Последнее сообщение: 03.11.2017, 15:58
  5. Панели оператора СП270. Вопросы и ответы
    от Давидюк в разделе Панели оператора (HMI)
    Ответов: 930
    Последнее сообщение: 15.05.2017, 17:12

Ваши права

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