PDA

Просмотр полной версии : Технические характеристики ПЛК



МИХАИЛ
05.02.2007, 12:20
Здравствуйте. Примерно 2 месяца тестирую 2 экземпляра ПЛК 100-24-PL.
Возник вопрос. На сколько циклов записи-стирания расчитана флэш-память контроллера. Если ресурс будет исчерпан, что делать дальше.
Спрашиваю потому что несколько раз в день меняю программу, ищу приемлемый вариант. Флешка? это AT45DB321C ?
С уважением Михаил.

Филоненко Владислав
05.02.2007, 12:47
Здравствуйте. Примерно 2 месяца тестирую 2 экземпляра ПЛК 100-24-PL.
Возник вопрос. На сколько циклов записи-стирания расчитана флэш-память контроллера. Если ресурс будет исчерпан, что делать дальше.
Спрашиваю потому что несколько раз в день меняю программу, ищу приемлемый вариант. Флешка? это AT45DB321C ?
С уважением Михаил.

Существуют 2 области Flash -
1 - Область, в к-ю записывается код ядра (1-й Мбайт) - 50 тыс. циклов, надеюсь, я столько вариантов прошивок НИКОГДА не сделаю:D
2 - Собственно Flash-диск. 6000 блоков по 512 байт, каждый блок может быть перезаписан 50 тыс. раз. Файловая система сделана таким образом, чтобы минимизировать лишние акты записи во Flash (только при удалении 1 блок) и использовать блоки равномерно, т.е. обеспечить равное истирание. Т.о. 6000х50000=300 миллионов актов перезаписи (по данным производителя).
При приближении к этому пределу блоки будут поочередно выходить из строя, а файловая система при монтировании детектировать такие блоки по CRC и исключать их из доступной области.
Расчитаем ресурс.
Загрузки программ мы даже рассматривать не будем, т.к. даже 10 тыс. раз поменять программу - большой подвиг, клиент убьёт:D такого разработчика за катастрофическое затягивание сроков сдачи проекта!:eek:
Самый реальный вариант протереть Flash - модуль архиватора или его аналог, написанный самостоятельно.
Пусть запись происходит раз в 5 секунд, причем размер записываемых данных не превышает 512 байт - тогда:
300*10^6 /5 = 60 *10^6 сек ~ 16 тыс. часов ~ 45 лет.
Как говорил Ходжа Нассредин, к тому времени умрет или ишак, или эмир, или сам разработчик...

Конечно, если записывать раз в секунду - 9 лет,
10 раз в секунду - 10 мес. и т.д.:cool:

Мораль - не увлекайтесь частой записью...

МИХАИЛ
07.02.2007, 08:38
Здравствуйте Уважаемый Владислав!
Очень хотелось бы иметь в руководстве по эксплуатации структурную схему прибора, карту распределения памяти и т.д и т.п.
С уважением Михаил.

Малышев Олег
07.02.2007, 11:27
Здравствуйте Уважаемый Владислав!
Очень хотелось бы иметь в руководстве по эксплуатации структурную схему прибора, карту распределения памяти и т.д и т.п.
С уважением Михаил.

Частично распределение памяти можно посмотреть в CoDeSys /Resources/Target Settings.

uvwxyz
02.03.2007, 17:34
Уважаемые разработчики контроллера Овен ПЛК 150! Ответьте пожалуйста на два вопроса.
1.Каков размер Retain-памяти в контроллере Овен ПЛК150?
Этот вопрос возник в связи с решением следующей задачи.
В retain-области надо хранить массив большого размера.
В Target Settings в закладке Memory Layout в поле Size задаю значение 16#7D000(512kB). В поле Total size of data memory задаю значение 16#FA000(1024kB).
При компиляции сообщается, что Size of used retain data:110850 of 512000 bytes (21%).
А при прошивке программы появляется сообщение Number of retain variables is too large for the controller!(->maximum 16383 bytes)

2. Невозможно задать массив, размер которого больше 128кВ. Появляется ошибка 3801.Это окончательное свойство контроллера или в следующих версиях программного обеспечения это ограничение будет изменено в сторону увеличения?
В руководстве по CoDeSys эта ошибка 3801 описывается следующим образом.
"The variable '<Name>' is too big. (<size> byte)"
The variable uses a type which is bigger than 1 data segment. The segment size is a target specific
parameter and can be modified in the target settings/memory layout. If you do not find this in the
current target settings, please contact your PLC manufacturer.

Поэтому я "contact your PLC manufacturer".

Филоненко Владислав
02.03.2007, 19:37
Размер ОЗУ 128 кБайт
Размер Retain -16кБайт
Размер ПЗУ (программы) 1МБайт

Менять их нельзя!

Скажите, а зачем вам столько ОЗУ, тем более Retain???
Интересно, а как решалась эта задача ранее? Ведь насколько мне известно, за искл. пром. компьютеров такие объемы памяти в ПЛК не встречаются.

P.S. В принципе размер ОЗУ можно было бы увеличить, но за счет кода программы или отказа от опции Online change (+1МВайт)

