1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Area length error when reading/writing

Модератор: Глоб.модераторы

Ответить

Автор темы
depr123
здесь недавно
здесь недавно
Сообщения: 8
Зарегистрирован: 26 май 2017, 10:53
Имя: Алексей
Страна: Россия

Area length error when reading/writing

Сообщение depr123 »

Добрый день!
Используем контроллер S-300, который опрашивает по профибас цифровые преобразователи PAC 3200.
Затем с каждого PAC считываем данные, делаем разные арифметические манипуляции и складываем в DB "AI Data SHP03

L PID 992
L 1.000000e+006
/R
T "AI Data SHP03".A16_1.Total_Activ_Power


Но в диагногстическом буфере выходит такая ошибка

Event 7 of 10: Event ID 16# 2523
Area length error when writing
Global DB, double-word access, Access address: 992
Requested OB: Programming error OB (OB121)
Priority class: 1
Internal error, Incoming event
08:05:29.763 AM 05/24/2017


Event 8 of 10: Event ID 16# 2522
Area length error when reading
Global DB, double-word access, Access address: 992
Requested OB: Programming error OB (OB121)
Priority class: 1
Internal error, Incoming event
08:05:29.763 AM 05/24/2017


Понимаю что это невозможность и прочесть и записать с адреса 992. Но где проблема понять не могу. Так как в DB данные с этого адреса есть. А больше номер 992 нигде не используется.
Аватара пользователя

aranea
знаток Eplan
знаток Eplan
Сообщения: 1136
Зарегистрирован: 21 сен 2012, 22:45
Имя: aranea
Благодарил (а): 30 раз
Поблагодарили: 165 раз

Area length error when reading/writing

Сообщение aranea »

размер образа процесса для входов/выходов в ПЛК?
окно Goto Location этого адреса с галочкой Overlapping?
я бы посоветовал использовать SFC14, если данные консистентны по всей длине посылки, но смотрю вы любите Shared DB с кучей структур
Изображение

Автор темы
depr123
здесь недавно
здесь недавно
Сообщения: 8
Зарегистрирован: 26 май 2017, 10:53
Имя: Алексей
Страна: Россия

Area length error when reading/writing

Сообщение depr123 »

aranea писал(а): размер образа процесса для входов/выходов в ПЛК?
Не понял, где это можно посмотреть
aranea писал(а): окно Goto Location этого адреса с галочкой Overlapping?
У вас нет необходимых прав для просмотра вложений в этом сообщении.

winb
освоился
освоился
Сообщения: 248
Зарегистрирован: 31 янв 2017, 08:44
Имя: Маркушин Андрей Геннадьевич
Страна: Россия
город/регион: Нижегородская обл., Выкса
Благодарил (а): 19 раз
Поблагодарили: 64 раза

Area length error when reading/writing

Сообщение winb »

Больше похоже на то, что в последнее слово блока данных пытаетесь двойное слово записать. У переменной "AI Data SHP03".A16_1.Total_Activ_Power какой тип и адрес?

Автор темы
depr123
здесь недавно
здесь недавно
Сообщения: 8
Зарегистрирован: 26 май 2017, 10:53
Имя: Алексей
Страна: Россия

Area length error when reading/writing

Сообщение depr123 »

winb писал(а): Больше похоже на то, что в последнее слово блока данных пытаетесь двойное слово записать. У переменной "AI Data SHP03".A16_1.Total_Activ_Power какой тип и адрес?
У переменной "AI Data SHP03".A16_1.Total_Activ_Power тип данных REAL

winb
освоился
освоился
Сообщения: 248
Зарегистрирован: 31 янв 2017, 08:44
Имя: Маркушин Андрей Геннадьевич
Страна: Россия
город/регион: Нижегородская обл., Выкса
Благодарил (а): 19 раз
Поблагодарили: 64 раза

Area length error when reading/writing

Сообщение winb »

Ну, тогда есть вариант с потерей связи по профибасу - ошибки есть не только считывания, но и записи (возможно, в преобразователь слово-другое управления передаётся). А вообще, как советовал aranea, лучше использовать блоки консистентного обмена - SFC14,15 - там и диагностика получше будет

