S7 200/300

VISA, TCP/IP, USB, CAN, GPIB и подобные протоколы
katerina
beginner
beginner
Сообщения: 18
Зарегистрирован: 03 мар 2014, 10:39
Версия LabVIEW: 2012
Контактная информация:

S7 200/300

Сообщение katerina »

Здравствуйте,

не подскажите, как подключиться к ПЛК Siemens S7 200 и 300 через Labview? Необходимо читать и менять значения переменных. Необходимо ли использовать OPC сервер? можно ли обойтись без него?

Подскажите, пожалуйста, с чего начать.
Аватара пользователя
Vasiliy Baev

Activity Gold Bronze
leader
leader
Сообщения: 545
Зарегистрирован: 31 окт 2011, 09:02
Награды: 4
Версия LabVIEW: 2019
Откуда: Санкт-Петербург
Благодарил (а): 9 раз
Поблагодарили: 10 раз
Контактная информация:

Re: S7 200/300

Сообщение Vasiliy Baev »

katerina, Единственный нормальный способ взаимодействия возможен только через OPC. Всё остальное очень проблемно. Мне удалось реализовать TCP/IP между S400 и станцией с LabVIEW, но это было далеко не самый оптимальный и надежный вариант.
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2211
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 27 раз

Re: S7 200/300

Сообщение Borjomy_1 »

Вот чуть модифицированная библиотечка, истоки которой лежат на NI.com В ней исправлены мелкие ошибки.
Позволяет писать/забирать данные из DB и прочих мест. Вам будет интересны S7_init_TCP.vi, обмен через S7_read_write_data TCP_arr.vi, закрывать соединение стандартным TCP Close Connection.vi
Точно работает на S7-300 и S7-400
Вложения
S7_TCP_API L.zip
(264.05 КБ) 205 скачиваний
Последний раз редактировалось Borjomy_1 13 май 2014, 10:52, всего редактировалось 1 раз.
katerina
beginner
beginner
Сообщения: 18
Зарегистрирован: 03 мар 2014, 10:39
Версия LabVIEW: 2012
Контактная информация:

Re: S7 200/300

Сообщение katerina »

Да, спасибо большое! Мне удолось подключиться через TCP, но не значения всех переменных получается менять. Вот теперь пытаюсь подключиться через OPC. Но вот тут вообще не знаю с чего начать)) может быть есть какой-нибудь пример или инструкции?
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2211
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 27 раз

Re: S7 200/300

Сообщение Borjomy_1 »

По поводу примера поищу.
Что касается "не значения всех переменных получается менять" - это как? VI выдает ошибку, значение остается без изменений? Мы не сталкивались с тем, чтобы не удавалось изменить значение. В основном проблемы были в виде неправильного указания слота и разных порядков следования байт в словах / конвертации типов данных.
katerina
beginner
beginner
Сообщения: 18
Зарегистрирован: 03 мар 2014, 10:39
Версия LabVIEW: 2012
Контактная информация:

Re: S7 200/300

Сообщение katerina »

А не могли бы Вы еще раз выложить S7_TCP_API L.zip? Я не могу скачать.

Я тоже использовала библиотеки с https://decibel.ni.com/content/docs/DOC-5467. Но я могу читать - записывать не все переменные. Значение просто не меняется, VI никакой ошибки не выдает.
Например, я не могу поменять переменную типа dint c адресом %DB10.DBD38. и я не могу прочитать/поменять ее значения.
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2211
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 27 раз

Re: S7 200/300

Сообщение Borjomy_1 »

Пост с библиотекой обновил. Попробуйте вот такой вариант (использует функции из моей библиотеки). Установите IP адрес и слот. Если запрета доступа у вас в контроллере не установлено, то должно получиться.
Вложения
Работа с S7.vi
(11.83 КБ) 192 скачивания
katerina
beginner
beginner
Сообщения: 18
Зарегистрирован: 03 мар 2014, 10:39
Версия LabVIEW: 2012
Контактная информация:

Re: S7 200/300

Сообщение katerina »

Спасибо большое за библиотеки. Я не могу открыть файл Работа с S7.vi. Мне кажется, он не может найти библиотеки (ошибку не выдает, ничего не выдает, просто не открывает файл). У Вас в какой папке эти библиотеки расположены?
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2211
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 27 раз

Re: S7 200/300

Сообщение Borjomy_1 »

Попробуйте собрать самостоятельно:
Вложения
Работа с S7.png
katerina
beginner
beginner
Сообщения: 18
Зарегистрирован: 03 мар 2014, 10:39
Версия LabVIEW: 2012
Контактная информация:

Re: S7 200/300

Сообщение katerina »

Нет, к сожалению, я так и не могу изменять нужные мне переменные. Но я могу их прочитать.
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2211
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 27 раз

Re: S7 200/300

Сообщение Borjomy_1 »

А можете состав оборудования перечислить?
И вы точно уверены, что программа контроллера или другой контроллер не модифицирует эти данные? Просто если это так, то эффекта, естественно, не будет.
Запись не работает с конкретными полями или вообще, в принципе?
AndreyDmitriev

Activity Professionalism Tutorials Gold Black
VIP
VIP
Сообщения: 1337
Зарегистрирован: 03 фев 2010, 00:42
Награды: 6
Версия LabVIEW: 6.1 - 2024
Откуда: Германия
Благодарил (а): 1 раз
Поблагодарили: 42 раза
Контактная информация:

Re: S7 200/300

Сообщение AndreyDmitriev »

katerina писал(а):Нет, к сожалению, я так и не могу изменять нужные мне переменные. Но я могу их прочитать.
А из OPC Scout вы их тоже менять не можете?
katerina
beginner
beginner
Сообщения: 18
Зарегистрирован: 03 мар 2014, 10:39
Версия LabVIEW: 2012
Контактная информация:

Re: S7 200/300

Сообщение katerina »

siemens simatic ipc227d. С помощью файла я могу менять некоторые переменные (в основном boolean), некоторые нет. Эти переменные не изменяются внетри программы и я могу легко помянять их значения через tia portal.

Вы, кстати, слушайно не нашли пример для OPC?
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2211
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 27 раз

Re: S7 200/300

Сообщение Borjomy_1 »

на IPC 227 работает программа под :labview: ? Нам, кстати, не удалось под LVRT работать на нем, только под Windows Embedded....
А контроллер S7-xx какой?
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2211
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 27 раз

Re: S7 200/300

Сообщение Borjomy_1 »

Что касается OPC. Доступ через DataSocket. Метод работает в принципе на всех версиях :labview: , однако, если OPC находится на другой рабочей станции, требуется тонкая настройка DCON (это в недрах Windows) с целью указания имени разрешенного пользователя.
Это обычное чтение-запись через DataSocket
Это обычное чтение-запись через DataSocket

Тонкость в указании тега
Выбираем OPC сервер с помощью функции "DataSocket Select URL". Вызывать каждый раз функцию не обязательно, нужен только получаемый URL
Выбираем OPC сервер с помощью функции "DataSocket Select URL". Вызывать каждый раз функцию не обязательно, нужен только получаемый URL
Выбор тега.PNG
Должна получиться строка что-то вроде "opc://localhost/National Instruments.NIOPCServers.V5/Channel2.Device1.DB01"
Ответить

Вернуться в «Коммуникация с приборами»