PDA

Просмотр полной версии : Вопрос по 485-modbas-owen opc server, за помощь красное винишко :)



zorro_112
05.07.2023, 09:58
Аве господа.
Помогите лузеру :)
Есть рабочий проект на атмега 8, алгоритм до ужаса простой, опрашиваем 2 датчика 18b20, все более ничего.
Обвязка простая, стаб с 12 до 5 вольт, и adm485 интерфейс.
Сие заведомо зашито в сервер, и по ЦУ просто подрубаем конверте usb-485 и смотрим значения.
НООООООО, никуя не работает! Он пишет:
Сервер запущен
06:01:09.441 : Порт открыт device: Узел1 port: COM4
06:01:09.441 : Старт опроса устройства device: Узел1.Устройство1 port: COM4, size: 0, data:[]
06:01:09.441 : device: Узел1.Устройство1 port: Tx Tx, size: 8, data:[10 03 00 0D 00 01 16 88 ]
06:01:09.473 : Ошибка контрольной суммы в ответе device: Узел1.Устройство1 port: Rx Rx, size: 0, data:[]
06:01:09.474 : Перезапрос после ошибки device: Узел1.Устройство1 port: Tx Tx, size: 8, data:[10 03 00 0D 00 01 16 88 ]

Программатор синенький, с полной развязкой и т.д
Винда 7х64
net framework 8.0

Прошу подсобить мыслей, в долгу не останусь. По традиции надо на позавчера.

IVM
05.07.2023, 11:31
Сервер посылает пакет [10 03 00 0D 00 01 16 88]. Какой пакет сервер получает в ответ ?

melky
05.07.2023, 12:04
У вас ответ в вопросе - Ошибка контрольной суммы в ответе. Значит длина правильная, иначе был бы вылет по таймауту... Смотрите как вы в своем устройстве CRC расположили, если положили вообще

zorro_112
05.07.2023, 12:09
Я чуточку ступидо в этом, как и где сие можно посмотреть ?

IVM
05.07.2023, 12:24
Я чуточку ступидо в этом, как и где сие можно посмотреть ?

В owen opc server можно посмотреть что сервер посылает и что получает.

zorro_112
05.07.2023, 12:34
Если я верно понял, он ничего не получает т.к в графе "формат посылки" только исходящий запрос.
Если я конечно там смотрю "сервер - журнал"

melky
05.07.2023, 12:36
тогда это косяк программистов, как можно проверять CRC отсутствующего ответа ? :)

смотреть не перепутаны ли A и B, скорость, четность настроек порта тогда

zorro_112
05.07.2023, 12:41
А как обще проверить есть связь или нет? Может глюк программы, порта и т.д. Порт как я понял сам сервер задает (настройки)
Ибо проект рабочий на 99,2% (увы тот чел не на связи, который делал).
Пардон за тупые вопросы, я с овенами работал а уровне обезьяны (только готовые контроллеры настраивал).

melky
05.07.2023, 12:42
Стать другим физическим портом на линию в режиме прослушки.
Попробовать другие способы опроса, вместо OPC, тот же Modbuspoll например и т.д.
Опять же, адрес устройства у вас 16 ?

zorro_112
05.07.2023, 12:46
Понял, прост есть теория что глючные 485е чипы, ибо он пытается что-то читать (мигает диодик на плате). Но увы всегда пишет ошибку ...

melky
05.07.2023, 12:53
ну так если мигает, значит порт открыт и доступен для OPC, а то, что не отвечает, уже надо разбираться, что вы неправильно указали или собрали...
Собственно если у вас Атмега, на которой не указан AB, а Tx, Rx вот в первую очередь местами махните, ну и Адрес устройства проверьте, правильно ли 16-й

zorro_112
05.07.2023, 13:01
У меня странный вопрос еще :)
А может быть дело во фьюзах ? Шью через Avrdude
У меня
Lock 3F
High D9
Low C4

melky
05.07.2023, 14:04
Ну по Атмеге в частности я точно не подскажу ничего... сам их не программирую... Просто вы утверждаете что оно работает, а если работает то Адрес, четность, битность, скорость + AB местами. Другого как бы и не дано.

