Стартовая страница › Форумы › Разработка и интеграция › Разработка PLC симулятора.
- В этой теме 9 ответов, 4 участника, последнее обновление 7 лет, 7 месяцев назад сделано
Mikhail.
-
АвторЗаписи
-
19.12.2018 в 10:43 #10867
TawУчастникКак программно считать данные с датчиков? Допустим с цифровых или аналоговых датчиков считать с их портов данные (используя язык c# или с++) и представить на экране виндовс? Может кто подскажет где примеры программного кода для подобных задач или где порыться? Но не примеры по Ардуино.
19.12.2018 в 11:24 #10868
manjey73УчастникУ меня один вопрос, а при чем тут RapidScada ?
А если она при чем, то при помощи драйвера Коммуникатора, можно использовать C# и вызов функций библиотек C++ из C# кода драйвера.
Работа с COM портами реализована в Коммуникаторе.Я например читаю данные датчиков DS18B20 на Raspberry через файлы. У меня почему то не получилось читать напрямую (пока не разбирался), по этому я при помощи crontab загоняю данные датчиков в файлы а драйвером уже вычитываю данные из файла.
-
Ответ изменён 7 лет, 7 месяцев назад пользователем
manjey73.
19.12.2018 в 11:40 #10870
TawУчастникВы же пользуетесь симуляторами Modbus, OPC. Симулятор PLC с ladder логикой для управления вместо реального контроллера. Для обучения программированию контроллеров в составе скада или может и без скады.
Если аналоговый датчик, то нужен АЦП. Далее нужен порт. Допустим АЦП имеет Ethernet и подключен к ноутбуку. Определяется сеть и активные подключения. И работаем с socket. Нужны просто примеры, не хочется копаться в MSDN. Работа с Com портами реализована в коммуникаторе, но хотелось бы простой пример с одного датчика.
19.12.2018 в 11:46 #10871
TawУчастникА как вы загоняете данные датчиков в файлы? Можете пояснить принцип? Я имею в виду программную реализацию. Для виндовс.
19.12.2018 в 11:56 #10872
TawУчастникВ принципе для начала было бы хорошо загнать данные с датчиков в файл. Но только для виндовс среды. Не люблю я демонов из линукс. Само по себе название вызывает отвращение от этой нечисти. Особенно если кто то хвастается что он постоянно работает с ними. И выполняет их команды или они его просьбу.
19.12.2018 в 13:07 #10873
manjey73УчастникДля Windows не знаю, на Raspberry я же написал, что делаю это через crontab. Используя встроенный драйвер 1Wire на Linux и командами cat /scada/ScadaComm/Log пишу туда файлы. Если есть что-то подобное для Windows то можно точно так же закидывать в файлы.
crontab это файл расписания в среде Linux. Система сама его в определенное время опрашивает.
Для Windows наверное нужно писать bat файл и запихивать его в расписание, чтобы в bat файле уже сохранялись данные с вашего АЦП в файлы.Могу выложить куда нибудь исходник драйвера для DS18B20. Мне просто этот вариант не нравится в принципе, поэтому я его не выкладывал никуда. А сделать иначе пока руки не доходят.
Драйверу пофигу на среду, так как он ищет файлы в директории Коммуникатора, и о типе среды особо ничего не знает.
Еще в теме про Формулы я делал Энергонезависимые переменные через файл. Так как на Raspberry все логи лучше располагать в темп директории, чтобы не убить флешку. Формулы работают в самой Scada. Там и запись и чтение.
-
Ответ изменён 7 лет, 7 месяцев назад пользователем
manjey73.
19.12.2018 в 15:17 #10875
baurУчастник19.12.2018 в 17:23 #10881
MikhailМодераторНужно определиться, по каким физическим интерфейсам подключаются датчики. Если ethernet, то корректно будет назвать такой датчик модулем ввода.
20.12.2018 в 11:38 #10885
TawУчастникКонтроллер состоит из модулей. Модуль для аналоговых сигналов, модуль для цифровых, коммуникационный модуль с Ethernet выходами (в который могут добавляться дополнительные платы Ethernet). Для датчиков тоже правильнее называть модуль ввода Ethernet.
Для начала я сделаю симулятор контроллера по сокетам (передавая даннные в сторонние ПО). Может у кого есть пример для считывания данных с USB порта на с#?21.12.2018 в 16:38 #10893
MikhailМодераторМожет у кого есть пример для считывания данных с USB порта на с#?
По моему опыту, Вы должны использовать DLL, реализующие API, от производителя микросхемы USB. И естественно установить нужные драйвера на компьютер.
-
Ответ изменён 7 лет, 7 месяцев назад пользователем
-
АвторЗаписи
- Для ответа в этой теме необходимо авторизоваться.