1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Как обмениваться данными между CPU 1214C ?

ПЛК SIMATIC (S7-200, S7-1200, S7-300, S7-400, S7-1500, ET200)
Ответить

Автор темы
alex3110
освоился
освоился
Сообщения: 262
Зарегистрирован: 02 апр 2015, 18:16
Имя: Симонов Игорь Валерьевич
Благодарил (а): 24 раза
Поблагодарили: 6 раз

Как обмениваться данными между CPU 1214C ?

Сообщение alex3110 »

Всем привет !

Cоздаю проект с несколькими ПЛК S7-1200. Все они имеют CPU 1214C.
Они должны обмениваться данными друг с другом в различных комбинациях через интерфейс IE. Данные могут быть отдельными битами, байтами и словами.

Какие системные функции я должен использовать для организации обмена различными типами данных через Industrial Ethernet ?
Есть ли где-нибудь пример с пояснениями ?

Также необходимо передать аналоговый сигнал.
Что лучше: передавать аналоговый сигнал в виде «сырого» кода или числа в физических единицах ?
Какой формат данных применим в каждом случае ?


Заранее благодарен.

Parliament74
корифей
корифей
Сообщения: 792
Зарегистрирован: 16 ноя 2016, 11:33
Имя: Максим Владимирович
Страна: Россия
город/регион: Магнитогорск
Благодарил (а): 16 раз
Поблагодарили: 202 раза

Как обмениваться данными между CPU 1214C ?

Сообщение Parliament74 »

Можно, например, через S7-соединения сделать.

Вот здесь: https://support.industry.siemens.com/cs ... 0&lc=en-US смотрите раздел 11.5

Вот здесь: https://www.youtube.com/watch?v=4k_k8GZuUDk пример на видео того, как два S7-1200 связать между собой.

P.s.: только, если я правильно помню, не более восьми S7-соединений поддерживают контроллеры S7-1200, если надо больше, то можно ещё 8 соединений сделать через Open User Communication (в том же руководстве по первой ссылке смотрите), если ещё больше, надо думать...

Автор темы
alex3110
освоился
освоился
Сообщения: 262
Зарегистрирован: 02 апр 2015, 18:16
Имя: Симонов Игорь Валерьевич
Благодарил (а): 24 раза
Поблагодарили: 6 раз

Как обмениваться данными между CPU 1214C ?

Сообщение alex3110 »

.....
Последний раз редактировалось alex3110 28 июн 2019, 12:52, всего редактировалось 1 раз.

misha_os
осмотрелся
осмотрелся
Сообщения: 129
Зарегистрирован: 03 фев 2011, 13:54
Имя: Михаил
Страна: Россия
город/регион: Ульяновск
Поблагодарили: 16 раз

Как обмениваться данными между CPU 1214C ?

Сообщение misha_os »

Кроме применения функций передачи а-ля PUT/GET, можете рассмотреть/применить функцию IO-Device, если будете использовать Profinet IO. Смотрите описание для настроек CPU (IO-Controller и I-Deviсe) в General/Operating mode (для I-Deviсe активация параметра IO-Device).

Смысл следующий. Выбираете кто будет сервером (IO-Controller), а кто будет клиентом (I-Deviсe) в соответствующей сети Profinet IO и настраиваете в I-device communication адресное пространство I/Q какой объем информации будет передаваться между IO-Controller и I-Deviсe (учитывая соответствующие ограничения при передаче).

Если данные надо передавать между двумя I-Deviсe, то соответственно настройку этих данных надо будет делать через IO-Controller.

IO-Controllers могут выступать в другой сети Profinet IO как клиенты.

UNTK_RAA
здесь недавно
здесь недавно
Сообщения: 76
Зарегистрирован: 01 мар 2010, 17:37
Имя: Алексей Алексеевич
Страна: Россия
город/регион: Нижний Тагил
Благодарил (а): 13 раз
Поблагодарили: 8 раз

Как обмениваться данными между CPU 1214C ?

Сообщение UNTK_RAA »

