Никак не могу подключиться к ПЛК100-K-L с помощью Siemens S7-1200... Ни в режимах Мастер-Слейв, ни наоборот с каждой стороны...Интерфейс Modbus TCP. Быть может у кого есть опыт в данном направлении? Буду признателен за любую помощь
Никак не могу подключиться к ПЛК100-K-L с помощью Siemens S7-1200... Ни в режимах Мастер-Слейв, ни наоборот с каждой стороны...Интерфейс Modbus TCP. Быть может у кого есть опыт в данном направлении? Буду признателен за любую помощь
По Сименсу не подскажу, а вот наладить опрос ПЛК100 можно на примере моего поста, опрос производит Овен ОПС сервер по TCP/IP, программа ставится за пару минут. На скрине приведена конфигурация ПЛК, которую вам надо повторить на своём ПЛК. ПЛК100 - слейв с адресом 1.
Когда разберётесь с опросом ПЛК100 , разберётесь и со связью с Сименсом. Сименс соответственно можно сделать мастером.
Мой пост со скрином опроса https://owen.ru/forum/showthread.php?t=10555&page=839
Овен ОПС сервер https://owen.ru/product/new_opc_server
Здесь есть примеры обмена через библиотеку https://owen.ru/forum/showthread.php?t=16814
Последний раз редактировалось kondor3000; 29.03.2022 в 23:53.
ПЛК100 требует при запросе указывать ID устройства. Без него не ответит.
я понял, спасибо, как мне указывать в самой программе codesys область памяти, которую хочу использовать для передачи/получения? Блок памяти? Я с codesys особо не работал - в основном с симатиком, не могли бы вы более подробно указать- как программируется сам алгоритм работы ПЛК100 и его настройки? Благодарю
Меня вот это видео, как я понял, запутало - я сделал по аналогии,но как я понял, необходимо в алгоритм добавлять функцию, в которой все потребуется указывать...
Видео https://www.youtube.com/watch?v=5VO0iE_1Va8&t=996s
Последний раз редактировалось Doomers; 30.03.2022 в 21:18. Причина: Не все указал...
Вам надо, чего попроще посмотреть. Не смотрите, что там ПЛК110 подключается к СПК, вам главное принцип создания Модбас (ТСР) Слейва понять. На ПЛК100 тоже самое, только таргет при создании проекта будет не ПЛК 110-32, а ПЛК 100. https://www.youtube.com/watch?v=WhldODV1Cco
Потом можно посмотреть подключение к Скаде https://www.youtube.com/watch?v=B03Fi_P2sqk
Последний раз редактировалось kondor3000; 30.03.2022 в 23:42.
Спасибо...я еще уточню, пока не просмотрел то, что вы скинули , но обязательно это сделаю - вот я доьавлб в программу блок mb_server, все к нему подведу и задам нужные значения переменным, вопрос : та область памяти, с которой я хочу работать, настраивается в конфигурации плк? Я видел там добавляется мастер, слейв, протокол и уже переменные, с которыми мы будем работать по обмену или передачи данных так?
Да, только есть нюансы, все переменные в конфигурации, в ПЛК - слейве будут глобальные и энергонезависимые. Если ПЛК - мастер, то переменные будут просто глобальные. Переменным лучше дать имена в конфигурации и из программы обращаться к ним по именам.
А например через вывод символьной конфигурации, Содесис ОРС 0.2 и Скаду, можно получить доступ вообще ко всем переменным проекта.
Последний раз редактировалось kondor3000; 01.04.2022 в 09:51.
Для новичков удобнее конфигурация, для продвинутых есть обмен через библиотеки. А то что у вас не работает, скорее всего ошибки в настройках. Я проверял на ПЛК 154, у меня всё работало через конфигурацию и вообще без каких либо ФБ (функц. блоков) .
ЗЫ Просмотрел руководство на ПЛК100 и ничего не нашёл по поводу ID, зато нашёл примеры подключения двух ПЛК 100, там ничего нет вообще, кроме конфигурации, так что на счёт ID это всё фигня. Вот примеры соединения 2 ПЛК 100 по Модбас TCP между собой:
Последний раз редактировалось kondor3000; 02.04.2022 в 00:19.
Если ПЛК слейв то как бы и библиотеки не нужны, хватает конфигурации, ибо когда спросили, тогда и ответ будет дан.
Адресация в ПЛК с 0, но в программах иногда необходимо ставить с 1.
Не забываем по ID, почему то сотая серия не будет отвечать если просто задать IP и порт.
Не забываем о выравнивании переменных кратно своей длине данных, есть в документации по программированию ПЛК.
Начните банально с одной переменной int и потом шагните к float и все будет видно.