Главная страница
qrcode

Автоматизация обработки данных_Казанцев Андрей. Программа PulseViewer


НазваниеПрограмма PulseViewer
АнкорАвтоматизация обработки данных Казанцев Андрей.pdf
Дата13.01.2017
Размер2 Mb.
Формат файлаpdf
Имя файлаAvtomatizatsia_obrabotki_dannykh_Kazantsev_Andrey.pdf
оригинальный pdf просмотр
ТипПрограмма
#5158
Каталогid4406877

С этим файлом связано 12 файл(ов). Среди них: Skulachev_V_P_Bioenergetika_membrannye_preobra.djvu, Holme_D_J__Peck_H_Analytical_biochemistry_3e.pdf, Bolotov_V_V__i_dr_Analiticheskaya_himiya_v_sh.djvu, Bohm_H_-J__Schneider_G__eds__Protein-Ligand.pdf, Lebedev_Mass-spektrometriya.djvu, smu_ofn_20130717_1.pdf, Mett_Ridli_Proiskhozhdenie_altruizma_i_dobrodet.fb2, pol_za_ot_p_yanstva.pdf, Khokhlov_A_S_Khimicheskie_regulyatory_biologicheskikh.djvu, worlds-most-influential-scientific-minds-2014.pdf и ещё 2 файл(а).
Показать все связанные файлы

м.н.с. ПРАО АКЦ ФИАН
Казанцев А.Н.

Научная деятельность человека на сегодняшний день практически всегда связана с большими объемами данных. Наилучшим навыком работы, в данном случае, является знание и умение использовать какие-либо языки программирования. Но порой так получается, что в работе встречается задача невозможная к «запрограммированию» или уже созданная программа представляет работу с собой как некую последовательность четко определенных действий, или, что более часто, в арсенале имеется программа написанная другим человеком, работа с которой,
опять таки,
представляет из себя последовательность действий. В таком случае на помощь пользователю приходят так называемые макросы.
22.11.2016
Автор: Казанцев Андрей

Макросы
(от англ. macros, мн. ч. от macro) — программный объект - последовательность действий и/или команд записанных пользователем в виде инструкций на специальном языке(или в специальной среде) и исполняемых системой самостоятельно.
С помощью макросов повышается эффективность работы с базами данных и сокращается время обработки данных
22.11.2016
Автор: Казанцев Андрей

О PulseViewer
Программа
PulseViewer

мощный инструмент,
позволяющий обрабатывать данные с цифрового пульсарного приемника, написанная на языке C++
программистом Пущинской радиоастрономической обсерватории,
Сергеем
Валентиновичем
Логвиненко. Ее функционал огромен и для того,
чтобы написать такую программу сызнова потребуется огромное количество времени. Но программа все равно обладает некоторыми минусами,
самым существенным из которых является невозможность потоковой обработки данных. Именно данную проблему мы будем решать используя макрос-системы.
22.11.2016
Автор: Казанцев Андрей

Алгоритм работы с PulseViewer
• Сначала программе подаются значения начала и конца шумовой дорожки, для, впоследствии,
корректного расчета амплитуд среднего профиля пульсара или его индивидуальных импульсов.
• После этого происходит открытие файла. При этом необходимый файл
(или файлы)
находится четко в определенной директории,
путь до которой программе необходимо будет указывать каждый раз (при открытии файла).
Здесь будет представлен один из алгоритмов работы с программой. Стоит отметить, что это лишь пример и каждый может вместо PulseViewer, реализовать представленный далее скрипт с той программой, которую он использует в своей работе.
22.11.2016
Автор: Казанцев Андрей

PulseViewer
Автор: Казанцев Андрей

Автор: Казанцев Андрей

Автор: Казанцев Андрей

1
2
Автор: Казанцев Андрей

Алгоритм работы с PulseViewer
• После открытия и загрузки файла в программу,
нажимается кнопка «Компенсировать все»
включающая механизм компенсации меры дисперсии и формирования среднего профиля пульсара за сеанс наблюдения.
• По прошествии некоторого времени программа сформирует средний профиль,
картинку которого необходимо сохранить для дальнейшего анализа. Встроенных методов сохранения изображений
PulseViewer не имеет,
поэтому приходится использовать сторонние (к примеру программу Paint).
22.11.2016
Автор: Казанцев Андрей

Автор: Казанцев Андрей

Автор: Казанцев Андрей

Алгоритм работы с PulseViewer
• Далее нас интересует самый сильный импульс в записи, номер которого программа выдает последним в самом большом текстовом окне.
Необходимо выделить его
(или просто запомнить) и ввести в окно выбора импульса,
после чего нажать кнопку «Компенсировать текущий импульс».
• Картинка данного импульса нам также интересна для анализа,
поэтому она сохраняется по аналогии с картинкой среднего профиля.
22.11.2016
Автор: Казанцев Андрей