misha_os писал(а): 28 июн 2019, 07:22 Кроме применения функций передачи а-ля PUT/GET, можете рассмотреть/применить функцию IO-Device, если будете использовать Profinet IO.
Соединял с помощью технологии IO-Device несколько контроллеров. Причем один из контроллеров был одновременно и клиентом и сервером. В отличии от функций передачи а-ля PUT/GET очень быстрая реакция на обрыв связи.

Автор темы
alex3110
освоился
освоился
Сообщения: 262
Зарегистрирован: 02 апр 2015, 18:16
Имя: Симонов Игорь Валерьевич
Благодарил (а): 24 раза
Поблагодарили: 6 раз

Как обмениваться данными между CPU 1214C ?

Сообщение alex3110 »

Для связи должен использоваться встроенный в CPU Industrial Ethernet.
Другого варианта нет.

В том то и весь вопрос, что КАЖДЫЙ из 8 CPU семейства S7-1200 должен быть периодически то СЕРВЕРОМ, то КЛИЕНТОМ.
А именно :
- если наступает какое-то событие, которое контролирует CPU1, то об этом он должен сообщить всем остальным CPU2...CPU7 ;
- если наступает какое-то событие, которое контролирует CPU2, то об этом он должен сообщить всем остальным CPU1, CPU3...CPU7 ;

и так далее.

Так что судя по опыту UNTK_RAA у меня просто нет другого варианта, как использовать технологию IO-Device.

Или можно попробовать и GET\PUT тоже ?
Последний раз редактировалось alex3110 28 июн 2019, 11:29, всего редактировалось 1 раз.

Автор темы
alex3110
освоился
освоился
Сообщения: 262
Зарегистрирован: 02 апр 2015, 18:16
Имя: Симонов Игорь Валерьевич
Благодарил (а): 24 раза
Поблагодарили: 6 раз

Как обмениваться данными между CPU 1214C ?

Сообщение alex3110 »

Кстати, может у кого есть подобный рабочий проект ? Не могли бы поделиться ?

MaksimNT
освоился
освоился
Сообщения: 262
Зарегистрирован: 31 авг 2012, 06:30
Имя: Фоменко Максим Анатольевич
Страна: РФ
город/регион: гор. Нижнйи Тагил, Свердловской обл.
Благодарил (а): 3 раза
Поблагодарили: 76 раз

Как обмениваться данными между CPU 1214C ?

Сообщение MaksimNT »

alex3110 писал(а): 28 июн 2019, 11:06 Для связи должен использоваться встроенный в CPU Industrial Ethernet.

В том то и весь вопрос, что КАЖДЫЙ из 8 CPU семейства S7-1200 должен быть периодически то СЕРВЕРОМ, то КЛИЕНТОМ.
А именно :
- если наступает какое-то событие, которое контролирует CPU1, то об этом он должен сообщить всем остальным CPU2...CPU7 ;
- если наступает какое-то событие, которое контролирует CPU2, то об этом он должен сообщить всем остальным CPU1, CPU3...CPU7 ;

и так далее.
Вы попадаете на ограничение для S7-1200 в S7 communication
https://support.industry.siemens.com/cs ... n&lc=ru-RU

alex3110 писал(а): 28 июн 2019, 11:06 Или можно попробовать и GET\PUT тоже ?
Одного S7-1200 определить (activ) мастером в S7 communication , который выполняет GET\PUT для всех остальных.
Остальные 7 S7-1200 passive в S7 communication.

misha_os
осмотрелся
осмотрелся
Сообщения: 129
Зарегистрирован: 03 фев 2011, 13:54
Имя: Михаил
Страна: Россия
город/регион: Ульяновск
Поблагодарили: 16 раз

Как обмениваться данными между CPU 1214C ?

Сообщение misha_os »

Как видно из Вашей темы, Вам ответили какими способами можно осуществить связь:
1. С помощью функциональных блоков передачи данных, каких именно, см справку на применяемые CPU.
2. С помощью функции/технологии IO-Device.

У каждого способа есть плюсы и минусы, объемы передаваемой информации, скорость передачи, контроль передачи. Изучите данные способы. На все есть примеры на сайте производителя, через поиск там все найдете.

Что применить, выбирать Вам, исходя из особенностей Вашей задачи, ни кто тут не знает Вашего ТЗ.

Если Вы думаете, что плодить одинаковые темы на разных сайтах и там за Вас сделают Вашу работу, то это вряд ли.

По вопросу проверить передачу данных по сети двух CPU в симуляторе TIA Portale, то не получится.

Автор темы
alex3110
освоился
освоился
Сообщения: 262
Зарегистрирован: 02 апр 2015, 18:16
Имя: Симонов Игорь Валерьевич
Благодарил (а): 24 раза
Поблагодарили: 6 раз

Как обмениваться данными между CPU 1214C ?

Сообщение alex3110 »

MaksimNT писал(а): 28 июн 2019, 11:52 Одного S7-1200 определить (activ) мастером в S7 communication, который выполняет GET\PUT для всех остальных. Остальные 7 S7-1200 passive в S7 communication.
А как же тогда другие S7-1200 будут передавать данные ? Только по запросу от "active" ?
Получается "active" должен будет постоянно опрашивать все остальные "passive", даже если у них и "ничего нет сказать" ?
Канал связи будет постоянно загружен, а это пока обычная телефонная пара, увы. Может быть когда-нибудь и сделают оптоволокно. Но пока так.
А можно ли настроить так, как я описал выше, т.е. любой из CPU когда надо - "active", а когда надо - "passive" .

MaksimNT
освоился
освоился
Сообщения: 262
Зарегистрирован: 31 авг 2012, 06:30
Имя: Фоменко Максим Анатольевич
Страна: РФ
город/регион: гор. Нижнйи Тагил, Свердловской обл.
Благодарил (а): 3 раза
Поблагодарили: 76 раз

Как обмениваться данными между CPU 1214C ?

Сообщение MaksimNT »

alex3110 писал(а): 28 июн 2019, 12:46
MaksimNT писал(а): 28 июн 2019, 11:52 Одного S7-1200 определить (activ) мастером в S7 communication, который выполняет GET\PUT для всех остальных. Остальные 7 S7-1200 passive в S7 communication.
А как же тогда другие S7-1200 будут передавать данные ?
Только по запросу от "active" ?
как-то так в последовательности:
active спросил у №1 < -- GET
active записал №1 все из остальных > -- PUT
active спросил у №2 < -- GET
active записал №2 все из остальных > -- PUT
...
active спросил у №7 < -- GET
active записал №7 все из остальных > -- PUT

alex3110 писал(а): 28 июн 2019, 12:46 Получается "active" должен будет постоянно опрашивать все остальные "passive", даже если у них и "ничего нет сказать" ?
Да. для S7-1200 - связано с ограничением
alex3110 писал(а): 28 июн 2019, 12:46 Канал связи будет постоянно загружен...
Да. регулируется загрузка - насколько часто нужно передавать состояние, но каждый шаг обмена это от 20 мс.
alex3110 писал(а): 28 июн 2019, 12:46 А можно ли настроить так, как я описал выше, т.е. любой из CPU когда надо - "active", а когда надо - "passive" .
Да. если все CPU выбрать S7-1500

как-то так в последовательности:
произошло событие
записал №1 > -- PUT
записал №2 > -- PUT
записал №3 > -- PUT
записал №4 > -- PUT
записал №5 > -- PUT
записал №6 > -- PUT
записал №7 > -- PUT

Автор темы
alex3110
освоился
освоился
Сообщения: 262
Зарегистрирован: 02 апр 2015, 18:16
Имя: Симонов Игорь Валерьевич
Благодарил (а): 24 раза
Поблагодарили: 6 раз

Как обмениваться данными между CPU 1214C ?

Сообщение alex3110 »

Спасибо, Максим !
Да, жаль, что у меня не S7-1500

