|
|
  |
На чем сделать компьютерную тест-систему для цифрового контроллера?, MATLAB, LabView, Visual C или другое? |
|
|
|
Oct 10 2009, 09:15
|
Профессионал
    
Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368

|
Привет всем.
В общем уже давно стоит задача разработки автоматизированной тест-системы на базе PC для контроллера. То есть есть система управления на основе контроллера, которая имеет до 100 цифровых входов и 100 цифровых выходов. Контроллер исполняет различные алгоритмы. Задача состоит в том, чтобы с помощью компа сосздать виртуальное окружение для контроллера, чтобы он "думал" что управляет реальным объектом. Плюс нужна хорошая визуализация, чтобы человек мог видеть, что происходит на экране монитора и мог если что нажать пару "виртуальных" кнопок и посмотреть, что будет.
По железу вопросов нет - я уже взял себе на пробу Agilent USB - в нем есть дрова для всего - и Matlabа и LabView и для Visual C. Вопрос в том, что лучше применить? Я уже когда-то начинал писать софт для подобной тест-системы и знаю, что легче всего это описать текстовой программой.
Опыт работы с Матлабом и Лабвью у меня есть и плюсы и минусы каждого варианта немного понятны: Matlab + Легкое текстовое программирование и графический Simulink интерфейс - Плохая визуализация, помоему нужен Real Time Workshop и тот же Microsoft C, чтобы получить приемлемое время реакции( ну порядка 100мс хотя бы)
Labview + Отличная визуализация - Помоему последние версии ну очень тяжелые для конфигурации и большие, нет текстового программирования
Microsoft C + Создание автономных приложений, текстовое программирование - Много чего надо напистать, чтобы заработало. А что вы посоветуете?
|
|
|
|
|
Oct 11 2009, 11:04
|
Местный
  
Группа: Свой
Сообщений: 357
Регистрация: 6-01-07
Пользователь №: 24 139

|
Цитата(syoma @ Oct 10 2009, 13:15)  По железу вопросов нет - я уже взял себе на пробу Agilent USB - в нем есть дрова для всего - и Matlabа и LabView и для Visual C. Вопрос в том, что лучше применить? А что вы посоветуете? Сделать можно на любом из трех перечисленных Вами инструментах. Применяйте тот, который лучше знаете - меньше времени потратите на изучение инструмента, быстрее и качественнее решится задача.
|
|
|
|
|
Oct 11 2009, 12:16
|
Профессионал
    
Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368

|
Цитата(Mik174 @ Oct 11 2009, 13:04)  Сделать можно на любом из трех перечисленных Вами инструментах. Применяйте тот, который лучше знаете - меньше времени потратите на изучение инструмента, быстрее и качественнее решится задача. ХЗ. Уже начал экспериментировать на Матлабе, так как он у меня был установлен, надо было только Data Akquisition Toolbox установить. Но с Симулинком лажа вышла - нельзя одновременно с моим девайсом ввод и вывод сделать. Зато с помощью скриптов все запустилось и уже парой светодиодиков мигает. Но в итоге получается, что все надо в коде писать. Для тестового алгоритма применимо - а вот как в Матлабе визуализация и пользовательский интерфейс делается - я плаваю(графики рисовать не считается). Посмотрел, как в примерах- похоже не легче, чем в Си. Сижу счас, разбираюсь дальше. ПС. Если кому интересно, железка вот такая: Agilent U2651A Пока все установилось и с Матлабом пашет без глюков Планирую несколько таких и стойку под них взять.
|
|
|
|
|
Oct 11 2009, 15:19
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Ну собственно сценарий тестирования тож имеет значение. Вы собственно что тестируете: производительность вашего контроллера, выявляете предельную нагрузку по потоку событий, отказы в обслуживании , адаптацию к объекту регулирования, комбинационную логику контроллера или че еще? Это все требует принципиально разных подходов и соответственно пакетов в MATLAB и LabView. Некоторые фичи по моделированию асинхронных процессов появились только в последней версии MATLAB. Цитата(syoma @ Oct 11 2009, 16:29)  Пока на 100мс работает вполне точно.
|
|
|
|
|
Oct 12 2009, 09:09
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Ну вот видите, а говорите 200 мс. Типичный отказ в виде дребезга на плохих контактах или на обрывах создает сигналы в доли миллисекунд. А именно дребезг слабое место у программистов. Ибо часто асинхронные события любят обрабатывать в прерываниях, и ресурс быстродействия у прерываний не безграничный а хуже, что обычно и не контролируемый. Т.е. два три плохих контакта могут завалить систему либо вызвать отказ в обслуживании других сигналов. Опять же часто интересно исследовать поведение систем на одновременный приход всех входных сигналов. Тестирование на стрессовые ситуации. Но с такими Agilent-ами тут делать нечего это точно. Они сами или MATLAB-ы скорее начнут чудить от попыток смоделировать стрессы. А без стрессов это не тестирование, а лабуда. Цитата(syoma @ Oct 12 2009, 10:18)  Это будет в основном тестирование логики - то есть реакции на нестандартные события, такие как например отказ датчика или обрыв в цепи сигнала, обкатка новых алгоритмов управления. Плюс стандартное тестирование контроллеров на производстве - проверка всех входов и выходов.
|
|
|
|
|
Nov 18 2010, 13:25
|
Профессионал
    
Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368

|
Для обновления. Agilent вернулся производителю. А я взял себе PCI-DIO96 от Measurement Computing. А к ней сразу интерфейсные карты SSR-RACK24 и кабель. В итоге на интерфейсную карту ставятся любые гальваниечски изолированные модули сопряжения - хош 24Вольтовый вход, хош выход 220В AC и т.д. Причем почти в любых комбинациях. Дрова и под MATLAB и под Labview и даже в XPCTarget поддерживается. Единственное, что в моей машине только пара PCI слотов есть - придется еще что-то старенькое найти.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|