PDA

Просмотр полной версии : Ограничение в 360 байт



Спорягин Кирилл
01.12.2020, 19:36
Доброго времени суток, уважаемые форумчане.

Подскажите, как работает ограничение в 360 байт на контроллерах ПЛК110 модификации L?
Конкретнее:
1. Ограничение касается только мастера или слейва также?
2. Что считать байтом ввода-вывода? Все адреса конфигурации? И стандартные входы-выходы ПЛК сюда входят? И модуль статистики?
3. Это ограничение формируется на этапе компиляции или только в рантайме? А то у меня вроде больше сконфигурировано, но компилятор не ругается.
4. Если только в рантайме, то как оно проявляется? Излишек не опрашивается? Или ПЛК не запускается?

Спасибо.

Николай Суриков
01.12.2020, 21:03
Лицензионное ограничение области памяти ввода/вывода
Контроллеры ОВЕН ПЛК выпускаются в двух модификациях по лицензионному ограничению размера области памяти ввода/вывода (т.н. области %I+%Q+%M или области отображения процесса):

ОВЕН ПЛК-Х.Х-M – контроллеры с ограничением объема области памяти ввода/вывода до 25 Кбайт;
ОВЕН ПЛК-Х.Х-L – контроллеры с лицензионным ограничением объема области памяти ввода/вывода до 360 байт.
ВНИМАНИЕ! Лицензионное ограничение распространяется только на область памяти ввода/вывода (область отображения процесса). Максимальное количество внутренних переменных программы ПЛК не зависит от лицензионного ограничения и определяется только размером доступной оперативной памяти.

Выбор типа лицензии ОВЕН ПЛК
Для выбора типа лицензии ОВЕН ПЛК необходимо подсчитать объем доступной памяти ввода/вывода для организации сетевого обмена со всеми внешними устройствами. Скачать алгоритм расчета. (http://www.owen.ru/uploads/algoritm_rascheta_iom.pdf)

Удобным способом, который позволяет точно проверить, хватит ли доступного объема памяти ввода/вывода, является способ создания проекта. Не приобретая контроллер, но установив на компьютере CODESYS и Target-файл, вы можете создать проект и в окне PLC_Configuration подключить все необходимые модули.

Если памяти достаточно, компиляция проекта пройдет успешно, если же нет – CODESYS выдаст ошибку. При компиляции будут учтены все особенности, в том числе требования по выравниванию переменных. Для осуществления подобной проверки непосредственно программу контроллера писать не требуется.
https://owen.ru/product/plk100_150_154/modifications

Спорягин Кирилл
03.12.2020, 13:32
https://owen.ru/product/plk100_150_154/modifications

Спасибо за ссылку.
Но пока не сходится. Я уже в конфигурации насоздавал под тысячу байт данных ввода/вывода, а компиляция проходит успешно. При этом в "Настройках целевой платформы" указан PLC110.30-L v2.
Почему компилятор не ругается, как это заявлено в инструкции?

Спорягин Кирилл
03.12.2020, 13:43
ну ведь куча тем было на эту тему, проблемы начнутся в железе, а компилятор проверяет код а не аппаратную часть

Да, вот поискал, а толковых тем не было.

Что значит проблемы начнутся в железе?
Собственно я об этом и спрашиваю. Как проявляется ограничение? Мне компилятор отругается или потом "хоп" и часть модулей ввода/вывода не работает?

Спорягин Кирилл
03.12.2020, 14:13
Не совсем верно, говориться в инструкции.
Все же использовать эти сконфигурированные данные нужно, например, сославшись на них через AT в глобальных данных, тогда компилятор выдает ошибку (см. прикрепленный файл).
Пока ссылки нет, можно конфигурировать сколько угодно данных в конфигурации. Ошибок при компиляции не будет.

При этом он выдает не совсем ясную ошибку. Так сразу и не поймешь, если не знать. Пишет следующее: "Неверный тип ХХХ по адресу ХХХ" (см. прикрепленный файл).

Спорягин Кирилл
03.12.2020, 14:27
при чем тут AT или указатели к примеру, есть ограничение в 360 байт в связи с отсутствием лицензии, поэтому сколько не добавляй элементов в конфигурацию, работать будут только те, которые входят в этот размер, а дальше либо не будет опрашиваться, либо вообще зависнет

Вроде я все написал.
Только когда используется память из конфигурации, то он выдает ошибку при компиляции. Использование осуществляется в примере через АТ.

Спорягин Кирилл
03.12.2020, 14:28
при чем тут AT или указатели к примеру, есть ограничение в 360 байт в связи с отсутствием лицензии, поэтому сколько не добавляй элементов в конфигурацию, работать будут только те, которые входят в этот размер, а дальше либо не будет опрашиваться, либо вообще зависнет

Зато, есть идея. А если указатель настроить, то наверное ограничение обходится.

petera
03.12.2020, 14:40
Не совсем верно, говориться в инструкции.
Все же использовать эти сконфигурированные данные нужно, например, сославшись на них через AT в глобальных данных, тогда компилятор выдает ошибку (см. прикрепленный файл).
Пока ссылки нет, можно конфигурировать сколько угодно данных в конфигурации. Ошибок при компиляции не будет.

При этом он выдает не совсем ясную ошибку. Так сразу и не поймешь, если не знать. Пишет следующее: "Неверный тип ХХХ по адресу ХХХ" (см. прикрепленный файл).

Чтобы фокус удался, именовать переменные нужно прямо в конфигурации.
52313
Они сами в глобальных появятся после удачной компиляции.

Пока нет имен, нет и переменных, значит нет используемой памяти

Спорягин Кирилл
03.12.2020, 15:14
А зачем ему то это сдалося ?

Ну, если мастер у меня через библиотеки выполнен, то вот слей я всегда штатный использую.
И тут, блин, заказали L, по ошибке, вместо М.

Вообщем, придумал я проблем на свою голову.

Спорягин Кирилл
03.12.2020, 15:18
Они сами в глобальных появятся после удачной компиляции.


Это чего-то новенькое. У меня не появляются.
Но разумеется не буду же я 360 раз вводить имена в конфигурации для эксперимента.

Спорягин Кирилл
03.12.2020, 15:21
Ну так и слейв запилить без конфига можно ж. Есть же
https://owen.ru/forum/showthread.php?t=28996

О! Спасибо!
Жаль, что только через com-порт (слейв у меня обычно через TCP), но это, наверное, лучше, чем ничего.

Спорягин Кирилл
03.12.2020, 15:23
у меня наоборот с нумерацией ок, а вот с адресацией не очень52314

Для ясности. Правда в сравнении со снимком экрана, я там уже немного поменял конфигурацию.

Спорягин Кирилл
03.12.2020, 15:33
А какая платоформа-то ?

PLC110-30-L

Спорягин Кирилл
03.12.2020, 15:34
Не поверите - через TCP даже проще. Еще многоконектор легко запиливается ))

Не понял.
Типа самому такую бибку писать.
Вроде пока не требовалось. Штатные средства при слейв вполне устраивали.

Валенок
03.12.2020, 15:38
................

Спорягин Кирилл
03.12.2020, 15:45
ПЛК110-30 v2.

Пардон.

Спорягин Кирилл
03.12.2020, 16:28
3.12 поставил для 30L v2. Ругается.
Какие-то более свежие появились ?

У меня сейчас таргет 3.3.
Скачан с сайта недавно.

Спорягин Кирилл
03.12.2020, 16:29
В любом случае на 7 там QD а не ID как на картинке с ошибкой

Я ж писал, что успел поменять проект после размещения снимка экрана.

capzap
03.12.2020, 18:14
дык у меня выше фото с id

но не конфигурации же, а глобальных переменных, другими словами ручками написанное