Спасибо также всем за ответы.

Автор темы
alex3110
освоился
освоился
Сообщения: 262
Зарегистрирован: 02 апр 2015, 18:16
Имя: Симонов Игорь Валерьевич
Благодарил (а): 24 раза
Поблагодарили: 6 раз

Как обмениваться данными между CPU 1214C ?

Сообщение alex3110 »

Подумалось страшное.
Как быть если тот самый PLC-«мастер» откажет. Это хоть и маловероятно, но не исключено. Что тогда ?
Запасных PLC нет, придётся «мастером» делать кого-то из оставшихся, PLC_alive, к примеру.
Будет пара некритичных PLC, любой из которых можно будет временно переставить на место неисправного.
Будет ли достаточно изменить/загрузить какой-то программный блок только в этом PLC_alive, или нужно будет бегать ещё и по всем остальным 6 шт. тоже там что-то изменять/загружать ?

Т.е. в моём случае настроить коммуникации так, чтобы «отряд не заметил потери бойца» абсолютно невозможно ?

Вопросов много, т.к. никогда ранее не приходилось настраивать обмен данными между PLC, да ещё и между 8 шт.

MaksimNT
освоился
освоился
Сообщения: 262
Зарегистрирован: 31 авг 2012, 06:30
Имя: Фоменко Максим Анатольевич
Страна: РФ
город/регион: гор. Нижнйи Тагил, Свердловской обл.
Благодарил (а): 3 раза
Поблагодарили: 76 раз

Как обмениваться данными между CPU 1214C ?

Сообщение MaksimNT »

alex3110 писал(а): 01 июл 2019, 09:02 Как быть если тот самый PLC-«мастер» откажет. Это хоть и маловероятно, но не исключено. Что тогда ?
Технологичекася и структурная часть проекта у Вас .. как догадаться :icon_rant:
alex3110 писал(а): 01 июл 2019, 09:02 Запасных PLC нет, придётся «мастером» делать кого-то из оставшихся, PLC_alive, к примеру.
Будет пара некритичных PLC, любой из которых можно будет временно переставить на место неисправного.
Можно предусмотреть резервирование сразу
Структурная часть проекта у Вас, план размещения и трасс у Вас .. как догадаться :icon_rant:
alex3110 писал(а): 01 июл 2019, 09:02 Будет ли достаточно изменить/загрузить какой-то программный блок только в этом PLC_alive, или нужно будет бегать ещё и по всем остальным 6 шт. тоже там что-то изменять/загружать ?
Вышедшее изделие заменить - взять из ЗИПа.
Структурная часть проекта у Вас, спецификации у Вас .. как догадаться :icon_rant:
alex3110 писал(а): 01 июл 2019, 09:02 Т.е. в моём случае настроить коммуникации так, чтобы «отряд не заметил потери бойца» абсолютно невозможно ?
Резервирование программными средствами разработать.

как-то так:
Если один activ не записывает в резервный activ, то резервный запускает копию алгоритма чтения/записи.
Если activ восстановился/включился и в него пишет иной, то он становиться в резерв.

Parliament74
корифей
корифей
Сообщения: 792
Зарегистрирован: 16 ноя 2016, 11:33
Имя: Максим Владимирович
Страна: Россия
город/регион: Магнитогорск
Благодарил (а): 16 раз
Поблагодарили: 202 раза

Как обмениваться данными между CPU 1214C ?

Сообщение Parliament74 »

alex3110 писал(а): 01 июл 2019, 09:02 Подумалось страшное.
Как быть если тот самый PLC-«мастер» откажет. Это хоть и маловероятно, но не исключено. Что тогда ?
Запасных PLC нет, придётся «мастером» делать кого-то из оставшихся, PLC_alive, к примеру.
Если бы это было действительно страшно, то стоял бы S7-1500 в исполнении R/H. Если стоят 1200-е, то ничего страшного там заведомо быть не может. То же актуально и про "незаметную потерю бойца".

P.s.: покупка ПЛК в ЗИП решает все проблемы.

