Step7. Система контроля версий

Промышленные Логические Контроллеры SIMATIC S7-200/300/400
unihom
Posts: 19
Joined: Wed Dec 17, 2008 9:05 pm
Location: Russia

Step7. Система контроля версий

Post by unihom »

Существует ли какой-нить addon для Step7, чтобы вести учёт изменений в проекте? Типа svn, cvs.
Штук 10 проектов имеется. В каждом любой автоматчик может внести изменения. Меняем через день.
Пока тупо архивируем то, что было. Есть две папки ACTUAL и ARCHIV. Сбросили старый в архив, новый тестируем - он акуальный. Изменения, если не забыли :) вносим в журнал рукописно. Кто поопытнее пишет комментарии в цепях блоков.

Для меня, как для программера, имевшего дело с svn, всё это дикость несусветная. Народу - человек 10. Каждый может что-то изменить. Дежурные ещё могут. И никакой базы данных... никакой истории изменений. Главное и у итальянцев вся история поблочно в комментариях. А охота в целом и просто одним, двумя кликами мыши.

Я уже попробовал snv. В принципе проект туда просто заливается. Вот пока только с блокировкой организационный вопрос решить не могу. Файлы не текстовые, потому блокировку пока осваиваю.

Кто-нить что-нить такое пробовал? Какие впечатления?
bunglehead
Posts: 109
Joined: Thu Oct 19, 2006 7:00 am
Location: Russia

Re: Step7. Система контроля версий

Post by bunglehead »

unihom wrote:Чуществует ли какой-нить addon для Step7, чтобы вести учёт изменений в проекте? Типа svn, cvs.
Штук 10 проектов имеется. В каждом любой автоматчик может внести изменения. Меняем через день.
Пока тупо архивируем то, что было. Есть две папки ACTUAL и ARCHIV. Сбросили старый в архив, новый тестируем - он акуальный. Изменения, если не забыли :) вносим в журнал рукописно. Кто поопытнее пишет комменты в цепях блоков.

Для меня, как для программера, имевшего дело с svn, всё это дикость несусветная. Народу - человек 10. Каждый может что-то изменить. Дежурные ещё могут. И никакой базы данных... никакой истории изменений. Главное и у итальянцев вся история поблочно в комметах. А охота в целом и просто одним, двумя кликами мыши.

Я уже попробовал snv. В принципе проект туда просто заливается. Вот пока только с блокировкой организационный вопрос решить не могу. Файлы не текстовые, потому блокировку пока осваиваю.

Кто-нить что-нить такое пробовал? Какие впечатления?
Вопрос очень хороший. Да, проблема такая есть, тут не поспоришь. Для меня тоже это всё кажется безумным - сохранение архивов по 5 раз за день, договариваться кто правит сегодня и т.д.

Единственное, что я нашел у сименса на эту тему это SIMATIC Version Control. Попробовав, оказалось что это никакая не система контроля версий, а просто оболочка, которая делает теже архивы всего проекта с обпределенным соглашением по именам и ведет чтото вроде индекса, куда пишет имя архива и пользовательский текстовый комментарий.

В принципе в svn/cvs/git/mercurial залить проект s7 не никакой проблемы. Но и пользы тоже никакой. Дифы между бинарными файлами его базы проекта смысла особого не имеют. Сохранение по дельте это тоже вопрос, потому что сохраняются блобы фактически.

В принципе у step7 есть возможность работы по сети с одним проектом, когда учитываются блокировки между пользователями. Но контроля версий это не подразумевает конечно. Поэтому в случае с svn серверы БД просто не увидят своей блокировки в репозитории и check in всё поломает.

В любом случае, если какието положительные результаты будут у вас в этом направлении, было бы очень интересно посмотреть.
unihom
Posts: 19
Joined: Wed Dec 17, 2008 9:05 pm
Location: Russia

Post by unihom »

Польза есть. Во-первых, с современными оболочками для Проводника сохранение и проверка проекта на изменение делается в пару кликов.
Во-вторых, у нас существуют зоны ответственности по контроллерам. Выдав каждому по паролю мы можем вести статистику работы с проектом.
Что и говорить она достаточно подробная. Да, тексты не сравнишь, но в svn предусмотрена работа с бинарными файлами при помощи блокировок (в руководстве этому целая подглава посвящена). Это в принципе почти тоже что и в Step'е, только блокируется доступ на изменение в хранилище. Самое главное - понятно кто, когда и что поменял, плюс комментарии.
У нас вот год прошёл, а фиг кто вспомнит какие когда делал изменения.

