По просьбе наших посетителей, данный материал перенесен с сайта plc4good.org.ua, в связи с полной его потерей. Всё возражения принимаются через форму обратной связи.
plc4good.org.ua/view_post.php?id=62
Часто после наладки программы на объекте значения в блоках данных изменяются относительно первоначальных данных в проекте (например, с верхнего уровня или программатора). Возникает желание перенести текущие значения в проект для поддержания его актуальности, чтобы сразу после загрузки проекта в контроллер программа была работоспособной.
К сожалению, у программного обеспечения Siemens (Step7) такой возможности нет. Все, что есть это команда в редакторе Edit->,Initialize Data Block, которая инициализирует актуальные значения, перенося их из Initial value в Actual value.
Конечно, можно открыть два блока данных (из проекта и онлайн) и копируя по одному параметру заполнить Initial value в проекте из Actual value онлайн. Если блок данных небольшой – проблем не возникает.
В случае больших блоков данных на это уйдет много времени и будет существовать большая вероятность ошибки при копировании-вставке.
Используя Excel можно сократить это время.
-
- 1. Копируем блок данных из контроллера в пустой проект (чтобы не затереть исходный и не потерять название параметров и комментарии)
-
- 2. Генерируем исходные файлы обоих блоков данных командой File->,Generate Source.
-
- 3. Вставляем получившиеся тексты в excel, как текст с символами разделителями – знак табуляции и пробел.
- 4. Копируем столбец значений actual value из онлайн блока данных в блок данных проекта.
- 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->,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=>,Edit->,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 в контроллер, то актуальные значения станут как надо
Оцените статью!