Связь с оборудованием через последовательный кабель RS485
У меня есть интеллектуальный счетчик электроэнергии, который подключается к ПК через последовательный кабель RS485. Это оборудование имеет программное обеспечение, которое вы можете прочитать его внутренние регистры и просмотреть их в программном обеспечении. Когда я попытался прочитать регистры измерителя с помощью программного обеспечения, я запустил программное обеспечение монитора последовательного порта, чтобы прослушать байты, отправляемые и получаемые на измеритель.
Это результат анализа:
Port opened
Request: 9/18/2012 7:04:04 PM.28064
2F 3F 21 0D 0A /?!..
Answer: 9/18/2012 7:04:04 PM.70264 (+0.4219 seconds)
2F 45 4C 53 35 5C 40 56 38 2E 32 30 20 20 20 20 /ELS5\@V8.20
20 20 20 20 20 0D 0A ..
Request: 9/18/2012 7:04:05 PM.53064 (+0.0156 seconds)
06 30 35 30 0D 0A .050..
Answer: 9/18/2012 7:04:05 PM.06264 (+0.5313 seconds)
02 43 2E 31 2E 30 28 33 35 30 36 34 32 36 37 29 .C.1.0(35064267)
0D 0A 30 2E 30 2E 30 28 33 35 30 36 34 32 36 37 ..0.0.0(35064267
30 30 30 30 30 30 30 30 20 20 20 20 20 20 20 20 00000000
29 0D 0A 30 2E 39 2E 31 28 31 39 30 32 33 37 29 )..0.9.1(190237)
0D 0A 30 2E 39 2E 32 28 31 38 30 39 31 32 29 0D ..0.9.2(180912).
0A 31 2E 38 2E 30 28 30 30 30 30 30 32 36 2A 6B .1.8.0(0000026*k
57 68 29 0D 0A 31 2E 38 2E 30 2A 30 31 28 30 30 Wh)..1.8.0*01(00
30 30 30 32 36 2A 6B 57 68 29 0D 0A 31 2E 38 2E 00026*kWh)..1.8.
30 2A 30 32 28 30 30 30 30 30 32 36 2A 6B 57 68 0*02(0000026*kWh
29 0D 0A 31 2E 38 2E 30 2A 30 33 28 30 30 30 30 )..1.8.0*03(0000
30 32 36 2A 6B 57 68 29 0D 0A 31 2E 38 2E 30 2A 026*kWh)..1.8.0*
30 34 28 30 30 30 30 30 30 30 2A 6B 57 68 29 0D 04(0000000*kWh).
0A 32 2E 38 2E 30 28 30 30 30 30 30 30 30 2A 6B .2.8.0(0000000*k
57 68 29 0D 0A 32 2E 38 2E 30 2A 30 31 28 30 30 Wh)..2.8.0*01(00
30 30 30 30 30 2A 6B 57 68 29 0D 0A 32 2E 38 2E 00000*kWh)..2.8.
30 2A 30 32 28 30 30 30 30 30 30 30 2A 6B 57 68 0*02(0000000*kWh
29 0D 0A 32 2E 38 2E 30 2A 30 33 28 30 30 30 30 )..2.8.0*03(0000
30 30 30 2A 6B 57 68 29 0D 0A 32 2E 38 2E 30 2A 000*kWh)..2.8.0*
30 34 28 30 30 30 30 30 30 30 2A 6B 57 68 29 0D 04(0000000*kWh).
0A 35 2E 38 2E 30 28 30 30 30 30 30 32 36 2A 6B .5.8.0(0000026*k
76 61 72 68 29 0D 0A 35 2E 38 2E 30 2A 30 31 28 varh)..5.8.0*01(
30 30 30 30 30 32 36 2A 6B 76 61 72 68 29 0D 0A 0000026*kvarh)..
35 2E 38 2E 30 2A 30 32 28 30 30 30 30 30 32 36 5.8.0*02(0000026
2A 6B 76 61 72 68 29 0D 0A 35 2E 38 2E 30 2A 30 *kvarh)..5.8.0*0
33 28 30 30 30 30 30 32 36 2A 6B 76 61 72 68 29 3(0000026*kvarh)
0D 0A 35 2E 38 2E 30 2A 30 34 28 30 30 30 30 30 ..5.8.0*04(00000
30 30 2A 6B 76 61 72 68 29 0D 0A 36 2E 38 2E 30 00*kvarh)..6.8.0
28 30 30 30 30 30 30 30 2A 6B 76 61 72 68 29 0D (0000000*kvarh).
0A 36 2E 38 2E 30 2A 30 31 28 30 30 30 30 30 30 .6.8.0*01(000000
30 2A 6B 76 61 72 68 29 0D 0A 36 2E 38 2E 30 2A 0*kvarh)..6.8.0*
30 32 28 30 30 30 30 30 30 30 2A 6B 76 61 72 68 02(0000000*kvarh
29 0D 0A 36 2E 38 2E 30 2A 30 33 28 30 30 30 30 )..6.8.0*03(0000
30 30 30 2A 6B 76 61 72 68 29 0D 0A 36 2E 38 2E 000*kvarh)..6.8.
30 2A 30 34 28 30 30 30 30 30 30 30 2A 6B 76 61 0*04(0000000*kva
72 68 29 0D 0A 37 2E 38 2E 30 28 30 30 30 30 30 rh)..7.8.0(00000
30 30 2A 6B 76 61 72 68 29 0D 0A 37 2E 38 2E 30 00*kvarh)..7.8.0
2A 30 31 28 30 30 30 30 30 30 30 2A 6B 76 61 72 *01(0000000*kvar
68 29 0D 0A 37 2E 38 2E 30 2A 30 32 28 30 30 30 h)..7.8.0*02(000
30 30 30 30 2A 6B 76 61 72 68 29 0D 0A 37 2E 38 0000*kvarh)..7.8
2E 30 2A 30 33 28 30 30 30 30 30 30 30 2A 6B 76 .0*03(0000000*kv
61 72 68 29 0D 0A 37 2E 38 2E 30 2A 30 34 28 30 arh)..7.8.0*04(0
30 30 30 30 30 30 2A 6B 76 61 72 68 29 0D 0A 39 000000*kvarh)..9
2E 36 2E 31 28 30 30 2E 30 30 2A 6B 56 41 29 28 .6.1(00.00*kVA)(
30 30 30 30 30 30 30 30 30 30 29 0D 0A 39 2E 36 0000000000)..9.6
2E 31 2A 30 31 28 30 30 2E 30 30 2A 6B 56 41 29 .1*01(00.00*kVA)
28 30 30 30 30 30 30 30 30 30 30 29 0D 0A 39 2E (0000000000)..9.
36 2E 31 2A 30 32 28 30 30 2E 30 30 2A 6B 56 41 6.1*02(00.00*kVA
29 28 30 30 30 30 30 30 30 30 30 30 29 0D 0A 39 )(0000000000)..9
2E 36 2E 31 2A 30 33 28 30 30 2E 37 34 2A 6B 56 .6.1*03(00.74*kV
41 29 28 30 34 30 35 31 32 30 30 30 30 29 0D 0A A)(0405120000)..
39 2E 36 2E 31 2A 30 34 28 30 30 2E 30 34 2A 6B 9.6.1*04(00.04*k
56 41 29 28 33 30 30 34 31 32 32 33 30 30 29 0D VA)(3004122300).
0A 46 2E 46 28 30 30 30 30 30 30 30 30 29 0D 0A .F.F(00000000)..
46 2E 46 2E 31 28 30 30 30 31 30 30 30 30 29 0D F.F.1(00010000).
0A 46 2E 46 2E 32 28 30 30 30 30 30 30 30 30 29 .F.F.2(00000000)
0D 0A 46 2E 46 2E 33 28 30 30 30 30 30 30 30 30 ..F.F.3(00000000
29 0D 0A 43 2E 33 2E 30 28 30 30 30 30 30 30 30 )..C.3.0(0000000
30 29 0D 0A 43 2E 35 36 28 30 30 33 37 32 35 29 0)..C.56(003725)
0D 0A 21 0D 0A 03 6F ..!...o
Port closed
Мой вопрос: можно ли отправить байты запроса (которые были найдены выше) на счетчик, а затем получить байты ответа и сохранить их на ПК? В принципе, возможно ли связаться со счетчиком, отправив шестнадцатеричные байты и получив ответ? или есть какие-то другие шаги, которые необходимо сделать перед отправкой шестнадцатеричных байтов?
Примечание. Моя цель - разработать базовое и более простое программное обеспечение, такое как программное обеспечение, поставляемое с прибором