Переносим актуальные значения блоков данных из контроллера в проект Step7

По просьбе наших посетителей, данный материал перенесен с сайта plc4good.org.ua, в связи с полной его потерей. Всё возражения принимаются через форму обратной связи.

plc4good.org.ua/view_post.php?id=62

Часто после наладки программы на объекте значения в блоках данных изменяются относительно первоначальных данных в проекте (например, с верхнего уровня или программатора). Возникает желание перенести текущие значения в проект для поддержания его актуальности, чтобы сразу после загрузки проекта в контроллер программа была работоспособной.

К сожалению, у программного обеспечения Siemens (Step7) такой возможности нет. Все, что есть это команда в редакторе Edit-&gt,Initialize Data Block, которая инициализирует актуальные значения, перенося их из Initial value в Actual value.

Конечно, можно открыть два блока данных (из проекта и онлайн) и копируя по одному параметру заполнить Initial value в проекте из Actual value онлайн. Если блок данных небольшой – проблем не возникает.

В случае больших блоков данных на это уйдет много времени и будет существовать большая вероятность ошибки при копировании-вставке.

Используя Excel можно сократить это время.

    • 1. Копируем блок данных из контроллера в пустой проект (чтобы не затереть исходный и не потерять название параметров и комментарии)

db

    • 2. Генерируем исходные файлы обоих блоков данных командой File-&gt,Generate Source.

db

    • 3. Вставляем получившиеся тексты в excel, как текст с символами разделителями – знак табуляции и пробел.
    • 4. Копируем столбец значений actual value из онлайн блока данных в блок данных проекта.

db

  • 5. Копируем получившийся результат в исходник блока данных рабочего проекта и компилируем.

Спасибо за идею: L D[AR2,P#0.0]

Комментарии к материалу

Добавлен: nikolayter Дата: 2009-12-04

А я всегда просто копировал все ДБ после настройки из контролера в проект Шага7
В чем я не прав?

Добавлен: komatic Дата: 2009-12-04

to nikolayter:
теряются названия переменных в ДБ (STAT0,STAT1) и т.д.,
а также комментарии к ним

Добавлен: dim Дата: 2009-12-11

Разве теряются? Если DB полностью совпадают Online-Offline то ничего и не теряется. И замечательно копируется все из Online

Добавлен: komatic Дата: 2009-12-11

to dim: я имел в виду, что если копировать блок в Simatic Manager командой Copy-Paste – теряются. Если копировать командой в редакторе OpenOnline-&gt,Save – не теряются. Описанный выше способ позволяет, кроме этого, сохранить ActualValue в InitialValue.

Добавлен: SLon Дата: 2009-12-16

…как вариант этим можно пользоваться для перевода коментариев на другой язык, особенно если однотипных DB много…

Добавлен: Ярик Дата: 2011-09-09

Умно то как!
Проще так: открывешь нужный блок в онлайне (через Manager!) и нажимаешь сохранить. На вопрос Заменить? жмем ОК. Все! Оффлайн дб-блок идентичен он-лайн блоку…

Добавлен: EvgeN Дата: 2013-06-28

2 komatic & Ярик:
Эти шаги не позволяют сделать move Actual2Initial если ты используешь UDT структы…
советую внимательно читать форум семенов.

Добавлен: denzhig Дата: 2015-03-15

Согласен про UDT структуры.
Но всё равно процесс утомительный если у тебя в DB-шнике этих структур (по 3-5 парамтеров) аж под 1000 параметров.

Добавлен: denzhig Дата: 2015-03-15

К тому же такой манёвр не прокатывает с ARRAY структурами 🙁 .

Добавлен: Роман Дата: 2017-02-09

Пробовал последовать совету komatic & Ярик – ничего не получилось. При копировании датаблоков из проекта Step7 online в offline актуальные значения переменных не сохраняются как значения инициализации. У кого-нибудь получилось повторить опыт komatic & Ярик??
И еще вопрос о переинициализации значений датаблоков: как можно запустить эту процедуру для всех блоков сразу? (открывать каждый и Data view=&gt,Edit-&gt,Initialize Data Block это не вариант у меня 6 CPU и в каждом по 500 блоков…) Подскажите если у кого есть положительный опыт..

Добавлен: rokise Дата: 2021-02-23

to Роман
‘При копировании датаблоков из проекта Step7 online в offline актуальные значения переменных не сохраняются как значения инициализации. У кого-нибудь получилось повторить опыт komatic & Ярик??’
Для того, чтоб они скопировались в Initial, нужно вручную это сделать. Копирование с помощью Excell у меня получается, но дальнейшее компилирование блока в step7 не проходит, появляются ошибки. Данный метод решил не использовать

Добавлен: Olex Дата: 2022-01-13

Если скопировать именно в начальные значения, то это гемор (особенно ARRAY etc.) Если просто сделать резерв текущих значений, то все просто:
1. открыть offline DB в редакторе, желательно в Data View
2. кнопка ‘Open OfflineONLINE Partner’ слева от дискетки ‘Save’ подтянет текущие значения из ПЛК
3. А теперь собственно ‘Save’.
Собственно все – если загрузить сохраненный DB в контроллер, то актуальные значения станут как надо

0 0 голоса

Оцените статью!

guest
0 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии