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

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

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

Сообщение pkl »

gallyamov_mm_91 писал(а):
19 мар 2023, 18:58

ushort numInputs = 1; // Количество регистров для запроса
FLOAT занимает 2 регистра.

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

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

Сообщение gallyamov_mm_91 »

На ПЛК данные хранятся в регистрах D3-5, формат данных данного регистра Int16(по методичке дельты)

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

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

Сообщение gallyamov_mm_91 »

ushort numInputs = 1; // Количество регистров для запроса
я не совсем верный комментарий возможно сделал, если я правильно понял то ushort numInputs это количество адресов после начального сколько опросит метод .ReadHoldingRegisters()
Допустим

ushort startAddress = 100; // Начальный адрес
ushort numInputs = 3; // Количество регистров для запроса
То метод опросит адреса 100 101 102

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

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

Сообщение gallyamov_mm_91 »

Вот описание
Вложения
Screenshot_20230321-004640_Chrome.jpg
Screenshot_20230321-004640_Chrome.jpg (344.83 КБ) 1030 просмотров

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

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

Сообщение pkl »

pkl писал(а):
20 мар 2023, 15:29
gallyamov_mm_91 писал(а):
19 мар 2023, 18:58

ushort numInputs = 1; // Количество регистров для запроса
FLOAT занимает 2 регистра.
Исходите из этого.

Nomad
Сообщения: 116
Зарегистрирован: 23 янв 2012, 16:38

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

Сообщение Nomad »

2023-03-21_16-02-17.png
2023-03-21_16-02-17.png (13.75 КБ) 1012 просмотров

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

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

Сообщение gallyamov_mm_91 »

дело было в нем.
прочел данные, конвертировал методом
private float ConvertFrom(ushort valueTwo, ushort valueOne)
{
byte[][] final = Array.ConvertAll(new ushort[] { valueOne, valueTwo }, delegate (ushort item) { return BitConverter.GetBytes(item); });
return BitConverter.ToSingle(new byte[4] { final[0][0], final[0][1], final[1][0], final[1][1] }, 0);
}
и получил нужный результат

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

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

Сообщение gallyamov_mm_91 »

нужно было прочесть оба регистра, я все время считывал только один, не до конца поняв метод .ReadHoldingRegisters()
поэтому и не мог нормально конвертировать

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

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

Сообщение pkl »

Об этом я вам настойчиво пытался объяснить.

Ответить