Вход

Просмотр полной версии : Universal modbus device. Возможность Передачи-приеми строки более 79 байт



mkhm
05.04.2014, 10:49
Надо передать - принять строку более 80 байт (передача 114, прием 124).
В свойствах String Output(Inpute) module можно указать макс. число до 249 и идет передача-прием,
но длина строки - 79.
Возможно ли увеличить длину передаваемой-принимаемой строки.

(Используем-программируем ПЛК 100)

mkhm
05.04.2014, 22:44
С этим лучше на библиотеки уйти. Про 249 - очепятка.

Вы сверьте с той стороной что прилетает/улетает
Насчет библиотеки понятно, спасибо. Пока из-за цейтнота разделили на 2 посылки.
На опечатку не похоже - делал длинную посылку, не обратив внимания на длину строки:
реально передает длинную посылку, смотрел на той стороне,
но , видимо, так как короткая строка, то и пишет по Pointer неизвестно куда с непредсказуемым рез-ом
- у меня в конце строки местами пропадали байты(точнее word-ы).
Все же, было бы неплохо увеличить длину строк

Филоненко Владислав
12.03.2017, 13:58
объявите строку с размером не по умолчанию (80 байт). Максимальный размер зависит от типа ПЛК и варьируется от 100 до 256 байт.
Альтернативно - создавайте массив байт любого размера и передавайте указатель на него вместо строки.

givan
21.03.2017, 01:26
А можно подробнее про альтернативный ввод (создание массива и т.д). Заранее спасибо.

givan
21.03.2017, 02:17
Голову сломала — не получается разобраться…

Филоненко Владислав
21.03.2017, 19:42
Валенок, где такое забористое курят? Не надо взрывать мозг девушкам-автоматизаторам, их и так мало.

givan
23.03.2017, 02:01
Мальчики, спасибо за просветление :)

mkhm
06.04.2017, 13:20
объявите строку с размером не по умолчанию (80 байт). Максимальный размер зависит от типа ПЛК и варьируется от 100 до 256 байт.
Альтернативно - создавайте массив байт любого размера и передавайте указатель на него вместо строки.

Попробовал на ПЛК 110-60 указать количество более 80, но менее 100 (98). Размер массива остался 8030418

mkhm
06.04.2017, 14:57
В общем с конфигурационным мастером, как обычно, ды-дынц
Юзайте syslibcom, и не будет никаких проблем.
Используем UNM lib с модемами(терминалами) teleofis.

На нескольких объектах с модемом ПМ01 остался вариант с "конфигурационным мастером".
Да и здесь если до 80 байт, то работает,
просто по случаю решил попробовать более 80, раз уж вычитал отсюда, что должно быть не менее 100 байт.
Видимо, речь не о этих строках

Спасибо.

mkhm
06.04.2017, 16:55
Off. Общее впечатление по сравнению с другими контроллерами скажем так, несколько ухудшилось. Со слов коллег ранее (несколько лет назад) сравнительная цена была основным критерием выбора, сейчас такого преимущества нет (или менее очевидно).

P.S. Цель поста - конструктивная. Если считаете неуместным или по другим причинам, удалите

Филоненко Владислав
07.04.2017, 09:46
Попробовал на ПЛК 110-60 указать количество более 80, но менее 100 (98). Размер массива остался 8030418

Так не там менять надо, а в таргете, STRING(80)

Филоненко Владислав
07.04.2017, 12:20
Подсказки даны. Если кто не сможет найти - значит он недостаточно квалифицирован, чтобы изменять это.

mkhm
10.04.2017, 10:33
))) Очевидно что вы перепутали задания для разработчика тумблера и string'а из мастера. Где нужно исключить случайный доступ - попой в окно, где требуется простой функционал в пару кликов - нужно особенное посвящение в тайны таржетов.

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