Так вот. Тут больше организационный для меня вопрос. Папку ACTUAL я делаю рабочей копией хранилища. Каждому ответственному за PLC выдаю пароль с логином. Все проекты ответственные сразу блокируют, чтобы никто не смог записать изменения в хранилище. В svn есть временная разблокировка, её можно использовать для дежурных. Если кто-то другой хочет поработать с проектом, то по обозревателю хранилища видит кто заблокировал проект и просит разрешения на работу под своим именем и опять блокирует.

Т.о. нужно составить свод правил работы с проектами при использовании svn. Узаконить приказом и под роспись.
Сейчас я у себя на компе пытаюсь просимулировать порядок такой работы. Найти плюсы и минусы.

Зато как удобно там смотреть историю. Архивация автоматическая. Будут вестись версии ревизий - можно от чего-то отталкиваться. В общем, пробую пока. Месяц потестирую.

П.С. SIMATIC Version Cross Manager - эту штуковину интересно было бы приделать в качестве внешнего сравнивателя проектов для svn.

Странно, конечно, что у Сименса нету такой тулзы. Может не там смотрю?
sowieso1977
Posts: 10
Joined: Sat Feb 21, 2009 1:54 pm
Location: Europe

Есть такая партия!

Post by sowieso1977 »

Вот тут есть интересный продукт, который решает такие "проблемы" с успехом. -> http://www.versiondog.com/the-idea.html :-)
unihom
Posts: 19
Joined: Wed Dec 17, 2008 9:05 pm
Location: Russia

Re: Есть такая партия!

Post by unihom »

sowieso1977 wrote:Вот тут есть интересный продукт, который решает такие "проблемы" с успехом. -> http://www.versiondog.com/the-idea.html :-)
И какие впечатления от использования?

П.С.
September 25th 2008
versiondog will be presented the first time at a fair

versiondog will be presented at the SPS/IPC/Drives in Nuremberg, November 25th-27th 2008.
Please visit us at our booth 10-420 in hall 10.
И как это интересно годовой давности тулза может что-то из себя представлять? Ни скринов, ни описания, ни демки, ни цены... вообще ничего. Зачем рекомендовать?
svn вырос из cvs, который в свою очередь вырос из скриптов шеллов юникса... это лет 20, наверное, истории. Уж кому и делать такую систему, так это самому сименсу.
bunglehead
Posts: 109
Joined: Thu Oct 19, 2006 7:00 am
Location: Russia

Re: Есть такая партия!

Post by bunglehead »

sowieso1977 wrote:Вот тут есть интересный продукт, который решает такие "проблемы" с успехом. -> http://www.versiondog.com/the-idea.html :-)
Интересно. А демо или документации у вас нет случайно?
unihom
Posts: 19
Joined: Wed Dec 17, 2008 9:05 pm
Location: Russia

Post by unihom »

Я запрос им отослал. Может пришлют чего-нить, посмотрим. Список фич-то многообещающий. А за svn платить не надо :)
bunglehead
Posts: 109
Joined: Thu Oct 19, 2006 7:00 am
Location: Russia

Post by bunglehead »

unihom wrote:Я запрос им отослал. Может пришлют чего-нить, посмотрим. Список фич-то многообещающий. А за svn платить не надо :)
Выложите тогда на всеобщее обозрение?

У svn задачи другие. Здесь нужно опираться на структуру базы, чтобы вменяемую историю получить. Традиционные системы позволят только текстовые комментарии прилепить и откатываться конечно тоже, но дифы этих бинарников нечитабельны, поэтому изменения глазами не увидишь, а это огромный минус.
unihom
Posts: 19
Joined: Wed Dec 17, 2008 9:05 pm
Location: Russia

Post by unihom »

Выложите тогда на всеобщее обозрение?
Dear Mr. xxxxxxxx,
Thank you for your interest in versiondog. Please find attached first informations about versiondog.
Please let me know if you are interested in a live presentation of versiodog via internet.
Please do not hesitate to contact me directly for further questions.

Best regards,
Thomas Hörauf
Sales Manager

AUVESY GmbH & Co KG
Lazarettstrasse 1
D-76829 Landau / Germany
Tel. +49 6341 944 640

Mobil +49 177 8619175
Fax. +49 6341 944 611
email thomas.hoerauf@auvesy.de
web www.auvesy.de
http://slil.ru/27527808

Thomas Hörauf is now Sales Manager at AUVESY
http://www.versiondog.com/the-company/n ... uvesy.html
bunglehead
Posts: 109
Joined: Thu Oct 19, 2006 7:00 am
Location: Russia

Post by bunglehead »

Скрытные - два скриншота с риббонами, я думал руководство пользователя или что-то в этом роде.
Подождем, может где-нибудь всплывет демо.
unihom
Posts: 19
Joined: Wed Dec 17, 2008 9:05 pm
Location: Russia

