Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
20.04.2024, 01:48:25
 
Начало Помощь Поиск Войти Регистрация
Новости: Форум обновлен

+  Форум АО "ВЗЛЕТ"
|-+  Приборы ЗАО "Взлет"
| |-+  Приборы ЗАО «Взлет»
| | |-+  ТСРВ-024м опрос через OPC
0 Пользователей и 1 Гость смотрят эту тему. « предыдущая тема следующая тема »
Страниц: [1] Печать
Автор Тема: ТСРВ-024м опрос через OPC  (Прочитано 4753 раз)
collap5e
Пользователь
**

Харизма: 0
Офлайн Офлайн

Сообщений: 10


« : 09.08.2022, 08:35:53 »

Подскажите, как правильно вбивать адреса в OPC? Хочу получить хотя бы адрес прибора в сети для начала.


* Снимок.JPG (135.82 Кб, 1492x637 - просмотрено 872 раз.)
Записан
Иван Кривокора
Global Moderator
*****

Харизма: 17
Офлайн Офлайн

Сообщений: 595


« Ответ #1 : 09.08.2022, 13:14:50 »

Здравствуйте.

Полагаю, что в качестве адреса необходимо использовать физический адрес регистра. В карте регистров физический адрес указан в шестнадцатеричном виде. Вам необходимо перевести его в десятичный.

С уважением,
Кривокора Иван
Записан
collap5e
Пользователь
**

Харизма: 0
Офлайн Офлайн

Сообщений: 10


« Ответ #2 : 09.08.2022, 14:03:46 »

Да, я в этом разобрался, столбец "Логический" уже переведенные в 10й системе. Теперь у меня вопрос по типу данных, где можно точное определение достать с приборами взлет? как на скриншоте - не особо  помогает, значения гиганские)


* Типы данных.JPG (65.62 Кб, 767x498 - просмотрено 862 раз.)
Записан
Иван Кривокора
Global Moderator
*****

Харизма: 17
Офлайн Офлайн

Сообщений: 595


« Ответ #3 : 09.08.2022, 15:08:35 »

Чтение регистров выполняется по их физическим адресам. В колонке "Логический" представлен адрес, не являющийся физическим в десятичной системе счисления.

Не совсем понятен ваш вопрос. В карте регистров указаны типы данных: целое 1 байт (char или byte), целое 2 байта (int16 или uint16), целое 4 байта (int32 или uint32), вещественное (single). Порядок байтов: старшим вперед.
Записан
collap5e
Пользователь
**

Харизма: 0
Офлайн Офлайн

Сообщений: 10


« Ответ #4 : 10.08.2022, 06:57:04 »

как это логический никакого отношения не имеет? я по нему и делаю, просто из логического вычитаю 1, пока что все 16-е которые переводил на одну меньше, чем лог-е
Записан
collap5e
Пользователь
**

Харизма: 0
Офлайн Офлайн

Сообщений: 10


« Ответ #5 : 10.08.2022, 07:29:18 »

Чтение регистров выполняется по их физическим адресам. В колонке "Логический" представлен адрес, не являющийся физическим в десятичной системе счисления.

Не совсем понятен ваш вопрос. В карте регистров указаны типы данных: целое 1 байт (char или byte), целое 2 байта (int16 или uint16), целое 4 байта (int32 или uint32), вещественное (single). Порядок байтов: старшим вперед.

Старшим байтом подразумевается "Формат данных"?


* 2022-08-10_07-27-36.png (45.46 Кб, 820x762 - просмотрено 862 раз.)
Записан
collap5e
Пользователь
**

Харизма: 0
Офлайн Офлайн

Сообщений: 10


« Ответ #6 : 10.08.2022, 07:57:27 »

и хотелось бы знать, как правильно обработать подобное число?


* Снимок.JPG (68.52 Кб, 836x753 - просмотрено 863 раз.)
Записан
Иван Кривокора
Global Moderator
*****

Харизма: 17
Офлайн Офлайн

Сообщений: 595


« Ответ #7 : 10.08.2022, 15:14:45 »

Здравствуйте.

как это логический никакого отношения не имеет? я по нему и делаю, просто из логического вычитаю 1, пока что все 16-е которые переводил на одну меньше, чем лог-е
Для того, чтобы из логического адреса 349261, указанного в колонке "Логический," получить физический адрес 49260, необходимо провести чуть больше операций, чем вычитание 1.
Не понимаю, что вы пытаетесь оспорить в тезисе "В колонке "Логический" представлен адрес, не являющийся физическим в десятичной системе счисления".

Старшим байтом подразумевается "Формат данных"?
Старшим байтом - это порядок байтов.

и хотелось бы знать, как правильно обработать подобное число?
Наверное, задать верный тип данных - single, а не int64 или double, и верный порядок байтов.
Записан
collap5e
Пользователь
**

Харизма: 0
Офлайн Офлайн

Сообщений: 10


« Ответ #8 : 11.08.2022, 06:56:30 »

Нет, неправильно меня поняли) Колонка "Физический" - 16-ти система, Колонка "Логическая" -10ти, из Колонки "Физическая" я переводил в 10-ую и получал значения на единицу меньше, чем в колонке Логическая.

По поводу вещественных типа Single  у меня в скаде нет такого, Только : Word, Dword, Float,Double, bool, shortInt, int, Int64, DateTime,UnixTime, string(AscII, Unicode).
Записан
Иван Кривокора
Global Moderator
*****

Харизма: 17
Офлайн Офлайн

Сообщений: 595


« Ответ #9 : 11.08.2022, 13:19:50 »

Здравствуйте.

По поводу вещественных типа Single  у меня в скаде нет такого, Только : Word, Dword, Float,Double, bool, shortInt, int, Int64, DateTime,UnixTime, string(AscII, Unicode).

Для подавляющего большинства приборов Взлет если указано, что регистр имеет вещественное значение, то его тип данных - Single (Float).  Single = Float. Соответственно, вам необходимо в используемой вами скаде выбрать тип данных Float.
Записан
collap5e
Пользователь
**

Харизма: 0
Офлайн Офлайн

Сообщений: 10


« Ответ #10 : 11.08.2022, 16:12:14 »

Благодарю!)
Записан
Страниц: [1] Печать 
« предыдущая тема следующая тема »
Перейти в:  


Войти

© 1990—2016, АО «Взлет».
Все права защищены.
Контактная информация
Powered by SMF 1.1.13 | SMF © 2006-2011, Simple Machines LLC
Материалы, размещенные на сайте, охраняются законодательством об авторском праве. Перепечатка материалов допускается только со ссылкой на сайт.