Proteus + Виртуальные инструменты

 

"Свойство зеркальце имело - говорить оно умело.."

А.С. Пушкин. "Объектное программирование"

"Гвоздь забить легче электронным микроскопом, чем голой ладонью.

Otto Stirliz

Отладка микропроцессорной системы сбора информации от различных датчиков - настоящий гембель (крупная неприятность -одесск.). Самое противное - аналоговые сигналы, особенно когда природа сигнала изучена недостаточно.

Примеры:

  1. Слабые поля. Когда сигнал соизмерим с шумом, весьма затруднительно стать щупами осциллографа на диф.входы АЦП так, чтобы сигнал не исказить. Иногда требуется работать в определенном участке спектра, для чего в процессоре строятся фильтры высокого порядка, которые тоже надо как-то отлаживать.
  2. Встроенные термодатчики. Здесь понятно - внуть процессора влезть приборами еще затруднительнее.

Нужен виртуальный (на железный нет денег) инструмент, к которому предъявляются следующие требования:

  1. Быстрая переконфигурация при смене темы (время - деньги).
  2. Совместимость с каким-либо стандартом (возможность пользоваться готовыми инструментами).
  3. Оперативность (выставить ползунок регулятора с помощью одного движения мыши).
  4. Простота (изучать другие языки и системы программирования некогда).
  5. Эргономичность (размеры, вид, расположение органов управления и индикации).

Один из возможных вариантов - технология OPC (RS232 по MODBUS протоколу). Попробую аргументировать.

Задумывалась эта технология для конторы "Рога и копыта" О.Бендера. Как мы помним, там был мальчик, имеющий дело с жидкостями, сосудами и неким технологическим процессом. Превратив пиш.машинку с битой клавой в компьютер и добавив к сосудам микропроцессор с датчиками получим АСУ ТП типа SCADA.

А чем наши микропроцессорные поделки не АСУ? Те же датчики, те же управляемые объекты, то же управление.

Если последний обходчик в метро г.Рима через Pocket видит состояние релюшки №311 на своем участке, или Газпром перекрывает заслонку Украине не выходя из ресторана, или в Питере система "Умный жилой массив" дистанционно вылавливает умельцев по торможению электросчетчиков, то чем мы хуже?

Конечно, немного стыдно колотить по гвоздю микроскопом, а что делать, если молотка нормального нет под руками.

Что для этого нужно.

1) Добавить в свои программы функции MODBUS.

2) Установить на компьютер OPC-сервер.

3) Описать свои данные одинаково для микропроцессора и для OPC.

4) Установить на компьютер что-нибудь наподобие СКАДы.

5) Соединить шнурком COM-порты и наслаждаться.

Попробуем.

Вариант 1: InSAT MasterSCADA.

Первое впечатление - неплохо. Конфигурируется просто и быстро.  Но надо с чем-то сравнить.

Вариант2: 9Rays.Net LLC Instrumentation Widgets

Смотрится намного лучше, инструменты рассаживатся просто и удобно, но пришлось долго возиться с настройкой опроса сервера.

Вариант 3: National Instruments LabWindows/CVI

Пожалуй, этот круче всех, потому что кроме инструментов имеет кучу функций, например, готовый спектральный анализ.

Подведем некоторые итоги.

В принципе можно остановиться на одном из этих трех вариантов. Но все они имеют один и тот же недостаток - установить OPC-сервер не очень просто. А для последних двух вариантов еще и в Visual Studio приходится работать. Надо что-то попроще.

Можно оставить MODBUS и уйти от OPC-сервера. Например, в разместить в Протеусе свой вариант на каком-либо процессоре.

Вариант 4: Самодельный на микропроцессоре.

Да-а. Уродище получилось. Но работает.

А что если вместо процессора сделать специальный компонент? Типа OPC.

Вариант 5: OPC-компонент в Протеусе

Это не готовое решение и даже не полуфабрикат, а всего лишь концепт. Я кое-как еще обхожусь вариантом LabWindow, который с железным контроллером работает нормально, но для отладки протоколов внутренней MODBUS-сети непростого контроллера (UART, SPI, I2C) удобней все-же Протеус.

Пожалуй, надо обсудить.

 

Рекламная пауза

 

 

 

Hosted by uCoz