Использование памяти в контроллерах Siemens
S7-300
иван жуков;
21.2.03
Здравствуйте!
Недавно мы начали работать с контроллерами Siemens S7-300 (модель
процессорного
модуля CPU315 код 315-1AF03-0AB0), и в процессе работы у нас
возникло
недоумение по поводу некоторых моментов. Количество рабочей памяти
на борту
процессорного модуля - 48Кбайт (представитель фирмы Siemens
посоветовал нам
именно этот процессор после того как мы выдали ему информацию о
количестве
каналов ввода/вывода). Пишем программу для управления объектом с
использованием
48 аналоговых каналов, 150 дискретных каналов, 5 контуров
управления и
реализацией логики по блокировкам. В процессе работы оказалось, что
даже
предварительный вариант программы (там реализованы только
регуляторы и
обработка модулей ввода-вывода) не помещается в контроллер! Начали
разбираться,
в чем тут дело. Оказывается, что значительный объем памяти занимают
стандартные
системные блоки. Кроме того операторы языка SL/AVL занимают
ненормально много
памяти: например, только вызов блока отхватывает сразу 70 байт!
Сброс командой
R нескольких битов 8 раз подряд съедает 300 байт!! Возможно, мы
что-то не так
делаем и в память вместе с программой записывается какая-то
отладочная
информация? (Хотя в справке указывается, что это не делается).
Может быть, в
конференции участвуют те, кто работает с контроллерами Siemens:
хотелось бы
услышать совет, как нам поступить в данной ситуации.
Re: Использование памяти в контроллерах
Siemens S7-300
Капустин Виталий; 21.2.03
А, к примеру, Simatic S7 карта памяти 4Мбайт Flash-EPROM
(6ES7951-1KM00-0AA0) у Вас имеется? -:)
См. http://www.asc-ural.ru
Re: Использование памяти в контроллерах
Siemens S7-300
иван жуков; 21.2.03
У нас есть карта flash 512кб 6ES7951-0KJ00-0AA0. Только непонятно,
чем она может помочь? Ведь память Flash медленная и вряд ли ее
можно использовать для расширения ОЗУ. Кажется, эта карта
используется только для резервного хранения программы.
Re: Использование памяти в контроллерах
Siemens S7-300
иван жуков; 25.2.03
Нам нужно получить ответ всего лишь
на один вопрос: можно ли прозрачно использовать в одном цикле
обработки все
блоки и данные, которые записаны в ОЗУ и в памяти FLASH-карты
без
дополнительных
программных ухищрений вроде считывания с карты и записи на нее?
Re: Использование памяти в контроллерах
Siemens S7-300
Виктор; 25.2.03
Если Вам не хватает рабочей памяти, то это ёк!!!
Никакими способами рабочую память не расширишь.
Есть возможность не подгружать блоки данных в рабочую память, а по
необходимости перекачивать их в процессе работы из загрузочной
памяти в рабочую, работать с ними, а потом уничножать и грузить
другие...
Re: Использование памяти в контроллерах
Siemens S7-300
Витек; 26.2.03
А как вы оценивали объем занимаемой блоками памяти?
Я делаю так: в дереве проекта выбрать ветвь "блоки" и по правой
клавише зайти в Object properties. Там и найдете сколько Ваши блоки
занимают места в РАБОЧЕЙ памяти...
Re: Использование памяти в контроллерах
Siemens S7-300
Витек; 26.2.03
В загрузочной то они занимают гораздо больше. Там все написано.
Re: Использование памяти в контроллерах
Siemens S7-300
Чистяков Дмитрий ОАО "СеверСталь"; 27.2.03
Память можно расширить, используя модуль памяти типа RAM.
Ну, а вообще необходимо было изначально сделать правильный выбор
типа CPU.
6ES7952-0KH00-0AA0
SIMATIC S7, КАРТА ПАМЯТИ ДЛЯ S7-400, ДЛИННОЕ ИСПОЛНЕНИЕ, 5В
FLASH-EPROM, 256 КБАЙТ
Re: Использование памяти в контроллерах
Siemens S7-300
Чистяков Дмитрий ОАО "СеверСталь"; 27.2.03
ОЙ!!!!
Извините не ту строчку скопировал
6ES7952-1AH00-0AA0
SIMATIC S7, КАРТА ПАМЯТИ ДЛЯ S7-400, ДЛИННОЕ ИСПОЛНЕНИЕ, RAM, 256
КБАЙТ
Re: Использование памяти в контроллерах
Siemens S7-300
иван жуков; 27.2.03
ЧД> Память можно расширить, используя модуль памяти типа
RAM.
В каталоге нет упоминания модулей для расширения памяти процессора
S7-300 CPU315. Насколько я понял,кроме карты FLASH-памяти туда
ничего нельзя установить. И все-таки, вопрос остается: для чего
используется эта самая карта FLASH-памяти? Просто для хранения
блоков или же ее можно задействовать в процессе работы?
Re: Использование памяти в контроллерах
Siemens S7-300
DEE; 28.2.03
Насколько мне известно, в контроллерах Simatic S7 существует два
типа памяти: 1. Load Memory Загрузочная память - это составная
часть центрального модуля. Она содержит объекты,созданные
устройством программирования. Она реализуется или как вставная
плата
памяти FLASH EPROM, или как жестко встроенная память RAM. 2. Work
Memery Рабочая память - это RAM–память в CPU, к которой процессор
обращается во время
обработки прикладной программы.
Читайте мануалы, а также можно почерпнуть информацию на сайте
www.simatic.nm.ru. Распеределение памяти в контроллере можно
глянуть в режиме online - module information cpu - memory (Здесь же
можно сделать и компрессию памяти) - но это, я думаю,Вы знаете.
Re: Использование памяти в контроллерах
Siemens S7-300
Илья;
11.3.03
Мне кажется, вы ошиблись с выбором ЦПУ. Надо было брать больше
рабочей памяти. Типа 315-2ДП. Или что-то из новой серии. Там есть и
со 128к рабочей памяти! Кстати, когда вы описываете требования к
ЦПУ, давайте ПОЛНУЮ спецификацию. Я бы тоже посоветовал 315-1. НО!
У вас есть своя обработка блокировок (что не страшно) и
РЕГУЛИРОВАНИЕ. А это уже ощутимые потери в памяти. Да, а сброс 8
бит занимает 56 байт максимум (включая все необходимое для вызова
блока)!
Что касается наращивания памяти, то может Дмитрий Чистяков
расскажет, как нарастить рабочую память в ЦПУ 300-й серии используя
карты памяти РАМ для расширения ЗАГРУЗОЧНОЙ памяти в ЦПУ 400-й
серии???
Re: Использование памяти в контроллерах
Siemens S7-300
Fresco; 12.3.03
В общем, поскольку рабочая память в S7-300 не расширяется, придется
вам менять процессор.
Варианты:
316-2DP (128KB) + имеющаяся флешка
315-2DP new (новая серия в узком корпусе, 128KB) + MMC флешка
Кстати, по времени цикла у вас прикидки есть или первые результаты
испытаний? Скорости хватает?