PDA

Просмотр полной версии : Как лучше передать 1500 регистров по TCP



murdemon
04.01.2020, 19:13
Есть ПЛК160 M2 и СПК107 М1, как лучше и быстрее передать 1500 регистров между ними по Ethernet?

murdemon
04.01.2020, 19:43
Это как бы в теории, а на практике кто то такое делал? И как именно? Через сокеты или бибки modbus ?

melky
04.01.2020, 21:36
использовать дополнительные функции Modbus. Хотя не помню, кажется все равно ограничение в 256 байт... если для доп функций такое же ограничение по размеру то в несколько заходов.

Как вариант написать библиотеку своего протокола, без ограничения размера.

e.filatov
04.01.2020, 23:24
Есть ПЛК160 M2 и СПК107 М1, как лучше и быстрее передать 1500 регистров между ними по Ethernet?

Я бы сделал свой протокол, в 2-3 пакета TCP уложитесь

приборист
04.01.2020, 23:26
Сетевые переменные?
Или там ограничение есть какое?

Филоненко Владислав
07.01.2020, 10:51
1. Для Кодесиса есть сетевые переменные. Там ограничение 1500 байт - служебная.
2. Не передавать 1500 регистров :)
И я не шучу. Посмотрите на свой алгоритм, вряд ли нужны сразу все 1500 регистров. Значит можно выделить оперативный регистры и настройки.

P.S. Если это типо лог:
1. Сжать данные (не по 1 регистру на каждый бит) и не по флоату на каждую температуру куриной задницы.
2. Посылать изменения
3. Записывать лог в файл и вычитывать по TFTP (скорость максимальная)

murdemon
07.01.2020, 13:41
По modbus , стандартными средствами все передал, обращение к областям на мастере и слейве по указателю, все ок. Только консистентность нарушается, ну это не важно в проекте. Это не лог. Это отображение граффиков на панели. На ПЛК бысрая обработка с энкодера, панель только рисует.