1
2
3
Автор: Казанцев Андрей

Алгоритм работы с PulseViewer
• После сохранения всех картинок проходит пора записи скомпенсированных импульсов в файл. Файл этот необходимо
(во избежание превращения своего жесткого диска в
подобие свалки)
сохранить в
четко определенную директорию.
• После сохранения всего необходимого, мы переходим к обработке следующего файла.
22.11.2016
Автор: Казанцев Андрей

Автор: Казанцев Андрей

Автор: Казанцев Андрей

1
2
3
Автор: Казанцев Андрей

Автор: Казанцев Андрей

• Стоит отметить, что все перечисленные действия,
по умолчанию,
выполняет пользователь. При это обработка данных порой включает в себя сотни, а иногда и большее количество, файлов. Это занимает колоссальное время, приводит к физическому и моральному истощению оператора. При этом, не трудно заметить, что работа, грубо говоря, обезьянья и представляет из себя тыканье в нужные моменты времени в нужные кнопки. Всю данную работу или подобную ей можно и нужно поручать макрос- системам
22.11.2016
Автор: Казанцев Андрей

Пример работы макроса
MouseRobot с программой
PulseViewer
На данном этапе происходит демонстрация скрипта написанного в среде MouseRobot полностью автоматизирующего работу программы PulseViewer. Т.е. весь перечисленный алгоритм выполняется системой самостоятельно, с высокой стабильностью (без ошибок и вылетов) и с минимальным контролем пользователя.
22.11.2016
Автор: Казанцев Андрей

