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

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

15.07.2014, 08:04. Показов 57338. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru