Форум программистов, компьютерный форум, киберфорум
Контроллеры PLC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/282: Рейтинг темы: голосов - 282, средняя оценка - 5.00
54 / 54 / 2
Регистрация: 30.05.2014
Сообщений: 83

Библиотека для обмена данными с ПЛК Siemens S7-300/400

15.07.2014, 08:04. Показов 57065. Ответов 51
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Предлагаю следующую библиотеку для обмена с контроллерами siemens серии S7-200, 300, 400, 1200* для платформы NET.
  • Обмениваться можно переменными типа DB и меркерами*.
  • Данные для обмена объявляются в файлах формат txt, xlsx или xml.
  • Данные читаются и пишутся по именам заданным в этом файле.

* - версия 1.1


Пример:
  • Заполнение таблицы сигналов

  • Связь с ПЛК
    Code
    1
    2
    3
    4
    5
    6
    7
    8
    
      // создаем клиент
    PLCS7_NET.CL.Client cl = new PLCS7_NET.CL.Client();
     
    // иниц-ия данных      
    cl.Init(@".\tableSignal.xlsx", TypeInitFile.xlsx);
     
    // соединяемся с ПЛК
    int er =  cl.Connect(_ipAddr, _rack, _slot, _timeUpd);
  • 3. Чтение данных
    Code
    1
    2
    3
    4
    5
    6
    7
    
        bool err;
     
     int val1 =  cl.ReadInt16("DriveFlt", out err);
     
    int val2 =  cl.ReadByte("Press", out err);
     
    double val3 = cl.ReadReal("Flow", out err);
  • 4. Запись данных
    Code
    1
    
        cl.WriteInt32("Force", 34, out err);

Скачать (исходник и мануал прилагаются): PLCS7_NET_RUS_V1.0.rar


Изменения версии 1.1:
- добавлена возможность чтения/записи меркер области;
- добавлен контроллер S7-1200

Скачать (исходник и мануал прилагаются): PLCS7_NET_V1.1.rar


-----------------------------------------------------------------------------------------
12
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.07.2014, 08:04
Ответы с готовыми решениями:

Libnodave. Библиотека для доступа к ПЛК Siemens серии S7
Для модераторов: По мотивам https://www.cyberforum.ru/post2368464.html набивка мануал-факами. Тему или оставить тут или прикрепить или в...

Загрузка программы из ПЛК Siemens серии S7-400
Добрый день! Возникла необходимость извлечь из контроллера Сименс S7-414 загруженную в него программу. Я подключаюсь к нему при помощи...

IP защита ПЛК Siemens Simatic 300
Здравствуйте, хочу узнать мнение опытных людей о том как контроллеры Siemens 300, 400 переносят пыль, в частности угольную. У нас на...

51
0 / 0 / 0
Регистрация: 31.03.2016
Сообщений: 12
22.04.2016, 10:18
Студворк — интернет-сервис помощи студентам
Да компилировал, пробовал подключиться к контроллеру вернуло значение "val=0"( хотя должно быть 27.
0
3 / 3 / 0
Регистрация: 05.08.2015
Сообщений: 13
22.04.2016, 10:21
я чуть позже попробую - отпишусь.
0
0 / 0 / 0
Регистрация: 31.03.2016
Сообщений: 12
22.04.2016, 10:24
Спасибо большое! Жду результатов.
0
3 / 3 / 0
Регистрация: 05.08.2015
Сообщений: 13
22.04.2016, 15:01
Единственное отличие - получал переменную типа Real. Все таки нужно перепроверить отсутствие флажка Optimized block access, чтобы была возможность работы с косвенной адресацией (при компиляции блока DB1 в таблице будет отображаться смещение (offset)).
Миниатюры
Библиотека для обмена данными с ПЛК Siemens S7-300/400   Библиотека для обмена данными с ПЛК Siemens S7-300/400   Библиотека для обмена данными с ПЛК Siemens S7-300/400  

0
0 / 0 / 0
Регистрация: 31.03.2016
Сообщений: 12
22.04.2016, 15:41
Спасибо большое за помощь! Это хорошо что код рабочий. Значит дело все таки в контроллере, а флажок при возможности попрошу что бы проверили стоит он или нет.

А можно я тебе скину примерчик написанный с помощью библиотеки LibNoDave, а ты запустишь у себя и проверишь будет он работать с 1200-м или нет?
0
3 / 3 / 0
Регистрация: 05.08.2015
Сообщений: 13
22.04.2016, 15:42
скидывай, посмотрю
0
0 / 0 / 0
Регистрация: 31.03.2016
Сообщений: 12
22.04.2016, 17:34
Во вложении проект. Напишешь получится или нет)
0
0 / 0 / 0
Регистрация: 31.03.2016
Сообщений: 12
22.04.2016, 17:35
Вложение.
Вложения
Тип файла: zip ControllerReader.zip (285.6 Кб, 258 просмотров)
0
3 / 3 / 0
Регистрация: 05.08.2015
Сообщений: 13
25.04.2016, 08:59
Все подключается и работает.
Миниатюры
Библиотека для обмена данными с ПЛК Siemens S7-300/400  
1
3 / 3 / 0
Регистрация: 05.08.2015
Сообщений: 13
25.04.2016, 08:59
в программе поменял только тип получаемой переменной
1
0 / 0 / 0
Регистрация: 31.03.2016
Сообщений: 12
25.04.2016, 09:21
Цитата Сообщение от Militar347 Посмотреть сообщение
Все подключается и работает.
Спасибо большое за проверку! На выходных попробовал подключиться к S7-300(удалось получить только его) - тоже все работает и первый, и второй пример.

