PDA

Просмотр полной версии : OWEN ОРС-сервер



Андрей Р
19.02.2008, 07:52
Добрый день.
Подскажите пожалуйста, как расчитываются адреса регистров в настройках переменных ОРС ОВЕН. Соединение АС3М - ПЛК150, протокол Modbus ASCII, переменные: 2byte, Float, 8bit (3шт.) расположены в памяти ПЛК последовательно как написано. В ОРС Lectus с настройками типизированных переменных и адресов 00, 02, 04 соответственно, все данные принимаются без проблем. В ОРС ОВЕН с настройками: WORD/Функция чтения 03/Адрес 0000, FLOAT/Функция чтения 03/Адрес 0003, BYTE/Функция чтения 02/Адрес 0008 соответственно; первые две переменные читаются, а байтовая читается как ноль. При задании байтовой переменной других адресов ОРС ОВЕН выводит информацию о том, что недопустимый адрес переменной.
Подскажите пожалуйста, что не так?

Филоненко Владислав
19.02.2008, 09:41
В руководстве по конфигурированию области ввода/вывода есть специальный раздел, к-й посвящен расчетам. Вы не учли выравнивание и поэтому возникли проблемы.

Андрей Р
20.02.2008, 06:19
Тогда подскажите пожалуйста, какие конкретно необходимо задать адреса данным переменным в ОРС ОВЕН. Потому как, у меня ОРС пишет "недопустимый адрес (2)", при попытках выронять адреса, и причем для всех переменных. Адреса при которых читается достоверная информация найдены путем последовательного перебора адресов, но последняя переменная BYTE читается как ноль.

Филоненко Владислав
20.02.2008, 11:48
2byte, Float, 8bit
Адреса регистров
2 байта - 0 регистр
Float - 2,3 регистр
8 bit - 4 регистр.

А если переменные поменять местами так: Float, 2byte, 8bit , то проблем с выравниванием не бкдет

Сергей Бондаренко
20.02.2008, 14:03
2byte, Float, 8bit
Адреса регистров
2 байта - 0 регистр
Float - 2,3 регистр
8 bit - 4 регистр.
А если переменные поменять местами так: Float, 2byte, 8bit , то проблем с выравниванием не бкдет

Готов поспорить что не получиться! Никакого логически правильного выравнивания нет для OPC Modbus ОВЕН. Либо нет грамотно написанного руководства по расчету адресов, потому всегда на эту тем будут вопросы. Вот сейчас полюбому Андрей попробует и скажет что нет, не получается по вашим расчетам. Давайте все-таки Вы напишите человеку грамотный ответ для конкретного примера, проверив его на практике и сказав что да вот так работает.
И еще неужели Вы предлагаете например при создании 70 переменных заранее все просчитывать в какой последовательно забить в конфигураторе CodeSys параметры, глупо так делать, лучше нормальное описание к расчету, либо утилиту автоматического расчета адресов (неужели так проблематично это).

Андрей Р
20.02.2008, 14:12
Попробовал. НЕ РАБОТАЕТ. Читает только первую переменную 2byte. Высылаю Вам файлы конфигурации ОРС. Файл с именем 123 читает 2byte, Float хаотично меняющиеся цифры, Byte недопустимый адрес. Файл 123_ читает ДОСТОВЕРНО 2byte и Float, Byte читает 0(ноль) вместо 3(три).

Филоненко Владислав
20.02.2008, 14:58
А проект CoDeSys?
Может дело в правильной настройке OPC?
И какая у Вас прошивка ПЛК?

Дмитрий Егоренков
20.02.2008, 17:32
Никакого логически правильного выравнивания нет для OPC Modbus ОВЕН.

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

Сергей Бондаренко
21.02.2008, 05:36
конечно, нет. выравнивание есть в плк, а opc тупо читает по заданному адресу заданное число байт.

читай "применительно к ОРС ОВЕН", и ещё

1. почему отличается нумерация регистров чтения в разных ОРС (ОВЕН и прочих)?
2. Всё-таки проблема с выравниваем адресов регистров в CodeSys будет решена? вроде же давно уже говорили что решается проблема, а сроки решения проблемы не обозначены! Ситуации, во всяком случае с прошивкой 2.0-4 с неправильным выравниванием остаются.
3. Всё-таки невозможно/возможно или проблематично ввести автоматический отчет в Кодесис с расчетом получившихся адресов и переменных? А то искать ошибки при большой количестве параметров в сеть, перебирая практически наугад регистры, и колдуя с последовательностью выходных переменных как-то не воодушевляет!

Андрей Р
21.02.2008, 05:59
Высылаю Вам проект CoDeSys и данные с гипертерминала.

Филоненко Владислав
21.02.2008, 12:41
читай "применительно к ОРС ОВЕН", и ещё

1. почему отличается нумерация регистров чтения в разных ОРС (ОВЕН и прочих)?
2. Всё-таки проблема с выравниваем адресов регистров в CodeSys будет решена? вроде же давно уже говорили что решается проблема, а сроки решения проблемы не обозначены! Ситуации, во всяком случае с прошивкой 2.0-4 с неправильным выравниванием остаются.
3. Всё-таки невозможно/возможно или проблематично ввести автоматический отчет в Кодесис с расчетом получившихся адресов и переменных? А то искать ошибки при большой количестве параметров в сеть, перебирая практически наугад регистры, и колдуя с последовательностью выходных переменных как-то не воодушевляет!
2. Это не проблема CoDeSys, это проблема ARM-процессора. Решается заменой процессора (но все более-менее приемлемые варианты тоже имеют особенности выравнивания)
3. CoDeSys не имеет такой функции. Никакой магии нет, всё расчитывается очень просто.

Филоненко Владислав
21.02.2008, 12:43
Высылаю Вам проект CoDeSys и данные с гипертерминала.

Проблема в старом таргете. Обновите прошивку и таргет.

Сергей Бондаренко
26.02.2008, 19:23
3. CoDeSys не имеет такой функции. Никакой магии нет, всё расчитывается очень просто.

Не-е-е, применительно к ОРС Modbus ОВЕН ничего простого не получается, что вы все отписываетесь, вы возми проверьте: составьте несколько разнородных по типу переменных в плк, посчитайте адреса по логике и посмотрите что получиться -ничего не получиться. Речь о том что ОРС ОВЕН для ПЛК неработоспособен по логике выравнивания. Если я неправ докажите! Речь никак не идет о других OPC Modbus в которых логическое выравнивание не вызывает сомнений и все работает.

Сергей Бондаренко
26.02.2008, 19:28
Проблема в старом таргете. Обновите прошивку и таргет.
Да нет же хоть старом хоть новом таргете, ничего не меняеться. С другими же ОРС все работает и выравнивание работает правильно, а вот именно с ОРС ОВЕН нифига не работает, хоть как смотри хоть по адресам карты памяти контроллер, хоть по адресам Modbus-регистров.
Извеняюсь но может всё-таки будет корректный ответ а не отписка.

Филоненко Владислав
26.02.2008, 19:42
Теперь понятно, что дело в ОРС. Наконец стало ясно, где копать.

Дмитрий Егоренков
27.02.2008, 15:10
что ж вы все на выравнивание напираете, если в остальных серверах все работает!

да, ОВЕН OPC MODBUS работает с ошибками. почему, мы со временем выясним и выпустим исправленную версию.

servini
18.04.2008, 15:32
Что-нибудь изменилось?

Дмитрий Егоренков
18.04.2008, 16:27
ошибка в сервере исправлена. после тестирования новая версия будет выложена на нашем сайте.