Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 13

Тема: Modbus Master как и что?

  1. #1

    По умолчанию Modbus Master как и что?

    Приветствую вас, о мудрые форумчане.

    К сожалению, только начинаю знакомиться со средой CoDeSys. В целом разобрался в большей части вопросов для себя, однако ModBus остается чем-то страшным в ПЛК.
    Причем не сам протокол, а именно в CoDesys.

    Есть у меня следующий набор
    1) ПЛК-160 [M02]
    2) Устройство modbus slave( это не ПЛК ). Подключение по TCP-RTU. Например будет у него slaveID: 11

    И есть задача управление. Собственно реализация на других языках следующая:

    1) Надо авторизоваться. Для этого в адрес 0xD002 я записываю параметры WriteMultipleRegisters {0x65, 0x70, 0x4D, 0x20, 0x45, 0x43 } с длинной 3 соотвественно. Это некая базовая авторизация на устройстве, дабы в последствии разрешить изменение параметров
    2) Далее я записываю уже значение конкретных параметров, к примеру берем адрес 0xD001 и делаю WriteSingleRegister с записью например 100.

    Так вот, к сожалению я так и не разобраться как же мне это реализовать в CoDeSys.
    В целом язык не важен, но если это будет ST наверно самое оптимальное.

    Так я уже и видосики посмотрел вроде.
    И почитал это:
    https://owen.ru/forum/attachment/5/7/9/9/1/23301.attach
    https://owen.ru/forum/attachment/6/5/8/8/0/24841.attach

    да и вроде много чего еще. Но увы(

  2. #2

    По умолчанию

    Ну протокол сам Modbus он без авторизации, а если с авторизацией, то не называйте Modbus, добавьте "2" или "+".

    Если бы мне дали такую задачу, то вначале реализовал бы этот алгоритм авторизации - ищите материалы работы с COM
    После авторизации подключал бы библиотеку опроса
    С уважением,
    Лапшин Вячеслав

  3. #3

    По умолчанию

    И в чем смысл такой авторизации? Канал как был открытый так и остался. Берешь снифер, смотришь паттерн "авторизации" и вуаля, ты в системе. Доступно даже гопникам.
    Обычно посылают случайный паттерн, его на другой стороне по известному алгоритму и секретному ключу преобразуют и обратно отдают. Так обеспечивается невзламываемость прослушкой. Ну если алгоритм нормальный а не 3 XOR... Хотя и 3 XOR от гопников защищает.
    Далее контроль канала на лишние пакеты и периодическая (раз в 1-5 секунд) переавторизация. А лучше уже секретный канал делать, с шифрацией.
    Тролль-наседка, добрый, нежный и ласковый

  4. #4

    По умолчанию

    Защита через тайну в средние века ещё как-то работала. В 21 веке это моветон.
    Тролль-наседка, добрый, нежный и ласковый

  5. #5

    По умолчанию

    К сожалению данную авторизацию придумал не я, так что как там работает так и работает. Я бы вообще отключить будь такая возможность, ибо физически все это дело будет сильно отрезано от цивилизации.

    А по библиотекам если честно до конца все равно не совсем понятно стало, как запись multi делать. на эмулятор приходит совсем не то что отправляю

  6. #6

    По умолчанию

    К сожалению данную авторизацию придумал не я, так что как там работает так и работает. Я бы вообще отключить будь такая возможность, ибо физически все это дело будет сильно отрезано от цивилизации.

    А по библиотекам если честно до конца все равно не совсем понятно стало, как запись multi делать. на эмулятор приходит совсем не то что отправляю.
    Кто подскажет, как правильно сформировать переменную для данной последовательности {0x65, 0x70, 0x4D, 0x20, 0x45, 0x43 }?

  7. #7

    По умолчанию

    Приятель, просто нужно было здесь погуглить. "Работа с компортом", то есть работа с библиотеками и без конфигуратора.

    https://yadi.sk/d/h0vy081ud1aBfQ

    Научитесь хоть какую-то телеграмму отправлять, а потом расширяйте свой успех.
    С уважением,
    Лапшин Вячеслав

  8. #8
    Banned
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    6,671

    По умолчанию

    у вас еще должен быть адрес, команда 0х10, стартовый регистр, количество регистров 3, количество байт ну контрольная сумма

    01 10 D0 02 00 03 06 65 70 4D 20 45 43 C2 70

    Part of Data Package Description Value
    01 Slave address 0x01 (1)
    10 Function code 0x10 (16) - Write Multiple Registers
    D0 02 Starting address 0xD003 (53251)
    00 03 Quantity 0x0003 (3)
    06 Byte count 0x06 (6)
    65 70 4D 20 45 43 Registers value 0x6570 (25968), 0x4D20 (19744), 0x4543 (17731)
    C2 70 CRC 0xC270 (49776)

    Что то типа того
    Последний раз редактировалось melky; 14.01.2020 в 15:09.

  9. #9
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,341

    По умолчанию

    Цитата Сообщение от gOsToFf Посмотреть сообщение
    К сожалению данную авторизацию придумал не я, так что как там работает так и работает. Я бы вообще отключить будь такая возможность, ибо физически все это дело будет сильно отрезано от цивилизации.

    А по библиотекам если честно до конца все равно не совсем понятно стало, как запись multi делать. на эмулятор приходит совсем не то что отправляю.
    Кто подскажет, как правильно сформировать переменную для данной последовательности {0x65, 0x70, 0x4D, 0x20, 0x45, 0x43 }?
    Дебри какие-то.
    Используйте в конфигурации "String output module State, заносите туда строку
    'epM EC'; (*Это и есть 0x65, 0x70, 0x4D, 0x20, 0x45, 0x43 *) длина - 3 регистра
    командуете в программе в нужный момент для отправки

    Захват-1.png Захват-2.png

    И все дела!
    Последний раз редактировалось petera; 14.01.2020 в 15:19.
    26 лет деятельности в области промышленной безопасности

  10. #10

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    Дебри какие-то.
    Используйте в конфигурации "String output module State, заносите туда строку
    'epM EC'; (*Это и есть 0x65, 0x70, 0x4D, 0x20, 0x45, 0x43 *) длина - 3 регистра
    командуете в программе в нужный момент для отправки

    Захват-1.png Захват-2.png

    И все дела!
    Грациозно, идеально и даже работает
    Спасибо!

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. Ответов: 2
    Последнее сообщение: 04.06.2019, 16:55
  2. Modbus (Master) не отображается в память Modbus (Slave)
    от ghoch в разделе Помощь Разработчикам
    Ответов: 3
    Последнее сообщение: 07.05.2018, 09:40
  3. ПЛК160: Modbus TCP Master и Modbus TCP Slave одновременно.
    от Антон Костюченко в разделе ПЛК1хх
    Ответов: 10
    Последнее сообщение: 18.07.2016, 10:36
  4. Ответов: 2
    Последнее сообщение: 15.09.2014, 17:40
  5. Ответов: 5
    Последнее сообщение: 14.10.2010, 14:42

Ваши права

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