Сохранять данные на флеш контроллера s1200

Инженерное программное обеспечение
Ответить
Alex_Z10
Профан
Сообщения: 4
Зарегистрирован: 17 апр 2021, 09:38

Сохранять данные на флеш контроллера s1200

Сообщение Alex_Z10 »

Первый опыт работы с TIA Portal V15. Контроллер S1200. Стоит задача сохранять массив данных (структура) в флеш памяти контроллера( на случай потери связи со скадой). Если я размещаю этот массив в retain памяти то тут все понятно и работает. К сожалению заказчик хочет больший объём данных( при использовании retain памяти массив ограничен 750, надо 2000) . Собственно вопрос , можно ли подобное реализовать , использую встроенную флеш память контроллера? Архив пишется каждый цикл работы оборудования( около 20 мин) потеря последней записи при аварийном отключении питания не принципиальна.

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Сохранять данные на флеш контроллера s1200

Сообщение Михайло »

Можно вставить SD-карту до 32 Гб (или больше?) в слот CPU. Для записи и чтения с карты используются специальные инструкции импорта/экспорта. Можно записывать файлы до 500 Мб не чаще чем раз в 200 мс:
- рецепты (receipes) - это табличные данные формата .csv
- архивы данных (datalogs) - это данные формата .csv с отметками времени (timestamp)

При аварийном отключении питания данные записываемого файла теряются. При открытии карты памяти на компьютере файлы редактировать (изменять, удалять) нельзя, только копировать. Для редактирования файлов нужно использовать веб-интерфейс контроллера, либо инструкции ПЛК в программе (тогда наверняка потребуется сделать удобный интерфейс для работы с файлами архивов на панели оператора). Короче, работа займет от недели до месяца доводки до ума. Следуйте подсказкам мануала, там есть нетривиальные вещи и ранее неиспользованные штуки типа виртуальных DB...

Читать раздел 9.9 в системном мануале S7-1200, есть свежий перевод на русский язык.

Alex_Z10
Профан
Сообщения: 4
Зарегистрирован: 17 апр 2021, 09:38

Re: Сохранять данные на флеш контроллера s1200

Сообщение Alex_Z10 »

Спасибо за ответ. Задача немного другая. Возможно я не совсем ясно описал. Повторюсь ... Есть массив MyArray : Array[1..750] OF STRUCT Он размещен в retain памяти . цифра 750 - ограничение по объему памяти. Хотелось бы её увеличить (ну хотя бы 2000). Я смотрю в сторону инструкций READ_DBL и WRIT_DBL ( Чтение запись блока данных в загрузочной области памяти )То есть читать при старте из загрузочной памяти в оперативную и записывать в загрузочную при изменение массива Объем массива будет порядка 2кб . Я правильно понимаю, что блок данных может состоять из одной переменной (массив MyArray).Непонятно как создать блок данных в загрузочной памяти, и как к нему обращаться.и еще сколько перезаписей может выдержать загрузочная память? ( по моим подсчетам 15-20 раз за сутки будут добавляться данные). Правилен ли мой ход мыслей, или глупость говорю? Первый опыт с TIA PORTAL :dontknow:

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Сохранять данные на флеш контроллера s1200

Сообщение Михайло »

Вам вместо 10 кБ ретентивной памяти, грубо говоря, нужно 30 кБ. Найдите старую флешку от фотоаппарата на сколько-нибудь мегабайт и, думаю, она проработает десяток лет. Цикл 100000 перезаписей, не меньше. Без флешки будет использоваться (=изнашиваться) встроенная флеш-память, не комильфо.
Я почему-то подумал, что вы хотели выгружать данные через кард-ридер. Тогда да, наверное достаточно read_dbl/writ_dbl. Позже сделаю скриншот использования этих функций. Нужно создать UDT (user data type), который будет описывать структуру массива. И использовать этот UDT для построения двух датаблоков: один датаблок обычный оптимизированный будет хранить данные в оперативной памяти, другой - виртуальная копия "без выделения памяти".
Если какой-то сбой произойдет, в веб-интерфейсе ПЛК в файловом менеджере удалите, восстановите файл (если предварительно забэкапили).

Можно сделать многократное сохранение, в конце-концов, при сбое выгружать предыдущий успешный бэкап...

Alex_Z10
Профан
Сообщения: 4
Зарегистрирован: 17 апр 2021, 09:38

Re: Сохранять данные на флеш контроллера s1200

Сообщение Alex_Z10 »

UDP создан, всё работает при условии что массив retain. Не совсем понял про виртуальную копию.. Разве блок данных в загрузочной памяти создается не следующим образом : DB в виде глобального блока данных с активированной опцией DB "Only store in load memory" ( Сохранять только в загрузочной области памяти ).

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Сохранять данные на флеш контроллера s1200

Сообщение Михайло »

Забудьте про retain, отключите эти галочки, освободите эту память. В остальном правильно.

Alex_Z10
Профан
Сообщения: 4
Зарегистрирован: 17 апр 2021, 09:38

Re: Сохранять данные на флеш контроллера s1200

Сообщение Alex_Z10 »

Михайло писал(а):
17 апр 2021, 19:26
Найдите старую флешку от фотоаппарата на сколько-нибудь мегабайт
Действительно в качестве карты памяти можно использовать любую SD карту? Я почему то считал , что в контроллер Siemens можно вставить только некую "волшебную"( если посмотреть на ее цену) карту памяти Siemens
Массив данных, о котором я говорил выше, я так понимаю, будет висеть в оперативной памяти. Не вызовет ли увеличение его размера проблем в работе контроллера? /До какого размера массив можно увеличить (в кб) и при этом избежать проблем?

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: Сохранять данные на флеш контроллера s1200

Сообщение Михайло »

Вроде до 64 кБ, но ведь можно сохранять файлы до 500 Мб)
Флешку я бы сименсовскую купил, для заказчика. А сам попробовал бы обычную SD.

Ответить