С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Контроллеры PLC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
menreiven
11 / 7 / 4
Регистрация: 23.05.2013
Сообщений: 44
1

ПЛК Beckhoff CX9010. Реализация протокола Меркурий 230

18.03.2014, 12:21. Просмотров 1482. Ответов 7
Метки нет (Все метки)

Добрый день.
Реализую протокол Меркурия. Проблема в том, что прибора под рукой нет. Нашел описание. И на просторах интернета нашел лог Меркурия (кто-то снимал). Все вроде нормально, до мощностей (а именно маскирования на обратная/прямая для активной/реактивной). В соответствии с имеющимся описанием маскируются 6,7 биты 1-го байта. Но по логу выходит что маскируются 0,1 биты этого же байта. Прибора нет, поэтому не могу проверить как на самом деле. Если кто-то реализовывал, то может подскажет где истина?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2014, 12:21
Ответы с готовыми решениями:

ПЛК Beckhoff ВС9120. Контроль и мониторинг по Modbus TCP
Доброе время суток . Прошу помочь знающим людям Как управлять (считывать...

Реализация протокола MODBUS TCP в Simatic Step 7
Нужно написать функциональный блок, в котором будет формироваться заголовок...

ПЛК Schneider electric MODICON TSX Micro vs ПЛК от Allen bradley
День добрый, народ подскажите,пожалуйста, плохо ещё разбираюсь в этом, у меня...

Контролеры ELMO и ака ПЛК, которые не ПЛК
Ребят... А кто что-нибудь может рассказать про контроллеры Elmo. Вот про них:...

Неисправность Beckhoff
Рассказываю все по порядку. Есть стандартный щит на контроллере Beckhoff...

7
raxp
10186 / 6569 / 492
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
18.03.2014, 20:23 2
Инкотекс высылает протокол по запросу на их мыло, но да, его можно и в сети найти. Согласно описанию протокола 1-й байт всегда сетевой адрес, может все-таки про первый байт данных?

Если поле данных ответа содержит 16 байт, то отводится по четыре двоичных байта на каждый вид энергии в последовательности: активная прямая (А+), активная обратная (А-), реактивная прямая (R+), реактивная обратная (R-).

Если поле данных ответа содержит 12 байт, то отводится по четыре двоичных байта на каждую фазу энергии А+ в последовательности: активная прямая по 1 фазе, активная прямая по 2 фазе, активная прямая по 3 фазе.
Начиная с версии 1.5.2 счетчика Меркурий 230 с внутренним тарификатором считываемые значения массивов энергии по видам энергий, несвойственным данному типу счетчика, маскируются.
Приведите найденный вами лог и укажите проблемный участок.

p.s.: и еще момент, что за ПЛК?
0
menreiven
11 / 7 / 4
Регистрация: 23.05.2013
Сообщений: 44
19.03.2014, 07:51  [ТС] 3
Цитата Сообщение от raxp Посмотреть сообщение
может все-таки про первый байт данных?
Да, именно первый байт данных.
Цитата Сообщение от raxp Посмотреть сообщение
и еще момент, что за ПЛК?
Beckhoff CX9010.
Цитата Сообщение от raxp Посмотреть сообщение
Приведите найденный вами лог и укажите проблемный участок.
Как только завтра доберусь до лога.

Добавлено через 10 часов 5 минут
Из имеющейся у меня документации (уже полученной официально от производителя):
Формат ответа прибора на запрос чтения коэффициентов мощности (запрос 14h и
16h): сетевой адрес (1 байт) - сумма (3 байта) - 1 фаза (3 байта) - 2 фаза (3 байта) - 3 фаза (3 байта) - CRC (2 байта).
Формат данных ответа - как для запроса 11h.
Бит направления активной мощности – старший бит
байта, бит направления реактивной мощности – 6-й бит байта при нумерации бит, начиная с
нуля. (и рисунок к нему, на котором видно, что это 6 и 7 биты).
А вот лог, который кто-то выложил:
Мощность P (Вт) по фазам
#00#08#16#00#8F#86
#00#08#16#00#8F#86#00[#03#D6#A9][#00#36#4F][#00#06#B6][#02#9A#A4]#3E#60

Мощность S (ВА)
#00#08#16#08#8E#40
#00#08#16#08#8E#40#00[#03#EE#C9]#00[#DA#55]#00[#17#C8]#02[#FD#AB]#D3#7D
Обращаю внимание на первые байты данных для каждой мощности: 3,0,0,2.
3 - 11b
2 - 10b
И вроде логично предположить, что именно эти биты и дают направление. Но ведь они 0 и 1.
П.С. На данный момент протокол реализован (пока без проверки на реальном приборе) без определения направления.
0
raxp
10186 / 6569 / 492
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
19.03.2014, 08:57 4
Формат ответа прибора на запрос чтения мощности и коэффициента мощности (запрос 11h):
Направление реактивной мощности:
Код
1 байта адреса
1-й байт данных
3-й байт данных
2-й байт данных
2 байта CRC
Здесь и в дальнейшем под нумерацией байт понимается уменьшение «веса» каждого байта с возрастанием его номера, т.е. 1-й байт – старший, 2-й байт –старший младшего слова, 3-й – младший младшего слова.

Бит направления активной мощности – старший бит байта, бит направления реактивной мощности – 6-й бит байта при нумерации бит, начиная с нуля.
Код
0 – прямое;
1 – обратное.
Теперь Формат ответа прибора на запрос чтения мощности (запрос 16h):
Код
адрес 1 байт
сумма три байта
фаза три байта
фаза три байта
фаза три байта
CRC (2 байта)
должно быть 15 байт.

В логе длина не совпадает.
0
menreiven
11 / 7 / 4
Регистрация: 23.05.2013
Сообщений: 44
19.03.2014, 09:15  [ТС] 5
Цитата Сообщение от raxp Посмотреть сообщение
должно быть 15 байт.
В логе длина не совпадает.
Получается сам непосредственный ответ и есть 15 байт как и заявлено. До этого идет эхо.
Весь ответ с эхом
#00#08#16#08#8E#40#00[#03#EE#C9]#00[#DA#55]#00[#17#C8]#02[#FD#AB]#D3#7D
Именно ответ на запрос без эха
00[#03#EE#C9]#00[#DA#55]#00[#17#C8]#02[#FD#AB]#D3#7D
Длина 15 байт. Адрес - сумма на 3 байта - 3 фазы по 3 байта - 2 байта контрольной суммы. Как бы все совпадает с описание. Но вот маскирование не то, либо просто я где-то недогоняю.
0
raxp
10186 / 6569 / 492
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
19.03.2014, 15:14 6
...давайте не запутывайте ни себя, ни других. Нет никакого маскирования, есть конкретный бит в конкретных байтах, отвечающий за направление. Если как вы утверждаете там эхо, то я бы хотел увидеть оригинал лога, снятый портмонитором, а не копипаст без пояснений от "левых" товарищей. Ответ есть ответ и эха там быть не должно быть.

По последовательности - старшие биты (7-е биты) в первых байтах фаз = 0, 6- бит кстати тоже, все, аллес.
0
menreiven
11 / 7 / 4
Регистрация: 23.05.2013
Сообщений: 44
19.03.2014, 16:28  [ТС] 7
Цитата Сообщение от raxp Посмотреть сообщение
По последовательности - старшие биты (7-е биты) в первых байтах фаз = 0, 6- бит кстати тоже, все, аллес.
Да. Здесь я сам себя как то перемудрил.
Цитата Сообщение от raxp Посмотреть сообщение
если как вы утверждаете там эхо
Это не я утверждаю, там оно действительно может быть. Отключается/включается оно переключателем или перемычкой, если правильно помню. И даже в ПО для снятия показаний с этого счетчика есть специальная галка на вкл\откл эха.
0
raxp
10186 / 6569 / 492
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
19.03.2014, 20:21 8
галка на вкл\откл эха.
Возможно и есть. Но логи в представленном виде неприемлемы для проведения адекватного анализа.

сам себя как то перемудрил.
так и есть.
0
19.03.2014, 20:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.03.2014, 20:21

Как клонировать Beckhoff BC9000?
Есть несколько одинаковых агрегатов с контроллером на базе Beckhoff BC9000. У...

Beckhoff PC9000, Обмен данными
Используется ПЛК Beckhoff PC9000 с модулями KL3458 и KL4408. Для связи...

Открыть проект с контроллера Beckhoff BX9000
Здравствуйте. Не могу открыть проект на контроллере BX9000 (с контроллера)....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru