PDA

Просмотр полной версии : Передача данных из СПК110 в SCADA и обратно по MODBUS TCP



Джоник
25.09.2024, 19:32
Здравствуйте коллеги!!!

Столкнулся с такой проблемой.

Для передачи данных типа REAL разбиваем на 2 слова помещаем в holding-регистры и отправляем в SCADA в нужный тег.
А как реализовать обратный процесс через тот же самый тег?

МихаилГл
25.09.2024, 19:38
Ну не в те же, а в область инпут регистров скорее.

Что за скада? ОРС используете?

Джоник
25.09.2024, 19:40
Скада - ASIX, OPC не используем.

МихаилГл
25.09.2024, 19:45
Скада - ASIX, OPC не используем.

Если в ней встроен механизм работы с модбас регистрами, то в плк должна быть область инпут регистров, куда вы и должны записывать требуемый тег. Если в плк в свойствах регистров установите галочку "запись" (Для содесиса версии 3.5.16 и выше), то сможете и перезаписывать этот тег из контроллера при необходимости.

Джоник
25.09.2024, 19:49
У меня такая история с типом REAL. Если передаю данные типа WORD через 1 holding-регистр, работает в обоих направлениях без input-регистра.

МихаилГл
25.09.2024, 19:52
А орс ua есть в скаде? Там проще. В плк нужно будет только установить тип переменной на прием, на запись или на прием и запись...

Джоник
25.09.2024, 19:57
OPC UA нет.

МихаилГл
25.09.2024, 19:58
OPC UA нет.

https://owen.ru/forum/archive/index.php/t-39129.html

Уже увидел в истории)
Ну с инпут регистрами же работает, как я понял. А это как бы правильное направление.

melky
25.09.2024, 21:28
InputRegisters - только чтение
Должны быть HoldingRegisters, чтобы была запись.

Запись Real это два регистра. Либо Scada сама понимает, что раз Real, то будет выбрана соответствующая команда, либо выбрать самим 0x10 и записывать 2-а регистра

imaex
26.09.2024, 07:34
Для передачи данных типа REAL разбиваем на 2 слова помещаем в holding-регистры и отправляем в SCADA в нужный тег.

Вы именно на СПК это делаете, т.е. SCADA у Вас выступает как ведомое? Ну, тогда функцией 3 читать оттуда же, куда пишете.
Хотя, с моей т.з., логичнее это делать как раз на стороне SCADA - и читать, и писать.

МихаилГл
26.09.2024, 07:42
Если в ней встроен механизм работы с модбас регистрами, то в плк должна быть область инпут регистров, куда вы и должны записывать требуемый тег. Если в плк в свойствах регистров установите галочку "запись" (Для содесиса версии 3.5.16 и выше), то сможете и перезаписывать этот тег из контроллера при необходимости.


InputRegisters - только чтение
Должны быть HoldingRegisters, чтобы была запись.

Запись Real это два регистра. Либо Scada сама понимает, что раз Real, то будет выбрана соответствующая команда, либо выбрать самим 0x10 и записывать 2-а регистра

Извиняюсь, перепутал холдинг и инпут... Давно свой проект не открывал, и по памяти думал что у меня инпут вверху списка а холдинг внизу. Оказалось наоборот.

PS Тем более у регистров временного хранения по умолчанию IW, а у входных QW.