Форум программистов, компьютерный форум, киберфорум
Наши страницы

Контроллеры PLC

Войти
Регистрация
Восстановить пароль
 
 
Tyiler
49 / 49 / 3
Регистрация: 30.05.2014
Сообщений: 81
#1

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

15.07.2014, 08:04. Просмотров 14755. Ответов 47
Метки нет (Все метки)

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

* - версия 1.1


Пример:
  • Заполнение таблицы сигналов
    Библиотека для обмена данными с ПЛК Siemens S7-300/400
  • Связь с ПЛК
    Код
      // создаем клиент
    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. Чтение данных
    Код
        bool err;
    
     int val1 =  cl.ReadInt16("DriveFlt", out err);
    
    int val2 =  cl.ReadByte("Press", out err);
    
    double val3 = cl.ReadReal("Flow", out err);
  • 4. Запись данных
    Код
        cl.WriteInt32("Force", 34, out err);

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


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

Скачать (исходник и мануал прилагаются): PLCS7_NET_V1.1.rar
8
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.07.2014, 08:04
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Библиотека для обмена данными с ПЛК Siemens S7-300/400 (Контроллеры PLC):

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

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

Перенос проекта для WPLSoft на Siemens 300 - Контроллеры PLC
Доброго времени суток , у меня такой вопрос , у нас есть бетонный завод , стоят там контроллеры семейства SIEMENS 300 конт, и решили...

Подключение термометра сопротивления к ПЛК Siemens - Контроллеры PLC
Доброго времени суток. У меня возник такой вопрос, как подключит термометор к ПЛС??? Хочу собрать схему по каторй можно включать и...

Соединение ПЛК S7-400 со SCADA - Контроллеры PLC
Добрый день! Передо мной стоит задача запрограммировать контроллер на базе CPU S7-414 и подключить его к SCADA. Если с...

Организация связи между ПЛК Siemens Logo и ПК - Контроллеры PLC
могите плиз сам в этой теме впервые имеем ПЛК siemens logo и пк нужно организовать передачу данных о состоянии работы программы на...

47
ceasar
0 / 0 / 0
Регистрация: 31.03.2016
Сообщений: 12
25.04.2016, 09:21 #31
Цитата Сообщение от Militar347 Посмотреть сообщение
Все подключается и работает.
Спасибо большое за проверку! На выходных попробовал подключиться к S7-300(удалось получить только его) - тоже все работает и первый, и второй пример.

"в программе поменял только тип получаемой переменной" - ну да, нужно было сменить на float, если у тебя в таблице контроллера real)
0
!Slava
4 / 4 / 1
Регистрация: 20.06.2013
Сообщений: 30
28.07.2016, 07:28 #32
Здравствуйте!!!
Никто не в курсе, почему если в файле TableSignal.xlsx указываешь больше шести перемеренных, функции возвращают не верные значения???
Заранее спасибо за ответ!!!
0
Militar347
3 / 3 / 0
Регистрация: 05.08.2015
Сообщений: 13
28.07.2016, 08:12 #33
Скорее всего проблема с адресацией на контроллере
0
!Slava
4 / 4 / 1
Регистрация: 20.06.2013
Сообщений: 30
28.07.2016, 18:24 #34
Поясни, пожалуйста...
0
Militar347
3 / 3 / 0
Регистрация: 05.08.2015
Сообщений: 13
29.07.2016, 15:40 #35
Адреса в этом файле должны совпадать с адресацией переменных на контроллере(параметр offset)
1
malkot
77 / 17 / 3
Регистрация: 17.03.2016
Сообщений: 152
14.04.2017, 13:22 #36
Подскажите пожалуйста смогу ли я этой библиотекой читать данные из контроллера Siemens Simotion?
0
quench
0 / 0 / 0
Регистрация: 17.06.2008
Сообщений: 22
13.12.2017, 10:18 #37
Цитата Сообщение от 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
malkot
77 / 17 / 3
Регистрация: 17.03.2016
Сообщений: 152
13.12.2017, 11:21 #38
Предлагаю следующую библиотеку для обмена с контроллерами siemens серии S7-200, 300, 400, 1200* для платформы NET.
Берете Microsoft Visual Studio, прицепляете туда эту библиотеку и создаете приложение для чтения/записи значений входов/выходов,меркеров,таймеров,регистров блоков данных
1
quench
0 / 0 / 0
Регистрация: 17.06.2008
Сообщений: 22
13.12.2017, 12:45 #39
Предлагаю следующую библиотеку для обмена с контроллерами siemens серии S7-200, 300, 400, 1200* для платформы NET.
Берете Microsoft Visual Studio, прицепляете туда эту библиотеку и создаете приложение для чтения/записи значений входов/выходов,меркеров,таймеров,регистров блоков данных
прекрасно, написали, скомпилировали и далее? нужно же интегрировать скомпилированный проект.
для примера два варианта конфигурации железа привел.

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

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

