Автоматизированная информационная система программирования логики промышленных роботов для ООО "ВМЗ"
Организационно-штатная структура конструкторского отдела систем управления технологическим оборудованием предприятия. Обоснование технологии разработки автоматизированной системы программирования логики промышленных роботов. Моделирование данных.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 23.06.2012 |
Размер файла | 7,8 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Рисунок 12 - Общая диаграмма состояний системы
В случае преждевременного (до генерации файлов) закрытия программы система должна предложить пользователю сохранить введённые параметры (сгенерировать программные файлы).
При формировании параметров программы программист первым делом может определить:
1. Этапы программы.
2. Входные сигналы.
3. Выходные сигналы.
Последовательность этих трёх действий не важна. Однако, без выполнения родительского процесса, невозможно перейти к дочернему, то есть если не определены входные сигналы, то невозможно определить условия. Если входные/выходные сигналы определены, а этапы программы не прописаны, то при переходе к дочернему процессу (определение условий/сигналов шагов) будет считаться, что количество шагов программы равно нулю, и прописать матрицу условий/сигналов будет невозможно.
При переходе к блоку формирования параметров программы программист также может сразу просмотреть перечень системных переменных. К просмотру системных переменных пользователь может переходить при определении входных/выходных сигналов для справки. При желании пользователь может перейти к просмотру системных переменных в любой момент времени, если система находится в состоянии формирования параметров программы.
Остальные состояния системы и переходы к ним отображены на рисунке 13.
При работе блока определения параметров программы пользователь в любой момент может вызвать закрытие окна. При этом система должна предложить сгенерировать программные файлы и предоставить возможность выбора дальнейших действий системы: генерировать файлы или завершить работу системы без сохранения изменений. Эти переходы к состоянию “Завершение работы” не отображены на диаграмме, так как они значительно затруднили бы читаемость диаграммы состояний.
Рисунок 13 - Диаграмма состояний “Формирование параметров программы”
Моделирование обработки данных при выполнении процесса определения входных сигналов
В обработке данных при выполнении процесса определения входных сигналов задействованы следующие объекты (см. рис. 14):
1. Вкладка интерфейсной формы “Входные сигналы”.
2. Список ListIn класса Logic - список входных сигналов.
3. Список ListUse класса Logic - список назначений.
4. Список ListSigSlave класса Logic - список сигналов для роботов Slave.
При вызове метода отображения вкладки вызываются методы чтения имён входных сигналов (метод GetListNameIn()) и сгенерированных назначений (метод GetListUse()). Пользователю отображается таблица с выпадающими списками для выбора назначения сигнала (Robot - сигнал подключенного к роботу оборудования, SYS - системный сигнал робота, SlaveX - сигнал управления роботом Slave №X) и имени. При выборе назначения сигнала “SYS” в списке отображаются все системные входа робота, они считаются методом GetListSysIn(). При выборе назначения сигнала “SlaveX” в списке отображаются все сигналы уже определённые для других роботов Slave. То есть если программируемый робот управляет несколькими роботами Slave, и для одного робота уже определены какие-то входные сигналы, то для другого робота Slave можно использовать уже определённое имя сигнала. Это предусмотрено в связи с частым повторением имён сигналов для разных роботов Slave при программировании одной задачи. Также имеется возможность определить другое имя сигнала (новое).
При вызове метода деактивации вкладки (переход на другую вкладку) вызывается метод записи всей информации о входных сигналах SetListIn(ListInOut : list<InOut>). Блоки сообщений “ref” отображают пользовательскую последовательность команд. На приведённой диаграмме применяется для отображения ветвления.
Моделирование обработки данных при выполнении процесса определения условий шагов программы
В обработке данных при выполнении процесса определения входных сигналов задействованы следующие объекты (см. рис. 15):
1. Вкладка интерфейсной формы “Условия шагов”.
2. Список ListIn класса Logic - список входных сигналов.
3. Список Steps класса Logic - список этапов программы.
Рисунок 14 - Диаграмма последовательности действий системы при выполнении процесса определения входных сигналов
При вызове метода отображения вкладки вызывается метод чтения условий шагов программы GetCondIn(). Этот метод вызывается для каждого шага программы, поэтому вызов данного метода занесён в блок “loop”. После чтения данных пользователю отображается таблица условий с именами входов. Если при программировании данной задачи пользователь впервые заходит на вкладку, то отобразится пустая таблица и выпадающие списки прописанных на вкладке “Входные сигналы” имена входов.
При переопределении последовательности условий (входных сигналов) вызывается метод, записывающий добавленные в список сигналы SetListAddIn(ListAddIn : list<string>), и метод, читающий не добавленные в список сигналы GetListNotAddIn(). Это предусмотрено, чтобы исключить ручной ввод имён входных сигналов и повторный выбор сигнала из списка.
При изменении параметров условий (ожидаемых значений) пользователю отображается изменённая матрица.
При вызове метода деактивации вкладки (переход на другую вкладку) вызывается метод удаления пустых объектов из списка входных сигналов DellNullObject (ListInOut : list<InOut>) и метод сортировки SortListInOut (ListNameInOut : list<string>, ListInOut : list<InOut>). Далее для каждого шага записывается массив условий (метод SetCondIn(CondIn : list<string>)). SortListInOut(ListNameInOut : list<string>, ListInOut : List<InOut>) - метод сортировки. Список ListIn сортируется в последовательности, которую пользователь задал при определении условий. Это применяется для возможности склейки списка входных сигналов с матрицей условий.
Рисунок 15 - Диаграмма последовательности действий системы при выполнении процесса определения условий шагов программы
Моделирование обработки данных при выполнении процесса написания сообщений
В обработке данных при выполнении процесса определения входных сигналов задействованы следующие объекты (см. рис. 16):
1. Вкладка интерфейсной формы “Сообщения”.
2. Список ListIn класса Logic - список входных сигналов.
3. Список Steps класса Logic - список этапов программы.
При вызове метода отображения вкладки вызывается методы чтения имён входных сигналов GetListNameIn(), чтения условий шагов программы GetCondIn() и чтения уже написанных сообщений GetMess().
После чтения данных пользователю отображается таблица сообщений с разграниченным доступом к ячейкам: сообщение можно писать для условий, в которых определено ожидаемое значение.
При вызове метода деактивации вкладки (переход на другую вкладку) вызывается метод записи сообщений и статуса сообщений SetMess(ListMess : list<string>, ListTypeMess : list<string>). Метод вызывается для всех шагов программы.
Подробное описание назначения некоторых методов приведено в разделе “Разработка основных алгоритмов”.
В данном подразделе выделены варианты использования разрабатываемой АИС: создание программы и модификация программы (анализ). Каждый из них содержит свои этапы. При моделировании данных выделено три абстрактных класса:
ѕ граничный класс “Форма отображения данных”;
ѕ сущностный класс “Параметры программы”;
ѕ управляющий класс - класс подключения к системе управления версиями Subversion.
Рисунок 16 - Диаграмма последовательности действий системы при выполнении процесса написания сообщений
При моделировании обработки данных, обеспечивающих функционирование системы, произведено моделирование состояний графических элементов, моделирование обработки данных при выполнении процесса определения входных сигналов, моделирование обработки данных при выполнении процесса определения условий шагов программы, моделирование обработки данных при выполнении процесса написания сообщений.
1.6 Постановка задачи на разработку автоматизированной системы программирования промышленных роботов
Требуется разработать автоматизированную информационную систему программирования логики промышленных роботов, обеспечивающую следующие возможности:
ѕ определять в графическом интерфейсе параметры программы;
ѕ генерировать программные файлы;
ѕ экспортировать сборку программных файлов в хранилище данных по локальной сети;
ѕ переводить программные файлы в графическое представление;
ѕ изменять параметры программы и создавать новую сборку;
ѕ импортировать сборку программных файлов из хранилища данных;
ѕ работать со сборками программных файлов (сохранять и считывать) на локальном компьютере.
Система предназначена для программистов промышленных роботов.
Система должна позволять работать с программами, содержащими до 80 этапов, до 50 условий каждого этапа, и поддерживать программирование управления до 8 управляемых роботов.
Интерфейсы подсистем должен быть типизированы и интуитивно понятны. Интерфейс пользователя русскоязычный. Цветовая палитра должна быть не раздражающих цветов. Должна выполняться проверка данных.
Генерируемые файлы должны иметь формат *.src и *.txt.
При реализации системы должны применяться языки высокого уровня.
Разрабатываемая АИС должна быть совместимо с любой версией Windows, не старше Windows XP SP2.
Для разработки АИС должна использоваться технология RAD, для проектирования CASE-средство - Visual Paradigm.
Для функционирования системы необходимо внедрить систему управления версиями Subversion. В качестве её web-сервера использовать web-сервер Apache и модуль WebDAV.
Система программирования логики должна обеспечивать корректную работу с хранилищем данных системы управления версиями Subversion.
В данном разделе описана организационно-штатная структура ООО “ВМЗ” и отдела, в котором находится группа программирования промышленных роботов. Выявлены проблемы при программировании логики промышленных роботов: отсутствие автоматизированной системы и необходимость писать программы вручную. При поиске путей решения поставленной проблемы решено, что система будет разрабатываться “с нуля”. Для разработки автоматизированной информационной системы программирования логики промышленных роботов будет использоваться модель RAD (быстрая разработка приложений). Проектирование будет производиться в CASE-средстве Visual Paradigm.
Для эффективного использования разрабатываемой АИС предлагается внедрить систему управления версиями Subversion. Обращение приложения к хранилищу данных происходит через локальную сеть. В качестве web-сервера будет использоваться web-сервер Apache и модуль WebDAV.
При моделировании АИС выделены следующие варианты использования: создание программы и модификация программы (анализ). Создание программы включает этапы:
ѕ определение входных и выходных сигналов;
ѕ определение этапов программы;
ѕ определение матрицы условий и выходных сигналов для шагов программы;
ѕ описание сообщений для условий;
ѕ генерация программных файлов и их сохранение.
Модификация программы (анализ) включает регенерацию программных файлов, а также может включать изменение программных файлов и генерацию новой сборки программных файлов.
При моделировании данных выделено три абстрактных класса:
ѕ граничный класс “Форма отображения данных”;
ѕ сущностный класс “Параметры программы”;
ѕ управляющий класс - класс подключения к системе управления версиями Subversion.
Расписан сущностный класс “Параметры программы”.
При моделировании обработки данных, обеспечивающих функционирование системы, произведено моделирование состояний графических элементов, моделирование обработки данных при выполнении процесса определения входных сигналов, моделирование обработки данных при выполнении процесса определения условий шагов программы, моделирование обработки данных при выполнении процесса написания сообщений.
2. Конструкторско-технологическая часть
В первом разделе определено, что для разработки приложения будет использоваться технология RAD. Следуя её этапам, в данной части проекта осуществляется разработка модели системы, включающая бизнес-моделирование, моделирование данных, моделирование обработки, и создание приложения, включающее разработку пользовательского интерфейса и основных алгоритмов обработки информации. Прежде разработки информационной автоматизированной системы в данном разделе будет произведён выбор средства реализации.
2.1 Выбор средств реализации
При выборе языка программирования учитываются следующие его аспекты:
1. Экономическая доступность. Наличие свободно распространяемых сред разработки для данного языка.
2. Объектно-ориентированный подход. Возможность работать с данными как с экземплярами классов.
3. Работоспособность в распределённой среде. Возможность написания распределённых систем.
4. Простота освоения. Возможность сравнительно быстро освоить язык программирования, если имеется знания объектно-ориентированного подхода и опыт программирования на каком-либо объектном языке.
5. Переносимость. Возможность безболезненного переноса программы на разные операционные системы или их версии.
6. Архитектурная независимость. Работоспособность написанной программы на разном оборудовании без сильных изменений.
7. Устойчивость. Отслеживание возможных ошибок в ходе выполнения программы (управление памятью, исключительные ситуации).
Для выбора подходящего языка программирования необходимо рассмотреть мировые тенденции в области современных языков программирования. Для большей достоверности будут рассмотрены рейтинги современных языков программирования двух компаний TIOBE Software и DOU.
Рейтинг языков программирования, составленный компанией TIOBE Software представлен на рисунке 17.
Рисунок 17 - Рейтинг языков программирования компании TIOBE Software
По данным компании TIOBE Software лидером среди языков программирования является Java.
Рассмотрим соответствие данного языка программирования поставленным выше требованиям.
1. Экономическая доступность. Для разработки программ на языке Java существует несколько свободно распространяемых сред разработки.
2. Объектно-ориентированный подход. Java является объектно-ориентированным языком программирования.
3. Простота освоения. Java был спроектирован, чтобы быть лёгким в изучении и эффективным в использовании для профессионального программиста. Предполагается, что имея некоторый опыт программирования, язык Java не покажется трудным.
4. Переносимость. Язык Java делает возможным создание кросс-платформенных программ, компилируя в промежуточное представление, названной байт-кодом Java. Этот код может интерпретироваться в любой системе, которая обеспечена виртуальной Java-машиной.
5. Архитектурная независимость. Центральной проблемой для проектировщиков Java была долговечность. Проектировщики сделали несколько жёстких решений в языке и виртуальной Java-машине в попытке решения этой проблемы. Их цель можно сформулировать так: “запись - однажды; выполнение - везде, в любое время, всегда”. В значительной степени эта цель была достигнута.
6. Устойчивость. Основные причины отказа программы это ошибки управления памятью и неуправляемые исключительные состояния. Язык Java управляет распределением и устранением памяти, исключая человеческие ошибки при данном процессе.
Таким образом, лидер используемых языков программирования соответствует поставленным требованиям.
Компания DOU предоставляет другой рейтинг (см. рис. 18).
Рисунок 18 - Рейтинг языков программирования компании DOU
По данным компании DOU лидером среди языков программирования является С#. Но данный язык программирования не соответствует первому из поставленных требованию: для программирования на С# разработана своя среда Visual Studio от корпорации Microsoft. Для разработки коммерческих проектов необходимо использовать версии Professional или Ultimate. Обе эти версии платные (Professional 550$, Ultimate 12000$). [26] Таким образом, данный язык программирования уже уступает выделенному лидеру.
Вторым в рейтинге компании DOU является язык программирования Java. Его соответствия поставленным требованиям уже расписаны выше.
Таким образом, разработка автоматизированной информационной системы программирования логики промышленных роботов для ООО “ВМЗ” будет производиться на объектно-ориентированном языке программирования Java. Система будет разрабатываться в среде NetBeans, она свободно распространяемая, также имеются навыки работы в этой среде. [27,28,29]
2.2 Разработка пользовательского интерфейса
Пользовательский интерфейс представляет собой одну форму со следующими вкладками:
1. Генерация/Чтение.
2. Входные сигналы.
3. Выходные сигналы.
4. Шаги.
5. Условия шагов.
6. Сообщения.
7. Сигналы шагов.
8. Системные переменные.
Каждая вкладка работает с определёнными данными.
На главной форме определяется режим программирования (см. рис. 19). Робот может программироваться как отдельный, не управляющий другими роботами. В этом случае определяются сигналы управления подключенных к роботу устройств и системные сигналы робота. В данном режиме нет возможности выбрать количество управляемых роботов.
Если программируемый робот управляет другими роботами, то режим программирования робота должен быть “Master”. При этом необходимо указать сколькими роботами Slave управляет программируемый робот.
Рисунок 19 - Общий вид формы
Режим программирования можно менять в любой момент. При этом списки назначений генерируются автоматически.
Описание вкладки “Входные сигналы”
На вкладке “Входные сигналы” расположена таблица, первый столбец которой состоит из выпадающих списков. Каждая ячейка первого столбца (столбец “Назначение”) содержит список возможных назначений. Если заданный режим программирования “Robot”, то список назначений содержит две строки “Robot” и “SYS”. Назначение “Robot” определяет сигналы устройств, подключенных к роботу. Это может быть оснастка, элементы безопасности (фотобарьеры) и другие. Назначение “SYS” определяет системные сигналы робота. Имеется определённый неизменяющийся набор системных сигналов робота. При выборе назначения “SYS” возможно выбрать сигнал, то есть изменить номер входа/выхода сигнала. Остальная информация о системных сигналах (имя, комментарий) не изменяется. Все системные сигналы прописаны в таблице на вкладке “Системные переменные”. Если заданный режим программирования “Master”, то в список назначений добавляются назначения роботов Slave по количеству указанному при определении режима программирования (см. рис. 20).
Рисунок 20 - Вкладка “Входные сигналы”. Заполнение
При выборе различных назначений строки таблицы меняют цвет (см. рис. 20 и 21). Это предусмотрено для большей наглядности и снижения зрительных нагрузок при поиске блоков сигналов определённого назначения.
Номера в столбце “Номер” прописываются автоматически при генерации формы. Робот поддерживает 1026 входных и 1026 выходных сигналов, поэтому таблица изначально имеет 1026 строк с прописанными по порядку номерами. Отображение всех номеров сигналов, даже если они не задействованы, предусмотрено для упрощения анализа адресного пространства.
Рисунок 21 - Вкладка “Входные сигналы”. Сигналы slave2
При программировании робота, который управляет несколькими роботами Slave, имеется возможность дублировать сигналы. То есть, если для одного робота Slave уже прописаны какие-то сигналы, то их имена можно использовать для определения сигналов другого робота Slave. Эта возможность предусмотрена, так как при решении одной производственной задачи все роботы обмениваются однотипными сигналами. Но разные роботы также могут иметь уникальные сигналы. Чтобы добавить новый сигнал для Slave необходимо выбрать строку выпадающего списка “new” и вписать имя сигнала.
Описание вкладки “Шаги”
После определения сигналов управления роботами и оснасткой прописываются этапы программы. Этап программы определяет ожидание определённых сигналов и выдачу сигналов на выхода. Сигналы одного этапа логически связаны, они определяют одно законченное действие (например, ожидание разрешения на поворот стола). Для удобства каждый этап программы комментируется, то есть ему присваивается имя, отражающее его суть (см. рис. 22).
Рисунок 22 - Вкладка “Шаги”
Номера шагов программы могут быть не последовательными, так как среди программистов промышленных роботов принята определённая нумерация фаз программы.
Описание вкладки “Условия шагов”
Условия шагов - это ожидания определённых сигналов на этапе программы. При описании условий каждого шага программы предоставляется возможность выбрать последовательность опрашиваемых входов робота. При этом блоки назначений сигналов менять нельзя. То есть таблица условий содержит строки, распределённые на блоки, раскрашенные в разные цвета (см. рис. 23). Каждый блок содержит количество строк, соответствующее количеству сигналов одного назначения. Цвет строк блока тот же, что и на вкладке “Входные сигналы”. Количество строк таблицы соответствует количеству определённых на вкладке “Входные сигналы” сигналов. Чтобы не перепутать сигналы разных блоков, выпадающие списки с именами сигналов содержат только те сигналы, которые определены в этом блоке.
Рисунок 23 - Вкладка “Условия шагов”. Общий вид
При выборе сигналов блока выбранный сигнал удаляется из выпадающего списка (см. рис. 24). Это реализовано для исключения возможности повторного выбора одного сигнала.
Рисунок 24 - Вкладка “Условия шагов”. Списки
Количество строк таблицы генерируется автоматически при активации вкладки.
Описание вкладки “Сигналы шагов”
Выходные сигналы имеют 4 вида: пульсирующий сигнал с положительным фронтом, пульсирующий сигнал с отрицательным фронтом, постоянный положительный сигнал, постоянный отрицательный сигнал. Для пульсирующих сигналов задаётся одинаковое время сохранения поданного сигнала (см. рис. 25). По умолчанию это время пульсирующего сигнала 0,5 сек., но его можно менять.
Рисунок 25 - Вкладка “Сигналы шагов”
Также как и на вкладке “Условия шагов” выходные сигналы делятся на блоки, которые отображают сигналы одного назначения и имеют разные цвета. Цвет одного назначения один на разных вкладках, то есть на вкладке “Выходные сигналы” отображение идентично отображению на вкладке “Входные сигналы”.
Описание вкладки “Системные переменные”
Системные переменные для робота определены системой управления (KRC). В программу занесены имена системных переменных и их расшифровка. Все переменные отображаются в одной таблице, поэтому имеется столбец “IN/OUT/Variable”, который определяет происхождение сигнала (см. рис. 26). В разрабатываемой системе прописаны только те системные переменные, которые имеют битовый тип данных (boolean), так другие системные переменные не используются при программировании логики промышленного робота.
Рисунок 26 - Вкладка “Системные переменные”
На вкладке “Системные переменные” отсутствует возможность изменять данные переменных. В программе можно менять только номера системных входов/выходов. Номера системных входов/выходов на вкладке “Системные переменные” меняются автоматически при переопределении сигнала на вкладке “Входные сигналы” или “Выходные сигналы”.
Итак, в данном подразделе рассмотрены пять видов пользовательского интерфейса: вкладка “Входные сигналы”, вкладка “Шаги”, вкладка “Условия шагов”, вкладка “Сигналы шагов”, вкладка “Системные переменные”. На вкладке “Входные сигналы” прописываются имена сигналов и их назначения, строки с разными назначениями сигналов окрашиваются в разные цвета для лучшего восприятия. На вкладке “Шаги” прописываются этапы программы, нумерация этапов программы может быть не последовательной. На вкладке “Условия шагов” определяется последовательность опрашиваемых сигналов, прописываются ожидаемые значения для этих сигналов. На вкладке “Сигналы шагов” прописываются сигналы, подаваемые на шагах программы. Вкладка “Системные переменные” содержит данные о системных сигналов, она является информативной.
2.3 Разработка основных алгоритмов системы программирования промышленных роботов
Классы, реализующие функциональность АИС, имеют много методов. Оригинальные методы перечислены в диаграмме классов. Методы, функционал которых известен без описания (методы чтения и записи полей классов), не отображены в диаграмме классов. В данном подразделе описаны только те методы, которые имеют достаточно сложный функционал.
Функция записи списка входных сигналов
Метод SetListIn (ListInOut : list<InOut>) записывает данные в список ListIn. Этот метод нельзя назвать стандартным, так как он не просто перезаписывает данные, но при перезаписи проверяет наличие в списке записываемых объектов по полям “Имя” и “Номер” (см. рис. 27). Эти поля выбраны для проверки, так как при переопределении сигнала может измениться имя уже используемого сигнала или номер.
Рисунок 27 - Алгоритм метода “SetListIn”
Метод SetListIn(ListInOut : list<InOut>) сначала проверяет присутствие объектов в списке по полю “Имя”, затем по полю “Номер”. Это аргументируется тем, что чаще меняется имя сигнала, чем его номер.
Функция удаления пустых объектов из списка
DelNullObject (ListInOut : list<InOut>) - метод удаления пустых объектов из списка входных сигналов. В процессе переопределения входных сигналов какие-то сигналы удаляются, какие-то сигналы добавляются. Так как объекты списка Steps ссылаются на номера объектов списка ListIn, то при удалении и добавлении объектов в список ListIn будет теряться связь в списке Steps. Чтобы избежать данной проблемы при удалении входных сигналов, объекты, содержащие эти сигналы, не удаляются, а происходит удаление имени сигнала (см. рис. 28). При перезаписи списка Steps объекты списка ListIn с обнулёнными именами удаляются методом DelNullObject.
Рисунок 28 - Алгоритм метода “DelNullObject”
Для удаления пустых объектов их списка ListOut используется этот же метод, так в него передаётся список, который необходимо изменить.
Функция чтения списка не добавленных в условия входных сигналов
После определения сигналов и записи их в список ListIn пользователь на форме определяет последовательность сигналов при проверке условий шагов программы. Выбор сигналов происходит из списка сигналов, которые ещё не прописаны в последовательности. Для облегчения функциональности графического интерфейса проверка на отсутствие сигналов в последовательности происходит методом GetListNotAddIn(), который считывает поле AddIn у объектов и формирует список не прописанных в последовательности сигналов (см. рис. 29).
Рисунок 29 - Алгоритм метода “GetListNotAddIn”
Метод возвращает список имён сигналов, так как для формирования последовательности используется только это поле объекта.
Функция сортировки списков в пользовательской последовательности
Метод SortListInOut (ListNameInOut : list<string>, ListInOut : List<InOut>) предназначен для сортировки объектов списков в последовательности, заданной пользователем. При определении сигналов и первой их записи они записываются в список в порядке чтения с таблицы. При определении условий или выходных сигналов пользователь определяет последовательность проверяемых/передаваемых сигналов. Чтобы сохранить эту последовательность для дальнейшего чтения список сортируется. Алгоритм функции сортировки представлен на рисунке 30.
Рисунок 30 - Алгоритм метода “SortListInOut”
Методы SetListIn, DelNullObject, SortListInOut обеспечивают сохранение связи между списками ListIn и Steps. Методы SetListOut, GetListNotAddOut для списка ListOut аналогичны методам SetListIn и GetListNotAddIn, поэтому нет надобности описания их функциональности. Программный код методов отображён в Приложении А.
Функция генерации файла конфигурации
Вся информация, хранящаяся в объектах, записывается в следующие файлы:
ѕ init.src;
ѕ update.src;
ѕ config.txt;
ѕ comment.txt;
ѕ machine.dat.
Файл comment.txt является вспомогательным, он хранит комментарии. Остальные файлы являются необходимыми для конфигурации системы и работоспособности технологии. Файл config.txt содержит глобальные переменные, необходимые для работоспособности технологии. Файл config.txt содержит блок данных, который является частью данных файла config.dat. Алгоритм метода “GenConfig” удобнее описать, так как блок схема будет перегружена строковыми переменными. При описании алгоритма постоянные строки программы не будут прописаны, полный текст файла можно увидеть в Приложении Б.
Алгоритм метода “GenConfig”:
1. Прописать название фолда (блока данных) и неизменяемые структуры (типы данных).
2. Если список назначений ListUse содержит только два объекта, перейти к шагу 4.
3. Прописать структуру данных SLAVEROBTYPE, содержащую перечень сигналов slave из списка ListSigSlave.
4. Прописать переменные хранящие количество шагов программы, количество условий и время пульсации.
5. Если список назначений ListUse содержит только два объекта, перейти к шагу 8.
6. Объявить массив SLAVEROB. Размерность массива соответствует количеству назначений slaveX.
7. Для каждого элемента массива SLAVEROB прописать все переменные списка ListSigSlave. Если в списке ListIn/ListOut с соответствующим назначением отсутствует объект ListIn.Name== ListSigSlave(текущий), то после прописи сигнала поставить 0, иначе записать ListIn.Num.
8. Прописать закрытие фолда переменных и открытие фолда сигналов.
9. Прописать имена и номера сигналов с назначением “Robot”.
10. Прописать закрытие фолда сигналов.
Результаты функций генерации с привязкой к объектам отображены в Приложении В.
Таким образом, в данном подпункте описаны следующие методы:
ѕ алгоритм метода “SetListIn”, реализующий функцию записи списка входных сигналов;
ѕ алгоритм метода “DelNullObject”, реализующий функцию удаления пустых объектов из списка;
ѕ алгоритм метода “GetListNotAddIn”, реализующий функцию чтения списка не добавленных в условия входных сигналов;
ѕ алгоритм метода “SortListInOut”, реализующий функцию сортировки списков в пользовательской последовательности;
ѕ алгоритм метода “GenConfig”, реализующий функцию генерации блока основного файла конфигурации config.txt.
Алгоритмы методов SetListOut, GetListNotAddOut для списка ListOut аналогичны методам SetListIn и GetListNotAddIn, поэтому нет надобности описания их функциональности. Код программы с реализацией методов отображён в Приложении А. Результаты функций генерации “GenInit”, “GenUpdate” и “GenConfig” с привязкой к объектам отображены в Приложении Б.
2.4 Тестирование системы программирования логики промышленных роботов
Тестирование программного обеспечения -- процесс исследования программного обеспечения (ПО) с целью получения информации о качестве продукта.
Полное тестирование любой системы включает:
1. Функциональное тестирование (functional testing) - это тестирование ПО в целях проверки реализуемости функциональных требований, то есть способности ПО в определённых условиях решать задачи, нужные пользователям. Функциональные требования определяют, что именно делает ПО, какие задачи оно решает.
2. Тестирование производительности (performance testing) - тестирование, которое проводится с целью определения, как быстро работает система или её часть под определённой нагрузкой.
3. Юзабилити-тестирование (usability testing) - исследование, выполняемое с целью определения, удобен ли некоторый искусственный объект для его предполагаемого применения (Проверка эргономичности).
4. Тестирование интерфейса пользователя (UI testing) - проверка соответствия приложения требованиям к графическому интерфейсу, профессионально ли оно выглядит, выполнено ли оно в едином стиле. Тестирование UI очень редко проходит отдельно от основного функционального тестирования.
5. Тестирование безопасности (security testing) - оценка уязвимости программного обеспечения к различным атакам.
6. Тестирование локализации (localization testing) - это тестирование локализованной версии сайта. Локализация сайта - процесс адаптации сайта к культурным особенностям какой-либо страны: перевод документации, пользовательского интерфейса, сопутствующих материалов с одного языка на другой.
7. Тестирование совместимости (compatibility testing) - метод, основной целью которого является обеспечение качественной работы конечного продукта с другими программами, операционными системами, железом. [30, 31]
Для тестирования системы программирования логики промышленных роботов необходимо провести функциональное тестирование и тестирование совместимости.
Функциональное тестирование
Функциональное тестирование будет проводиться с использованием позитивного и негативного тестирования.
При тестировании будет проверено:
1. Наличие графических элементов.
2. Выполнение функций общей формы.
3. Выполнение функций вкладки “Генерация/Чтение”.
4. Выполнение функций вкладки “Входные сигналы”
5. Выполнение функций вкладки “Выходные сигналы”.
6. Выполнение функций вкладки “Шаги”.
7. Выполнение функций вкладки “Условия шагов”.
8. Выполнение функций вкладки “Сообщения”.
9. Выполнение функций вкладки “Сигналы шагов”.
10. Выполнение функций вкладки “Системные переменные”.
11. Корректная работа с Subversion
После тестирования будет составлен BugReport, отражающий ошибки позитивного и негативного тестирования.
Таблица 5 - Тест-кейс для позитивного тестирования АИС программирования логики промышленных роботов
Сценарий |
Действия |
Ожидаемый результат |
Полученный результат (pass, fail) |
|
Назначение: Наличие графических элементов |
||||
Наличие RadioButton для выбора режима программирования |
- |
RadioButton “Robot” и “Master” |
pass |
|
Наличие Spinner для выбора количества Slave |
- |
Элемент Spinner присутствует |
pass |
|
Наличие вкладки “Генерация/Чтение” |
- |
Элемент присутствует |
pass |
|
Наличие вкладки “Входные сигналы” |
- |
Элемент присутствует |
pass |
|
Наличие вкладки “Выходные сигналы” |
- |
Элемент присутствует |
pass |
|
Наличие вкладки “Шаги” |
- |
Элемент присутствует |
pass |
|
Наличие вкладки “Условия шагов” |
- |
Элемент присутствует |
pass |
|
Наличие вкладки “Сообщения” |
- |
Элемент присутствует |
pass |
|
Наличие вкладки “Сигналы шагов” |
- |
Элемент присутствует |
pass |
|
Наличие вкладки “Системные переменные” |
- |
Элемент присутствует |
pass |
|
Закрытие программы по окончанию работы |
1. Зайти на вкладку “Генерация/Чтение”. 2. Определить параметры сохранения. 3. Нажать на кнопку “Генерация”. 4. Закрыть программу |
Закрытие программы |
pass |
|
Сценарий |
Действия |
Ожидаемый результат |
Полученный результат (pass, fail) |
|
Преждевременное закрытие программы |
Закрыть программу без генерации файлов |
Диалог “Сохранить данные перед закрытием?” |
pass |
|
Назначение: Выполнение функций общей формы |
||||
Выбор режима программирования “Robot” |
Выбрать RadioButton “Robot” |
Элемент Spinner не активен |
pass |
|
Выбор режима программирования “Master” |
Выбрать RadioButton “Master” |
Элемент Spinner активен |
pass |
|
Увеличения количества slave до 8 |
Увеличить значение элемента Spinner до 8 |
Значение элемента Spinner 8 |
pass |
|
Назначение: Выполнение функций вкладки “Входные сигналы” |
||||
Наличие назначений “Robot” и “SYS” при режиме программирования “Robot” |
1. Выбрать RadioButton “Robot”. 2. Перейти на вкладку “Входные сигналы”. 3. Раскрыть список в столбце назначение. |
Список содержит две строки “Robot” и “SYS” |
pass |
|
Наличие назначений “Slave1” и “Slave2” при выборе двух slave |
1. Выбрать RadioButton “Master”. 2. Увеличить значение Spinner до двух. 3. Перейти на вкладку “Входные сигналы”. 4. Раскрыть список в столбце назначение. |
Список содержит строки “Robot”, “SYS”, “Slave1”, “Slave2” |
pass |
|
Выделение цветом строк с разными назначениями сигналов |
- |
Строки поделены на группы по назначениям. Группы строк разных цветов. |
pass |
|
Сценарий |
Действия |
Ожидаемый результат |
Полученный результат (pass, fail) |
|
Наличие выпадающего списка в поле “Имя” при выборе назначения “SYS” |
В столбце “Назначение” выбрать назначение “SYS” |
В столбце “Имя” появился выпадающий список |
pass |
|
Наличие всех входных системных сигналов в выпадающем списке в поле “Имя” при выборе назначения “SYS” |
1. В столбце “Назначение” выбрать назначение “SYS”. 2. В столбце “Имя” раскрыть выпадающий список. |
Строки списка соответствуют системным входным сигналам |
pass |
|
Отображение всех 1026 номеров в поле “Номер” |
Пролистать таблицу до конца |
В столбце “Номер” отображены все номера от 1 до 1026 |
pass |
|
Последовательное отображение номеров в поле “Номер” |
Пролистать таблицу до конца |
В столбце “Номер” все номера записаны последовательно |
pass |
|
Наличие выпадающего списка в поле “Имя” при выборе назначения “Slave2” |
1. В столбце “Назначение” выбрать назначение “Slave2”. 2. В столбце “Имя” раскрыть выпадающий список. |
Строки списка содержат имена Slave1 и строку “new” |
pass |
|
Возможность выбора имени из выпадающего списка при выборе назначения “Slave2” |
1. В столбце “Назначение” выбрать назначение “Slave2”. 2. В столбце “Имя” выбрать в выпадающем списке имя. |
Выбранное имя добавлено в ячейку. |
pass |
|
Сценарий |
Действия |
Ожидаемый результат |
Полученный результат (pass, fail) |
|
Возможность задания нового имени при выборе назначения “Slave2” |
1. В столбце “Назначение” выбрать назначение “Slave2”. 2. В столбце “Имя” выбрать в выпадающем списке строку “new”. |
В столбце “Имя” пустая строка с курсором. |
pass |
|
Дублирование комментария при выборе имени из выпадающего списка для назначения “Slave2” |
1. В столбце “Назначение” выбрать назначение “Slave2”. 2. В столбце “Имя” выбрать в выпадающем списке имя. |
В столбце “Комментарий” появился комментарий выбранного имени |
pass |
|
Назначение: Выполнение функций вкладки “Выходные сигналы” |
||||
Наличие назначений “Robot” и “SYS” при режиме программирования “Robot” |
1. Выбрать RadioButton “Robot”. 2. Перейти на вкладку “Выходные сигналы”. 3. Раскрыть список в столбце назначение. |
Список содержит две строки “Robot” и “SYS” |
||
Наличие назначений “Slave1” и “Slave2” при выборе двух slave |
1. Выбрать RadioButton “Master”. 2. Увеличить значение Spinner до двух. 3. Перейти на вкладку “Выходные сигналы”. 4. Раскрыть список в столбце назначение. |
Список содержит строки “Robot”, “SYS”, “Slave1”, “Slave2” |
pass |
|
Сценарий |
Действия |
Ожидаемый результат |
Полученный результат (pass, fail) |
|
Выделение цветом строк с разными назначениями сигналов |
- |
Строки поделены на группы по назначениям. Группы строк разных цветов. |
pass |
|
Наличие выпадающего списка в поле “Имя” при выборе назначения “SYS” |
В столбце “Назначение” выбрать назначение “SYS” |
В столбце “Имя” появился выпадающий список |
pass |
|
Наличие всех входных системных сигналов в выпадающем списке в поле “Имя” при выборе назначения “SYS” |
1. В столбце “Назначение” выбрать назначение “SYS”. 2. В столбце “Имя” раскрыть выпадающий список. |
Строки списка соответствуют системным входным сигналам |
pass |
|
Отображение всех 1026 номеров в поле “Номер” |
Пролистать таблицу до конца |
В столбце “Номер” отображены все номера от 1 до 1026 |
pass |
|
Последовательное отображение номеров в поле “Номер” |
Пролистать таблицу до конца |
В столбце “Номер” все номера записаны последовательно |
pass |
|
Наличие выпадающего списка в поле “Имя” при выборе назначения “Slave2” |
1. В столбце “Назначение” выбрать назначение “Slave2”. 2. В столбце “Имя” раскрыть выпадающий список. |
Строки списка содержат имена Slave1 и строку “new” |
pass |
|
Возможность выбора имени из выпадающего списка при выборе назначения “Slave2” |
1. В столбце “Назначение” выбрать назначение “Slave2”. 2. В столбце “Имя” выбрать в выпадающем списке имя. |
Выбранное имя добавлено в ячейку. |
pass |
|
Сценарий |
Действия |
Ожидаемый результат |
Полученный результат (pass, fail) |
|
Возможность задания нового имени при выборе назначения “Slave2” |
1. В столбце “Назначение” выбрать назначение “Slave2”. 2. В столбце “Имя” выбрать в выпадающем списке строку “new”. |
В столбце “Имя” пустая строка с курсором. |
pass |
|
Дублирование комментария при выборе имени из выпадающего списка для назначения “Slave2” |
1. В столбце “Назначение” выбрать назначение “Slave2”. 2. В столбце “Имя” выбрать в выпадающем списке имя. |
В столбце “Комментарий” появился комментарий выбранного имени |
pass |
|
Назначение: Выполнение функций вкладки “Шаги” |
||||
Написание целого числа в поле “Номер” |
Записать целое число в поле “Номер” |
Число записано |
pass |
|
Написание комментария в поле “Комментарий” |
Записать текст в поле “Комментарий” |
Текст записан |
pass |
|
Добавление строки после выделенной |
1. Выделить строку. 2. Нажать кнопку “Добавить шаг после текущего”. |
Добавлена строка после выделанной строки |
pass |
|
Удаление выделенной строки |
1. Выделить строку. 2. Нажать кнопку “Удалить текущий шаг”. |
Выделенная строка удалена |
pass |
|
Назначение: Выполнение функций вкладки “Условия шагов” |
||||
Наличие выпадающих списков в столбце “Входа” |
- |
Элемент присутствует |
pass |
|
Сценарий |
Действия |
Ожидаемый результат |
Полученный результат (pass, fail) |
|
Разделение цветом блоков строк по назначениям |
- |
Строки поделены на группы по назначениям. Группы строк разных цветов. |
pass |
|
Выпадающий список в блоке одного назначения имеет сигналы только этого назначения |
Раскрыть выпадающий список |
Строки списка соответствуют записанным сигналам под данным назначением |
pass |
|
При выборе сигнала он исчезает из списка |
1. Открыть выпадающий список. 2. Выбрать сигнал. 3. Открыть на другой строке выпадающий список этого же назначения. |
Список содержит только не прописанные в столбце имена сигналов. |
pass |
|
При удалении имени сигнала из ячейки “Входа” удалённый сигнал появляется в списке |
1. Выбрать сигнал из списка. 2. Проверить отсутствие выбранного сигнала в списке. 3. Удалить ранее выбранный сигнал из ячейки. |
Удалённый сигнал присутствует в списке. |
pass |
|
Количество столбцов шагов равно количеству шагов |
Сравнить количество шагов на вкладке “Условия шагов” с количеством шагов на вкладке “Шаги” |
Количество шагов программы и их номера совпадают. |
pass |
|
Запись объектов при вводе 0/1 в ячейки условий шагов |
1. Записать в ожидаемые значения сигналов цифры 0/1. 2. Перейти на другую вкладку. 3. Вернуться на вкладку “Условия шагов”. |
Данные отображены также как были записаны (объекты записаны и считаны корректно) |
pass |
|
Сценарий |
Действия |
Ожидаемый результат |
Полученный результат (pass, fail) |
|
Назначение: Выполнение функций вкладки “Сообщения” |
||||
Активизация ячеек сообщений |
- |
Ячейки для написания сообщений на условиях, в которых прописаны ожидаемые значения, активны |
pass |
|
Блокировка ячеек сообщений. |
- |
Ячейки для написания сообщений на условиях, в которых прописаны ожидаемые значения, не активны |
pass |
|
Возможность выбора статуса сообщения из выпадающего списка |
В активной ячейке выбрать статус сообщения |
В ячейке записан статус сообщения |
pass |
|
Возможность написать сообщения для всех шагов и необходимых условий |
- |
Таблица отображает все необходимые ячейки |
pass |
|
Назначение: Выполнение функций вкладки “Сигналы шагов” |
||||
Наличие выпадающих списков в столбце “Выхода” |
- |
Элемент присутствует |
pass |
|
Разделение цветом блоков строк по назначениям |
- |
Строки поделены на группы по назначениям. Группы строк разных цветов. |
pass |
|
Выпадающий список в блоке одного назначения имеет сигналы только этого назначения |
Раскрыть выпадающий список |
Строки списка соответствуют записанным сигналам под данным назначением |
pass |
|
Сценарий |
Действия |
Ожидаемый результат |
Полученный результат (pass, fail) |
|
При выборе сигнала он исчезает из списка |
1. Открыть выпадающий список. 2. Выбрать сигнал. 3. Открыть на другой строке выпадающий список этого же назначения. |
Список содержит только не прописанные в столбце имена сигналов. |
pass |
|
При удалении имени сигнала из ячейки “Входа” удалённый сигнал появляется в списке |
1. Выбрать сигнал из списка. 2. Проверить отсутствие выбранного сигнала в списке. 3. Удалить ранее выбранный сигнал из ячейки. |
Удалённый сигнал присутствует в списке. |
pass |
|
Количество столбцов шагов равно количеству шагов |
Сравнить количество шагов на вкладке “Условия шагов” с количеством шагов на вкладке “Шаги” |
Количество шагов программы и их номера совпадают. |
pass |
|
Запись объектов при вводе 0/1/Р0/Р1 в ячейки условий шагов |
1. Записать в ожидаемые значения сигналов 0,1,Р0,Р1. 2. Перейти на другую вкладку. 3. Вернуться на вкладку “Сигналы шагов”. |
Данные отображены также как были записаны (объекты записаны и считаны корректно) |
pass |
|
Увеличение времени сигнала |
Увеличить значение элемента Spinner |
Значение увеличивается |
pass |
|
Уменьшение времени сигнала до 0 |
Уменьшить значение элемента Spinner до 0 |
Значение элемента Spinner 0 |
pass |
|
Сценарий |
Действия |
Ожидаемый результат |
Полученный результат (pass, fail) |
|
Назначение: Выполнение функций вкладки “Системные переменные” |
||||
Отображение системных переменных и данных по ним |
- |
Присутствие всех системных переменных и корректная расшифровка переменных |
pass |
|
Изменение данных |
Удалить текст из ячейки |
Изменение текста заблокированно |
pass |
|
Соответствие номеров системных переменных с изменениями на вкладках определения сигналов |
1. Перейти на вкладку “Входные сигналы”. 2. Выбрать назначение “SYS”. 3. Выбрать имя системного сигнала. 4. Перейти на вкладку “Системные переменные”. 5. Сравнить номера сигналов на вкладках “Входные сигналы” и Системные переменные |
Номера сигналов совпадают |
pass |
|
Назначение: Корректная работа с Subversion |
||||
Извлечение сборки из хранилища |
1. Определить путь сборки в хранилище. 2. Определить путь локального сохранения рабочей копии. 3. Нажать кнопку “Извлечь”. |
Сборка сохранена по указанному пути. Данные отображены в АИС |
pass |
|
Сохранение сборки в хранилище |
1. Определить путь сохранения в хранилище. 2. Нажать кнопку “Генерация”. |
Файлы сгенерированы и сохранены по указанному пути |
pass |
|
Сценарий |
Действия |
Ожидаемый результат |
Полученный результат (pass, fail) |
|
Сохранение сборки на локальную машину |
1. Определить путь сохранения на локальную машину. 2. Нажать кнопку “Генерация”. |
Файлы сгенерированы и сохранены по указанному пути |
pass |
|
Создание новой ветки сборок |
1. Определить путь сохранения в хранилище. 2. Нажать кнопку “Генерация”. |
Указанная ветка создана. Файлы сохранены. |
pass |
Негативное тестирование (см. табл. 6) проводится для проверки работоспособности системы при вводе некорректных данных.
Таблица 6 - Тест-кейс для негативного тестирования АИС программирования логики промышленных роботов
Сценарий |
Действия |
Ожидаемый результат |
Полученный результат (pass, fail) |
|
Назначение: Выполнение функций общей формы |
||||
Увеличения количества slave до 10 |
- |
Значение элемента Spinner 8 |
pass |
|
Уменьшение количества slave до -1 |
- |
Значение элемента Spinner 0 |
pass |
|
Назначение: Выполнение функций вкладки “Входные сигналы” |
||||
Запись повторяющихся имён |
- |
Сообщение об ошибке |
fail |
|
Назначение: Выполнение функций вкладки “Выходные сигналы” |
||||
Запись повторяющихся имён |
- |
Сообщение об ошибке |
fail |
|
Сценарий |
Действия |
Ожидаемый результат |
Полученный результат (pass, fail) |
|
Назначение: Выполнение функций вкладки “Шаги” |
||||
Написание дробного числа в поле “Номер” |
Записать в поле “Номер” дробное число |
Невозможно поставить знак препинания |
fail |
|
Написание строки в поле “Номер” |
Записать в поле “Номер” строку |
Символы не подрисовываются |
pass |
|
Повторение номера шага |
Записать в поле “Номер” один номер для разных шагов |
Сообщение об ошибке |
fail |
|
Написание номеров шагов не по возрастанию |
Написать номера шагов в порядке убывания |
Сообщение об ошибке |
fail |
|
Написание одинаковых расшифровок шагов |
Написать одинаковый комментарий для разных шагов |
Комментарий принят (записан) |
pass |
|
Назначение: Выполнение функций вкладки “Условия шагов” |
||||
Запись объектов при вводе дробного числа в ячейки условий шагов |
Записать дробное число в ячейку ожидаемого значения |
Блокировка набора символов отличных от 0 и 1 |
pass |
|
Запись объектов при вводе текста в ячейки условий шагов |
Записать текст в ячейку ожидаемого значения |
Блокировка набора символов отличных от 0 и 1 |
pass |
|
Назначение: Выполнение функций вкладки “Сообщения” |
||||
Статус сообщения не выбран |
Записать текст сообщения. Статус оставить пустым |
Запись статуса по умолчанию |
pass |
|
Статус сообщения выбран, текст сообщения не написан |
Выбрать статус, текстовое поле сообщение оставить пустым |
Запись статуса и сообщения по умолчанию |
pass |
|
Поля сообщения не заполнены |
- |
Запись статуса и сообщения по умолчанию |
pass |
|
Сообщения повторяются |
Написать одинаковые сообщения |
Записать сообщения |
pass |
|
Сценарий |
Действия |
Ожидаемый результат |
Полученный результат |
|
Назначение: Выполнение функций вкладки “Сигналы шагов” |
||||
Уменьшить время сигнала до -1 |
Уменьшить значение элемента Spinner до значения -1 |
Значение элемента Spinner 0 |
pass |
|
Запись объектов при вводе дробного числа в ячейки сигналов шагов |
Записать дробное число в ячейку |
Блокировка набора знаков препинания |
pass |
|
Запись объектов при вводе другой строки (не Р1 и Р2) в ячейки условий шагов |
Записать строку в ячейку |
Блокировка набора строк отличных Р1,Р2 |
fail |
При проведении тестирования выявлены ошибки работы системы. Они сведены в таблицу 7.
Таблица 7 - BugReport тестирования автоматизированной системы
№ бага |
Краткое описание |
Действие |
Полученный результат |
Ожидаемый результат |
Приоритет бага |
|
1 |
Запись повторяющихся имён на вкладке “Входа” |
- |
Ошибка системы |
Сообщение об ошибке |
нормальный |
|
2 |
Запись повторяющихся имён на вкладке “Выхода” |
- |
Ошибка системы |
Сообщение об ошибке |
нормальный |
|
3 |
Написание дробного числа в поле “Номер” |
- |
Ошибка системы |
Невозможно поставить знак препинания |
нормальный |
|
4 |
Повторение номера шага |
- |
Ошибка системы |
Сообщение об ошибке |
низкий |
|
5 |
Написание номеров шагов не по возрастанию |
- |
Ошибка системы |
Сообщение об ошибке |
низкий |
|
6 |
Запись объектов при вводе другой строки (не Р1 и Р2) в ячейки условий шагов |
- |
Ошибка системы |
Блокировка набора строк отличных Р1,Р2 |
высокий |
При тестировании АИС программирования промышленных роботов выявлены шесть ошибок, которые необходимо отладить.
Тестирование совместимости
Тестирование совместимости позволит убедиться, что система программирования логики промышленных роботов:
1) совместима со всеми целевыми ОС -Windows XP SP2 и старше;
2) корректно работает как на x86, так и на x64;
3) может быть выполнена различными версиями интерпретатора языка программирования (при использовании разных версий Java-машины).
Тестирование будет проводиться для следующих операционных систем:
ѕ Windows XP SP2 x86;
ѕ Windows XP SP3 x86;
ѕ Windows XP SP3 x64;
ѕ Windows 7 x64.
Для тестирования выбраны именно эти операционные системы, так как они используются в группе программирования промышленных роботов.
Таблица 8 - Тест-кейс для тестирования совместимости АИС программирования логики промышленных роботов
Операционная система |
Версия JDK |
Работоспособность системы |
|
Windows XP SP2 x86 |
5.11 |
Отличная |
|
6.22 |
Отличная |
||
7.0 |
Отличная |
||
Windows XP SP3 x86 |
5.11 |
Отличная |
|
6.22 |
Отличная |
||
7.0 |
Отличная |
||
Windows XP SP3 x64 |
5.11 |
Отличная |
|
6.22 |
Отличная |
||
7.0 |
Отличная |
||
Операционная система |
Версия JDK |
Работоспособность системы |
|
Windows 7 x64 |
5.11 |
Отличная |
|
6.22 |
Отличная |
||
7.0 |
Отличная |
Автоматизированная система программирования логики промышленных роботов совместима с программным обеспечением, используемым группой программирования промышленных роботов.
В данном подразделе было проведено функциональное тестирование и тестирование совместимости. При негативном функциональном тестировании выявлено шесть ошибок. При тестировании совместимости была проверена корректная функциональность системы на платформах Windows XP SP2 x86, Windows XP SP3 x86, Windows XP SP3 x64, Windows 7 x64 и при различных версиях JDK. Проблем совместимости с перечисленным программным обеспечением АИС программирования промышленных роботов не имеет.
2.5 Схема реализации
Диаграмма развертывания предназначена для визуализации элементов и компонентов программы, существующих лишь на этапе ее исполнения (runtime). При этом представляются только компоненты-экземпляры программы, являющиеся исполнимыми файлами или динамическими библиотеками. Т.е. компоненты, которые не используются на этапе исполнения, на диаграмме развертывания не показываются. Диаграмма развертывания содержит графические изображения процессоров, устройств, процессов и связей между ними. Диаграмма развертывания является единой для системы в целом, поскольку должна всецело отражать особенности ее реализации. Разработка диаграммы развёртывания является последним этапом спецификации модели.
Подобные документы
Область применения промышленных роботов. Тенденция увеличения парка промышленных роботов в современном производстве. Компоненты промышленных роботов, принципы их работы и построения. Датчики, применяемые для сбора информации в промышленных роботах.
курсовая работа [1,1 M], добавлен 06.04.2012Виды и сферы применения промышленных роботов, характеристика их рабочей зоны и основные особенности. Технические данные и кинематические схемы роботов, работающих в разных системах координат. Расчет максимального ускорения, массы и инерции звеньев.
курсовая работа [1,3 M], добавлен 27.12.2011Классификация и назначение промышленных роботов. Применение робототехнических комплексов в промышленности. Назначение робототехнического комплекса "Ритм – 01". Описание инструментальных средств программирования и языки программирования контроллеров.
дипломная работа [2,4 M], добавлен 17.07.2012Разработка автоматизированной информационной системы "Супермаркет DNS" с опорой на платформу NET, в среде MS Visual Studio, на языке программирования C. Объектная модель программной системы согласно методологии ОМТ. Описание алгоритмов обработки данных.
курсовая работа [394,0 K], добавлен 21.10.2012Информационные и автоматизированные системы управления технологическими процессами на промышленных предприятиях. Базы данных в автоматизированных системах управления. Системы планирования ресурсов предприятия, сбора и аналитической обработки данных.
контрольная работа [486,7 K], добавлен 29.10.2013Автоматизированные информационные системы и их структура. Обзор существующих автоматизированных информационных систем "Расписание". Структурный подход к проектированию автоматизированной системы "Расписание", построение моделей данных и анализ внедрения.
дипломная работа [3,1 M], добавлен 29.06.2010Обзор медицинских информационных систем. Анализ и моделирование автоматизированной системы "Регистратура". Требования к составу и параметрам вычислительной системы. Обоснование выбора системы управления базами данных. Разработка инструкции пользователя.
дипломная работа [1,2 M], добавлен 14.10.2012Методы разработки автоматизированных систем. Характеристика языка программирования Delphi и операционной системы Windows. Разработка автоматизированной системы контроля знаний на примере дисциплины "История мира". Этапы разработки программного продукта.
курсовая работа [3,8 M], добавлен 18.05.2014Основы визуального программирования интерфейса. Архитектура программных систем. Проектирование базы данных. Анализ предметной области и связей между сущностями. Построение модели "сущность-связь". Разработка автоматизированной информационной системы.
курсовая работа [4,4 M], добавлен 16.11.2014База данных как структурированный организованный набор данных, описывающих характеристики каких-либо физических или виртуальных систем. Порядок разработки автоматизированной информационной системы с заданными параметрами, ее структура и элементы.
контрольная работа [848,9 K], добавлен 04.06.2013