Есть ли успешная связь по протоколу Profibus с .NET?
-
09-06-2019 - |
Вопрос
Кто-нибудь успешно говорил профибус из приложения .NET?
Если да, то какое устройство/карту вы использовали для этого, какое это было приложение и использовали ли вы какой-либо ранее существовавший или доступный код?
Решение
Мы не использовали Profibus, но использовали ДевайсНЕТ (еще один протокол на базе CAN), Ethernet/IP и Контрольная сеть все они имеют схожие проблемы.
Мы занимаемся этим с конца 1990-х годов и поэтому полагаемся в основном на собственный код, сгенерированный с использованием готового оборудования.Насколько я помню, компании, продемонстрировавшие долголетие в тот период:
- AnyBus (HMS, www.anybus.com) мы недавно начали использовать их шлюзовые продукты, поскольку мы можем размещать интерфейсы полевой шины рядом с оборудованием, а затем обмениваться данными через обычный Ethernet (обычно с использованием Ethernet/IP). www.odva.org).Преимущество этого метода состоит в том, что оборудование и ПК можно разделить с помощью только сетевого кабеля.Классы Ethernet/IP .NET были написаны нами, поскольку в то время на рынке не было ничего особенного.Я уверен, что быстрый поиск в Google найдет подходящие библиотеки классов.
- ССТ (www.mysst.com) имеют интерфейсы полевой шины уже более десяти лет.Последняя карта SST, которую мы использовали для DeviceNET, все еще содержала только пример кода VB6.Хороший выбор поддержки полевой шины и различных форм-факторов, например.ПК104, PCI, PMCIA
- Бекхофф/Ваго (www.beckhoff.com, www.wago.com) мы обычно используем Beckhoff для ввода-вывода больше, чем для интерфейсных карт, но опять же, это компания, которая существует уже давно.У них также есть продукты, поддерживающие раскрытие с использованием OPC (еще один способ получить информацию ввода-вывода без прямого взаимодействия с оборудованием/драйверами устройств).
Я предлагаю не использовать интерфейсы OPC для оборудования напрямую (это нормально для связи с использованием ПК (.NET)->PLC->Profibus), так как вам необходимо убедиться, что система управления реагирует на потерю управления из вашего .NET-приложения.Я предполагаю, что здесь вам нужен мастер Profibus (а не ведомый), поэтому, пока ваша система управления по своей сути отказоустойчива, потеря связи должна означать, что система управления переходит в состояние «холостой» и, следовательно, большая часть Ввод-вывод вернется в безопасное состояние.
Мы также стараемся гарантировать, что мы не помещаем в .NET код, связанный с безопасностью.Большая часть нашего кода .NET представляет собой пользовательский интерфейс ПЛК, но в некоторых местах мы управляем полевой шиной напрямую, но обеспечиваем, чтобы аппаратные блокировки предотвращали небезопасную работу, используя либо защитные выключатели/реле, либо небольшой ПЛК, задача которого только блокировка. . И прежде всего сделать систему отказоустойчивой! Потеря связи с кодом .NET должна перевести автоматизацию в безопасное состояние.
Другие советы
Мы использовали Steeplechase для подключения к нашему Profibus и нашей автоматизированной системе подбора.
Попробуй это: http://libnodave.sourceforge.net