Прошу помощи |
Ответить | Страница <12345 6> |
Автор | ||||
Новичок Присоединился: 24 Май 2011 Online Status: Offline Публикации: 28 |
Опубликовано: 01 Июнь 2011 05:15 |
|||
С драйве*** проблема. А самому сложно будет выполнить этот алгоритм? Есть какая-нибудь методика на эту тему?
|
||||
Участник Присоединился: 02 Декабрь 2010 Online Status: Offline Публикации: 68 |
||||
OPC server для прибора БМРЗ посмотрите здесь
|
||||
Действительный член Присоединился: 27 Июль 2006 Online Status: Offline Публикации: 304 |
||||
С каким драйве*** проблема? Со встроенным драйве*** Modbus в Трейс Моуде? Алгоритм опроса в ТМ сделать однозначно не просто. Сложность зависит от ваших навыков разработки и от особенностей реализации протокола Modbus в Трейсе. Может оказаться так, что реализовать желаемое вообще не получится (нужны средства для формирования запросов произвольной длины, и я не уверен, что в трейсе это можно сделать). Если иного выхода, к***е как писать такой алгоритм, нет, попытайте Адастру. Может, они дадут вам какой-нибудь пример проекта. ИМХО, лучше всего начать с поиска фирменного OPC-сервера. |
||||
Теория - это когда все знаешь, но ничего не работает.
Практика - это когда все работает, но никто не знает как. |
||||
Новичок Присоединился: 24 Май 2011 Online Status: Offline Публикации: 28 |
||||
Уважаемые форумчане!
Появился новый протокол Modbus на БМРЗ http://webfile.ru/5364282.
MuadDib! Вы единственный, кто прокомментировал специалиста Адастра в отношении старого протокола, прошу Вас посмотреть новый протокол и разъяснить, какой адрес для канала ТМ ввести для запроса любого параметра, желательно на примере. Просьба всем посмотреть протокол и по возможности помочь.
Заранее спасибо.
|
||||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 14 Май 2003 Online Status: Offline Публикации: 770 |
||||
Апплодисменты! |
||||
Инженер-системотехник
+7 (916) 477 3925 |
||||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 02 Октябрь 2007 Категория: Russian Federation Online Status: Offline Публикации: 427 |
||||
Чур меня ! У нас пользователи про старый- то спрашивают а сколько у вас стартовых импульсов при предаче байта.
|
||||
При экспериментах ни один чайник не пострадал
----------- Плохому системному интегратору всегда OPC сервер мешает. ______________ Пишу на C++ за еду |
||||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 02 Октябрь 2007 Категория: Russian Federation Online Status: Offline Публикации: 427 |
||||
Ну там все подрбно расписано. Чтобы спосить Ia 1 уср надо 3 командой прочитать два регистра, начиня с адреса 0x34. С ходу только не нашел , как они упаковываются. Скорее всего - это плавающее число. Поряок байт надо будет при рсшифровке повертеть.
|
||||
При экспериментах ни один чайник не пострадал
----------- Плохому системному интегратору всегда OPC сервер мешает. ______________ Пишу на C++ за еду |
||||
Действительный член Присоединился: 27 Июль 2006 Online Status: Offline Публикации: 304 |
||||
Действительно, в этом варианте протокола можно считывать конкретный регистр и получать в итоге значение конкретного параметра. Вот только в регистре 34 будет не float, а целое число (см. пример В.6 из описания протокола). Для того, чтобы получить значение, приведенное к первичной цепи, нужно домножить полученное целое на содержимое регистра 74. Последний содержит константу (очевидно, зависящую от настройки защиты) в формате float. В вашем случае, вероятно, можно считывать только регистры 34...72, а значения коэффициентов определить после настройки защиты из программы "конфигуратор пакета Modbus" и забить их в Трейс Моуд в виде констант. Обратите внимание на 2 момента: 1. Адреса регистров в табл. 7 и в "Конфигураторе" записаны в десятичном формате. То есть "40034" соответствует адресу Modbus 34 (не 0x34!). Четверка в старшем разряде говорит о том, что адрес доступен через функцию Modbus "3" - чтение Holding registers. В общем записано все так, чтобы ввести в заблуждение вероятного противника 2. Порядок байтов не "модбасовский"! Каждое целое занимает 4 байта (2 регистра), причем передаются байты начиная с младшего. Смотрите внимательно пример В.6 и все поймете. Поскольку драйвер Модбас обычно переставляет старший и младший байт в регистре, вам придется произвести обратную операцию (и, возможно, дополнительно переставить местами слова - зависит от драйвера). Это легко можно сделать средствами Трейс Моуд. Правильность преобразования проверяется экспериментально. |
||||
Теория - это когда все знаешь, но ничего не работает.
Практика - это когда все работает, но никто не знает как. |
||||
Новичок Присоединился: 24 Май 2011 Online Status: Offline Публикации: 28 |
||||
Спасибо, давайте разберёмся, правильно ли я всё понял, если не так поправьте пожалуйста. В меню Источники/Приёмники-Канал ввести: “Адрес” – это адрес прибора в сети Modbus RTU (55 в десятичной, тогда 0х37 в шестнадцатиричной) “Канал” - адрес Modbus-переменной, в моём случае это будет адрес запроса Ia– 0х01В6D000 Тип сигнала – Дискретный. Далее D&D переношу группу Modbus из слоя “Источники/Приемники” в узел RTM. В узле создаю канал HEX16 (Input), связанный с Modbus-источником. К этому каналу привязываю аргумент экрана, который динамизирует ГЭ “Текст”. Должно появиться какое-то число, которое необходимо умножить на 3.05433985658965e-007 согласно В.6.И получится результат. |
||||
Действительный член Присоединился: 27 Июль 2006 Online Status: Offline Публикации: 304 |
||||
Не совсем. Адрес должен соответствовать адресу, установленному на БМРЗ. Как его установить, смотрите инструкцию на защиту. Если девайсы висят на одной шине RS-485, вы задаете каждому уникальный адрес и опрашиваете все защиты поочередно.
Адрес запроса для тока фазы А равен 34. Число 0х01В6D000 в примере - это собственно полученное по протоколу целое значение.
Не совсем. Нужен 32-разрядный канал - HEX32, вроде бы, в ТМ6 есть
К этому каналу привязываю аргумент экрана, который динамизирует ГЭ “Текст”. Должно появиться какое-то число, которое необходимо умножить на 3.05433985658965e-007 согласно В.6.И получится результат. |
||||
Теория - это когда все знаешь, но ничего не работает.
Практика - это когда все работает, но никто не знает как. |
||||
Ответить | Страница <12345 6> |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |