PDA

Просмотр полной версии : Прсба помочь новичку с RS232



Alex74
08.09.2008, 08:49
нужна срочная помощь по подключению счетчика по порту RS232 с протоколом ModBus RTU (см. вложенный файл).

Alex74
08.09.2008, 08:57
Есть прибор ультрозвуковой счетчик он работает по протоколу Modbus RTU. У него есть выход RS232. Я сделал кабель DB9 и подключил так:
DB9 <-> DB9
2 <-> 3
3 <-> 2
5 <-> 5

Далее создал на ПЛК 100 ModBus (master) и выставил там RS232. Прописал параметры порта (скорость 1200 как на счетчике, тип RS232 и RTU).
Добавил Universal ModBus divase (VAR), а вот дальше загвоздка какой тип переменной ставить для запроса?

Малышев Олег
08.09.2008, 09:06
Согласно столбцу С
uchar=1 byte
unsigned short=2 byte=registr
float=float (тип флоат может быть с разным порядком следования байт, попробуйте для начала поставить режим TraceMode)

Alex74
08.09.2008, 09:28
Спасибо что откликнулись. TraseMode сразу поставил. Но не пойму какую переменную из набора предлогаемого CoDeSys для Universal ModBus ставить там для mastera нет 1 битных переменных

Ельцов Андрей
08.09.2008, 09:57
Там однобайтные переменные.
Вам не все равно что выбирать в plc-configuration, выбирайте 8 бит. У Вас есть тип функции 04. Вы можете с помощью этой функции опрашивать любую переменную лубого типа, а в программе ПЛК уже разбирать все что Вам нужно.

Alex74
08.09.2008, 10:01
Я ставил 8 bit input module (VAR). Дал команду 04 и в адрес регистра записал 1. Выдает ошибку 81.

Alex74
08.09.2008, 10:06
Может в адрес регистра надо в шестнадцатеричном коде писать?
Не пойму, помогите пожалуйста, надо проект сдавать заказчику.

незарегистрированный
09.09.2008, 08:49
Я так и не смог подключиться.
У меня есть несколько вопросов:
1. Правильно ли я сделал кабель (см. текст выше)
2. Какую переменную надо выбирать input или output
3. В каком виде надо записовать число в Registr address чтобы ответил прибор согласно протокола (десятичную или шестнадцатиричную) и как быть с младшими и старшими разрядами при записи.
3. Алгоритм приема данных от прибора (распределение по переменным0

Малышев Олег
09.09.2008, 09:14
Думаю лучше будет вложить проект и настройки датчика (скорость, четность и т.д.) Это поможет понять что не так.

Как вариант, можно в линию последовательно включить RS232 порт компа что бы слышать обмен в линии.

Alex74
09.09.2008, 09:35
Вот вопросы и ответы которые я задавал програмисту счетчиков

> 1. по протоколу ModBus прибор (счетчик)работает как мастер или как
> подчиненный
Прибор работает как подчиненный. Он отвечает на запросы внешнего устройства (мастера).


> 2. нужна ли проверка четности при настройке RS232
Бита контроля четности нет.

> 3. количество бит данных при настройке RS232
Используется 8 бит данных.

> 4. Количество стоп-битов при настройке RS232
1 стоп-бит

> 5. Тип протокола обмена (RTU или ASCII)
Протокол обмена RTU

> 6. Дает ли отклик прибор при отключенных датчиках и указании ошибки П
Прибор дает отклик в рабочем режиме при любом состоянии датчиков.
Отклик может отсутствовать, если оператор зашел в меню.

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

Alex74
09.09.2008, 09:40
Вот чтобы не портить основной проект создал пустой с той конфигурацие которую пытался прописать по RS232. См. вложенный файл.
Может мне через библиотек попробывать?

Alex74
09.09.2008, 09:43
Это у нас на ПЛК-100 R-L версия прошивки 2.02.-3

Alex74
11.09.2008, 08:01
нашел в описании библиотеки com порта что скорость должна быть не ниже 4800, установил 9600 вроде стал передовать какието цифири

Alex74
12.09.2008, 20:42
Блин так и не получил от счетчика вразумительного ответа. ПОМОГИТЕ

Малышев Олег
13.09.2008, 14:25
В параметрах порта RS232 указана скорость 1200
Установите 9600