Добавлено через 7 минут
Библиотека работает типа как "Variable Table" в Simatic Manager )))
1
quench
0 / 0 / 0
Регистрация: 17.06.2008
Сообщений: 22
13.12.2017, 15:08 #41
спасибо, теперь понятно в какую сторону дуть.
мне одно еще не понятно, как сконфигурированная система, смотри мои примеры, позволяет "вмешиваться"
в обмен инофрмацией?
Если в конфиге контролера не указать партнера, то для контролера партнер будет осутствовать.
Затем считать одно, а записать в чужое устройство... а как же безопасность? DB могут и фукциональным
блокам принадлежат. Обычным способом куча предупреждений выходит при попытке заглянуть в DB.
Нектороые, еслт не изменет память, не позволяют online состояния переменных просматривать.
А здесь опенсурсная библиотека
Variable Table мы создаем в проекте, она как бы своя. А здесь что то подключилось, считало, записало.

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

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

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

проникся
BIG FAT WARNING:
This is beta code and information. You assume all responsibility for its use.

DANGER: DON'T connect to a PLC unless you are certain it is safe to do so!!! It is assumed that you are experienced in PLC programming/troubleshooting and that you know EXACTLY what you are doing. PLCs are used to control industrial processes, motors, steam valves, hydraulic presses, etc. You are ABSOLUTELY RESPONSIBLE for ensuring that NO-ONE is in danger of being injured or killed because you affected the operation of a running PLC.
Also expect that buggy drivers could write data even when you expect that they will read only !!!
вообщем это игрушка и очень опасная игрушка. но все одно интересно, качнул, оказывается имеется поддержка VBA, что сейчас под рукой.
Возможно, кто поможет библиотеку с VBA консолидировать
0
malkot
77 / 17 / 3
Регистрация: 17.03.2016
Сообщений: 152
13.12.2017, 22:18 #42
Вот пользуйтесь, здесь только чтение. Как писать я думаю сами разберетесь.
Если что ехе-шник лежит здесь:
WindowsFormsApplication1\WindowsFormsApplication1\bin\Debug\WindowsFormsApplication1.exe
это проект на visual studio
1
Вложения
Тип файла: rar WindowsFormsApplication1.rar (577.5 Кб, 13 просмотров)
mevn
136 / 103 / 23
Регистрация: 06.10.2008
Сообщений: 451
17.12.2017, 17:33 #43
А с 1500 контроллерами она работать может?
Если не сложно, подскажите пожалуйста, в чем различие у 1500 с остальными?
0
Максимка111
0 / 0 / 0
Регистрация: 20.12.2017
Сообщений: 1
21.12.2017, 10:31 #44
Здравствуйте!
Не могли бы подсказать, в чём может быть причина ошибки 13 "Переменная с именем...имеет другой тип"?
Типы перепроверял несколько раз, всё подходит, всё правильно.
0
ivanderun
0 / 0 / 0
Регистрация: 20.12.2017
Сообщений: 2
25.12.2017, 13:22 #45
Цитата Сообщение от Максимка111 Посмотреть сообщение
Здравствуйте!
Не могли бы подсказать, в чём может быть причина ошибки 13 "Переменная с именем...имеет другой тип"?
Типы перепроверял несколько раз, всё подходит, всё правильно
Вот та-же беда
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2017, 13:22
Привет! Вот еще темы с ответами:

Различия линейки ПЛК Allen-bradley Micrologix vs Siemens Logo - Контроллеры PLC
Народ,скажите пожалуйста,в чём различия линейки плк allen-bradley micrologix от siemens logo! ? какой из них лучше?

Получить данные с ПЛК S7-300 - Контроллеры PLC
Добрый день. Я весьма далекий человек от контроллеров siemens, но по ряду обстоятельств пришлось столкнуться с задачей. Имеется...

Siemens S7-300. Кнопка с самовозвратом - Контроллеры PLC
Добрый день! В процессе работы понадобилось реализовать программную кнопку с самовозвратом, т.е. дискретную переменную, всегда имеющую...

Siemens S7-300 в паре с Schneider lmc058 - Контроллеры PLC
Всем добрый день, возник такой вопрос, нужно обьеденить lmc058 с s7-300, тоесть своего рода S7-300 должен выступать как промежуточный...


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

Или воспользуйтесь поиском по форуму:
45
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru