Недавно я столкнулся с такой проблемой: на предприятии был установлен контроллер S7-1200 DC/DC/DC
214-1AG31-0XB0 и панель оператора
KTP600 Basic Color PN. Контроллер вышел из строя. Но, поскольку периодически его можно было реанимировать (путём "разобрал-собрал"), мне удалось сделать Upload.
Сама программа была написана в
TIA Portal V11 SP2, ею и была выгружена. Кстати, попытка выгрузить её через
TIA Portal V12 (с помощью пустого проекта от
TIA Portal V11, открытого в
12 версии без конвертации) успехов не принесла, несмотря на то, что данный метод везде описывается как универсальный.
TIA Portal V13 и вовсе не содержит никакого механизма для выгрузки программ, написанных в
11 версии. Ну, это в целом о подходе Siemens к вопросам совместимости оборудования и программного обеспечения.
Итак, неисправный контроллер
214-1AG31-0XB0 (снятый уже с производства) был заменён на
214-1AG40-0XB0, который, по идее, является его полноценной заменой, как утверждает Siemens. Каково было удивление, когда новый ПЛК, залитый через
TIA Portal V13 SP1 (только эта версия на сегодняшний день поддерживает ПЛК
214-1AG40-0XB0 с версией прошивки
4.1), работать с панелью оператора отказался.
--------------------------------------------------------------------------------------------------------
Сначала экспериментальным путём было выяснено, что панель оператора KTP600 за время приобретения нового контроллера также вышла из строя. Для этого к ней был подключен имевшийся в наличии "дежурный" контроллер S7-1200 AC/DC/Relay 214-1BG31-0XB0 (ранее уже успешно подключавшийся к этой панели). Соединение с ним установить не удалось. Изменения параметров сетевого адаптера панели успехов не принесли. Что удивительно при этом, соединение между компьютером и KTP600 устанавливалось без проблем. Это позволило сделать BackUp (посредством Simatic ProSave). Связь с неисправным контроллером всё-таки можно было иногда установить, но где-то в одном случае из пяти, причём, чем больше времени проходило, тем меньше было таких случаев. Т.е. речь идёт о частичном и постепенном выходе из строя интегрированного сетевого адаптера панели оператора, который периодически работает с одними устройствами и совсем не работает с другими. Такие случаи описаны на форумах, где обсуждаются поломки сетевых карт. Поскольку печатная плата панели оператора многослойная, пробовать ремонтировать её не стали.
Однако, после замены панели оператора KTP600 и осуществления восстановления ПО из резервной копии на новую панель, проблема подключения контроллера 214-1AG40-0XB0 к панели осталась. При этом подключение "дежурного" контроллера старой модели 214-1BG31-0XB0 прошло успешно. Это означало, что поломка панели оператора была не единственной причиной того, что новые модели ПЛК не устанавливали с ней соединение.
--------------------------------------------------------------------------------------------------------
Попытка разобраться привела к беседе с техподдержкой Siemens
+7 495 737-1737, где удалось получить ссылку вот на
эту страницу.
В итоге выснилось, что существуют, во-первых,
две разновидности драйвера для подключения S7-1200 к панелям оператора, а во-вторых, нюансы с работой со второй из них:
1. Драйверы, работающие через команды передачи и приёма данных
PUT/GET. Этот вариант используется драйвером "
SIMATIC S7 300/400" в
WinCC Flexible и тем же драйвером в
WinCC (в TIA Portal). При этом WinCC Flexible иного варианта подключения к S7-1200 и не знает, поэтому проеты WInCC Flexible являются таким образом универсальными. Вариант с использованием команд PUT/GET использует также мультифункциональный
китайский коммутатор для подключения S7-1200 к панелям Smart. Этот же вариант использовал я, когда
подключал S7-200 Smart к S7-1200.
Такой вариант 100% всегда работает, и проблем с ним нет. Единственное неудобство в том заключается, что для использования команд PUT и GET необходимо знать адреса ячеек памяти, а это значит, что блоки данных, с которыми происходит работа, должны быть неоптимизированны. Для использования этого варианта для моделей с версией пошивки
4.х нужно обязательно установить разрешение на осуществление команд PUT/GET (поставить галочку
Permit access with PUT/GET communication from remote partner (PLC, HMI, OPC, ...). В предыдущих моделях контроллеров S7-1200 данной настройки не было, команды GET/PUT были разрешены всегда.
2. Специальный драйвер "
SIMATIC S7 1200" в составе
WinCC в TIA Portal. А здесь и начинаются проблемы.
Эта таблица показывает, что драйвера
S7-1200, содержащиеся в разных версиях
WinCC в TIA Portal, имеют разную совместимость с разными прошивками контроллера. Буква "
B" в этой таблице означает, что для соединения можно использовать только драйвер
S7-300/400. Буква "
A" означает, что соединяться можно и через драйвер
S7-1200, и через драйвер
S7-300/400.
Как видим, если у нас панель
KTP600 (это первая строка -
Basic Panels 1st generation) была запрограммирована в
TIA Portal V11, то её соединить с контроллером с прошивкой
4.х можно
только через драйвер
S7-300/400, работающий через команды PUT/GET.
Естественно, постфактум поменять драйвер, зашитый в панель, возможности нет (если у вас, конечно, случайно нет под рукой проекта для панели оператора). Т.е. если программисты использовали
TIA Portal V11 с драйвером
S7-1200 для панели, то подключить панель с таким ПО к новым моделям контроллера уже нельзя. В таком случае остаётся только один вариант - покупать контроллер старой модели, снятый с поизводства в Германии, но производимый на фабриках Китая (aliexpress...).
Но и это еще не всё! В исходном проекте для TIA Portal, который нам всё же в итоге передали (причём, этот проект был уже в формате TIA Portal V13, т.е. мы его даже не конвертировали из V11) стояла еще старая модель контроллера (
214-1AG31-0XB0). Я, эксперимента ради, сначала залил в панель оператора программу из этого проекта, не меняя модель ПЛК. Соединение ПЛК с панелью и в этом случае по-прежнему установить не удалось. А вот когда я поменял версию ПЛК на
214-1AG40-0XB0, тогда всё и заработало.
Это означает, что
TIA Portal V13 записывает разные версии коммуникационных драйверов
S7-1200 в панель оператора в зависимости от выбранной прошивки контроллера S7-1200. Об этом же свидетельствует вот это сообщение при изменении модели ПЛК:
Раньше при изменении модели контроллера S7-1200 или его прошивки таких сообщений не появлялось.
Соответственно, учитывая тот факт, что модель
214-1AG40-0XB0 поддерживается только версией
TIA Portal 13 (а с прошивкой
4.1 - только
13 SP1), то версия драйвера
S7-1200 в
TIA Portal V12 чисто теоретически никак не может устанавливать связь с такими ПЛК. Значит, в представленной выше таблице совместимости есть ошибка, а вообще эта таблица должна начинаться подобным образом (с указанием модели ПЛК в проекте):
Остается только пара вопросов:
1. Почему версия прошивки
1.0 не совместима с драйвером
S7-1200 в
TIA Portal V12? Т.е. в
V11 всё нормально работало, а в
V12 уже нет? Это выглядит странно. У меня на данный момент в
V11 не установлен WinCC, поэтому подтвердить совместимость
TIA Portal V11 и прошивку
1.0 я не могу, а вот несовместимость
TIA Portal V12 и
TIA Portal V13 с этой прошивкой подтверждается.
2. Если в
TIA Portal V13 для правильной работы панели оператора чрезвычайно важно, какая версия контроллера и его прошивки выбрана, то для проектов, использующих один ПЛК S7-1200 всё, вроде бы, понятно:
А как быть с проектами, где несколько ПЛК S7-1200, или если панель соединяется с S7-1200, которых в проекте нет? Даже если добавить в проект все контроллеры S7-1200, то
HMI Device Wizard в любом позволяет осуществить подключение только к одному
контроллеру, остальные контроллеры добавляются вручную. Поэтому как правильно действовать в таком случае, пока не понятно.
При этом вариант с использованием драйвера
S7-300/400 для подключения S7-1200 всегда остаётся. Данный вариант, учитывая сложившуюся ситуацию, можно назвать предпочтительным, поскольку он позволяет менять модели контроллеров S7-1200 с разными прошивками и при этом не волноваться насчёт их совместимости с уже установленными на предприятиях панелями операторов.
При соединении через драйвер S7-300/400 следует правильно устанавливать значение Expansion slot. По умолчанию почему-то стоит значение 2, нужно ставить 0.
Также для использования драйвера S7-300/400 следует не забывать убирать галочку с аттрибута Optimized block access в используемых на панели оператора DB и в настройках FB (для доступа к экземплярным DB):