-----
18.11.2017 форум перенесён на другой хостинг. О замеченых глюках просьба сообщать администраторам.
-----
На форуме обязательно:
  1. Заполнить свой профиль на Русском языке. См. Правила, п.2.d.
  2. Не писать свой вопрос в первую попавшуюся тему, а вместо этого создать свою. См. Правила, п.3.a.
Рекламу на своём форуме мы не размещаем ни на каких условиях.

Контрольная Сумма CRC16 запроса

SCADA, серверы, АРМ верхнего уровня, диспетчерские

Автор темы
kukovich
здесь недавно
здесь недавно
Сообщения: 34
Зарегистрирован: 29 июл 2014, 08:01
Имя: Шапошников Владимир Владимирович

Контрольная Сумма CRC16 запроса

Сообщение kukovich » 07 авг 2014, 07:36

Здравствуйте. Необходимо связаться с Sepam 40 посредством OPC сервера и получить значение фазного напряжения U2. Связь осуществляется посредством сети ModBus. Для этого необходимо послать ему запрос вида (для примера беру запрос на фазный ток I2): 01 03 0107 0001 3437;
здесь 01 - адрес Sepam
03 - номер функции
0107 - регистр памяти, хранящий значение фазного тока I2
0001 3437 - контрольная сумма CRC 16

Для напряжения запрос следующий: 01 03 0114, но контрольную сумму подсчитать не могу, поиски в интернете не помогли.
Помогите рассчитать контрольную сумму для запроса фазного напряжения.
Спасибо


alex_ugrumov
почётный участник форума
почётный участник форума
Сообщения: 583
Зарегистрирован: 29 сен 2008, 16:05
Имя: Алексей Угрюмов
Благодарил (а): 6 раз
Поблагодарили: 17 раз

Re: Контрольная Сумма CRC16 запроса

Сообщение alex_ugrumov » 07 авг 2014, 08:31

kukovich писал(а):Здравствуйте. Необходимо связаться с Sepam 40 посредством OPC сервера и получить значение фазного напряжения U2.

Вы свой OPC пишите? Если используете готовый (например - http://www.insat.ru/products/?category=399), то он сам CRC посчитает.


kukovich писал(а):Связь осуществляется посредством сети ModBus. Для этого необходимо послать ему запрос вида (для примера беру запрос на фазный ток I2): 01 03 0107 0001 3437;
здесь 01 - адрес Sepam
03 - номер функции
0107 - регистр памяти, хранящий значение фазного тока I2
0001 3437 - контрольная сумма CRC 16

не так.
0001 - число считываемых регистров,
3437 - crc
kukovich писал(а):
Для напряжения запрос следующий: 01 03 0114, но контрольную сумму подсчитать не могу, поиски в интернете не помогли.
Помогите рассчитать контрольную сумму для запроса фазного напряжения.
Спасибо

http://it-talk.org/topic1887.html
Alex.


Автор темы
kukovich
здесь недавно
здесь недавно
Сообщения: 34
Зарегистрирован: 29 июл 2014, 08:01
Имя: Шапошников Владимир Владимирович

Re: Контрольная Сумма CRC16 запроса

Сообщение kukovich » 07 авг 2014, 08:44

Да я использую готовый OPC сервер OPC DA/HDA Modbus server как раз по указанной Вами ссылке. Получается для запроса фазного тока мне достаточно прописать в сервере код 01 03 0107 0001 и он сам подсчитает контрольную сумму? еще вопрос как определяется число считываемых регистров.
п.с. спасибо за помощь!


alex_ugrumov
почётный участник форума
почётный участник форума
Сообщения: 583
Зарегистрирован: 29 сен 2008, 16:05
Имя: Алексей Угрюмов
Благодарил (а): 6 раз
Поблагодарили: 17 раз

Re: Контрольная Сумма CRC16 запроса

Сообщение alex_ugrumov » 07 авг 2014, 09:31

нет, не так.
При использовании OPC формирование пакета - это вообще не Ваша забота.
Вы просто указываете в настройках порт компьютера (при использовании RS) или IP адрес удалённого узла, адрес устройства в сети Modbus, и вставляете теги, в которых указываете адреса регистров/битов и их тип (регистры хранения или регистры ввода). Формирование пакетов запроса Modbus и разбор ответов - это проблема OPC серверы. Вы получите конретные значения из ячеек Сепама. вот тут http://www.youtube.com/user/MasterSCADA/videos есть несколько видеоуроков, касающихся настройки этого сервера
Alex.


Автор темы
kukovich
здесь недавно
здесь недавно
Сообщения: 34
Зарегистрирован: 29 июл 2014, 08:01
Имя: Шапошников Владимир Владимирович

Re: Контрольная Сумма CRC16 запроса

Сообщение kukovich » 07 авг 2014, 09:54

Спасибо, на данном этапе мне все понятно, возможно обращусь за помощью в дальнейшем при настройке непосредственно самого сервера.