Post by unihom »

Я попрошу онлайн-демонстрацию и запишу её на видео-захват. Пока не понял ещё, что это за онлайн такой. Посмотрим :)
unihom
Posts: 19
Joined: Wed Dec 17, 2008 9:05 pm
Location: Russia

Post by unihom »

До чего техника дошла. Томас предложил мне онлайн демонстрацию посредством S k y p e. Народ, если у кого есть подковыристые вопросы или пожелания, то можно их тут написать. Я сниму демонстрацию на uvScreenCamera, если получится, ну и задам каверзные вопросы, если мой английский это мне позволит. Точнее список вопросов можно подготовить заранее и передать Томасу.

Так что давайте, кому интересно по пунктам. Я переведу и отошлю ему и попрошу продемонстрировать.
bunglehead
Posts: 109
Joined: Thu Oct 19, 2006 7:00 am
Location: Russia

Post by bunglehead »

unihom wrote:До чего техника дошла. Томас предложил мне онлайн демонстрацию посредством S k y p e. Народ, если у кого есть подковыристые вопросы или пожелания, то можно их тут написать. Я сниму демонстрацию на uvScreenCamera, если получится, ну и задам каверзные вопросы, если мой английский это мне позволит. Точнее список вопросов можно подготовить заранее и передать Томасу.

Так что давайте, кому интересно по пунктам. Я переведу и отошлю ему и попрошу продемонстрировать.
Вопросы только по S7.

1. Организация. Только централизованный вариант, или можно работать распределенно - как git. У каждого разработчика копия?
2. Конфигурация попадает в историю или нет? Если попадает, то как выглядит просмотр истории по конфигурации.
3. Есть ли поддержка отображения аналогичного diff файлу в каком-либо виде?
4. Поддерживаются ли бранчи и слияния.

Ну и, конечно, требования к системе для развертывания этого добра, цена и способ лицензирования.
unihom
Posts: 19
Joined: Wed Dec 17, 2008 9:05 pm
Location: Russia

Post by unihom »

Я сомневаюсь, что они придумали что-то новое :) скорее просто написали вьюверы для Step7-файлов. Идеология должна была остаться та же, что и у других подобных систем. Может даже и хуже, просто показывают где были изменения - OB, FB, FC и пр. Мне также интересно архивирование и управление Step7 извне. Вроде бы что-то такое степок поддерживает. Если у него есть собственный универсальный интерфейс автоматизации (COM или что-то в этом роде), то их решение должно быть непосредственно связанным с проектом.
Мне ещё интересна такая вещь. Проект находится в трёх местах: в репозитории, в рабочей копии (офлайн) и в ПЛК (онлайн). В отличие от традиционных систем, где мест всего 2: репозиторий и сам проект. Как в этом случае всё увязывается? Ведь любой может поменять проект в ПЛК, а в репозитории можно сделать блокировку.

Надо пару дней поразмышлять, прежде чем лезть в демонстрацию.
yevgeny
Posts: 6
Joined: Wed Dec 15, 2010 12:13 pm

Re: Step7. Система контроля версий

Post by yevgeny »

Скажите пожалуйста, кто-либо продвинулся в решении этого вопроса?
Вернулся в автоматизацию после двух лет разработки на языках высокого уровня. Теперь очень непривычно работать без SVN.
Тоже попробовал связку SIMATIC Version Trail и SIMATIC Version Cross Manager. Это конечно не совсем то, что нужно.
sowieso1977
Posts: 10
Joined: Sat Feb 21, 2009 1:54 pm
Location: Europe

Re: Step7. Система контроля версий

Post by sowieso1977 »

>>> Привет народ.
>>> Посмотрел, что в этой теме что то мало продвижения произошло и решил выложить немного информации о продукте versiondog.
-------------------------
Вопросы только по S7.
-------------------------
>>> Ответы последуют тоже исключительно о Siemens S7. Попробую вкратце и как можно поточнее ответить на вопросы, которые так и не были заданы Томасу.

1. Организация. Только централизованный вариант, или можно работать распределенно - как git. У каждого разработчика копия?
>>> Имеемся сервер, на котором лежат все версии проэкта.
>>> С помощью клиентского ПО каждый разработчик может посредством check out скопировать версию либо версии с сервера.
>>> При этом версия может быть так же отмаркирована другим пользователем, как "только для чтения" либо "только я могу поместить новую версию на сервер".
>>> Имеется информация кто скопировал версию с какого ПК когда. Если версия создана, то пользователь может (или обязан) написать причину изменения кода програмы.