О MouseRobot
Несомненно, о самой среде MouseRobot можно прочитать на официальном сайте программы
(http://www.automationbox.ru/), где можно также скачать триал-версию и познакомиться с ней лично.
Отметим лишь только, что программа интуитивно понятна, требует минимум базовых знаний о макросах,
обладает приятным и
простым интерфейсом, а создание макросов представляет из себя подобие конструктора и
выглядит как перетаскивание нужных функциональных блоков из инструментария в непосредственный тело макроса.
22.11.2016
Автор: Казанцев Андрей

Интерфейс программы MouseRobot
22.11.2016
Автор: Казанцев Андрей

Создание макроса
22.11.2016
Автор: Казанцев Андрей

Функциональные блоки: запуск программ
MouseRobot может запустить любую программу установленную на компьютере путем простого прописывания пути к .exe файлу.
Каждый функциональный блок имеет три вида свойств: основные (уникальные для каждого блока и зависящие от его задач), общие (касающиеся описания блока и времени его работы, т.е. работы с паузами до и после выполнения шага и временем,
выделяемым на выполнение шага), и действия при ошибке (если программа исчерпала выделенный ей лимит времени, MousRobor определяет это как ошибку, поведение скрипта, в целом, зависит условий заданных в окне этих свойств)
22.11.2016
Автор: Казанцев Андрей

Запуск программ

Функциональные блоки: диалоговые окна
Во время исполнения скрипта контакт с
пользователем поддерживается через блок
«Диалоговые окна» позволяющий принимать в программу(скрипт) или выводить различные сорта данных. Причем на тексте и числах вводимая информация не ограничивается.
MouseRobot имеет 13 типов входных и выходных данные включая: поля выбора файлов и каталогов, поля переключатели,
выпадающие списки и поля выбора элемента управления.
22.11.2016
Автор: Казанцев Андрей

Диалоговые окна
Возможные поля диалогов в MouseRobot:
- Текстовые поля
- Текстовые области
- Целочисленные поля
- Числовое поле
- Поле выбора файла
- Поле выбора каталога
- Поле переключатель
- Поле ввода времени
- Список
- Выпадающий список
- Список с отметками
- Поле ввода сочетания клавиш
- Поле выбора элемента управления
Автор: Казанцев Андрей

В случае частого использования в скрипте какой-либо информации, будь то числовое значение, список,
путь к
директории,
нет необходимости ее постоянного вписывания.
MouseRobot поддерживает возможность инициализации пользовательских переменных, объявив которые единожды,
можно ссылаться к
ним без необходимости переписывать значения.
Помимо пользовательских переменных есть ряд встроенных переменных и
функций заранее инициализированных и упрощающих работу с данными.
Функциональные блоки: переменные и функции
22.11.2016
Автор: Казанцев Андрей

Переменные и функции
Встроенные переменные и функции MouseRobot:
-Переменные системных каталогов ( {WindowsDirectory} - полный путь к папке Windows)
-Переменные промежуточных результатов выполнения задачи
- Функции работы со строками
- Списки и диапазоны
- Списки файлов
- Арифметические операции
- Операторы сравнения
- Функции управления графическими элементами
- Функции чтения/записи в файл
- Функции работы с датой и временем
22.11.2016
Автор: Казанцев Андрей

Наиболее мощным функциональным блоком макрос-системы MouseRobot, отличающим ее от других схожих программ, является «Поиск объекта на экране». Технология
Advanced
Window Recognition позволяет определять и запоминать уникальную цифровую подпись графического элемента интерфейса семейств
Windows и в последствии находить его передавая переменные, значения вводимые с клавиатуры или щелчки мыши.
Функциональные блоки: поиск объекта на экране
22.11.2016
Автор: Казанцев Андрей

Поиск объекта на экране
Технология Advanced Window Recognition
технологий распознавания графических интерфейсов для
Windows.

Не смотря на многофункциональность упомянутого ранее блока - он не всесилен и в работе можно столкнуться с программой интерфейс которой не определяется MouseRobot. В таком случае можно использовать блок работы с мышью, позволяющие работать не с определенным объектом, а в рамках определенного положения на экране. Это вводит некоторые ограничения - при изменении размеров окна программы,
его смещения,
изменения разрешения экрана корректная работа макроса может быть нарушена.
Функциональные блоки: мышь
22.11.2016
Автор: Казанцев Андрей

Работа с мышью
В
случае
изменения
размеров
окна
программы,
его
смещения,
изменения
разрешения корректная
работа макроса может
быть нарушена.
Работа происходит не с
объектом, а в
определенном
положении мыши на
экране
22.11.2016

В случае если объект все таки найден, имеется возможность передачи ему сообщений с основных устройств ввода: мыши и клавиатуры. В случае мыши это разнообразные щелчки и зажатия. Блок работы с клавиатурой, по понятным причинам,
более обширен и, во первых, позволяет написать все, что можно набрать с клавиатуры. Один важный момент – особое внимание к раскладке. Когда активирован английский язык, все что написано в окне работы с клавиатурой буден выведено в необходимую область корректно. Но если активирован русский язык, то весь вывод будет осуществляться на русском языке, что является сильным упущением, но имеющим возможность обхода. Помимо этого есть блок со всеми функциональными кнопками присутствующими на клавиатуре(«TAB», «ENTER» и др.) за исключением, присутствующей сейчас во всех ноутбуках,
клавиши «Fn»(Function). Обычно ее используют для работы с устройствами ноутбука типа динамиков
(регулировка громкости) и монитора (регулировка яркости), что не критично относительно обработки данных, но все равно ограничивает функциональность данного блока.
Функциональные блоки: мышь и клавиатура
22.11.2016
Автор: Казанцев Андрей

Работа с клавиатурой и мышью
Нет функций управления
колесиком мыши
Особое внимание к раскладке
Нет «Fn»
22.11.2016
Автор: Казанцев Андрей

На примере языков программирования,
MouseRobot позволяет использовать в теле скрипта циклы и условные конструкции, в первом случае позволяя производить многократное исполнение набора инструкций без значительного увеличения кода, а во втором настраивать поведение скрипта в зависимости от получаемых на входе или в процессе работы переменных или появления или отсутствия определенных окон. Все это в совокупности позволяет универсализировать скрипт под разные задачи.
Функциональные блоки: циклы и условия
22.11.2016
Автор: Казанцев Андрей

Циклы и условные конструкции
Файлы будут перемещены в папку
0. processed
Программа будет закрыта
Файлы останутся в папке
0.for processing
Программа будет закрыта
- Списки ({StringList("first","second","third")})
- Диапазоны ({Range(1,10)})
- Списки файлов ({FileList(c:\*.*)})
- Списки дочерних объектов ({ChildControlList({lastControl})})
- Списки видимых на экране дочерних объектов ({VisibleChildControlList({LastControl})})
Автор: Казанцев Андрей

Не менее важным является блок работы с директориями и файлами, находящимися в них. Макросы MouseRobot поддерживают поиск файлов по маскам, принятый в
Windows, что позволяет грамотно настроить работу с четко определенными файлами,
не касаясь других файлов, к примеру, не нужных в обработке.
Функциональные блоки: работа с файлами и каталогами
22.11.2016
Автор: Казанцев Андрей

Работа с файлами и каталогами
22.11.2016
Автор: Казанцев Андрей

Еще одними удобными в
использовании элементами инструментария являются, так называемые «Процедуры» и блоки записи программ на Visual Basic Script (VBS). В первом случае, часто используемый кусок скрипта можно завернуть в оболочку функции и вынести за тело основной части кода, а в случае необходимости его использования обратиться к нему. По истечении работы кода
«Процедуры» исполнение вернется в точку обращения,
продолжив тем самым исполнение скрипта.
Второй элемент позволяет писать полноценные программы на языке программирования VBS, тем самым усиливая и
расширяя возможности
MouseRobot.
Функциональные блоки: Процедуры и VBS
Автор: Казанцев Андрей

Процедуры и VBS
Visual Basic Script (обычно просто VBScript)
— скриптовый язык программирования,
интерпретируемый компонентом Windows
Script Host. Он широко используется при создании скриптов в
операционных системах семейства Microsoft Windows.
22.11.2016
Автор: Казанцев Андрей

Отдельная функция: запись задачи
В дополнение к представленному инструментарию в
MouseRobot присутствует функция записи задачи,
позволяющая запомнить действия пользователя с определенным элементом и
впоследствии воспроизвести их.
Но стабильность воспроизведения сильно ниже если сравнивать со стандартными методами, при этом найти задачи,
которые можно автоматизировать ТОЛЬКО путем данной записи весьма сложно (Все задачи можно автоматизировать комбинацией блоков, описанных ранее).
22.11.2016
Автор: Казанцев Андрей

Запись задачи
22.11.2016
Автор: Казанцев Андрей

О планировщике задач MouseRobot
Помимо среды разработки скриптов в
MouseRobot входит программа, как понятно из названия, позволяющая планировать запуск скриптов.
Но на запуске программ в
определенное время ее возможности не заканчиваются. Она в реальном времени производит контроль клавиатуры, тем самым позволяя настроить запуск программ по нажатию «горячих» клавиш. Тем самым давая возможность создавать hotkeys там, где они до этого предусмотрены. Так же можно настроить вкдючение скрипта при запуске или выключении какой либо программы или определенного окна.
22.11.2016
Автор: Казанцев Андрей

Планировщик задач MouseRobot
Автор: Казанцев Андрей

Но если все-таки касаться запуска скриптов по времени, то планировщик имеет очень гибкую систему установок,
позволяя выбирать не только из дней или месяцев,
но и дней недели, и неделей месяцев.
О планировщике задач MouseRobot
22.11.2016
Автор: Казанцев Андрей

22.11.2016
Автор: Казанцев Андрей

Дополнительно
Написанный и работающий скрипт можно запускать не только из среды разработки, но и сохранить его как автономный exe. файл, при запуске которого скрипт будет начинать свою работу. Это верно только для тех скриптов,
которые в своем теле не имеют блоков запуска сторонних программ
(т.е.
программ не входящих в основную сборку Windows). Такие скрипты приходится запускать непосредственно через MouseRobot.
22.11.2016
Автор: Казанцев Андрей

Сохранение макроса как автономный .exe файл
22.11.2016
Автор: Казанцев Андрей

PulseViewer не единственный пример,
на который можно ссылаться рассказывая о возможностях MouseRobot. Такие программы как PHASEF и Task, используемы в ПРАО АКЦ
ФИАН
для формирования протоколов наблюдения пульсаров также были автоматизированы.
Тем самым была проверена работа скрипт-системы под различными операционными системами семейства
Windows(XP,
7,
8.1).
Никаких отличий ни в скорости работы или каких-либо других параметрах замечено не было.
Дополнительно
22.11.2016
Автор: Казанцев Андрей

PHASEF и TASK
программы подготовки протоколов наблюдения
22.11.2016
Автор: Казанцев Андрей

К программе прилагается подробный help с описанием всех функциональных блоков,
их основных возможностей и примерами их использования. Основываясь на данную справку можно в короткие сроки (

месяца)
освоить MouseRobot и начать внедрять скрипты в работу касающуюся (или не касающуюся) обработки данных.
Дополнительно
22.11.2016
Автор: Казанцев Андрей

Помощь в работе с MouseRobot
22.11.2016
Автор: Казанцев Андрей

Минусы программы
• Ограниченная функциональность при работе с
GoogleChrome.
• Невозможность работы в фоновом режиме, контроль мыши и клавиатуры (для корректной работы макроса,
компьютер в ходе выполнения лучше не трогать)
• Относительно долгий поиск некоторых объектов на экране (нивелируется опцией «минимальное сходство»).
• Не смотря на свои широкие возможности, программа не заменит наблюдателя.
• Официально программа является платной, но купить его сегодня не представляется возможным, так как фирма,
создавшая ее, закрылась в 2011 году.
22.11.2016

Выводы
• MouseRobot достаточно удобный инструмент для быстрого создания макросов, позволяющих автоматизировать те элементы обработки данных, которые не требуют непосредственного участия человека.
22.11.2016
Автор: Казанцев Андрей

перейти в каталог файлов


связь с админом