zorro_112
05.07.2023, 14:14
Ну это я так понимаю что работает. Прост я понять не могу куда теряется адрес. И как обще это проверить.
Сейчас сканирую порт через ModBus RTU, и пока с 1 по 70 порт тишина (на 9600)

Cs-Cs
05.07.2023, 14:25
Схему всего можно выложить?
Как подключены TxRx Ардуино и RS-485 A и B? У Ардуины стоит преобразователь из TTL в RS-485?

zorro_112
05.07.2023, 14:40
Там не ардуинка, а голый камень с запиткой от внутреннего кварца.
По схеме увы не могу показать т.к только в формате платы.
Фото готового ...
Преобразователь ...
68653
68654

melky
05.07.2023, 14:54
zorro_112 ну так возьмиет даташит на микросхему, посмотрите что у нее с Rx,TX вы же на какие-то ножки подключаете. Просто вы писали, что там есть RS485 а по факту там может TTL


Обвязка простая, стаб с 12 до 5 вольт, и adm485 интерфейс. так там есть 485-й или это вранье ? :)

zorro_112
05.07.2023, 15:01
Там сие как сляпано ...
12 вольт питание, стаб на 9 и с 12 на 5 вольт через малошумящий и т.д понижатель.
От него питается камень и ADM485ARZ, он лапами висит на RX-TX (30-31 лапа МК).
68655

melky
05.07.2023, 15:06
Если напрямую с лап 30,31 идет Rx, Tx то там скорее всего TTL уровень. Вам нужен преобразователь RS485-TTL с авто определением передачи, у китайцев есть. Если вы его далеко вешать собрались. По месту с ПК есть USB-TTL преобразователи

• TXD – Port D, Bit 1
TXD, Transmit Data (Data output pin for the USART). When the USART Transmitter is enabled, this pin is configured as an output regardless of the value of DDD1.
• RXD – Port D, Bit 0
RXD, Receive Data (Data input pin for the USART). When the USART Receiver is enabled this pin is configured as
an input regardless of the value of DDD0. When the USART forces this pin to be an input, the pull-up can still be
controlled by the PORTD0 bit.

Кстати через какой переходник вы ее програмируете?

zorro_112
05.07.2023, 15:20
чип на 2-3 сидит
68656

Там чуть выше я фото скидывал согласователя, он на 340 чипе.
Шью через программатор на атмеге 8 (совпадение).
Фьюзы чуть выше писал.

melky
05.07.2023, 15:25
zorro_112 у вас в программе Атмеги должен быть заложен функционал дергать лапами этого ADM485, судя по маркировке ножки DE и так далее. То есть Атмега должна ее держать на приеме, так как она сервер и переключать на передачу при ответе.

Еще раз, на счет программирования самой Атмеги я полный ноль :)

zorro_112
05.07.2023, 15:34
Сие то понятно дело, вопрос как это проверить (работу связи).
Прост японять не могу. Не то чип мудрит (485й), не сервер логает т.к он типа новый, а винда уже старенькая (7-ка на 64 бита). И увы более старых версий сервера не нашел (типа 1,9 и т.д), сейчас 1,10.
Как бы проверить связь и отклик самого 485-го ...

melky
05.07.2023, 15:49
Воспользуйся не OPC а Modpoll например, или любым другим приложением, работающим с Modbus
хрена вас всех тянет на OPC при наличии просто Modbus в других Scada ?

zorro_112
05.07.2023, 15:53
Потому что проект под него сляпан :)

melky
05.07.2023, 16:19
Так вам сейчас для проверки воспользоваться можно чем угодно, сможете опросить другими средствами, будете копать в сторону OPC, не сможете, разбираться со своей железкой...

Cs-Cs
06.07.2023, 09:52
Блин. Меня заинтересовало. А тут хрень:
* Ничего не скажу
* Схем не дам
* Что-то как-то сляпано
* Платы уже готовы
* Сам ничего не понял и вам не скажу

Нунахер ©
PS. И вместо винишка я себе лучше вина куплю. Нормального.