" ... Мне ещё интересна такая вещь. Проект находится в трёх местах: в репозитории, в рабочей копии (офлайн) и в ПЛК (онлайн). В отличие от традиционных систем, где мест всего 2: репозиторий и сам проект. Как в этом случае всё увязывается? Ведь любой может поменять проект в ПЛК, а в репозитории можно сделать блокировку. ..."
>>> Самое интерессное то, что можно также сохранять ПО с plc автоматически. Задаешь к примеру ритм копирования plc и наслаждаешся как система каждый час создает
>>> копию ПО программы из plc. То есть на сервере сохраняется версия программы (репозиторий так сказать) и backup контроллера (online).
>>> Новизна в том, что можно видеть изменения:
>>> (версия программы) <-> (программа в plc) а также (программа в plc) <-> (программа в plc при предыдушем сохранении).
>>> Таким образом уже не так уж и просто что то изменить в plc чтобы никто ничего не узнал. Статистику можно получать по мылу.

2. Конфигурация попадает в историю или нет? Если попадает, то как выглядит просмотр истории по конфигурации.
>>> Конфигурация попадает в историю. К сожалению пока только как "Hardware different", поэтому можно показать лишь изменена конфигурация или нет.
>>> Что конкретно изменено пока не видно, однако разработки в этом направлении интэнсивно ведутся.

3. Есть ли поддержка отображения аналогичного diff файлу в каком-либо виде?
>>> Да, отображение по измененным обьектам, справа отображена предыдущая версия, слева измененная.

4. Поддерживаются ли бранчи и слияния.
>>> Пока нет.

Ну и, конечно, требования к системе для развертывания этого добра, цена и способ лицензирования.
>>> Для развертывания нужен сервер с Windows и необходимым местом на локальном диске и пользовательский ПК с Siemens Simatic Manager.
>>> Цена начинается где то от четырех тысяч евронов, и зависит от количества "интеллигентных сравнителей", количества пользователей, количества plc,
>>> которые можно сохранять в автоматическом режиме.

Буду рад вопросам.
Marrenoloth
Posts: 62
Joined: Tue Dec 22, 2009 12:45 am
Location: Москва

Re: Step7. Система контроля версий

Post by Marrenoloth »

А если сорсы генерить, и потом в систему контроля версий их? Я понимаю, что их еще со степом в актуальном состоянии поддерживать руками надо, но зато видно кто и что добавил. Плюс проблем с конфигом железа это не решает.

Блин! Все какие-то полумеры! :?
sowieso1977
Posts: 10
Joined: Sat Feb 21, 2009 1:54 pm
Location: Europe

Re: Step7. Система контроля версий

Post by sowieso1977 »

Marrenoloth wrote:А если сорсы генерить, и потом в систему контроля версий их? Я понимаю, что их еще со степом в актуальном состоянии поддерживать руками надо, но зато видно кто и что добавил. Плюс проблем с конфигом железа это не решает.

Блин! Все какие-то полумеры! :?
versiondog также показывает и изменения в сорсах :) Пользование программулиной интуитивное. Неужели вся проблема только в опознавании изменения конфигурации железа?
Такое опознание есть. К сожалению оно не такое подробное, как хотелось бы, но всё же есть.
sowieso1977
Posts: 10
Joined: Sat Feb 21, 2009 1:54 pm
Location: Europe

Re: Step7. Система контроля версий

Post by sowieso1977 »

Походу продукт уже является Add onом к PCS7 :-)
https://eb.automation.siemens.com/goos/ ... ab=product&
Marrenoloth
Posts: 62
Joined: Tue Dec 22, 2009 12:45 am
Location: Москва

Re: Step7. Система контроля версий

Post by Marrenoloth »

Это все замечательно, но не ПЦС'ом единым - есть и другие разработки такого уровня, базирующиеся на чистом Step7. Пока круг применения узок... :(
sowieso1977
Posts: 10
Joined: Sat Feb 21, 2009 1:54 pm
Location: Europe

Re: Step7. Система контроля версий

Post by sowieso1977 »

Наверное я как то не так выразился или сформулировал мутновато, однако SIEMENS Simatic Mnager, являющийся частью PCS7 поддерживается полностью.

Полная поддержка, это значит:
- интеграция старта выбранного проэкта в Simatic Manager,
- показ всех изменений сделанных в проэкте в AWL (STL),
- возможность автоматического сохранения S7 PLCs по графику,
- получение информации по email о результатах резервного копирования
и т.д. и т.п.

Я еще не встречал других систем, которые могут делать что то подобное для SIEMENS.
Если посмотреть в списочек поддерживаемых контроллеров, то там найдутся и ABB и Phoenix и Schneider и CoDeSys и и и ...

Контраргументы будут? :-)