Ошибка ILLEGAL ADDRESS DATA.
даже если один регистр забиваю, все равно. Регистр 332 пользовательский или регистр 0 - не имеет значения.
Как с этим бороться ?
Без ОРС сервера от Owen ПЛК по документации должен опрашиваться ведь ?
Вид для печати
Ошибка ILLEGAL ADDRESS DATA.
даже если один регистр забиваю, все равно. Регистр 332 пользовательский или регистр 0 - не имеет значения.
Как с этим бороться ?
Без ОРС сервера от Owen ПЛК по документации должен опрашиваться ведь ?
Вообще без проблем. Возвращает 02 - это хорошо. Связь - есть. А что 02 :Цитата:
должен опрашиваться ведь
1.банально не сделали этот регистр в ПЛК63. Мы ж не видим проекта 63-его
2.см. п#2. Мы ж не видим проекта мастера
1-е - Регистры в ПЛК есть, иначе бы я их не опрашивал.
2-е - часть регистров в ПЛК зашиты намертво, например 0-10 это регистры состояния выходов, параметр real.
Реакция на них аналогичная, связь есть, данных нет, ошибка та же.
А кто опрашивает-то ?
Валенок , опрашивает Rapid SCADA. накидал несколько параметров для проверки, а тут облом-с..
Holding Registers, адрес регистра 0, float (4 байта). переставлением не занимался, так как ошибка говорит за себя, не видит она данного регистра, а он должен быть.
В РЭ и в руководстве по программированию никакой конкретики, только разделение предустановленых регистров и пользовательских для разных типов данных. Все.
Ну так это рапид-скада и чудит. Уверены что, например, не вычитает 30001/40001 ?. Посылку прям по байтам выкладывает где ?
Какая конкретика нужна для модбас-слейва кроме доступных функций, карты регистров и формата данных (ну может специально оговоренных ограничений типа не полной многорегистровости для запросов) ?
да, тоже подумал на счет 30001/40001 когда домой ехал.
В то же время подключался к другим устройствам Рапидой, проблем не было. И к МЭ110 и шнайдеровским Micrologic-ам, всегда вбивал регистры из руководств и всегда получал то, что нужно.
А тут странность...
99% - в этом. Все симптомы - exc#2.
Отправка (8): 01 03 00 01 00 0A 94 0D
Приём (5/5): 01 83 02 C0 F1
Вот из лога запрос ответ, что-то мне сдается, что с запросом что-то не так ?
Отправка (8): 01 03 01 4C 00 08 84 27
Приём (5/5): 01 83 02 C0 F1
И лог запроса пользовательских данных
что не так, пытаетесь читать 10 регистров начиная с первого, т.е заканчивается 11 - а он есть?
Групповое чтение в ПЛК63 по отличным от указанного в конфигурации адресам.
10 регистров из области %Q за один раз читать запрещается.
Вложение 20503
Для группового чтения используйте регистры с номера 4184.
Да, я уже понял, что связано с групповым запросом. Сегодня поеду проверять...
Сейчас только определюсь, почему у меня с 1-ого регистра читалось а не с 0-ого
Проверил, все работает.
Как определить в какой последовательности попадают данные для возможности группового запроса ?
И возможности передать dword все-таки нет. записывал переменную в DateP (dword), при чтении 0. На живом контроллере работает не так, как в эмуляторе.
Не парьтесь, не работает :).
Параметр был "Оперативный", записывал из программы температуру, переведя в dword, порядок байт хоть обменяйся.
Разрешил показ на экране - 01.01.2000 при нулях в переменной по сети.
Валенок, у Рапиды порядок байт такой, какой задашь.
petera, int можно и float можно.
Вопрос открытый, как рассчитать где будут храниться данные при групповом запросе ?
Ведь вся область Q транслируется, не только пользовательские данные, но и все разрешенные в конфигурации регистры, которые нельзя отключить. Состояние выходов, имя устройства, контраст и так далее...
Филоненко Владислав то есть данные собираются как и в варианте прямого запроса ? 0 регистр, real первого выхода, 82 регистр - пользовательский 4 байта, 332 регистр - пользовательский 2 байта.
Не получается как-то, выход 1, real регистр 0, если прибавить 0х1000 то это 4096 а по мануалу область Q начинается с 4185
И в 3хх регистрах есть и I область.
Если собрать последовательно все Q и назначить им регистры, так будет правильно или порядок какой-то иной ?, например сперва все системные, потом пользовательские, или сперва STRING потом 4-х байтные, потом 2-х байтные или как ?
Где представители Овен, что скажут ?
Приеду домой, скажу. Проверенный на реальном объекте пример.
DI - 4096
AI1 - 4098
AI2 - 4102
AI3 - 4106
.....
AO1 - 4140
AO2 - 4142
.....
Первый параметр из первой ветви - 4176
Далее подряд с учетом на выравнивание на четный адрес параметров QD
ASo Хм, ниче непонятно, на кой тогда документация, если она не соответствует ?
АО, это ведь каналы Q, почему они в области каналов I ?
Что значит первый параметр первой ветви ?
melky, нормально у 63/73 работает по базовым адресам. Не юзал бы (причем не однократно) - не говорил.
С копией гиморой в том, что стоит вставить новый параметр в меню (которому можно задать новый адрес и парится про существующие) как адреса копии все передут. Адресация в копии базируется на физическом расположении в меню и с учетом выравнивания.
Копия позволяет сделать групповой запрос, а обращение по указанным регистрам только по отдельности.
Вот и хочу настроить групповой запрос хотя бы пользовательских данных.
Вот и хотелось бы понять, как и в какой последовательности туда попадают данные. Ну и соответственно как начиная с адреса 4096 попадают данные предустановленные
Копия позволяет только читать данные. Вот это и плохо.
Видимо это имхо. Просто я сетевой параметр описываю переменной как RW. И он и тут и там ....
А тута каждому W и плюс 1 R на все. На 1 параметр больше будет
Валенок, не сыпьте матюками :)
ПЛК уже в работе, есть список переменных, менять ничего уже не буду. Просто надо разобраться в правильности группового запроса. Соответствие переменных адресам.
Ну да ладно. Раз охота с адресами возится
Для меня ST полутемный лес честно говоря.
Настоящему индейцу завсегда везде..
Валенок, вот объясни дураку, при чем тут адрес 4096, если пользовательские данные сидят ДАЛЬШЕ ?
И можно было в двух словах, как в данном случае работает массив ?
С 4096 сидит копия. Можно из структуры выкинуть все кроме пользовательских веток и читать с 4176 - это пользовательские.
примерно понял. Только float все равно придется вычислять как и где сидит. Структура вся в ворд ведь. А там еще и стринг сидит.
Зачем структура в ворде ? Она - в том в чем есть.
На картинке с квадратиками - настоящий адрес ai5 в копии. Тоже самое и реалами в меню.