Приветствую!
Выкладываю пример драйвера связи контроллера Siemens S7-1500 и LabVIEW, чтобы самому не забыть и может кому-нибудь ещё пригодится.
Делал не с нуля и когда начинал, нашёл следующие варианты:
1) OPC - не подошёл, т.к. лишняя прослойка склонная к глюкам и инсталлер с ним это тоже не просто.
2) Собственный TCP протокол - это тоже куча не нужной ручной работы.
3) Библиотека libnodave - наверное, классная штука, но это лишние зависимости в проекте от внешних dll, ну и просто-напросто "сложно" понятное у них описание.
4) Самым удобным и понятным оказался вариант от DMC на полностью встроенных в LV функциях. Этот пример основан на более фундаментальном решении и его на форуме тоже предлагают использовать. Там есть видимо куча интересных функций вплоть до доступа к оптимизированным блокам данных, однако всё выглядит сыро и плохо документировано.
Пример предоставленный DMC оказался для меня самым понятным, но он слишком упрощённый в одном и усложнённый в другом (естественно под мою задачу).
Приложенный пример гораздо ближе к реальному применению, и снабжён подробными комментариями на русском
Из значимых доделок:
1) Подключение переделано с 1200 серии на 1500 (проверено на CPU 1512SP-1 PN и на CPU 1517-3 PN/DP)
2) Сделано не только чтение но и запись в ПЛК.
3) Упрощен процесс изменения количества и типа передаваемых данных (ненужно в ручную собирать и разбирать данные в LV)
4) Сделано восстановление связи после обрыва и несколько других мелочей.
Из упрощений под мою задачу:
1) В обе стороны передаётся по два блока по 440 байт (880 байт в одну сторону) (можно легко поменять).
2) Передавать можно только переменные типа Real, Int и Bool, объединённые в массивы.
3) Можно относительно легко выбирать, сколько и каких переменных передавать, просто указывая диапазон адресов массива нужного типа.
Что интересно: код уже долго тестировался, но вдруг кто найдёт ошибки? или есть предложения по улучшению кода?
Пример связи Siemens S7-1500 и LabVIEW без OPC
-
- interested
- Сообщения: 1
- Зарегистрирован: 05 ноя 2017, 17:57
- Версия LabVIEW: 2017
- Контактная информация:
Пример связи Siemens S7-1500 и LabVIEW без OPC
- Вложения
-
- Driver_S7.zip
- Проект в LV
- (308.03 КБ) 267 скачиваний
-
- S7_communications_LabView(TIA_v14).zip
- Проект в TIA Portal v14
- (1.42 МБ) 257 скачиваний
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 9 Ответы
- 1847 Просмотры
-
Последнее сообщение BARD
-
- 7 Ответы
- 2240 Просмотры
-
Последнее сообщение ujin1
-
- 0 Ответы
- 926 Просмотры
-
Последнее сообщение Juri
-
- 0 Ответы
- 953 Просмотры
-
Последнее сообщение Juri
-
- 3 Ответы
- 2075 Просмотры
-
Последнее сообщение PozhiloyGoblin