Автор темы
depr123
здесь недавно
здесь недавно
Сообщения: 8
Зарегистрирован: 26 май 2017, 10:53
Имя: Алексей
Страна: Россия

Area length error when reading/writing

Сообщение depr123 »

winb писал(а): Ну, тогда есть вариант с потерей связи по профибасу - ошибки есть не только считывания, но и записи (возможно, в преобразователь слово-другое управления передаётся). А вообще, как советовал aranea, лучше использовать блоки консистентного обмена - SFC14,15 - там и диагностика получше будет
Допустим связь прерывается, но отчего прерывается половинчето, Т.е. не опрашивается 1,5 PAC 3200.
При прерывании связи на преобразователях PAC 3200 на модуле profibus, загорается красный светодиод, а он зеленый - что показывает опрос и связь есть.
Аватара пользователя

aranea
знаток Eplan
знаток Eplan
Сообщения: 1136
Зарегистрирован: 21 сен 2012, 22:45
Имя: aranea
Благодарил (а): 30 раз
Поблагодарили: 165 раз

Area length error when reading/writing

Сообщение aranea »

мне лень искать доку на PAC и разбираться
вы уверены, что в PID 992 лежит число в формате REAL? VAT что показывает по этому адресу?
закомментируйте обращение к этому адресу, убедитесь что Goto его не найдет, проверьте наличие ошибки
потом попробуйте так

Код: Выделить всё

      L     PID   992
      T     MD  1234 // не используемая у вас область памяти
ошибка?
замените PID на PIW, MD на MW
cycle.png
выложите окно хардвара где видно PAC, его адреса и свойства его IO адресов
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Изображение

Автор темы
depr123
здесь недавно
здесь недавно
Сообщения: 8
Зарегистрирован: 26 май 2017, 10:53
Имя: Алексей
Страна: Россия

Area length error when reading/writing

Сообщение depr123 »

aranea писал(а): закомментируйте обращение к этому адресу, убедитесь что Goto его не найдет, проверьте наличие ошибки
потом попробуйте так
Закоментировал, goto ничего не нашел, ошибок тоже не было.

В 992 именно DW находится, если брать оттуда W забираемое значение будет не верное.

Таким же образом я забираю больше сотни значений, но ошибка все же только на адреса с 932 по 992, а дальше до 1228 все ок.
aranea писал(а): выложите окно хардвара где видно PAC, его адреса и свойства его IO адресов
aranea писал(а): размер образа процесса для входов/выходов в ПЛК?
У вас нет необходимых прав для просмотра вложений в этом сообщении.

winb
освоился
освоился
Сообщения: 248
Зарегистрирован: 31 янв 2017, 08:44
Имя: Маркушин Андрей Геннадьевич
Страна: Россия
город/регион: Нижегородская обл., Выкса
Благодарил (а): 19 раз
Поблагодарили: 64 раза

Area length error when reading/writing

Сообщение winb »

Я думаю, тут проблема в доступе к блоку данных -

Код: Выделить всё

Global DB, double-word access, Access address: 992
. Причём - к записи и чтению. Видел что-то подобное, когда с косвенной адресацией работал.

winb
освоился
освоился
Сообщения: 248
Зарегистрирован: 31 янв 2017, 08:44
Имя: Маркушин Андрей Геннадьевич
Страна: Россия
город/регион: Нижегородская обл., Выкса
Благодарил (а): 19 раз
Поблагодарили: 64 раза

Area length error when reading/writing

Сообщение winb »

Код: Выделить всё

Event 3 of 10:  Event ID 16# 2523
Area length error when writing
Global DB, double-word access, Access address:     10
OB number:      1
Module address:      8
Requested OB: Programming error OB (OB121)
В симуляторе попробовал смоделировать ситуацию.
В блоке данных размечено одно слово, попытался записать в десятое двойное слово.

Автор темы
depr123
здесь недавно
здесь недавно
Сообщения: 8
Зарегистрирован: 26 май 2017, 10:53
Имя: Алексей
Страна: Россия

Area length error when reading/writing

Сообщение depr123 »

Продолжаю, проблема так и не исчезла.
Если кому интересно, конфиг в приложении.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ответить

Вернуться в «ПЛК SIMATIC (S7-200, S7-1200, S7-300, S7-400, S7-1500, ET200)»