2010-04-28 3 views
0

У меня есть программное обеспечение WinForms .Net HMI, которое говорит об аппаратном обеспечении через USB. Я проверяю связь с оборудованием во время загрузки, и если связь активна, тогда запустите его (изготовитель оборудования предоставил библиотеку связи для разговора по USB).Аппаратный эмулятор/симулятор для Winforms .Net-приложение

Я хочу создать эмулятор для случаев, когда связь с аппаратным обеспечением невозможна (не подключена) и требуется, чтобы программное обеспечение запускалось в имитированном режиме, предоставляя фиктивные значения для разных состояний оборудования.

Кто-нибудь реализовал нечто подобное? Любые указатели будут полезны. Существуют ли какие-либо шаблоны проектирования для обработки таких реализаций.

TIA

ответ

1

Да, я это сделал. Используется для записи контроллеров для промышленного оборудования. Важными интерфейсами были ПЛК, 32-осевой контроллер движения, пользовательские станции оператора. Я написал симуляторы для всех из них, заставляя симулятора вести себя как можно ближе к аппаратным средствам, которые я не имел в наличии в моем офисе.

Это хорошо работает, симуляторы были сделаны до того, как пользовательское оборудование было где угодно, чтобы быть готовым к запуску. Это позволило мне написать, отладить и закончить мой код. Способность отлаживать аппаратное обеспечение. Симуляторы были радостью навсегда, они всегда были там, когда я был в другом (и более предпочтительном) месте для работы над следующим проектом. Управление стальной мельницей в моей ванне.

Рекомендован. Завершите протокол раньше.

+0

Благодарим за отзыв. Я ищу что-то подобное. У меня есть 8-осевой контроллер движения, для которого я хочу создать эмулятор. У вас есть примеры или ресурсы, которые дают больше информации об этой теме. – Suneet

+0

Нет таких ресурсов. Начните с контроллера движения, он примет команды для запроса статуса двигателя и их перемещения. Напишите ваш симулятор, чтобы принять те же самые команды. Вы действительно хотите имитировать движение двигателя, положение должно измениться, а бит состояния «в положении» должен быть ложным. Вам не нужно идти глубже, чем это, например, имитировать acc/dec, если это не критично в вашем приложении. Вам понадобится config bool, в котором говорится, что движение моделируется, передайте команды на симулятор вместо контроллера, если он установлен. –

Смежные вопросы