delta DVP28SV2+овен мв110-224.1тд+тензодатчик

gallyamov_mm_91
Сообщения: 16
Зарегистрирован: 18 фев 2023, 12:27

delta DVP28SV2+овен мв110-224.1тд+тензодатчик

Сообщение gallyamov_mm_91 »

добрый день.
начал разбираться в вопросе и возникли трудности.
на данный момент написана прошивка на дельте которая подключается к овену по 485 интерфейсу и считывает данные с тензодатчика и сохраняет данные в определенные регистры.
написана в C# программа которая инициализирует подключение с ПК до дельты по 232 интерфейсу и должна считывать данные с COM-порта, но ничего не приходит.
я так понимаю что для полноценного опроса ПЛК необходимо подключать и использовать библиотеку OWEN_IO. но пока не совсем понимаю как это реализовать. прошу помочь разобраться с вопросом
Вложения
прога на С#.7z
(14.64 КБ) 57 скачиваний
SV2-owen(прошивка написанная на WplSoft).7z
(10.6 КБ) 53 скачивания
опрос овена.PNG
опрос овена.PNG (10.74 КБ) 1168 просмотров

pkl
Сообщения: 1468
Зарегистрирован: 23 ноя 2010, 10:08

Re: delta DVP28SV2+овен мв110-224.1тд+тензодатчик

Сообщение pkl »

gallyamov_mm_91 писал(а):
14 мар 2023, 13:03
я так понимаю что для полноценного опроса ПЛК необходимо подключать и использовать библиотеку OWEN_IO.
Нет. Для работы с Дельта нужна библиотека Модбас. Вы же из Дельты пытаетесь данные вытащить.

gallyamov_mm_91
Сообщения: 16
Зарегистрирован: 18 фев 2023, 12:27

Re: delta DVP28SV2+овен мв110-224.1тд+тензодатчик

Сообщение gallyamov_mm_91 »

ну так то с дельты. но единственное приближенное что я нашел на форумах это использование именно библиотеки OWEN
примерно так это вроде выглядит
byte[] dataFromDevice = owenProtocol.OwenRead(20, AddressLengthType.Bits8, "dr.dG");
но не могу понять как это использовать

pkl
Сообщения: 1468
Зарегистрирован: 23 ноя 2010, 10:08

Re: delta DVP28SV2+овен мв110-224.1тд+тензодатчик

Сообщение pkl »

Ну так не нужно искать там где светло, нужно искать там, где потеряли.
Еще раз. Дельта по обеим компортам работает по протоколу Модбас. И пытаться работать по протоколу Овен с ней бесполезно.

gallyamov_mm_91
Сообщения: 16
Зарегистрирован: 18 фев 2023, 12:27

Re: delta DVP28SV2+овен мв110-224.1тд+тензодатчик

Сообщение gallyamov_mm_91 »

ок. не могли бы направить я так понимаю мне то то из этого надо использовать?
Вложения
1.PNG
1.PNG (72.75 КБ) 1143 просмотра

pkl
Сообщения: 1468
Зарегистрирован: 23 ноя 2010, 10:08

Re: delta DVP28SV2+овен мв110-224.1тд+тензодатчик

Сообщение pkl »

К сожалению на Си не работаю. Могу только посоветовать найти пример опроса Модбас устройства и скормить ему адрес и настройки связи вашего ПЛК. Адреса Модбас регистров дельты есть в мануале по программированию ПЛК.

gallyamov_mm_91
Сообщения: 16
Зарегистрирован: 18 фев 2023, 12:27

Re: delta DVP28SV2+овен мв110-224.1тд+тензодатчик

Сообщение gallyamov_mm_91 »

если я копаю в нужную сторону то похоже следует использовать библиотеку nmodbuspc.dll
какой из методов лучше использовать,с учетом того что я либо считываю D1050, либо промежуточные регистры куда я записал результаты опроса овена(тензодатчика) D3,D4,D5?

1)bool[] ReadCoils(byte slaveID,ushort startAddress,ushort numOfPoints)

2)bool[] ReadInputs(byte slaveID,ushort startAddress,ushort numOfPoints)

3)ushort[] ReadHoldingRegisters(byte slaveID,ushort startAddress,ushort numOfPoints)

4)ushort[] ReadInputRegisters(byte slaveID,ushort startAddress,ushort numOfPoints)

в качестве параметра "byte slaveID" я так понимаю должен использовать адрес дельты(у меня он 16), "ushort startAddress" это получается адрес регистра, я нашел какую то карту регситров и если я правильно понимаю регистрам D3,4,5,1050 ответствуют 4099, 4100, 4101 и 5146 так?
а за что отвечает компонент "numOfPoints"? количество регистров которое опросит метод после компонента "ushort startAddress" ?
Вложения
2.PNG
2.PNG (45.24 КБ) 1124 просмотра

bayk
Сообщения: 887
Зарегистрирован: 30 май 2015, 21:20

Re: delta DVP28SV2+овен мв110-224.1тд+тензодатчик

Сообщение bayk »

Намофпоинтс я так подозреваю это количество регистров которые надо считать со стартового адреса. Вы точно адрес на 232 интерфейс установили???
Для модулей овен желательно поставить паузу между опросами 100 мс поставить. Я пока не поставил нормально не отпрашивался модуль.

gallyamov_mm_91
Сообщения: 16
Зарегистрирован: 18 фев 2023, 12:27

Re: delta DVP28SV2+овен мв110-224.1тд+тензодатчик

Сообщение gallyamov_mm_91 »

Я с овена данные уже получил и положил их в регистры D3 D4 D5 в дельту, теперь задача вытащить эти данные из дельты на ПК

pkl
Сообщения: 1468
Зарегистрирован: 23 ноя 2010, 10:08

Re: delta DVP28SV2+овен мв110-224.1тд+тензодатчик

Сообщение pkl »

gallyamov_mm_91 писал(а):
14 мар 2023, 23:16
если я копаю в нужную сторону то похоже следует использовать библиотеку nmodbuspc.dll
какой из методов лучше использовать,с учетом того что я либо считываю D1050, либо промежуточные регистры куда я записал результаты опроса овена(тензодатчика) D3,D4,D5?

1)bool[] ReadCoils(byte slaveID,ushort startAddress,ushort numOfPoints)

2)bool[] ReadInputs(byte slaveID,ushort startAddress,ushort numOfPoints)

3)ushort[] ReadHoldingRegisters(byte slaveID,ushort startAddress,ushort numOfPoints)

4)ushort[] ReadInputRegisters(byte slaveID,ushort startAddress,ushort numOfPoints)

в качестве параметра "byte slaveID" я так понимаю должен использовать адрес дельты(у меня он 16), "ushort startAddress" это получается адрес регистра, я нашел какую то карту регситров и если я правильно понимаю регистрам D3,4,5,1050 ответствуют 4099, 4100, 4101 и 5146 так?
а за что отвечает компонент "numOfPoints"? количество регистров которое опросит метод после компонента "ushort startAddress" ?
Ну откройте спецификацию протокола Модбас. Там же все запросы описаны. И все вам станет ясно. Только убедитесь, что в D1050 будут нужные вам данные. Думается там будет адрес слейва, который опрашиваете. Да еще и в ASCII формате.
Для начала, я бы прочитал данные с ПЛК каким нибудь ОПС сервером. Например от Овен ( он бесплатный). После того как ОПС сервер будет получать нужные данные, можно приступать к отладке приложения.

Ответить