В настоящее время проводится много мероприятий по предупреждению и своевременному определению неисправностей на электроподвижном составе. Большое значение здесь имеет применение диагностических комплексов и стендов, особенно автоматизированных, так как это не только экономит время на диагностику. В настоящее время автоматизация достигла такого развития, которое позволяет широко применять различные процессоры, микроконтроллеры, компьютеры и другие цифровые и аналоговые средства. Естественно, что процесс автоматизации требует постоянных финансовых вложений, однако только автоматизация большинства технологических процессов может поднять рентабельность ремонта и снизить его себестоимость.
Так как происходят отказы КПД-3, необходимо создать новый компьютеризированный мобильный комплекс проверки, с помощью которого можно оперативно произвести диагностику оборудования электронного скоростемера. В отличие от старых комплексов диагностики, которые имеют большие габариты и позволяют произвести проверку только при снятии электронного скоростемера с электровоза, новый компьютеризированный мобильный комплекс проверки КПД-3В позволит производить диагностику на электровозе.
Подключение компьютеризированного мобильного комплекса проверки КПД-3В показано на рисунке 1.
Рис. 1. Схема подключения компьютеризированного мобильного комплекса проверки КПД-3В
Для передачи сигналов, бесконтактного управления и для защиты портативного ПК сделаем гальваническую развязку. Для этого будем использовать оптрон 4N25, производитель Fairchild Semiconductor.
Оптрон (оптопара) состоит из излучателя света (обычно — светодиод, в ранних изделиях — миниатюрная лампа накаливания) и фотоприёмника (биполярных и полевых фототранзисторов, фотодиодов, фототиристоров, фоторезисторов), связанных оптическим каналом и, как правило, объединённых в общем корпусе (рисунок 2). Принцип работы оптрона заключается в преобразовании электрического сигнала в свет, его передаче по оптическому каналу и последующем преобразовании обратно в электрический сигнал.
Рис. 2. Принципиальная схема подачи сигналов от LPT порта
Электронная часть компьютеризированного мобильного комплекса проверки КПД-3В находится в корпусе (блок сигналов). Блок сигналов подключается к панели соединительной с помощью разъемов (рисунок 3). Разъемы ХР2 (ДУП1) и ХР3 (ДУП2) предназначены для подачи питания в компьютеризированный мобильный комплекс проверки КПД-3В и выдачи в БУ-3В сигналов имитации с датчиков угла поворота. Разъем ХР1 (датчик давления) предназначен для подачи питания в компьютеризированный мобильный комплекс проверки КПД-3В и выдачи в БУ-3В сигнала имитации с датчика избыточного давления СТЭК-1. Разъем ХР4 (АЛС) предназначен для подачи питания в компьютеризированный мобильный комплекс проверки КПД-3В и выдачи в БУ-3В сигнала имитации локомотивного светофора. Разъемы ХS1 (CAN) и ХР5 (CAN) предназначены для приема и передачи сигналов канала CAN.
Рис. 3. Общий вид блока сигналов мобильного комплекса проверки КПД-3В
Среда разработки компьютеризированного мобильного комплекса проверки КПД-3В. Особенностью современных высоких технологий является то, что основная часть комплекса проверки КПД-3В заключается не в корпусах блоков и не в их начинке, а в интеллектуальной части — компьютерной программе. Именно программа заставляет «мертвое железо» начинать выполнять осмысленные действия. Поэтому основной частью разработки компьютеризированного мобильного комплекса проверки КПД-3В является именно его программное обеспечение.
Средой разработки кода программы и интерфейса, компьютеризированного мобильного комплекса проверки КПД-3В, является программа «Borland C++ Builder 6». Язык программирования С++ остается наиболее распространенным. Он применяется для разработки самых разных приложений — от сложных многоуровневых до высокопроизводительных программ визуализации данных и систем реального времени [1].
В C++ Builder все объекты компонентов размещаются в объектах — формах. Для каждой формы, которую проектируют в своем приложении, C++ Builder создает отдельный модуль. Именно в модулях и осуществляется программирование задачи. В обработчиках событий объектов — форм и компонентов, помещаются все алгоритмы. В основном они сводятся к обработке информации, содержащейся в свойствах одних объектов, и задании по результатам обработки свойств других объектов.
Основная часть работы по созданию приложений выполняется в интегрированной среде разработки (Integrated Development Environment — IDE) C++ Builder, пользовательский интерфейс показан на рисунке 4.
После того как программа написана, на ее основе создается выполняемый файл (модуль). Этот процесс осуществляется в несколько этапов.
Сначала работает препроцессор, который преобразует исходный текст. Препроцессор осуществляет преобразование в соответствии со специальными директивами препроцессора, которые размещаются в исходном тексте. Препроцессор может в соответствии с этими директивами включать тексты одних файлов в тексты других, развертывать макросы — сокращенные обозначения различных выражений и выполнять множество других преобразований.
После окончания работы препроцессора начинает работать компилятор. Его задача — перевести тексты модулей в машинный (объектный) код. В результате для каждого исходного файла «.cpp» создается объектный файл, имеющий расширение «.obj».
После окончания работы компилятора работает компоновщик, который объединяет объектные файлы в единый загрузочный выполняемый модуль, имеющий расширение «.exe». Этот модуль можно запускать на выполнение.
Сопряжение КПД-3В с компьютером и управление им из программы будем осуществлять с помощью порта — LPT. Несмотря на небольшую популярность в программировании данного порта, он очень удобен и имеет ряд преимуществ. В данном случае его преимущество — это относительная простота написания кода программы [2].
LPT порт имеет 25 контактов, на которых можно установить напряжение 0 или +5 В (логический «0» и логическая «1») из программы или это может сделать внешнее устройство снаружи. Схема выводов LPT порта показана на рисунке 5.
Рис. 4. Интерфейс интегрированной среды разработки ++ Builder
Рис. 5. Схема выводов параллельного порта LPT
Из рисунка 5 видно, что выводы порта можно разделить на четыре группы: GND «земля»; Data &H378; Status &H379; Control &H37A.
Выводы регистра Data — это контакты 2–9. Под регистром понимается объединение группы контактов LPT порта. В регистре Data их восемь штук. Из внешнего устройства на его контактах можно установить логический «0» или логическую «1», т. е. он двунаправленный. Именно его и используем для работы мобильного комплекса проверки КПД-3В. Чтобы обращаться к этому регистру, надо знать его адрес: «0x378» — в шестнадцатеричной системе или «888» в десятичной. Выводы регистра Status — это контакты 10–13 и 15. Это однонаправленный регистр. Управлять им можно только через внешнее устройство (изменять данные, читать можно из любого регистра в любую строну). Он имеет адрес «0x379» — в шестнадцатеричной системе или «889» в десятичной.
Регистр Control (контакты 1, 14, 16–17) имеет всего 4 контакта и может управляться только программой. Его адрес «890» в десятичной системе.
Регистр GND — это контакты 18–25. Все они соединены между собой и заземлены.
Если сравнивать с портом USB, то разработанный код программы будет работать и на нем. Но для этого понадобится USB модуль Ke-USB24A от фирмы Kernelchip со встроенным АЦП, который похож на работу LPT порта (рисунок 6).
Рис. 6. USB модуль Ke-USB24A
В процессе разработки комплекса было выяснено, что для работы комплекса каждый блок программы записывать с помощью программатора в память микроконтроллера. Для данной задачи целесообразно использовать восьмиразрядный микроконтроллер PIC16F84–04/P производства Microchip Technology Inc. (рисунок 7).
Рис. 7. Микроконтроллер PIC16F84–04/P
В связи с ограниченными финансовыми возможностями наглядную работу комплекса можно продемонстрировать с кодами сигналов АЛС, без использования микроконтроллеров. Пример работы комплекса прилагается в видеоматериалах.
Описание кода программы. Так как работа электронного скоростемера КПД-3В основана на приеме двоичных сигналов, то основной задачей является смоделировать данные сигналы. Поэтому средой разработки кода программы был выбран именно C++ Builder. Сперва создадим интерфейс программы и разделим его по объектам (рисунок 4.8). В каждый объект будем записывать необходимый код программы.
Смоделируем работу датчика угла поворота (ДУП). Необходимо создать двоичные сигналы (логический «0», логическая «1»), которые формируются при вращении модулятора ДУП.
Во-первых, надо найти частоту вращения оси модулятора датчика угла поворота (ДУП).
Частота вращения оси модулятора, об/мин:
(1)
где V — скорость движения электровоз, км/ч;
1000 — коэффициент пересчета километров в метры;
— число «Пи» (принимается равным 3,14);
— средний за время эксплуатации колесной пары диаметр бандажа (принимается равным 0,85), м;
60 — коэффициент пересчета часов в минуты;
Рис. 8. Интерфейс программы мобильного комплекса проверки КПД-3В
Во-вторых, необходимо знать время за которое ось модулятора ДУП повернется на один оборот.
Время поворота оси модулятора датчика на один оборот будет равняться, мс:
(2)
Далее рассчитаем длительность импульсов для всего диапазона скоростей. Приведем пример расчета длительности импульса для 5 км/ч, 25 км/ч и 150 км/ч
По формулам 1 и 2 длительность импульса для 5 км/ч будет равна:
Для 25 км/ч:
Для 150 км/ч:
Рассчитав время поворота оси модулятора ДУП от 0 до 150 км/ч, создаем программу, которая формирует двоичные сигналы (логический «0» или логическая «1») на заданном контакте LPT порта (команда «case» кода программы).
Таким образом, если в интерфейсе программы задаем скорость движения, то код программы выдает сигнал виде импульсов. КПД-3В принимает этот сигнал и на аналоговом индикаторе скорости БИ-4М стрелка указывает заданную скорость.
Смоделируем работу АЛС. Зная длительность импульсов и интервалов, можно так же смоделировать их работу в C++ Builder. Кодовые сигналы АЛС представлены на рисунке 9.
Если необходимо задать кодовую комбинацию зеленого огня, то в интерфейсе программы выбираем кнопку «З» и код программы моделирует сигнал зеленого огня. В коде программы идет формирование импульса (логическая «1») на 0,35 секунды, затем интервал (логический «0») на 0,12 секунды и т. д.
Рис. 9. Коды автоматической локомотивной сигнализации АЛСН
Продолжительность импульсов будет продолжается постоянно, пока не изменить кодовую комбинацию. После создания компьютеризированного мобильного комплекса, написания кода программы можно произвести диагностику КПД-3В.
Литература:
- Архангельский А. Я. Программирование в C++ Builder 6. Издательство: Бином, 2003. 578 с.
- Огик П. Использование LPT-порта ПК для ввода (вывода) информации. НТ Пресс, 2006. 150 с.