Перенос проекта wincc на другой компьютер
В рамках базового курса в системе WinCC OA используются только внутренние переменные системы. Никаких внешних подключений не предполагается. Однако, слушатели базового курса всегда под завершение учебы просят продемонстрировать, как же считать переменную с «настоящего живого ПЛК». Поскольку WinCC OA относится к продуктам компании Siemens, то логичным будет продемонстрировать подключение к контроллеру компании Siemens и чтению с него нескольких переменных. В нашем случае будем подключаться к PLC серии S7-1200.
Набор драйверов WinCC OA включает в себя два вида драйверов для контроллеров Simatic — это s7 и s7plus. Разница в них следующая: s7 предназначен для связи с ПЛК классической серии S7-300 / S7-400, а s7plus — для современной линейки S7-1200 / S7-1500. Драйвер s7plus указывается при установке отдельно. Он может отсутствовать в вашей системе, если вы его не устанавливали. Вне зависимости от того, какой используется драйвер (хоть iec104), общие принципы сохраняются. Необходимо в консоли добавить соответствующий драйвер. Далее сконфигурировать соединение с устройством и задать этому соединению номер добавленного драйвера, активировать. Так же требуется на DPE навесить конфиг Periphery Address и выполнить настройки, указав корректный адрес переменной.
Для начала необходимо прописать в консоли драйвер. Технически добавление драйвера в систему не отличается от добавления менеджера. Откроем консоль, нажмем в ней Append a new manager
Выберем в списке драйвер S7plus и зададим в опциях «-num 2». Это связано с тем, что в системе уже есть драйвер с номером 1, это Simulation Driver, а номер драйвера в системе должен быть уникален. К слову, по словам разработчиков WinCC OA, симуляционный драйвер в реальных проектах не используется.
Теперь новый драйвер добавлен в систему и запущен
Теперь добавленный драйвер с номером 2 в системе необходимо сконфигурировать. Для этого (например через меню редактора gedi) необходимо открыть модуль System Management.
Далее открываем Driver S7
Выбираем S7+ Driver
В настоящий момент в системе нет сконфигурированных соединений. Для создания связи с существующим контроллером нажимаем кнопку Create.
Тут необходимо указать имя для соединения и способ работы с данными — либо оффлайновый проект, находящийся во вложенной папке проекта WinCC OA, либо онлайн связь с уже готовым и настроенным ПЛК. В нашем случае S7-1214 с залитой конфигурацией и программой лежит на столе рядом с ПК и доступен по протоколу TCP/IP, так что, работаем онлайн. Указываем номер только что добавленного и запушенного драйвера, это номер 2. Имя соединения далее превратиться в системную точку данных, с которой возможно работать посредством программного кода.
Далее требуется указать тип контроллера, я задам его явно — S7-1200, а так же ввести ip-адрес моего ПЛК. Дополнительно, если вы еще не настраивали, требуется вызвать окно настройки сетевой карты компьютера, нажав кнопку Set PC/PG Interface. По нажатию этой кнопки откроется окно, знакомое всем, кто работал с классическим Step 7 или настраивал запуск операторской системы WinCC 7, TIA Portal WinCC и т.д. Если вы незнакомы с этим окном, то там необходимо указать ту сетевую карту, при помощи которой ваш ПК подключен к вашему ПЛК. У меня данный интерфейс давно настроен, и это окно выглядит следующим образом
Моя сетевая карта присутствует тут в трех экземплярах, с окончаниями ISO, TCPIP и TCPIP.Auto. Как правило, применяется последний вариант, TCPIP.Auto. После внесения настроек связи данное окно имеет следующий вид
Ставим галочку напротив Establish Connection и нажимаем кнопку Apply. После чего WinCC OA несколько секунд тратит на установление связи. Eсли все было сделано правильно, окно приобретает следующий вид
Нажимаем кнопку ОК, а после — закрываем окно модуля System Management. Далее необходимо связаться с тэгами контроллера, которые в нем уже прописаны. Ограничимся двумя дискретными переменными и одной вещественной. Для работы с точками данных у нас есть модуль para, открываем его. В нем уже есть несколько готовых типов точек данных — ExampleDP_bit и ExampleDP_float, их и будем использовать. Создадим точку данных MyBlinker типа ExampleDP_bit
Добавим к точке данных конфиг «переферийный адрес».
Выбираем тип драйвера SIMATIC S7PLUS
Указываем номер драйвера 2. Указываем «направление данных» — Input, только чтение. Указываем тип преобразования — Bool. Вводим способ сбора данных — Polling (непрерывный опрос).
Далее нажимаем на кнопку Poll groups, надо создать группу циклического (непрерывного) опроса данных. В следующем окне жмем Create, задаем имя группы и ее настройки. Переменные этой группы будут опрашиваться кажые 100 мс. В соответствии со справкой организовать опрос быстрее таким способом невозможно, любые значения цикла опроса меньше 100 мс будут считаться за 100 мс. Делаем группу активной и жмем ОК.
В графе Reference необходимо указать имя переменной в контроллере. Поскольку ПЛК у меня сконфигурирован и на связи, я могу просматривать его тэги в режиме онлайн. Нажимаем кнопку Selection в верхней части окна.
Открывается окно со всеми «живыми» тэгами контроллера, доступными для операторской системы. Я выбираю двоичный тэг Clock_1Hz, который меняет свое значение каждую секунду.
Теперь ставим галочку Address active, жмем Apply и можно перейти на конфиг original и посмотреть, меняется ли значение тэга в нашей SCADA.
Да, значение тэга меняется каждую секунду
Точно так же пропишем в системе бит Emulation, находящийся в блоке данных Modes. Действуем по аналогии с предыдущим битом за исключением «Направления» (Direction), тут ставим режим доступа чтение и запись. Все остальные настройки (кроме, разумаеется, символьного имени тэга ПЛК) аналогичны.
Сейчас значение бита — FALSE, бит читается.
Изменим в ПЛК его значение на TRUE
В модуле para его значение так же изменилось
Теперь попробуем поменять его значение на FALSE и посмотрим состояние бита средствами TIA Portal. Выполнить эту операцию средствами para не удается. Скорее всего, это связано с тем, что поллинг переменной идет 10 раз в секунду, в para он обновляется так же быстро, и я просто физически не успеваю внести в Original value значение FALSE, вместо TRUE. Даже выделить значение дабл-кликом или кнопками Ctrl+A не удается. Пробуем изменить DPE кнопками на панели операторской системы. Для этого в верхнюю часть главного экрана Main я размещаю две кнопки — Turn On и Turn Off и создаю скрипты для них, соответственно
Пробуем теперь «отключить» тэг.
По нажатию кнопки в модуле para значение изменилось на FALSE
Значение изменилось и в блоке данных контроллера.
Оставляем его настройки, как есть — сравнение «старого» значения с «новым». Не забываем нажать Apply.
Переходим на конфиг original этой точки данных и наблюдаем, что метка времени тэга (как online, там original) перестала меняться, как сумасшедшая. Обращаем внимание и на то, что теперь в модуле para возможно изменить значение бита, и оно доходит на контроллера.
Теперь пропишем вещественную переменную, которая находится в ПЛК по адресу Robicon.SCADAmanSP. Для переменной в WinCC OA воспользуемся готовым типом DP ExampleDP_float. Ее создание и настройка переферийного адреса аналогична предыдущим настройкам, за исключением очевидных деталей — имя, адрес, тип данных. «Направление» зададим, как чтение/запись. На этот раз я не выбирал тэги онлайн, а вбил символьное имя переменной непосредственно в поле ввода Reference. Не забываем добавить конфиг smoothing и для этой DP.
Делаем адрес активным и смотрим конфиг original. Видим, что связь установлена, значение с ПЛК приходит.
Изменение значения так же доходит и до контроллера.
Напоследок отобразим значение этой переменной на мнемосхеме FLAPS (не создавать же новую панель ради одной проверки). Разместим на панели элемент Textfield из палитры.
Визардом на событии Initialization создами скрипт отображения значения DPE (Display value)
Значение с ПЛК отображается
Добавим еще один скрипт при помощи визарда для возможности редактирования значения прямо с операторского экрана. Для этого нам потребуется вызвать визард на событие Command.
Имею опыт программирования ПЛК некоторых производителей, но работать с ПЛК Siemens и со SCADA (любой) не приходилось.
Сложилась следующая ситуация.
Проводим восстановительные работы на оборудовании, которое принадлежало обанкротившемуся предприятию. Несколько лет назад все цеха были закрыты, разграбления не происходило, но до сих пор оборудование находилось в неотапливаемых помещениях.
Автоматика на Siemens S7-300 и Siemens S7-200. Управление исключительно от управляющих компьютеров со SCADA WinCC. Другими словами, даже проверить датчики, приводы можно только с компьютеров.
Сами компьютеры (примерно 2010 года выпуска), похоже, неисправны. Пробовал их включать, но на дисплей ничего не выводилось, хотя вентиляторы на материнке включались (даже после передёргивания всех разъёмов).
Мы договорились с заказчиком взять компьютеры в офис и там их посмотрит наш IT-шник. Может что-то "оживит".
Возможно, что винчестеры исправны и смогу что-то с них взять, подключив к другому компьютеру.
Поэтому возник вопрос - если компьютеры неисправны, я хочу взять современный компьютер с WinX (или Win7 - что продаётся) и скопировать какие-нибудь папки с винчестера - что нужно скопировать?
Или нужно забыть о восстановлении и полностью переписывать комплекс программ на все ПЛК и управляющие компьютеры?
Добавлено через 6 минут
Ещё в поиске попадались упоминания о какой-то флешке с ключём. На компьютерах такого не было. Это однозначный приговор - покупать лицензии WinCC и полностью переписывать программы?
Перенос данных из Excel или таблицы Word в DataGridView простым копированием ячеек
Нигде не могу найти, как организовать перенос данных из Excel или таблицы Word в DataGridView.
Awesomium возможен ли перенос на другой пк?
Проблема в том, что на другой пк скинул сам exe и еще куча dll которые лежали рядом с exe. Но.
WinCC 7.3 WebNavigator
Доброго всем. Произвели модернизацию оборудования и ПО (в частности перешли с WinCC 7.0 на WinCC.
WinCC. CP5611
Добрый вечер! Прошу помочь, в configuration consol установил СP simulation (DP, S7 и тд). В Set.
Обновление (замена) мнемосхем
В случае получения новых мнемосхем (экранов) от разработчика, их можно обновить в проекте, не останавливая систему. Для этого необходимо:
- Закрыть мнемосхему в среде исполнения на СВА и АРМ ОП (переключиться с нее).
- Переписать обновленные мнемосхемы в каталог «D:\WinCC_Project\имя сервера\GraCS» на СВА (имя сервера – имя, данное серверу визуализации и архивации).
Перед тем как переписать мнемосхемы рекомендуется уточнить у разработчика, для какого проекта (сервер/клиент) они предназначены.
Настройка автоматического запуска проекта WinCC
Для настройки автоматического запуска проекта необходимо выполнить следующие действия:
- запустить настройку автозапуска (“Start [Пуск]” > “Simatic” > “WinCC” > “Autostart”);
- в поле ввода “Project” ввести путь к проекту, указав файл с расширением «*.MCP», из папки «D:\WinCC_Project\имя сервера \» где имя сервера – имя, данное серверу визуализации и архивации;
- отметить флажок “Activate Project at Startup (Активировать проект при запуске)” и нажать кнопку “Add to AutoStart (Добавить в список автозапуска)”;
- нажать кнопку “ОК”;
- перезагрузить компьютер
Окно настройки автозапуска проекта WinCC представлена на рисунке ниже
Решение
ФедосеевПавел
тут есть несколько проблем
1) проблема проекта - производство уже управлялось неким комплексом - где то на ПК должен быть проект в котором будут прошивки контроллеров и GUI часть взаимодействующая с ними, если система была продвинутой, то проект будет только на инженерной станции, а на АРМ будет только GUI. если простой, то проект целиком может лежать на каждом из АРМ. без проекта вы существующую инфраструктуру не увидите и не сможете ей управлять. сам проект если он есть можно без проблем найти в недрах ПК и скопировать на любой другой ПК.
2) проблема дистрибутива. установленный WinCC определенной версии простым копированием перенести можно если знать куда он раскидал свои запчасти. это может быть не только Program Files, но и Windows/System32 и еще какие-нибудь Program Files/Common Files + какие-нибудь внешние дополнительные компоненты, например, Sybase, в общем дело эксперимента и везения.
3) проблема ключей - сам проект исполняется WinCC не за просто так - что бы задействовать те или иные функции WinCC ей необходимо что бы на дисках были ключи перенесенные туда с внешнего носителя. раньше во всяком случае так было. может потом стало иначе. человек приносил - о ужас - дискету 3,5" и переносил с нее ключи на жесткий диск. может потом вместо дискеты стали делать флешки или ключи всегда оставались на флешке - я этого уже не застал. во время переноса в какие-то сектора жесткого диска что-то волшебное писалось специальной утилитой которая шла в комплекте с WinCC - она позволяла перемещать ключ с носителя на жесткий диск и обратно. то есть если есть жесткий диск и он живой и на нем есть ключи и есть утилита, то можно попробовать перенести ключи с жесткого на носитель. сама дискета спокойно тиражировалась при помощи образа дискеты. ключи с жесткого диска не слышал что бы кто-то руками копировал, но: если вы сделаете образ жесткого диска, и запишите его на новый диск, то ключи будут работать.
писать проект с нуля для сколько-нибудь сложного производства тот еще подвиг, там не просто результаты нажатия разработчика на клавиши - это тривиальная часть - там технологические алгоритмы, защиты выполненные по заданиям заводов производителей и т.п. в условиях апокалипсиса была бы инфраструктура, а написать и запустить не проблема, но если речь не идет о реколонизации после потопа, то обычно этим занимаются специализированные организации с конским ценником.
Спасибо, за советы по переносу и надежду в поиске исходников.
Говорил уже со своим начальством по этому поводу. В течение ближайших рабочих дней нужно давать вердикт по поводу уверенности в самостоятельном решении или возможном найме специалиста по системам автоматизации Siemens. Склоняюсь к этому варианту. Напоследок только попробую перевезти компьютеры в офис и вместе с IT-шником попытаться их включить, сделать образы дисков.
В тех автоматизируемых процессах ничего сложного нет: часть оборудования совсем простая - схема защиты на 3-5 параметров и до 2 ПИД регулятора (настраивал на релейных схемах и отдельных ПИД-регуляторах), а другая часть - несложный командоаппарат до 20 шагов (сам набирал программки на других ПЛК) плюс схема защиты на 10 параметров и 4-5 ПИД.
Весь этот комплекс сделал бы за 3-4 недели на знакомых ПЛК без SCADA с выводом на дисплеи операторских панелей. Понимание всех техпроцессов есть, опыт программирования и наладки этого оборудования тоже имеется.
К тому же - я и есть представитель наладочной организации с конским ценником.
Раньше просто было написание программ на всякие ПЛК, руководство привыкло, что я переходил в режим 4 часового сна в сутки и за 2 месяца изучал и новый ПЛК и новый язык и завершал программу, попутно участвуя и в ежедневных поездках на другие работы. Начинал слышать голоса - заглушал их громкой музыкой в наушниках. Методом последовательного усложнения и тестирования, проб и ошибок создавался мегакод.
Сейчас другое - восстановление SCADA, где нет возможности экспериментировать, постепенным усложнением подзадач решить глобальную. Через 1 месяц с небольшим - пуск всего завода. Отсюда и некоторое смятение.
Настройка списка пользователей и их прав
Когда система запущена, все системные комбинации клавиш заблокированы, поэтому доступ к настройке Windows и WinCC невозможен.
Для того чтобы получить доступ к настройке системы, необходимо выйти из исполняемой среды (Runtime) проекта WinCC. Для выхода из системы надо нажать комбинацию клавиш “Ctrl+F4”. Доступ к этой комбинации имеет только пользователь «Администратор». Чтобы зарегистрироваться в системе, необходимо нажать комбинацию клавиш “Ctrl+F11” и в появившемся окне ввести имя пользователя и пароль
Для изменения списка пользователей используется редактор “User Administrator (Администратор пользователей)”. Для его открытия надо выйти из системы, запустить WinCC Explorer (“Start (Пуск)” > “Simatic” > “WinCC” > “Windows Control Center”), открыть проект, а после его открытия щелкнуть правой клавишей мыши по пункту “User Administrator [Администратор пользователей]” в левой части экрана и из открывшегося меню выбрать команду “Open (Открыть)”.
В проекте WinCC сконфигурированы следующие пользователи:
Пользователь «Администратор» используется для выхода из исполняемой среды проекта WinCC. Так же «Администратор» имеет возможность блокировать/разблокировать системные комбинации клавиш. Блокировка системных комбинаций клавиш осуществляется нажатием сочетания клавиш «Ctrl+F5», разблокировка – «Ctrl+F6».
Пользователь «Оператор» сконфигурирован для реализации возможности введения в систему актуальной информации о состоянии ряда коммутационных аппаратов (ручной ввод).
Для того чтобы создать нового пользователя, необходимо выбрать команду меню “User (Пользователь)” > “Add user (Добавить пользователя)”, в открывшемся окне в поле «Login (Имя)» ввести имя нового пользователя, а в поля «Password (Пароль)» и «Verify password (Подтвердить пароль)» ввести пароль для нового пользователя и нажать кнопку “OK”.
Для того чтобы сменить пароль у существующего пользователя, необходимо щелкнуть левой клавишей мыши на имени пользователя, у которого необходимо сменить пароль, а затем выбрать команду меню “User (Пользователь)” > “Change password (Изменить пароль)”. В открывшемся окне надо сначала ввести старый пароль пользователя в поле «Password (Пароль)», а затем новый пароль ввести в поля «New password (Новый пароль)» и «Verify password (Подтвердить пароль)» и нажать кнопку “OK”.
После внесения необходимых изменений в список пользователей нужно просто закрыть редактор “User Administrator (Администратор пользователей)”, все изменения сохранятся.
В редакторе “User Administrator (Администратор пользователей)” в правой части экрана находится список всех прав, которые могут иметь пользователи системы.
Если щелкнуть левой клавишей мыши на имени пользователя в левой части экрана, то в правой части экрана в списке прав флажками будут отмечены те права, которыми обладает данный пользователь. Для изменения списка прав пользователя достаточно установить/сбросить флажки возле соответствующих прав.
Решение
ФедосеевПавел
тут есть несколько проблем
1) проблема проекта - производство уже управлялось неким комплексом - где то на ПК должен быть проект в котором будут прошивки контроллеров и GUI часть взаимодействующая с ними, если система была продвинутой, то проект будет только на инженерной станции, а на АРМ будет только GUI. если простой, то проект целиком может лежать на каждом из АРМ. без проекта вы существующую инфраструктуру не увидите и не сможете ей управлять. сам проект если он есть можно без проблем найти в недрах ПК и скопировать на любой другой ПК.
2) проблема дистрибутива. установленный WinCC определенной версии простым копированием перенести можно если знать куда он раскидал свои запчасти. это может быть не только Program Files, но и Windows/System32 и еще какие-нибудь Program Files/Common Files + какие-нибудь внешние дополнительные компоненты, например, Sybase, в общем дело эксперимента и везения.
3) проблема ключей - сам проект исполняется WinCC не за просто так - что бы задействовать те или иные функции WinCC ей необходимо что бы на дисках были ключи перенесенные туда с внешнего носителя. раньше во всяком случае так было. может потом стало иначе. человек приносил - о ужас - дискету 3,5" и переносил с нее ключи на жесткий диск. может потом вместо дискеты стали делать флешки или ключи всегда оставались на флешке - я этого уже не застал. во время переноса в какие-то сектора жесткого диска что-то волшебное писалось специальной утилитой которая шла в комплекте с WinCC - она позволяла перемещать ключ с носителя на жесткий диск и обратно. то есть если есть жесткий диск и он живой и на нем есть ключи и есть утилита, то можно попробовать перенести ключи с жесткого на носитель. сама дискета спокойно тиражировалась при помощи образа дискеты. ключи с жесткого диска не слышал что бы кто-то руками копировал, но: если вы сделаете образ жесткого диска, и запишите его на новый диск, то ключи будут работать.
писать проект с нуля для сколько-нибудь сложного производства тот еще подвиг, там не просто результаты нажатия разработчика на клавиши - это тривиальная часть - там технологические алгоритмы, защиты выполненные по заданиям заводов производителей и т.п. в условиях апокалипсиса была бы инфраструктура, а написать и запустить не проблема, но если речь не идет о реколонизации после потопа, то обычно этим занимаются специализированные организации с конским ценником.
Решил немного рассказать про систему визуализации от Siemens под названием WinCC OA. Эта SCADA на рынке России распространена гораздо меньше классических версий WinCC (и tia-портальных тоже), знаний по ней в открытом доступе достаточно мало, знаниями делятся неохотно. В ряде моментов WinCC OA радикально отличается от обычных распространенных SCADA, поэтому для начала необходимо усвоить базис.
Перед усвоением этого базиса я рекомендую в общем ознакомиться с архитектурой построения WinCC OA. Лучший способ такого ознакомления — найти в Интернете записи вебинаров и выступлений эксперта по WinCC OA Кондрашкина Андрея. Рекомендую эту запись. Андрей Геннадьевич — очень мощный специалист и прекрасный докладчик. Настоящий цикл заметок, собственно говоря, и основан на его двухдневном вводном обучении.
Можно углубиться в изучении вопроса и дальше, например — ознакомиться с аддонами SmartSCADA или Preactor, но это выходит очень далеко за рамки базового понимания системы. Самое главное, что необходимо вынести из этого ролика — это понимание архитектуры WinCC OA. Например, то, что система состоит из отдельных законченных функциональных единиц, которые называются «менеджерами». Менеджер выполняет строго свою заданную роль. Центральным звеном всей системы является менеджер событий (event manager или EV). Есть менеджер визуализации, User Interface или ui. Есть драйвера, например — s7. Есть менеджер для выполнения скриптов, control. Все менеджеры общаются друг с другом посредством центрального EV по стандартному протоколу TCP/IP, вне зависимости от того, находятся они на одном физическом ПК, или разнесены на несколько.
Вторая важная отличительная черта, которую необходимо понять. OA — это система событийная. В ней почти отсутствует постоянный polling данных. Изменение показаний на экране оператора произойдет только в случае изменения значения соответсвующей переменной в контроллере.
Третье. Все или почти все реализовано скриптами (»Что нельзя запрограммировать на Ассемблере, можно спаять» (с) ) и текстовыми файлами. Необходимо зажечь лампочку на мнемосхеме? Скрипт. Причем скрипт, который подвязывается к изменению переменной и выполняющий определенные действия только по этому изменению автоматически.
Итак, приступаем. В первую очередь необходимо найти установщик и поставить саму систему на свой компьютер. Инсталяцию, я думаю, можете запросить в ближайшем к вам бюро Сименс. Что касается самого процесса установки, то он весьма шустрый, инсталлятор занимает порядка 1 ГБ. Процесс установки в подавляющем числе случаев проблем не вызывает. По крайней мере, на мой программатор, на котором уже трудится то ли 3, то ли 4 версии одного только TIA Portal, система установилась. В самых плачевных случаях, когда операционка забита всем, чем можно и нельзя, процесс установки может идти с ошибками, в частности — ругаться на майкрософт редистрибьютабелс. Тогда необходимо завершить установку и грохнуть все редистрибьюталсы вручную, обычно помогает. Как вариант- применять все в рамках свежей виртуальной машины. В процессе инсталляции рекомендую отметить галочками драйвер S7plus и русскоязычную справку, а так же установить демо-примеры.
Еще несколько tips & tricks в случае уставшей операционки. При создании проекта проект в итоге не создается, этот этап «зависает». Первая возможная причина — неудачный старт системы в прошлом, когда не все менеджеры выгрузились. Необходимо убить все процессы, имя которые начинается с winccoa, вручную. Вторая, более сложная причина — один или несколько портов TCP, которые «слушает» WinCC OA, уже заняты другими процессами. Устранение этого выходит очень далеко за рамки вводной части.
Пару слов про лицензию. Хорошая новость — без лицензии система работает. И позволяет вести разработку. Плохая новость — каждые 30 минут все пользовательские интерфейсы (ui) будут закрываться. В WinCC OA инженерная среда (эти менеджеры называются «para» для редактирования базы данных и «gedi» для редактирования визуализации) тоже является пользовательским интерфейсом, поэтому и она тоже будет закрываться без возможности нажать кнопку «сохранить». Помните это — только 30 минут работы. Таймер в 30 минут накопительный. Вы можете поработать 10 минут, закрыть все ui и открыть заново, но таймер не начнет считать время с 30 минут, а лишь с 20. В общем, работа без лицензии требует изрядной внимательности, увлечься разработкой можно, но чревато потерями результатов труда.
И, напоследок. Все примеры и все скриншоты у меня приведены для англоязычной среды разработки. С моей точки зрения необходимо работыть в инженерных средах без перевода, языковой минимум инженера — уметь читать документацию на английском языке. Однако, если кто-нибудь из читателей предпочитает русский язык, то у меня есть для них хорошая новость — все переведено «из коробки». По умолчанию WinCC OA запускает интерфейс на языке операционной системы, у меня он английский. Для того, чтобы задать конкретный язык, необходимо закрыть все работающие модули и программы WinCC OA и открыть в редакторе файл C:\Siemens\Automation\WinCC_OA\3.16\config\config
Путь файла может отличаться, если вы выбрали другий путь установки или у вас используется другая версия WinCC OA.
Смотрим сам файл:
Если изменить lang = «auto» на lang = «ru_RU.utf8», то система запустится на русском языке.
Способ попроще — кнопка в меню «администратора проектов»
Приступим к созданию проекта. Для этого необходимо запустить программу WinCC OA Project Administrator.
Когда кому-нибудь потребуется лицензировать систему, то вам понадобиться hardware code хоста в случае, если лицензия идет через простой shield-file. Для этого в верхнем меню есть кнопка «Get hardware code».
Далее создаем новый пустой проект. Для этого наверху есть кнопка «New project». Если вы работаете с версией 3.17, необходимо выбрать Legacy Standart Project.
Новый проект в серии 3.16
Выбираем стандартный проект.
Указываем имя проекта и путь. Оставляем галочку Runnable (запускаемый) и при необходимости выбираем языки проекта. В версии 3.17 дополнительное появляется галочка "Use NextGenArchiver", не надо ее выбирать, она касается системы трендов "нового поколения", в то время, как эти заметки основаны на "старом поколении". Английский язык должен быть выбран обязательно. Если планируется многоязычный проект, то набор языков необходимо определить прямо на этом этапе. На курсах по WinCC OA на этом акцентируют особое внимание. Использование русских букв в названии файлов и папок не рекомендуется.
Нажимаем ОК и отказываемся от задания пароля суперпользователя (root). В нормальной жизни максимальные права должны, конечно, быть закрыты, но в рамках учебного примера в этом нет необходимости.
Через несколько секунд появится окно с подверждением создания проекта.
Сразу покажу, как редактировать конфиг-файл проекта. Выбираем проект (на скрине выше он уже выбран) и нажимаем кнопку «Change project properties», далее нажимаем кнопку «Edit config file» и выбираем файл конфигурации проекта.
Редактирование проекта Выбор конфиг-файла проекта Редактирование конфига проекта
Очень многое в системе делается через конфиг. Важное замечание. Конфиг-файл всегда должен заканчиваться пустой строкой. Закроем конфиг-файл и запустим проект. Для запуска проекта необходимо нажать на кнопку с зеленым светофором. После этого на экране появится весьма много окон.
Предупреждение об отсутствии лицензии. Ну, тут остается только нажать кнопку ОК. Окно со вводом root'ового пароля. В нашем случае пароль не задан, так же жмем ОК. Сразу после этого откроется окно с редактором gedi, но сейчас нас больше интересует окно WinCC OA Console
В этом окне мы видим всю структуру и состояние менеджеров нашего проекта. С его помощью можно управлять менеджерами: добавлять, исключать, запускать, останавливать и так далее. Посмотрим, какие интересные менеджеры у нас есть по умолчанию.
Process Monitor. Этот менеджер есть на любом хосте системы (даже если на хосте нет Event Manager). С помощью pmon работает система дигностики WinCC OA, благодаря ему видны все менеджеры, все распределенные системы, состояние этих менеджеров, загрузку каждого процессора, объем дисковой информации и так далее.
Database Manager отвечает за хранение данных. Archive Manager (6 штук) отвечают за тренды и архивы средствами встроенной в WinCC OA базы данных. Обратите внимание, что у каждого архивного менеджера в системе свой уникальный номер. Это касается любого менеджера, у всех менеджеров одного типа должен быть свой номер, который присваивается путем передачи аргумента -num в строке запуска.
Control Manager. Контрол — это менеджер, отвечающий за исполнение скриптов. В данном случае, как я понимаю, запускается ядро системы (или системные скрипты).
Последний менеджер — ui в режиме gedi, среда разработки.
В правой части находятся кнопки управления менеджерами. Слева от имени менеджера находится численная индикация его состояния.
Например, сейчас я остановил менеджер ui, его код состояния 0 (остановлен) и цвет красный (может быть белым, если менеджер еще не стартовал в системе). Код 1 — менеджер запускается, код 2 — менеджер в работе, код 3 — неопределенное состояние. Если менеджер подсвечивается фиолетовым цветом, это означает, что он пытался запуститься, падал по ошибке и подняться снова, но превышено количество повторных запусков.
Далее откроем менеджер gedi (в моем случае — запустим gedi через консоль) и через него откроем редактор para
В редакторе gedi нажать кнопку, выделенную на скриншоте Модуль редактирования данных para
Para предназначен для создания типов точек данных и самих точек данных. В общем понимании тип точки данных, data point type — это объявление структуры, а сама точка данных (data point) является непосредственным экземпляром структуры этого типа. Да, именно так организована база данных сигналов в системе WinCC OA. Грамотно составить модель данных — это очень важный шаг, и его необходимо продумать еще на начальном этапе.
Например, аналоговый датчик содержит в себе как само значение аналогового сигнала, флаги состояния (достоверность, выход за границы и т.д.), а так же все уставки (пределы измерения, аварийные и предупредительные уставки, например). Задвижка? Концевики открыто и закрыто, промежуточное состояние, команды открыть/закрыть, задание времени контроля выполнения команды (таймаут на открытие/закрытие) и т.д.
Создадим тип точки данных
Создать тип точек данных Объявить имя типа точек данных
Имя DPT (data point type) — Flap. Далее посредством правой кнопки мыши и пункта меню Add node создаем следующую структуру.
Задать структуру типа точек данных
Добавим еще один уровень вложенности
Назначение типов переменных для "листьев" структуры Конечный вид типа точек данных Flap
Для упрощения Position и Flow — тип данных int, остальные конечные элементы — bool. По нажатию кнопки ОК в списке появляется тип данных Flap (пока еще без экземпляров, без DP, так как создан только DPT).
Создан тип точек данных
Если навести курсор на Flap и нажать правую кнопку мыши, то появится меню, из которого выбираем «Create datapoint»
Создать точку данных типа Flap Указать имя точки данных
Точке данных необходимо присвоить имя. Я создам сразу три DP: Flap1, Flap2 и Flap3.
Развернем DP с именем Flap1
Развернутый вид DP Flap1 в модуле para
Тут мы видим, что кроме созданных узлов иерархии и конечных точек появились еще и элементы, которые мы не создавали. Их имена начинаются с нижнего подчеркивания: _original, _common и _lock. В системе WinCC OA они называются конфиги. Каждый конфиг отвечает за какую-то функциональность. Это позволяет настраивать каждый DPE (datapoint element) индивидуально.
Конфиг original для элемента точки данных
original — это один из самых главных конфигов DPE. Он содержит значение DPE в системе и его метку времени. В настоящий момент значение равно 0, а метка времени 01.01.1970. Метка времени задается по аналогии с unix time, поэтому отсчет времени ведется с 1970 года. Изменим значение Flap1.Inputs.Position.original прямо в конфигураторе para
Задание значения для DPE
Мы видим не только новое значение и метку времени его изменения, но так же и пользователя, и имя менеджера и номер системы, откуда пришло изменение. Так же доступны и вспомогательные биты (variable bits). Первые 5 или 6 бит выставляются системой (признак качества, например), а остальные доступны для назначения пользователем.
Обратите еще внимание, что поле Original Value доступно для ввода (в настоящий момент времени все эти DPE — внутренние тэги, так как не привязаны ни к какому драйверу), а Online Value — нет. В большинстве случаев эти значения совпадают. Original — это, грубо говоря, то, что «прилетает с поля», а Online — значение переменной в самой системе. Когда они могут не совпадать? Например, если мы реализовали функционал контроля выхода переменной за пределы. Например, если с поля прилетает значение 12, в то время, как максимальное значение — 10, то мы можем задать Online = 10 и выставить бит плохого качества.
Кликнем правой кнопкой по DPE Position (Flap1) и посмотрим, какие еще конфиги бывают в системе, и за что некоторые из них отвечают.
Добавление конфига к DPE
Archive settings отвечает за помещение значения в историческую базу данных.
Periphery address — значение переменной берется с драйвера или OPC-сервера и является внешним тэгом. Именно эти DPE считаются в лицензии. То есть, количество тэгов в проекте — это количество DPE, на которые навесили конфиг «переферийный адрес».
Command conversion и Message conversion — преобразование из инженерных в «физические» (там все, что угодно может быть — код АЦП, миллиамперы и т.д.) величин и обратно.
Default value и Value Range — отвечают за допустимый диапазон значений и подстановку, в случае недостоверности значения.
Authorization — назначение уровня прав доступа к переменной
Datapoint function — простая математическая обработка значения. Разберем на примере. Создадим конфиг Datapoint function для DPE Flap3.Inputs.Position
Появляется конфиг _dp_fct, жмем кнопку Configure и выполняем следующие действия
Нажать "Configure" Вызвать окно выбора точек данных для первого параметра В качестве первого параметры выбрать Flap1.Inputs.Position Добавить параметр к список Теперь задан параметр p1
Так мы задали первый параметр для функции обработки. Аналогичным образом (или просто заменив Flap1 на Flap2 в строчке с названием «p..=») зададим второй параметр.
Далее в нижней части в строчке «Function» пишем "p1 + p2"
..и жмем ОК. Смотрим конфиг _original для DPE Flap3.Inputs.Position
В принципе, все правильно, так как положение Flap1 у нас равно 10 (недавно задавали его значение вручную), а Flap2 равно 10, итого 0 + 10 = 10.
Кстати, обратите внимание, что конфиги навешиваются на DPE индивидуально, а не являются частью DPT (типа точки данных). В этом случае возникает закономерный вопрос — а что делать в случае массивого тиражирования объектов в системе? Ладно, если точек данных три, а если три тысячи? Настраивать каждую вручную — излишне трудозатратно и неэффективно. В этом случае есть два варианта. Первый — использование Master Datapoint. Это своего рода шаблон, на базе которого можно проводить тиражирование. Проблема в том, что при необходимости внести нестандартную для общей канвы конфигурацию, это будет сделать затруднительно. Второй способ — это экспорт данных во внешний мир, тиражирование DP в Excel и последующий импорт обратно.
Для установки проекта WinCC необходимо выполнить следующие действия:
- распоковать поставляемый архив проекта в директорию «D:\WinCC_Project»;
- запустить WinCC (“Start [Пуск]” > “Simatic” > “WinCC” > “WinCC V6.2”);
- выбрать пункт меню “File [Файл]” > “Open [Открыть]”;
- выбрать файл проекта – файл с расширением «*.MCP», находящийся в папке «D:\WinCC_Project\имя сервера\», где имя сервера – имя, данное серверу визуализации и архиваци.
Читайте также: