PDA

Просмотр полной версии : TCP/IP в МЭК-104



high_roll
12.12.2023, 17:59
Доброго времени суток всем!

Ситуация следующая:
1. На объекте установлен контроллер ПЛК110-30 (второй версии), панель оператора СП307-р, а также модем Teltonika RUT200.
Контроллер является слэйвом, панель и scada - мастерами
В конфигурации ПЛК добавлял 2 соединения по TCP в одном слейве, чтобы не дублировать переменные для возможности управления со scada и с панели оператора сразу (просто порты указывал разные 502 для скады и 503 для панели)
Запускал клиент ОПС сервера, эмитировал управление с диспетчерского пункта (дистанционно) и с панели оператора на месте - всё работает. Вопросов нет

2. Но вот беда! Позже выяснилось, что у заказчика scada не поддерживает modbus, ей необходим 104 протокол передачи данных.
Вот уже несколько дней пытаюсь что-то найти по информации как преобразовать имеющийся modbus tcp в мэк-104

Есть такой контроллер ПЛК110-ТЛ для телемеханики, но он не подойдёт (если я правильно понимаю), т.к. скада-система не Телемеханика
Мне сказали, что проблему можно решать при помощи модемов, которые могут конвертировать в 104 протокол. Вот пытаюсь искать подходящие решения в этом направлении

Быть может кто-то оказывался в подобной ситуации и есть примеры какой-то документации или готовые кейсы?

In_Da_Cher_A
12.12.2023, 18:33
Вот уже несколько дней пытаюсь что-то найти по информации как преобразовать имеющийся modbus tcp в мэк-104
чего там искать? у моксы такие были
https://moxa.pro/collections/gateways-energy

kondor3000
12.12.2023, 18:54
За такую цену, проще Скаду другую взять

In_Da_Cher_A
13.12.2023, 08:10
За такую цену, проще Скаду другую взятькакой спрос, такой привоз
а по мне, так явно либо там вместо скада какая-то херня рукоблудная, либо просто кто-то пользуясь неосведомлённостью автора, просто не хочет купить и поставить в скаду дрова под модбас тср
я с трудом представляю, что это за скада, в которой нет самого дефолтного бич-пакета типа Модбас
автор, что там за продукт?

МихаилГл
13.12.2023, 08:13
какой спрос, такой привоз
а по мне, так явно либо там вместо скада какая-то херня рукоблудная, либо просто кто-то пользуясь неосведомлённостью автора, просто не хочет купить и поставить в скаду дрова под модбас тср
я с трудом представляю, что это за скада, в которой нет самого дефолтного бич-пакета типа Модбас
автор, что там за продукт?

Требуем проектную документацию и отчет о предпроектном обследовании)

melky
13.12.2023, 08:28
Почему вдруг Контроллер ПЛК110-ТЛ не может выступить шлюзом в 104-й ? али он не умеет выполнять логику, которую вы сделали в обычном ПЛК? и держать связь с панелью по Modbus неожиданно?

з.ы. это могут быть энергетики, Scada которых или не знает про Modbus или его там никто не умеет настраивать...


А их Scada умеет OPC UA ?

In_Da_Cher_A
13.12.2023, 12:42
з.ы. это могут быть энергетики, Scada которых или не знает про Modbus или его там никто не умеет настраивать...знаю я кто пользует мэк-104
скорее последнее - всё было изначально сделано на 104, а сейчас нарисовался автор со своим новоделом, а контора, что скаду ставила тыщу лет назад, ей никто про модбас не говорил и сейчас пропатчить скаду - лютый организационный гемор, включая какие-нибудь торжыщщи по фз-94 или идиотским корпоративным высоким стандартам, что порой ещё хуже бюджета

murdemon
13.12.2023, 13:02
https://cloud.mail.ru/public/Papm/V3Nzaeu5K

murdemon
13.12.2023, 13:09
https://cloud.mail.ru/public/XagX/gqaPVg4Dc

high_roll
13.12.2023, 14:48
спасибо за варик с модемом моха
но да, цена велика, хочу найти что-то побюджетнее

касаемо Вашего вопроса
по их словам там скада от mitsubishi - maps (название скады)

melky
13.12.2023, 15:16
https://adroittech.co.za/adroit-maps-protocol-drivers/

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

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

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

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

Ситуация на текущий момент такая: с плк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, а там всё хорошо читается и задаётся

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

kondor3000
25.03.2024, 14:10
В ощем, надеюсь на Вашу помощь, надеюсь камнями сильно кидаться не будете :(
прикреплю проект с которым были трудности

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

high_roll
27.03.2024, 12:38
Функцией 0х01 вы можете читать каждый бит по отдельности. Так никто не делает, упаковываете по 16 бит в Маску WORD и читаете как регистры, функцией 0х03.


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

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

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

5-я как раз конкретные и пишет. 6-я - запись слова. Читаете 3-ей, меняете нужные биты и пишете обратно 6-ой.

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

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

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

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

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

imaex
27.03.2024, 21:48
чтение, как я написал выше, чтение будет по 0х03 функции просто через маску, как посоветовали)
но запись вариант оставить только по отдельному биту. поэтому выход для меня это 0х05 функция

Если вы для чтения регистра используете функцию модбас 3, то это регистр хранения. И функция 5 к нему не применима в принципе.

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