PDA

Просмотр полной версии : Возможно ли передать по порту строку больше чем в 16 символов?



Sergeyi7
01.02.2021, 13:02
Здравствуйте. Мне нужно передать по порту 2 списка из трёхзначных точек для построения графика на пк. Всего точек на один список будет 144. Изначально сделал три строки с точками в общей сумме которых будет 144 и передать их по порту на пк. Передать хотел по созданным переменным в конфигурации плк, но увидел что в таком случае строка будем не на 255 символов а на 16. Единственный способ который мне пришёл в голову это сделать 36 регистров на список и их уже передать. Можно ли передать точки каким нибудь более элегантным и продуманным способом?

Sergeyi7
01.02.2021, 14:52
А можете пожалуйста объяснить как это можно сделать и как лучше? Я так думаю что это делается с помощью библиотеки modbus?

Sergeyi7
01.02.2021, 15:20
Хорошо, большое спасибо за наводку!)

Sergeyi7
01.02.2021, 17:47
А если контроллер всё таки выступает в роли мастера? Какой ещё вариант есть? модбас.либ самый приемлемый будет?

melky
01.02.2021, 18:57
63/73 не умеет работать мастером без библиотеки. Особенность.

Sergeyi7
01.02.2021, 19:31
Да я знаю. У меня плк как мастер смотрит у другого устройства дискретный регистр. Но не знаю как передать с плк-мастера на пк строки, и как то нужно чистить строки на плк. Была идея по команде с пк но на мастер так не получится.

Spawn
02.02.2021, 00:01
Не совсем понятно, что ТС подразумевает под "трёхзначных точек"...Если у Вас значения числовые, то причем тут строки? "Толкайте" значения точек в Buffer, правильно расставив байты, и засылайте всё это дело Slave'у - MB_WR_REGS, из библиотеки ModBus.lib, Вам в помощь. Здесь (https://owen.ru/forum/showthread.php?t=33400&highlight=Spawn) есть информация, как правильнее организовать обмен.