• обязательно заполнить свой профиль на русском языке кириллицей
  • не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему
  • дублирование сообщений приравнивается к спаму
  • за поиск и предложение пиратского ПО - бан без предупреждения
  • рекламу и частные объявления "куплю/продам" мы не размещаем ни на каких условиях

Корректор газа

RS-485, ProfiBUS, 4-20 mA, Wi-Fi, GSM и так далее
Ответить

Автор темы
pelathaon
здесь недавно
здесь недавно
Сообщения: 4
Зарегистрирован: 11 сен 2020, 08:15
Имя: Андрей
Страна: Молдова

Корректор газа

Сообщение pelathaon »

Всем доброго времени суток.

Я не знал в какой раздел обратиться, решил что этот будет более подходящим.

У меня имеется газовый корректор «TC - 90/K». У него имеется интерфейс RS232 через 6 PIN DIN 45322, к устройству прилагается родное программное обеспечение Win PADS. Оно прекрасно работает и устройство с помощью родной программы прекрасно читается. Но меня интересует вопрос написания своего арограммного обеспечения для чтения данного устройства. К данному устроству имеется документация в которой описан протокол опроса, я испробовал всё что там описано, но устройство либо молчит, либо отвечает мне b'00'.

Прошу помощи понять как(или скорей какой) правильно отправить запрос корректору что бы он выдал мне информацию хранимую в себе. Скрипт для опроса его я сделал на языке python. С другими устройствами скрипт прекрасно общается как через com порт, так и через сеть. Я обычно меняю только запрос или вариант подключеия.

Документацию к устройству прилагаю.
У вас нет необходимых прав для просмотра вложений в этом сообщении.


Sokolov_Dmitry
здесь недавно
здесь недавно
Сообщения: 42
Зарегистрирован: 31 окт 2017, 16:45
Имя: Дмитрий
Страна: Россия
город/регион: Калининград
Поблагодарили: 6 раз

Корректор газа

Сообщение Sokolov_Dmitry »

обычно используют снифферы сом-порта, чтобы посмотреть обмен между заводской прогой и устройством, затем корректируют свой софт, делают те же запросы, что и в заводском софте, не особо вдаваясь в детали для чего они, просто забирают из ответов нужную инфу

Аватара пользователя

petr2off
корифей
корифей
Сообщения: 783
Зарегистрирован: 06 янв 2016, 19:45
Имя: Петров В.Л.
Страна: Россия
город/регион: Красноярск
Благодарил (а): 17 раз
Поблагодарили: 55 раз

Корректор газа

Сообщение petr2off »

Аналогично. Я так с пожарными датчиком мертвой конторы разбирался. Дико порадовал школьный уровень разработчиков, все оказалось предельно тупо.


Автор темы
pelathaon
здесь недавно
здесь недавно
Сообщения: 4
Зарегистрирован: 11 сен 2020, 08:15
Имя: Андрей
Страна: Молдова

Корректор газа

Сообщение pelathaon »

Его запросы описаны в документации, по факту он шлет запрос "L4=.", я уже его перехватил и точно такой же отправил ему. В ответ не получил ничего. Скорее всего это особенности опроса по RS232, там задесйтвованы CTS и RTS. Скорее всего их надо как-то правильно использовать.

Аватара пользователя

Jackson
администратор
администратор
Сообщения: 12005
Зарегистрирован: 17 июн 2008, 15:01
Имя: Евгений свет Брониславович
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 257 раз
Поблагодарили: 491 раз

Корректор газа

Сообщение Jackson »

pelathaon писал(а):
15 сен 2020, 21:22
Его запросы описаны в документации, по факту он шлет запрос "L4=.", я уже его перехватил и точно такой же отправил ему. В ответ не получил ничего. Скорее всего это особенности опроса по RS232, там задесйтвованы CTS и RTS. Скорее всего их надо как-то правильно использовать.
значит Ваш запрос не точно такой же. Только и всего. :)
Отличия могут быть не только в данных, но и в таймингах и в физике. Например контроль передачи по CTS/RTS/DTR, ни один сниффер этого не покажет, нужен терминал с отображением их не просто лампочками, а на диаграмме общего потока данных.

В кабеле связи оторвите все провода, кроме Tx, Rх и GND, даже если там перемычки (их тоже убрать). Если родной софт без них продолжит общаться с прибором - значит дело не в этом.
По вопросам работы Форума можно обратиться по этим контактам.


Автор темы
pelathaon
здесь недавно
здесь недавно
Сообщения: 4
Зарегистрирован: 11 сен 2020, 08:15
Имя: Андрей
Страна: Молдова

Корректор газа

Сообщение pelathaon »

Jackson писал(а):
15 сен 2020, 22:57
В кабеле связи оторвите все провода, кроме Tx, Rх и GND, даже если там перемычки (их тоже убрать). Если родной софт без них продолжит общаться с прибором - значит дело не в этом.
Это как раз таки и проверялось в первую очередь, по документации изначально собрал самый обычный описанный вами кабель. Родное ПО с прибором отказалось общаться. Потом методом долгих проб и ошибок наконец-то удалось собрать кабель с перемычками, и только тогда он заработал с родным софтом.
Jackson писал(а):
15 сен 2020, 22:57
значит Ваш запрос не точно такой же. Только и всего. :)
Я опирался на то, что в ПО "Serial Port Monitor Free" у меня запрос полностью совпадал с тем, что посылал родной софт.
Jackson писал(а):
15 сен 2020, 22:57
Отличия могут быть не только в данных, но и в таймингах и в физике. Например контроль передачи по CTS/RTS/DTR, ни один сниффер этого не покажет, нужен терминал с отображением их не просто лампочками, а на диаграмме общего потока данных.
Скорее всего еще нужны определенные тайминги запроса и приема ответа, это я тоже допускаю. Но я не знаю как это выяснить, к сожалению.
Не могли бы подсказать название такого ПО которым я могу подсмотреть как же все таки происходит обмен?

