Любые успешные коммуникации Profibus из.NET?
Кто-нибудь успешно говорил Profibus из приложения.NET?
Если вы это сделали, какое устройство / карту вы использовали для этого, какое приложение, и использовали ли вы какой-либо ранее существующий или доступный код?
3 ответа
Мы не использовали Profibus, но использовали DeviceNET (еще один протокол на основе CAN), Ethernet/IP и ControlNet, которые сталкиваются с аналогичными проблемами.
Мы занимаемся этим с конца 1990-х годов и поэтому полагаемся главным образом на собственный сгенерированный код с использованием готового оборудования. Компании, которые показали долговечность в течение того периода, который я помню:
- AnyBus (HMS, http://www.anybus.com/), мы недавно начали использовать их шлюзовые продукты, поскольку мы можем размещать интерфейсы fieldbus близко к аппаратному обеспечению и затем обмениваться данными по обычному Ethernet (обычно используя Ethernet/IP http://www.odva.org/). Это дает преимущество разделения оборудования и ПК с использованием только сетевого кабеля. Классы Ethernet/IP .NET были написаны нами самими, так как в то время на рынке не было ничего особенного. Я уверен, что быстрый поиск в Google найдет подходящие библиотеки классов
- SST ( http://www.mysst.com/) имеет интерфейсы полевой шины уже более десяти лет. Последняя SST-карта, которую мы использовали для DeviceNET, все еще имела только пример кода VB6. Хороший выбор поддержки полевой шины и различных форм-факторов, например, PC104, PCI, PMCIA
- Beckhoff / Wago ( http://www.beckhoff.com/, www.wago.com), как правило, мы используем Beckhoff для ввода-вывода не только для интерфейсных карт, но опять же для компании, которая существует уже давно. У них также есть продукты, которые поддерживают экспозицию с использованием OPC (еще один способ получения информации ввода-вывода без непосредственного взаимодействия с оборудованием / devicedrivers)
Я предлагаю не использовать интерфейсы OPC непосредственно с аппаратным обеспечением (это нормально для связи с ПК (.NET)->PLC->Profibus), поскольку вам необходимо убедиться, что система управления реагирует на потерю контроля со стороны вашего приложения.NET. Я предполагаю, что вам нужен мастер Profibus здесь (не раб), поэтому, если ваша система управления по своей природе является отказоустойчивой, то потеря связи должна означать, что система управления переходит в состояние "ожидания" и, следовательно, большая часть Ввод / вывод вернется в безопасное состояние.
Мы также стараемся гарантировать, что мы не поместим связанный с безопасностью код в.NET. Большая часть нашего кода.NET является пользовательским интерфейсом от ПЛК, но в некоторых местах мы напрямую контролируем полевую шину, но обеспечиваем, чтобы аппаратные блокировки предотвращали небезопасную работу, используя либо защитные переключатели / реле, либо небольшой ПЛК с задачей только блокировки, И прежде всего сделать систему отказоустойчивой! Потеря связи из кода.NET должна отключить автоматизацию до состояния отказоустойчивости.
Мы использовали Steeplechase для подключения нашего Profibus к нашей системе автоматического выбора.