uvwxyz
03.03.2007, 11:56
1.Retain-память планировалась для создания архива. Требуется ежеминутное архивирование состояния технологического процесса в течение 3-х суток. Каждая архивная запись содержит 25 переменных типа UINT. 3*24*60*25*2=216000 байтов.

При попытке использования стандартных средств создания архива возникли какие-то трудности(в понедельник я уточню характер этих трудностей у программиста, который этим занимался, и сообщу Вам). Кажется, контроллер начинал самопроизвольно перезагружаться.Это было относительно давно и возможно эти трудности связаны с ошибкой которую Вы исправили в версии 1.31.4.

Поэтому архив решили создавать в retain-памяти.

2. Какой предельный размер массива однобайтных переменных?

Филоненко Владислав
03.03.2007, 12:06
Размер массива ограничивается размером ОЗУ.

Retain по своей сути не предназначен для таких извращений.
Его цель - хранение текущих данных программы для того, чтобы при сбое питания она (программа) могла "вспомнить" свое последнее состояние. Архив для этого не нужен!
Ограничение по размеру Retain следует из её предназначения. Она не должна быть большой, чтобы контроллер успел даже на разряженном аккумуляторе записать. Если там будет 1 Мбайт - то сколько это будет записываться?

А архивировать надо архиватором или собств. процедурой архивации.
А самый лучший архив, ИМХО, - подключить принтер и печатать на него.

uvwxyz
03.03.2007, 12:35
Уважаемый Владислав Филоненко! Вы сообщаете, что
Размер ОЗУ 128 кБайт
Размер Retain -16кБайт
Размер ПЗУ (программы) 1МБайт.
А на Вашем сайте в разделе "Технические характеристики контроллера ОВЕН ПЛК150" сказано, что
Размер ОЗУ- 8МБ
Размер памяти программ и архивов -4МБ
Размер retain-памяти- 4КБ(настраивается пользователем)

Простодушный пользователь не знает чему верить.
Прокомментируйте пожалуйста ситуацию.

Филоненко Владислав
03.03.2007, 15:27
Просто это разные ОЗУ...
В ПЛК стоит:
SDRAM- 8МБайт - из них 2+0.128 мБайта - для нужд программы ПЛК
Flash - 4МБайта - из них 3Мбайта для файловой системы
Retain - раньше было 4, увеличили до 16.

Любят в отделе маркетинга КРУГЛЫЕ цифры :)
На самом деле я не представляю, как можно использовать 128 кБайт ОЗУ и 1 МБайт ПЗУ...
Драйвера все написаны, буфера для ввода/вывода уже есть, сложные библиотеки типа сокетов или ПИДов написаны...
Какой должна быть задача автоматизации, в к-й потребуется анализировать, к примеру, 32 ТЫСЯЧИ! чисел с плавающей точкой??? :eek:
Или это будет последствие кривых ручек программистов,
или ТЗ на такую систему будет весить пару ТОНН, писаться лет 20, а уж отладка такой системы...
Да и нельзя создавать ТАКИЕ системы управления на 1 ПЛК. Если система рухнет, мало не покажется...
А если хочется архивировать данные с 10 тысяч точек ввода, то купите 2 самых дешевых компьютера и ведите на них два одинаковых архива (для надежности).
Хотя у нас в стране, к сожалению, любят дешевые решения...

uvwxyz
05.03.2007, 12:35
Уважаемый Владислав!
Ваши разъяснения относительно Flash-памяти и retain-памяти понятны.
Уточните пожалуйста пункт, касающийся ОЗУ.
1.Что значит 2+0.128 Мб? Надо ли это понимать так, что 2Мб отводится для нужд системы исполнения CoDeSys, а 0.128Мб отводится для нужд пользователя?
2. Так как в соответствие с техническими данными контроллер имеет 8 Мб ОЗУ, то для какой цели предназначены ещё почти 6 Мб ОЗУ?

Филоненко Владислав
05.03.2007, 13:06
Добрый день!
Это надо понимать так, что 1 МБайт для текущего кода исполняющейся программы CoDeSys, 1 МБайт для кода в случае загрузки Online-change и 128 кБайт для данных программы CoDeSys.

А остальное - код ядра (он грузится в озу для исполнения), куча для модулей конфигурации, внутренние буфера CoDeSys, кэш, буфера драйверов (особенно Ethernet), буфера сокетов (тоже не маленькие) и многое многое другое, что обеспечивает скорость и удобство работы.
Можно было бы сократить размеры буферов,
но тогда программисты программ ПЛК ДОЛЖНЫ будут так писать свои программы, чтобы эти буфера не переполнялись, время исполнения цикла ПЛК было минимальным и пр. и т.д.
Это потребует гораздо большей квалификации программиста ПЛК...
Можно сильно уменьшить кэш файловой системы - потребовав взамен от пользователя ограничивать размер блоков при записи/чтении из Flash и смириться с "торможением" работы ПЛК при чтении/записи...
Можно уменьшить число сокетов до 2-3 - и хлопнуть по рукам тех пользователей, которым необходимо общаться с несколькими Ethernet-устройствами...
Можно уменьшить размер кучи и сказать, что больше пары-тройки ModBus-мастеров в конфигурацию ставить нельзя...