Приветствую всех.
Это (заголовок) как то осуществимо, без привлечения каких то специальных модулей? Фантазирую такой программный блок - IP, номер IW, запрос. Фантазии? )
Конкретно, хочу опрашивать DI одного ПЛК с другого ПЛК.
- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Обмен между двумя ПЛК S7-300 ч/з Profinet
Модератор: Глоб.модераторы
-
- не первый раз у нас
- Сообщения: 372
- Зарегистрирован: 12 дек 2018, 14:47
- Имя: Влад
- Благодарил (а): 1 раз
- Поблагодарили: 50 раз
Обмен между двумя ПЛК S7-300 ч/з Profinet
Настраивайте в netpro связь партнеров, в HW смотрите топологию, как действительно контроллеры соединяются, прописываете в программе связь из библиотечных блоков если контроллер PN/DP то можно PUT/GET, если CP, то AG-SEND, AG-RECV, см. также youtube и другие темы этого форума.
-
- эксперт
- Сообщения: 1035
- Зарегистрирован: 31 мар 2018, 12:05
- Имя: Вячеслав
- Благодарил (а): 100 раз
- Поблагодарили: 141 раз
Обмен между двумя ПЛК S7-300 ч/з Profinet
Да, 315й 2PN/DP. Гугл ничего вразумительного не дал. Хотя вопрос вроде ставлю корректно. Посмотрю литературу.
-
- здесь недавно
- Сообщения: 94
- Зарегистрирован: 29 окт 2017, 19:52
- Имя: Дмитрий
- Благодарил (а): 5 раз
- Поблагодарили: 18 раз
Обмен между двумя ПЛК S7-300 ч/з Profinet
Вот ссылка с примером.
https://support.industry.siemens.com/dl ... cer_en.pdf
https://support.industry.siemens.com/dl ... cer_en.pdf
-
- эксперт
- Сообщения: 1035
- Зарегистрирован: 31 мар 2018, 12:05
- Имя: Вячеслав
- Благодарил (а): 100 раз
- Поблагодарили: 141 раз
Обмен между двумя ПЛК S7-300 ч/з Profinet
Dmitriy1983, спасибо. Признаться подобного и ждал от форума )
-
- здесь недавно
- Сообщения: 94
- Зарегистрирован: 29 окт 2017, 19:52
- Имя: Дмитрий
- Благодарил (а): 5 раз
- Поблагодарили: 18 раз
Обмен между двумя ПЛК S7-300 ч/з Profinet
Я Вас понял. Попробую объяснить. Из библиотеки вытаскиваем бок SFB 14 ( См ниже) . И заполняем, что необходимо.
CALL "GET" , DB905
REQ :="Clock_10Hz" // Время опроса
ID :=W#16#3 //ID в 16 формате, берется из конфигурации железа в NET PRO (смотри пример Выше )
NDR :=
ERROR :=
STATUS:=
ADDR_1:=P#DB1005.DBX0.0 BYTE 16 //Указатель на область той информации которую мы хотим считать (Тут к примеру считываю 16 байт из DB1005 Удаленного контроллера)
ADDR_2:=
ADDR_3:=
ADDR_4:=
RD_1 :=P#DB1000.DBX0.0 BYTE 16 //Указатель на область куда мы считываем информацию из удаленного контроллера, но в нашем крнтроллере
RD_2 :=
RD_3 :=
RD_4 :=
Соответственно если на удаленном контроллере по адресу DB1005.dbx0.0 появится - True, то в нашем контроллере тоже появится - True, но по адрессу DB1000.dbx0.0.
Как то так. Можно еще запарится с диагностикой соединения.
PS . Если Вам надо считать входы , нужно так P#I 0.0 BYTE16
CALL "GET" , DB905
REQ :="Clock_10Hz" // Время опроса
ID :=W#16#3 //ID в 16 формате, берется из конфигурации железа в NET PRO (смотри пример Выше )
NDR :=
ERROR :=
STATUS:=
ADDR_1:=P#DB1005.DBX0.0 BYTE 16 //Указатель на область той информации которую мы хотим считать (Тут к примеру считываю 16 байт из DB1005 Удаленного контроллера)
ADDR_2:=
ADDR_3:=
ADDR_4:=
RD_1 :=P#DB1000.DBX0.0 BYTE 16 //Указатель на область куда мы считываем информацию из удаленного контроллера, но в нашем крнтроллере
RD_2 :=
RD_3 :=
RD_4 :=
Соответственно если на удаленном контроллере по адресу DB1005.dbx0.0 появится - True, то в нашем контроллере тоже появится - True, но по адрессу DB1000.dbx0.0.
Как то так. Можно еще запарится с диагностикой соединения.
PS . Если Вам надо считать входы , нужно так P#I 0.0 BYTE16
-
- эксперт
- Сообщения: 1035
- Зарегистрирован: 31 мар 2018, 12:05
- Имя: Вячеслав
- Благодарил (а): 100 раз
- Поблагодарили: 141 раз
Обмен между двумя ПЛК S7-300 ч/з Profinet
Dmitriy1983, ))) нет нет, брошюры было достаточно. У меня почему то никак не получается искать информацию на англ языке. В частности на том же SIOS. Там я в структуре теряюсь, так как и сам язык у меня не ахти.
Однако, еще раз спасибо теперь уже за объяснение.
То что тип данных Pointer - логично.
Сейчас другую задачу решаю. Это на недалекое будущее. "Закинул удочку" ;)
Однако, еще раз спасибо теперь уже за объяснение.
То что тип данных Pointer - логично.
Сейчас другую задачу решаю. Это на недалекое будущее. "Закинул удочку" ;)
-
- эксперт
- Сообщения: 1035
- Зарегистрирован: 31 мар 2018, 12:05
- Имя: Вячеслав
- Благодарил (а): 100 раз
- Поблагодарили: 141 раз
Обмен между двумя ПЛК S7-300 ч/з Profinet
Добрался ) Как обычно, все просто. Единственное, при передаче данных из разных областей (памяти, в/в и т.п.) нужно синхронизироваться. Но мне один дискрет и нужен был ) Стоят 2 будки с примерно одинаковым функционалом. Обе с ПЛК. И на одной ревун уже есть. Вот и пусть ревет по обоим будкам, дабы не вносить сумятицу.
КИПовцы какой то ревун то надыбали - жоский ) Он как то заревел, а операторам не до него было, дак охрана пожарку вызвала
Метались, бедные метались (а охранно пожарные пульты у них) и решили перебздеть.
Пытливый ум
КИПовцы какой то ревун то надыбали - жоский ) Он как то заревел, а операторам не до него было, дак охрана пожарку вызвала
Метались, бедные метались (а охранно пожарные пульты у них) и решили перебздеть.
Пытливый ум