Аватара пользователя

Jackson
администратор
администратор
Сообщения: 12005
Зарегистрирован: 17 июн 2008, 15:01
Имя: Евгений свет Брониславович
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 257 раз
Поблагодарили: 491 раз

Корректор газа

Сообщение Jackson »

pelathaon писал(а):
16 сен 2020, 01:13
у меня запрос полностью совпадал с тем, что посылал родной софт.
ну как же он совпадал, если Вы выше пишете что там аппаратный контроль трафика (об этом говорит необходимость перемычек). Теперь надо сходить в настройки порта в виндовсе и посмотреть, что стоит там - там установить контроль трафика "отсутствует" и снова проверить связь только с тремя проводами Rx Tx GND. Если и на этот раз для связи понадобится установить перемычки, а без них никак - значит родной софт это (аппаратный контроль через прямой доступ к порту) и делает и анализирует CTS/RTS/DTR и это зачем-то ему очень надо. Вот и первое возможное отличие.
Второе возможное отличие - это тайминги. Надо посмотреть, с какой задержкой уходит каждый байт в провода, это не сниффером делается, а другим COM-портом. Есть вероятность что буфер в UARTе вмешивается и вы шлёте данные через него, а родной софт, получив прямой доступ к порту, этот буфер не использует. Если первая проверка окажется положительной (перемычки нужны при отключённом контрой траффика в виндовсе), то скорее всего так и есть.

Поздний вопрос: а протокол-то какой? Какой-то свой или там модбас? Может Вы CRC забыли или считаете её некорректно?

Отправлено спустя 3 минуты 50 секунд:
pelathaon писал(а):
16 сен 2020, 01:13
Скорее всего еще нужны определенные тайминги запроса и приема ответа, это я тоже допускаю. Но я не знаю как это выяснить, к сожалению.
послушать трафик прямо в проводах через другой порт, гарантированно отключив в нем буфер, и построив временную диаграмму.
Готовый софт для этого не скажу, не знаю. В каком-то терминале я видел такую возможность, но нету его больше у меня точно.
По вопросам работы Форума можно обратиться по этим контактам.

Аватара пользователя

Jackson
администратор
администратор
Сообщения: 12005
Зарегистрирован: 17 июн 2008, 15:01
Имя: Евгений свет Брониславович
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 257 раз
Поблагодарили: 491 раз

Корректор газа

Сообщение Jackson »

Я исхожу из того, что раз на родной софт прибор отвечает, а на Ваш софт - нет - значит есть разница, просто Вы её ещё не нашли. Чудес-то не бывает.

Как-то лично столкнулся с тем что кривой драйвер (в смысле чип) UARTа определённые байты воспринимал как собственные команды и просто глотал их из запроса, они исчезали, а CRC оставалась неизменной, соответственно приёмник считал посылку ошибочной потому что CRC посылке уже не соответствовала, и просто игнорировал и не отвечал.

Это удалось выяснить только прослушав саму физическую линию на стороне приемника и последующего ручного анализа трафика: в логе трафика передатчика находили запросы без ответов, затем искали эти запросы в логе трафика со стороны приемника.

И пока не ткнули носом производителя передатчика (а не приемника) в это - он естественно считал что мы ему сказки рассказываем, да мы и сами не считали это возможным пока не увидели.

В общем, не ленитесь и проверяйте абсолютно всё. Если и не найдёте, то как минимум солидно поднимете свои познания и квалификацию.
По вопросам работы Форума можно обратиться по этим контактам.


Serega77
здесь недавно
здесь недавно
Сообщения: 34
Зарегистрирован: 30 ноя 2011, 14:36
Имя: Сидоров С.И.
Благодарил (а): 5 раз

Корректор газа

Сообщение Serega77 »

pelathaon писал(а):
16 сен 2020, 01:13
Не могли бы подсказать название такого ПО которым я могу подсмотреть как же все таки происходит обмен?
ComRead от SoftElectro


Автор темы
pelathaon
здесь недавно
здесь недавно
Сообщения: 4
Зарегистрирован: 11 сен 2020, 08:15
Имя: Андрей
Страна: Молдова

Корректор газа

Сообщение pelathaon »

Всем спасибо за ответы, всё получилось все прекрасно. Теперь интересует вопрос устройства которое позволит передавать всё это по сети передачи данных. В руках был planet ICS-100 с поддержкой RS232/RS485 но через него не заработало, хотя в принципе должно было т.к. он поддерживает все необходимые параметры.


Может кто-то посоветует простое и недорогое устройство которое позволит работать с корректором через сеть передачи данных?


Sokolov_Dmitry
здесь недавно
здесь недавно
Сообщения: 42
Зарегистрирован: 31 окт 2017, 16:45
Имя: Дмитрий
Страна: Россия
город/регион: Калининград
Поблагодарили: 6 раз

Корректор газа

Сообщение Sokolov_Dmitry »

если у вас проблема была только в посылаемых в корректор байтах, а не в паузах, rts/cts или еще в чем-то хитром (с чем простой преобразователь Eth/rs232 может не справиться), то например er108 от teleofice . Если нужно по беспроводным сетям - promodem.ru.

Ответить

Вернуться в «Интерфейсы, протоколы, связь»