Автор темы
alex3110
освоился
освоился
Сообщения: 262
Зарегистрирован: 02 апр 2015, 18:16
Имя: Симонов Игорь Валерьевич
Благодарил (а): 24 раза
Поблагодарили: 6 раз

Как обмениваться данными между CPU 1214C ?

Сообщение alex3110 »

MaksimNT писал(а): 01 июл 2019, 09:58 Технологичекася и структурная часть проекта у Вас .. как догадаться
Можно предусмотреть резервирование сразу
Структурная часть проекта у Вас, план размещения и трасс у Вас .. как догадаться
Никто уже ничего предусматривать и менять не будет, так как проект уже давно сделан и сдан. И мне тут остаётся только изголяться, как всё сделать так, чтобы было хорошо и "овцам" и "волкам".
MaksimNT писал(а): 01 июл 2019, 09:58 Вышедшее изделие заменить - взять из ЗИПа.
Чтобы что-то взять из ЗИПа, надо его иметь. Если вас "технологическое" и "финансовое" руководство обеспечивает всем необходимым всегда и вовремя, то вам крупно повезло. Могу даже позавидовать.
MaksimNT писал(а): 01 июл 2019, 09:58 Резервирование программными средствами разработать.

А это интересная мысль.

Отправлено спустя 8 минут 19 секунд:
Parliament74 писал(а): 01 июл 2019, 10:31P.s.: покупка ПЛК в ЗИП решает все проблемы.
Вы не поверите, проектанты не заказали ни одного ПЛК в ЗИП !!!
Конечно, в будущем внесём в заявки уже по другой статье. На следующий год. Если получится, то придёт когда-нибудь. А отказать ПЛК может в любой момент, он не будет ждать когда ЗИП придёт. О чём и речь.

Parliament74
корифей
корифей
Сообщения: 792
Зарегистрирован: 16 ноя 2016, 11:33
Имя: Максим Владимирович
Страна: Россия
город/регион: Магнитогорск
Благодарил (а): 16 раз
Поблагодарили: 202 раза

Как обмениваться данными между CPU 1214C ?

Сообщение Parliament74 »

alex3110 писал(а): 01 июл 2019, 12:41 Вы не поверите, проектанты не заказали ни одного ПЛК в ЗИП !!!
Вы не поверите, но "проектанты" делают проект на основании ТЗ от заказчика...
Да, и принимают/согласовывают сделанный проект тоже не они...

Автор темы
alex3110
освоился
освоился
Сообщения: 262
Зарегистрирован: 02 апр 2015, 18:16
Имя: Симонов Игорь Валерьевич
Благодарил (а): 24 раза
Поблагодарили: 6 раз

Как обмениваться данными между CPU 1214C ?

Сообщение alex3110 »

Вы наверное имеете ввиду "идеального" заказчика, который и про ЗИП подумает, и про всё остальное. Но в реале всегда покупают всё по-минимуму, а потом асутэпэшникам и програмерам приходится прыгать с бубеном. Даже асутэпэшное начальство очень часто прогибается перед "финансистами" и подписывает ТЗ с минимальным количеством СВТ. А нам потом это все всякими местами выходит.
Аватара пользователя

petr2off
эксперт
эксперт
Сообщения: 1602
Зарегистрирован: 06 янв 2016, 19:45
Имя: Петров В.Л.
Страна: Россия
город/регион: Красноярск
Благодарил (а): 69 раз
Поблагодарили: 185 раз

Как обмениваться данными между CPU 1214C ?

Сообщение petr2off »

Бывает и еще круче. На моей памяти, когда в СГК работал, там в центральной конторе вменяемый специалист работал - и утверждал ТЗ, в которых зип формировался неявным образом. Путем сильного резервирования каналов в/в. Что позволяло резервные модули прямо в шкафах устанавливать. А потом до всего этого добрался внутренний аудит и уволили мужика за перерасход средств. А аудитор премию получил.
Ответить

Вернуться в «Simatic TIA Portal»