Использование памяти в контроллерах 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 флешка

Кстати, по времени цикла у вас прикидки есть или первые результаты испытаний? Скорости хватает?