"в программе поменял только тип получаемой переменной" - ну да, нужно было сменить на float, если у тебя в таблице контроллера real)
0
4 / 4 / 2
Регистрация: 20.06.2013
Сообщений: 30
28.07.2016, 07:28
Здравствуйте!!!
Никто не в курсе, почему если в файле TableSignal.xlsx указываешь больше шести перемеренных, функции возвращают не верные значения???
Заранее спасибо за ответ!!!
0
3 / 3 / 0
Регистрация: 05.08.2015
Сообщений: 13
28.07.2016, 08:12
Скорее всего проблема с адресацией на контроллере
0
4 / 4 / 2
Регистрация: 20.06.2013
Сообщений: 30
28.07.2016, 18:24
Поясни, пожалуйста...
0
3 / 3 / 0
Регистрация: 05.08.2015
Сообщений: 13
29.07.2016, 15:40
Адреса в этом файле должны совпадать с адресацией переменных на контроллере(параметр offset)
1
91 / 29 / 6
Регистрация: 17.03.2016
Сообщений: 212
14.04.2017, 13:22
Подскажите пожалуйста смогу ли я этой библиотекой читать данные из контроллера Siemens Simotion?
0
 Аватар для quench
1 / 1 / 0
Регистрация: 17.06.2008
Сообщений: 39
13.12.2017, 10:18
Цитата Сообщение от Militar347 Посмотреть сообщение

А в какой средой разработки для PLC пользуетесь?
если можно, разъясните о среде в которой все это действо по обмену информацией "настраивается".
Вижу проекты PLCS, вижу экселевские таблицы и упоминания о библиотеках...
А так же упоминания о попытках настроить обмен без доступа к программам контролеров..
Хочется перечитав имеющиеся страницы понять о чем речь.
Пока что, как в анекдоте:"Папа а с кем ты сейчас разговаривал?"
о Step 5,5 и TIA я в курсе и WinCC мне известен, PLCS от сименса не видел еще.

Добавлено через 8 минут
ps:

для примера:
созданы в разных средах, например
LOgoSOftComfort, LOGO! опрашивается, как 200й, TIA c 315F и 400й (ни разу не программировал) в Step c 5.5
1. Соеденены в сеть ProfiNet между собо без SCADA
2. со SDCADA
0
91 / 29 / 6
Регистрация: 17.03.2016
Сообщений: 212
13.12.2017, 11:21
Предлагаю следующую библиотеку для обмена с контроллерами siemens серии S7-200, 300, 400, 1200* для платформы NET.
Берете Microsoft Visual Studio, прицепляете туда эту библиотеку и создаете приложение для чтения/записи значений входов/выходов,меркеров,таймеров,регистров блоков данных
1
 Аватар для quench
1 / 1 / 0
Регистрация: 17.06.2008
Сообщений: 39
13.12.2017, 12:45
Предлагаю следующую библиотеку для обмена с контроллерами siemens серии S7-200, 300, 400, 1200* для платформы NET.
Берете Microsoft Visual Studio, прицепляете туда эту библиотеку и создаете приложение для чтения/записи значений входов/выходов,меркеров,таймеров,регистров блоков данных
прекрасно, написали, скомпилировали и далее? нужно же интегрировать скомпилированный проект.
для примера два варианта конфигурации железа привел.

доступа к программам контролеров нет, как я понял или может и не быть.
нужна среда где скомпилированный проект запускать или оболочку так же сами пишем и
подсоединяемся к существующей системе?

Повторюсь,тогда зачем в архивах проект PLCS?
цитату вопроса я приводил
"А в какой средой разработки для PLC пользуетесь?"
Microsoft Visual Studio это не среда разработки для PLC
0
91 / 29 / 6
Регистрация: 17.03.2016
Сообщений: 212
13.12.2017, 14:38
Запускаем написанное и скомпилированное приложение из под windows и пишем/читаем по событиям.
Например:
- сделали "label-ы" на форме и по таймеру записываете в них значение входов i0.0 i0.1 true/false или нарисовали кружок и в зависимости от состояния входа красите его в определенный цвет.
- сделали textbox, записали в него значение которое Вам нужно и по событию нажатия кнопки пишете это значение в определенный регистр определенного блока данных.
Эта библиотека только читает и записывает данные в определенные участки памяти контроллера, она никак не взаимодействует с программой внутри контроллера.
погуглите библиотеку Libnodave

Добавлено через 7 минут
Библиотека работает типа как "Variable Table" в Simatic Manager )))
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.12.2017, 14:38

Соединение датчика температуры с ПЛК Siemens S7-300 по RS-485
Здравствуйте! Могу ли я подключить датчик температуры по RS-485 с ПЛК Siemens S7-300? Если нет то как можно реализовать соединение

Запрос к области памяти ПЛК siemens s 300 по сети Profibus
Доброго времени суток. Возникла необходимость соединить 2 контроллера Siemens s 300 по сети Profibus. сеть реализовал Accessible nodes...

[Siemens s7 314c 2dp] Корректная программа для ПЛК одной версии не записывается в ПЛК другой версии
Здравствуйте! Прошу совета как быть. Ситуация следующая: Siemens s7 314c 2dp. ПЛК версии 1.0 вышел из строя. Слетела прошивка....

Выбор ноутбука для работы с ПЛК Siemens и др
Всем доброго времени суток. Прошу совета от знающих. Наш отдел занимается ремонтом технологического оборудования, у которого есть ПЛК....

Какие модули расширения подходят для конкретного ПЛК Siemens
Доброго времени суток. Вопрос: в какой документации указано какие модули расширения подходят для конкретного ПЛК Сименс. И после установки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов. Логика кажется понятной: 1. Находим ключевые слова. 2. Добавляем их на. . .
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302 Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru