Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 20 из 20

Тема: TCP/IP в МЭК-104

  1. #11
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,669

    По умолчанию

    https://adroittech.co.za/adroit-maps-protocol-drivers/

    ну как бы Modbus оно умеет, а так же есть OPC клиенты. Все как бы зависит от лицензий и прочего.

  2. #12

    По умолчанию

    Сами ставим вот это если нужно передать Modbus TCP/RTU в МЭК-104:
    https://enip2.ru/production/rtu/encm-3/

  3. #13

    По умолчанию

    Ставится полноценный роутер iRZ RL21w например, сверху ставится софт, который преобразует Modbus TCP в МЭК 60870-5-104
    https://www.cea-energo.ru/ru/product/irzr2
    https://www.radiofid.ru/catalog/kont...y-asu-tp-info/

  4. #14

    По умолчанию

    Снова здравствуйте, дорогие пользователи!
    не хочу плодить кучу тем, поэтому продолжу свой вопрос тут, да и в принципе вопрос - продолжение темы

    Ситуация на текущий момент такая: с плк110 по modbus tcp идёт информация на устройство сбора данных ЭНКМ-3, он в свою очередь преобразует в 104 протокол и отправляет на верх уже.
    Все значения WORD вычитываются и записываются без каких-либо проблем.
    А вот битовые значения (такие как например NSD_TR, LS4_AL и т.д., все необходимые биты которые вычитывал находятся с 57 по 101 адреса, и некоторые из них должны иметь функцию записи например P1_START/STOP... - пуск/стоп насоса и т.д.) выдавали ошибку.

    Я решил вычитать эти регистры напрямую у плк через Modbus (пытался вычитать 01 функцией если я правильно помню). И мне писало ошибку что-то на подобие "illegal addres..." (я точно не помню как она звучала, а поискать её сразу забыл).
    Если я правильно понял (нашёл похожую проблему по записи бит https://owen.ru/forum/showthread.php?t=30342), то нужно использовать библиотеку Modbus.
    Хотя при этом же другие биты, которые идут в самых начальных адресах идут для панельки СП307, а там всё хорошо читается и задаётся

    В ощем, надеюсь на Вашу помощь, надеюсь камнями сильно кидаться не будете
    прикреплю проект с которым были трудности
    Вложения Вложения

  5. #15

    По умолчанию

    Цитата Сообщение от high_roll Посмотреть сообщение

    В ощем, надеюсь на Вашу помощь, надеюсь камнями сильно кидаться не будете
    прикреплю проект с которым были трудности
    Функцией 0х01 вы можете читать каждый бит по отдельности. Так никто не делает, упаковываете по 16 бит в Маску WORD и читаете как регистры, функцией 0х03.
    Тем более что с WORD у вас нет проблем. То же самое и с записью, получили маску бит, извлекли биты.
    На языке ST, биты упаковываются ( Mask.0 :=b0; ) и распаковываются через точку, например ( b1:= Mask.1; )
    Последний раз редактировалось kondor3000; 25.03.2024 в 14:18.

  6. #16

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Функцией 0х01 вы можете читать каждый бит по отдельности. Так никто не делает, упаковываете по 16 бит в Маску WORD и читаете как регистры, функцией 0х03.
    Спасибо. Как читать третьей функцией биты с модема я разобрался. Предварительно сделал так, как Вы посоветовали.
    Буду на объекте и уже по факту проверю.

    А есть ли функция записи 0х05 чтобы я мог записывать определённые биты?

  7. #17

    По умолчанию

    Цитата Сообщение от high_roll Посмотреть сообщение
    А есть ли функция записи 0х05 чтобы я мог записывать определённые биты?
    5-я как раз конкретные и пишет. 6-я - запись слова. Читаете 3-ей, меняете нужные биты и пишете обратно 6-ой.

  8. #18

    По умолчанию

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

    А есть ли функция записи 0х05 чтобы я мог записывать определённые биты?
    Выше уже ответили читаете функцией 0х03, записываете 0х06 (или 0х10) , функция 0х05 записывает по 1 биту, а 0х06 слово по 16 бит.

  9. #19

    По умолчанию

    особенность в том, что запись будет происходить через скаду
    а в скаде заказчика есть условные кнопки, которые либо посылают по 0 или 1 на определённый бит, и менять внешний вид я не могу скады и они не будут

    чтение, как я написал выше, чтение будет по 0х03 функции просто через маску, как посоветовали)
    но запись вариант оставить только по отдельному биту. поэтому выход для меня это 0х05 функция
    Последний раз редактировалось high_roll; 27.03.2024 в 14:52.

  10. #20

    По умолчанию

    Цитата Сообщение от high_roll Посмотреть сообщение
    чтение, как я написал выше, чтение будет по 0х03 функции просто через маску, как посоветовали)
    но запись вариант оставить только по отдельному биту. поэтому выход для меня это 0х05 функция
    Если вы для чтения регистра используете функцию модбас 3, то это регистр хранения. И функция 5 к нему не применима в принципе.

    Что касается SCADA, то я не очень понимаю - а зачем мне вообще знать, какие функции она использует для чтения и записи? Ну, т.е. знать как бы полезно. Для общего развития, так сказать. А так - об этом должен драйвер протокола позаботится.

Страница 2 из 2 ПерваяПервая 12

Метки этой темы

Ваши права

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