Просмотр полной версии : Работа с сетевыми переменными и OPC-сервером Lectus
grimasnik
10.08.2022, 12:03
Всем добрый день, имеется такая проблема: передаю данные на OPC сервер с ПЛК110-30(МО2), через TCP/IP Modbus, 15 сетевых переменных как показано на скриншоте, с адресами 1-9,11-21 (с шагом 2), соответственно, Lectus правильно принимает данные, и адресация там начинается с 0, т.е VAdr(CoDeSys)-1, после 9 переменной, с адресами начинается какая-то ересь, кто-нибудь может объяснить почему это так происходит???
Александр Пинэко-Скворцов
10.08.2022, 13:49
Всем добрый день, имеется такая проблема: передаю данные на OPC сервер с ПЛК110-30(МО2), через TCP/IP Modbus, 15 сетевых переменных как показано на скриншоте, с адресами 1-9,11-21 (с шагом 2), соответственно, Lectus правильно принимает данные, и адресация там начинается с 0, т.е VAdr(CoDeSys)-1, после 9 переменной, с адресами начинается какая-то ересь, кто-нибудь может объяснить почему это так происходит???
Добрый день!
Пришлите, пожалуйста, проект ПЛК и файл конфигурации OPC на support@owen.ru.
kondor3000
10.08.2022, 15:12
Всем добрый день, имеется такая проблема: передаю данные на OPC сервер с ПЛК110-30(МО2), через TCP/IP Modbus, 15 сетевых переменных как показано на скриншоте, с адресами 1-9,11-21 (с шагом 2), соответственно, Lectus правильно принимает данные, и адресация там начинается с 0, т.е VAdr(CoDeSys)-1, после 9 переменной, с адресами начинается какая-то ересь, кто-нибудь может объяснить почему это так происходит???
В ПЛК Овен есть выравнивание. Все 4 байтные переменные должны быть с чётными адресами. Если адрес нечётный, выравнивание сместит REAL (DWORD) на следующий чётный адрес. У вас все REAL и сместились. https://owen.ru/forum/showthread.php?t=10555&page=864#8637
Не надо перемешивать переменные, сделайте все WORD подряд, потом все REAL, тогда и проблем меньше будет. Первый REAL проконтролируйте соответствие значения переменной адресу, не забывая о перестановке слов при передаче по модбас.
Вообще то в таких случаях первым выкладывают скрин конфигурации ПЛК с указанием адресов.
grimasnik
10.08.2022, 16:58
В ПЛК Овен есть выравнивание. Все 4 байтные переменные должны быть с чётными адресами. Если адрес нечётный, выравнивание сместит REAL (DWORD) на следующий чётный адрес. У вас все REAL и сместились. https://owen.ru/forum/showthread.php?t=10555&page=864#8637
Не надо перемешивать переменные, сделайте все WORD подряд, потом все REAL, тогда и проблем меньше будет. Первый REAL проконтролируйте соответствие значения переменной адресу, не забывая о перестановке слов при передаче по модбас.
Вообще то в таких случаях первым выкладывают скрин конфигурации ПЛК с указанием адресов.
Хорошо, буду иметь ввиду, спасибо большое за информацию, но тогда еще один вопрос, для чего нужен идентификатор узла? Что это за адрес, и куда он ведет?
grimasnik
10.08.2022, 17:04
Добрый день!
Пришлите, пожалуйста, проект ПЛК и файл конфигурации OPC на support@owen.ru.
И вам тоже большое спасибо
kondor3000
10.08.2022, 18:15
Хорошо, буду иметь ввиду, спасибо большое за информацию, но тогда еще один вопрос, для чего нужен идентификатор узла? Что это за адрес, и куда он ведет?
Вам на него по барабану, это нумерация распределения внутренней памяти ПЛК. Она начинается с 1.
Вам нужны адреса слейв регистров, они начинаются с нулевого, см. картинку по ссылке выше.
Советую по началу, писать в комментариях какой это адрес регистра, тогда прямо в конфигурации будут видны адреса регистров, проще считать и ориентироваться будет. 62125
Если добавляете 8 Bit добавляйте по 2 шт., если 2 Byte- делайте нечётное кол-во, тогда все следующие 4 Byte (Float) будут начинаться с чётного адреса.
Советую посмотреть коротенькие обучающие видео от Овен на ю-туб, их штук 15, множество вопросов отпадёт. https://www.youtube.com/watch?v=eSTmoNeLa7A&list=PL2EcVEe6E9SB4F3WVm-MptpHA5ep0nrq5
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot