Комментарии 14
А Вы не рассматривали подобные решения от компаний? Они есть вообще? Если помощь нужна в С# — обращайтесь. Тема насущна.
К сожалению, ни чего из готовых решений (WinMOD, Mynah MiMiC, Siemens SIMIT) попробовать не удалось. Для таких инструментов очень сложно получить демонстрационную версию. Кроме того стоят они серьёзных денег, и нашему, далёкому от программирования, руководству будет сложно объяснить необходимость таких вложении.
Спасибо за предложение. Сейчас, пока набираюсь мотивации для новой версии с более гибкой архитектурой.
Спасибо за предложение. Сейчас, пока набираюсь мотивации для новой версии с более гибкой архитектурой.
Я работаю в несколько похожей теме — много датчиков на RS-485 и Ethernet -шинах.
И также была задача протестировать все. С софтом все понятно, но когда опустились до железа — стало интересней. Смысл в том, что заглушка не должна вносить погрешность еще и от своей работы. Потому я за пару-тройку недель написал симуляторы всех используемых нами устройств, объединил с несколькими настоящими устройствами, нашедшимися в офисе, и подключил к виртуальной машине, на которой уже ворочался управляющий софт.
Таким образом, удалось протестировать в «боевых» условиях в экстремальных конфигурациях.
Конечно, если вы получаете данные только с Ethernet устройств, нет дополнительной радости от виртуальной эмуляции железа, а вот если используете RS-232/422/485 подключенные устройства — можно заметить интересные особенности по результатам тестирования.
И также была задача протестировать все. С софтом все понятно, но когда опустились до железа — стало интересней. Смысл в том, что заглушка не должна вносить погрешность еще и от своей работы. Потому я за пару-тройку недель написал симуляторы всех используемых нами устройств, объединил с несколькими настоящими устройствами, нашедшимися в офисе, и подключил к виртуальной машине, на которой уже ворочался управляющий софт.
Таким образом, удалось протестировать в «боевых» условиях в экстремальных конфигурациях.
Конечно, если вы получаете данные только с Ethernet устройств, нет дополнительной радости от виртуальной эмуляции железа, а вот если используете RS-232/422/485 подключенные устройства — можно заметить интересные особенности по результатам тестирования.
Так понимаю, занимаетесь разработкой интеллектуальных датчиков и системой их интеграции? У нас немного другая задача, попроще. Датчики и другое оборудование берём уже готовые со стандартными интерфейсами и протоколами (Profibus DP, Modbus). Задачи коммуникациям с ними возложены на ПЛК. Система визуализации тоже готовое решение (WinCC, Citek).
Чотко! Могёте! Зоебись!
Прям какой то 4pda с первонахом и падонкофским сленгом… :(
а не сидя на катушке кабеля, в неотапливаемом помещении, в морозный зимний день
ох, как же это знакомо, сюда ещё можно добавить: или в дождь, с зонтиком, в каске и защитных очках.
А теперь к делу, интересует следующий вопрос: какую прокладку между ОПЦ сервером и самой программой вы используете? Сами написали или есть OpenSource проект?
И в туже тему, почему бы не миновать ОПЦ и управлять самим ПЛК напрямую? Ведь лицензия для ОПЦ тоже не дешёвая.
А, и ещё интересно, как реализованна связь между симулятором и PLCsim?
И напоследок, планируете ли вы сделать тоже самое не только для Сименса но и для Rockwell?
Не совсем понял первый вопрос. Программа является одновременно OPC сервером и клиентом, как говориться – из коробки. Если интересно, что я использовал для реализации этих функций – два платных toolkit-а от Northern Dynamic (Software Toolbox Inc).
Действительно, для связи с ПЛК приходиться использовать OPC сервер от производителя. Например, в случае с Siemens получается Программа<->Siemens Simatic Net OPC<->ПЛК.
Вопрос – как подключиться к ПЛК напрямую? Может я ошибаюсь, но единственный вариант -реализовать фирменный протокол от каждого конкретного производителя ПЛК.
Связь с PLCSim сделана через стандартный COM объект из поставки Siemens.
До полной переработки архитектуры добавлять новые типы соединений не планирую. Просто боюсь, что текущая архитектура развалиться при добавлении новых возможностей.
Действительно, для связи с ПЛК приходиться использовать OPC сервер от производителя. Например, в случае с Siemens получается Программа<->Siemens Simatic Net OPC<->ПЛК.
Вопрос – как подключиться к ПЛК напрямую? Может я ошибаюсь, но единственный вариант -реализовать фирменный протокол от каждого конкретного производителя ПЛК.
Связь с PLCSim сделана через стандартный COM объект из поставки Siemens.
До полной переработки архитектуры добавлять новые типы соединений не планирую. Просто боюсь, что текущая архитектура развалиться при добавлении новых возможностей.
Это как «Программа является одновременно OPC сервером и клиентом? Вы хотите сказать, используя вашу программу, мне не нужно настраивать „Station Manager“-> „OPC Server“ для того чтобы считывать/писать значения в ПЛК? А также не нужно конфигурировать сам ПЛК, чтобы он знал, с кем соеденяться для ОПЦ?
По поводу „Как подлкючиться к ПЛК на прямую“, вы ведь сами написали, что используете только Сименс. Там не так и много протоколов, С7Лан/профибус/МПИ вроде всё. А соеденение между HMI(PC477C/MP377/etc...) <---> PLC, чаще всего S7Lan (Industrial ethernet/Profinet).Такчто протоколов не много, поидее хватит одного профинет. Или я вас не так понял?
По поводу „Как подлкючиться к ПЛК на прямую“, вы ведь сами написали, что используете только Сименс. Там не так и много протоколов, С7Лан/профибус/МПИ вроде всё. А соеденение между HMI(PC477C/MP377/etc...) <---> PLC, чаще всего S7Lan (Industrial ethernet/Profinet).Такчто протоколов не много, поидее хватит одного профинет. Или я вас не так понял?
В моём предыдущем комментарии написано, что без Siemens Simatic Net OPC не обойтись. Кстати сам ПЛК не всегда нужно конфигурировать. Можно сделать так называемую unconfigured connection.
Возможно, вы правы и стоит подумать об альтернативном подключении к ПЛК (без OPC). В любом случае только после переделки архитектуры. Думаю можно попробовать интегрировать LIBNODAVE.
Возможно, вы правы и стоит подумать об альтернативном подключении к ПЛК (без OPC). В любом случае только после переделки архитектуры. Думаю можно попробовать интегрировать LIBNODAVE.
LIBNODAVE игрался с этим, работает давольно стабильно.
Если есть вопросы по этому поводу, обращайтесь, когда есть время, я как раз этим и занимаюсь. Тоже на C#.
«что без Siemens Simatic Net OPC не обойтись» эх, м печально, вот бы найти бесплатную альтернативу, было бы шикарно =)))
Если есть вопросы по этому поводу, обращайтесь, когда есть время, я как раз этим и занимаюсь. Тоже на C#.
«что без Siemens Simatic Net OPC не обойтись» эх, м печально, вот бы найти бесплатную альтернативу, было бы шикарно =)))
Спасибо за статью! Очень интересный амбициозный проект!
можно использовать SimInTech для моделиования объекта там все есть из коробки. OPC клиент уже встроенный. Генерация кода для ПЛК так же есть (сертифицирована для АЭС). Простые имитаторы типа приведенного в статье можно собрать за минуты и скорее всего это можно сделать в демо версии. https://simintech.ru
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Симулятор для тестирования ПО АСУТП