Здравствуйте.
Подскажите, а есть ли способ поиска подстроки в строке (типа OwenStringUtils.WFindSubstringPosAfterN от ОВЕНа),
но с wstring длинной 16000 символов? (а не 255 символов).
Спасибо.
Здравствуйте.
Подскажите, а есть ли способ поиска подстроки в строке (типа OwenStringUtils.WFindSubstringPosAfterN от ОВЕНа),
но с wstring длинной 16000 символов? (а не 255 символов).
Спасибо.
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
Здравствуйте уважаемые форумчане. Возник вопрос. Можно ли как то поменять адрес модуля расширения или датчика(например ПД150) без использования специальной утилиты для изменения конфигурации? каким образом изменить адрес modbus rtu модуля ввода/вывода через спк?(т.е. мне нужно нажать кнопку и прочитать текущий адрес modbus rtu модуля, после чего оно будет в текстовом поле, потом я хочу изменить его и чтобы он записался в модуле, как читать адреса модулей на самой панели PD150.SlaveAddress, а как именно с модуля)
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
В документации на конкретный модуль или датчик и смотрите.
Вот для ПД150 например:
изображение_2024-07-04_131340710.png
Извините если туплю. Я не совсем понимаю как мне обратиться к модулю. Получается чтобы мне прочитать адрес модуля мне нужно используя библиотеку owencommunication перебрать все адреса и прочитать все что есть в модуле и от туда взять сетевой адрес, а потом как его записать в него? Просто я не совсем даже понимаю как реализовать сканирование сети и последующее изменение адреса на самом модуле
Чтобы задавать правильные вопросы уже нужны какие-то базовые знания об использовании протокола Modbus.
Почитайте здесь, чтобы хоть с чего-то начать
Привет.
Я получаю от ВЕБ-сервера строку типа wstring длинной около 15Кб. Я создал строку wstring(16000).
Потом я пытаюсь ее сохранить к другую локальную строку того же типа.
Какую длину я должен поставить для функции копирования MEM.MemMove? 16000 или 32000?
Screenshot 2024-07-04 105021.png
Я думал, что 32000, т.к. каждый символ в wstring - это 2 байта.
Скрытый текст:
Мне хочется ругаться и плёткой, плёткой.
Чтобы программы потом не глючили, НЕЛЬЗЯ указывать прямой размер данных в цифрах!
Надо использовать SIZEOF. Тогда всё будет правильно: размер буфера в байтах.
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net | Канал в ТГ @CsCsNetLab
Да ладно, погоди ты с плеткой. Вот еще прикол:
1. Получаю от сервера ответ 200 (iStatus).
2. Получаю длину ответа от сервера - 15162 байта (diLen).
3. Копирую ответ от сервера в переменную wsResult : wstring(16000). Но! Копирую только 7000 байт.
4. Ищу в этой строке подстроку wsOlolo := "2020". Этот фрагмент внизу ВЕБ-страницы сервера (в подвале).
5. Получаю успешный поиск на позиции 15109!
Перед запуском делал сброс, что-бы все переменные были пустыми.
Screenshot 2024-07-04 111221.png