Файл: Отчет по производственной практике пм. 02 Пп. 02. 01 Применение микропроцессорных систем, установка и конфигурирование периферийного оборудования.docx
Добавлен: 10.01.2024
Просмотров: 401
Скачиваний: 18
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
TFTTEST» (Рисунок 2.3.1).
Рисунок 2.3.1 Иконка программы TFTTEST
В открывшемся окне утилиты надо выбрать режим, обозначенный белым квадратом без узора. В этом режиме экран полностью заполняется одним цветом. Цвета можно менять стрелочками на клавиатуре. Таким образом, меняя цвета, нужно пройтись по всей палитре, тщательно всматриваясь в экран в поиске аномалий (Рисунок 2.3.2).
Рисунок 1.3.2 Интерфейс программы TFTTEST
В случае нахождения аномалии нужно пометить бракованный участок с помощью наклейки с указателем, прикрепляющейся к пленке на экране и сообщить о браке бригадиру.
2.3 Установка комплектующих на ноутбук
Для установки на ноутбук SSD-диска и платы оперативной памяти сначала требуется при помощи отвёртки отвинтить несколько винтов с нижней панели и снять крышку. Первым делом устанавливается твердотельный накопитель, затем уже плата ОЗУ. Следующим этапом сканируется штрих-код на самом ноутбуке, SSD-диске и плате оперативной памяти (Рисунок 2.3.1).
Рисунок 2.3.1 Нижняя панель ноутбука
Если сканирование проходит успешно и в базе данных данные комплектующие прикрепляются к этому ноутбуку, крышка привинчивается обратно, приклеивается наклейка с номером партии и общим количеством единиц в партии. Затем на компьютер «заливается» операционная система и начинается этап тестов.
3 ИНДИВИДУАЛЬНОЕ ЗАДАНИЕ
LabVIEW (Laboratory Virtual Instruments Engineering Workshop) – это система программирования, разработанная фирмой National Instruments (США) и ориентированная на создание приложений в области автоматизации научных исследований, управления производством и промышленными установками и т.п. LabVIEW по своим возможностям приближается к системам программирования общего назначения, например, к Delphi. Тем не менее, между ними существует ряд важных различий:
Графический язык программирования «G», используемый в LabVIEW, основан на архитектуре потоков данных.
LabVIEW — это кроссплатформенная графическая среда разработки приложений. LabVIEW — в принципе универсальный язык программирования. И хотя этот продукт порой тесно связан с аппаратным обеспечением National Instruments, он тем не менее не связан с конкретной машиной. Это среда разработки и исполнения приложений, предназначенная для исследователей - ученых и инженеров.
В LabVIEW разрабатываемые программные модули называются «Virtual Instruments» (Виртуальные Инструменты) или по-простому VI. Они сохраняются в файлах с расширением *.vi. VIs – это кирпичики, из которых состоит LabVIEW – программа. Любая LabVIEW программа содержит как минимум один VI. В терминах языка Си можно достаточно смело провести аналогию с функцией с той лишь разницей, что в LabVIEW одна функция содержится в одном файле. Само собой разумеется, один VI может быть вызван из другого VI. В принципе каждый VI состоит из двух частей — Блок-Диаграмма (Block Diagram) и Передняя Панель (Front Panel).
Блок-диаграмма — это программный код (точнее визуальное графическое представление кода) (Рисунок 3.1).
Рисунок 3.1 Блок-диаграмма программы LabVIEW
Передняя панель — это интерфейс (Рисунок 3.2).
Рисунок 3.2 Передняя панель программы LabVIEW
В основе LabVIEW лежит парадигма потоков данных. В вышеприведённом примере константа и терминал индикатора соединены между собой линией. Эта линия называется Wire. Можно назвать её «проводом». По проводам передаются данные от одних элементов другим. Вся эта концепция называется Data Flow. Суть Блок Диаграммы - это узлы (ноды), выходы одних узлов присоединены ко входам других узлов. Узел начнёт выполнение только тогда, когда прибудут все необходимые для работы данные.
Если при программировании случайно будет сделана ошибка, например какой-то провод будет подключен «не туда», то в большинстве случаев LabVIEW сразу обратит на это внимание программиста.
Индивидуальное задание представляет собой создание таймера с временным диапазоном в одни сутки. Состоит он из шести числовых и шести семи-сегментных индикаторов. Для разработки программы нам потребуются следующие элементы:
Рисунок 4.1 Элемент While loop
Цикл по условию осуществляет итерационное выполнение кода внутри данной структуры до выполнения заданного условия.
Рисунок 4.3 Элемент Flat Sequence Structure
Структура отличается возможностью передачи данных между кадрами без вспомогательных переменных и возможностью вывода данных из любого кадра структур.
Рисунок 4.3 Элемент String Subset Structure
Этот элемент выдает часть входной строки, начинающуюся со знака, порядковый номер которого равен числу на вхоже offset, и длина которой равна числу на входе Length.
Рисунок 4.4 Элемент Select Function
В зависимости от того, какое значение подано на центральный вход, элемент возвращает одно из двух значений.
Рисунок 4.5 Элемент Equal?
Элемент сравнивает два входных значения и возвращает True, если они совпадают, и False, если они не совпадают.
Рисунок 4.6 Элемент Concatenate String Function
Элемент объединяет несколько входных строк в одну.
Рисунок 4.7 Элемент Concatenate String Function
Этот элемент возвращает длину входной строки.
Рисунок 4.8 Элемент Get Date/Time Function
Элемент принимает данные формата Time Stamp и возвращает две строки: дата и время.
Рисунок 4.9 Элемент To Time Stamp
Элемент принимает числовое значение и переводит его в формат данных Time Stamp.
Рисунок 4.10 Элемент Wait (ms)
Функция ожидает заданное число миллисекунд и возвращает значение таймера в миллисекундах.
Рисунок 4.11 Элемент Add
Рисунок 4.12 Элемент Case Structure
Структура управляет выполнением одного из двух или более фрагментов кода при выборе по условию.
Для начала следует оформить лицевую панель. (Рисунок 4.13).
Рисунок 4.13 Передняя панель таймера
Она состоит из шести семи-сегментных индикаторов (по два на часы, минуты и секунды), четырёх круглых индикаторов для дифференциации часом, минут и секунд, семи числовых индикаторов (по два на часы, минуты, секунды и один для индикации общего времени).
Следующим этапом в блоке диаграммы создается цикл While Loop, в котором будет находиться основное тело цикла. Там создается элемент Flat Sequence Structure, который отвечает за увеличение количества прошедших секунд на одну в каждую итерацию цикла While. Чтобы течение времени в программе совпадало по скорости с реальным, ставится секундная задержка с помощью элемента Wait (ms) (Рисунок 4.14).
Рисунок 4.14 Flat Sequence Structure в программе
Начальное число секунд равно семидесяти пяти тысячам шестиста потому, что программа начинает отсчёт с трёх часов ночи и, чтобы отсчёт пошёл ровно с нулей, нужно со старта прибавить двадцать один час.
Следующим этапом идёт создание блока, преобразующего количество секунд во время в формате string. Здесь используется наибольший набор элементов.
Сначала число поступает на вход элемента Time to Stamp, возвращающего данные в формате Time Stamp. Эти данные поступают на элемент Get Date/Time Function, выдающий на выходе две строки: первая с датой, а вторая со временем. В данном случае строка с датой нам не нужна, поэтому её мы оставляем. Строка со временем подключается к элементу String Length, который возвращает количество символов в строке. Далее оператор Equal? Сравнивает полученное число с семью. Дело в том, что, если в формате Time Stamp количество часов равно нулю, для их обозначения используется один ноль, но, если часов один и больше, используется уже два знака. Для дальнейшей корректной работы программы необходимо, чтобы количество символов в строке всегда было одинаковым.
Поэтому, в случае, если в строке всего семь символов, элемент Concatenate String Function добавляет ещё один ноль в начале и элемент Select выводит именно эту версию строки (Рисунок 4.15).
Рисунок 4.15 Вывод общего времени
Получившаяся строка выводится в индикатор «Общее время» и следует далее по программе. Далее для каждой цифры таймера создаётся структура Case. Каждая структура имеет по несколько «кейсов».
В этих кейсах находятся булевы константы, зажигающие нужные индикаторы при определенном значении, пришедшем на вход структуры.
На вход элемента String Subset Structure поступает строка со временем. На вход offset подаётся число, равное порядковому номеру цифры, с которой нужно начинать выводить часть строки. На вход String Length всегда подается константа, равная единице. Таким образом, на выходе элемента получается строка, содержащая одну цифру.
Далее это строка поступает на соответствующий кейс и соответствующий числовой индикатор (Рисунок 4.16).
Рисунок 2.3.1 Иконка программы TFTTEST
В открывшемся окне утилиты надо выбрать режим, обозначенный белым квадратом без узора. В этом режиме экран полностью заполняется одним цветом. Цвета можно менять стрелочками на клавиатуре. Таким образом, меняя цвета, нужно пройтись по всей палитре, тщательно всматриваясь в экран в поиске аномалий (Рисунок 2.3.2).
Рисунок 1.3.2 Интерфейс программы TFTTEST
В случае нахождения аномалии нужно пометить бракованный участок с помощью наклейки с указателем, прикрепляющейся к пленке на экране и сообщить о браке бригадиру.
2.3 Установка комплектующих на ноутбук
Для установки на ноутбук SSD-диска и платы оперативной памяти сначала требуется при помощи отвёртки отвинтить несколько винтов с нижней панели и снять крышку. Первым делом устанавливается твердотельный накопитель, затем уже плата ОЗУ. Следующим этапом сканируется штрих-код на самом ноутбуке, SSD-диске и плате оперативной памяти (Рисунок 2.3.1).
Рисунок 2.3.1 Нижняя панель ноутбука
Если сканирование проходит успешно и в базе данных данные комплектующие прикрепляются к этому ноутбуку, крышка привинчивается обратно, приклеивается наклейка с номером партии и общим количеством единиц в партии. Затем на компьютер «заливается» операционная система и начинается этап тестов.
3 ИНДИВИДУАЛЬНОЕ ЗАДАНИЕ
LabVIEW (Laboratory Virtual Instruments Engineering Workshop) – это система программирования, разработанная фирмой National Instruments (США) и ориентированная на создание приложений в области автоматизации научных исследований, управления производством и промышленными установками и т.п. LabVIEW по своим возможностям приближается к системам программирования общего назначения, например, к Delphi. Тем не менее, между ними существует ряд важных различий:
-
система LabVIEW основана на принципах графического программирования; -
система LabVIEW основана на принципах объектно-ориентированного программирования; -
система LabVIEW является проблемно-ориентированной.
Графический язык программирования «G», используемый в LabVIEW, основан на архитектуре потоков данных.
LabVIEW — это кроссплатформенная графическая среда разработки приложений. LabVIEW — в принципе универсальный язык программирования. И хотя этот продукт порой тесно связан с аппаратным обеспечением National Instruments, он тем не менее не связан с конкретной машиной. Это среда разработки и исполнения приложений, предназначенная для исследователей - ученых и инженеров.
В LabVIEW разрабатываемые программные модули называются «Virtual Instruments» (Виртуальные Инструменты) или по-простому VI. Они сохраняются в файлах с расширением *.vi. VIs – это кирпичики, из которых состоит LabVIEW – программа. Любая LabVIEW программа содержит как минимум один VI. В терминах языка Си можно достаточно смело провести аналогию с функцией с той лишь разницей, что в LabVIEW одна функция содержится в одном файле. Само собой разумеется, один VI может быть вызван из другого VI. В принципе каждый VI состоит из двух частей — Блок-Диаграмма (Block Diagram) и Передняя Панель (Front Panel).
Блок-диаграмма — это программный код (точнее визуальное графическое представление кода) (Рисунок 3.1).
Рисунок 3.1 Блок-диаграмма программы LabVIEW
Передняя панель — это интерфейс (Рисунок 3.2).
Рисунок 3.2 Передняя панель программы LabVIEW
В основе LabVIEW лежит парадигма потоков данных. В вышеприведённом примере константа и терминал индикатора соединены между собой линией. Эта линия называется Wire. Можно назвать её «проводом». По проводам передаются данные от одних элементов другим. Вся эта концепция называется Data Flow. Суть Блок Диаграммы - это узлы (ноды), выходы одних узлов присоединены ко входам других узлов. Узел начнёт выполнение только тогда, когда прибудут все необходимые для работы данные.
Если при программировании случайно будет сделана ошибка, например какой-то провод будет подключен «не туда», то в большинстве случаев LabVIEW сразу обратит на это внимание программиста.
Индивидуальное задание представляет собой создание таймера с временным диапазоном в одни сутки. Состоит он из шести числовых и шести семи-сегментных индикаторов. Для разработки программы нам потребуются следующие элементы:
-
While loop – 1 шт. (Рисунок 4.1);
Рисунок 4.1 Элемент While loop
Цикл по условию осуществляет итерационное выполнение кода внутри данной структуры до выполнения заданного условия.
-
Flat Sequence Structure – 2 шт. (Рисунок 4.2);
Рисунок 4.3 Элемент Flat Sequence Structure
Структура отличается возможностью передачи данных между кадрами без вспомогательных переменных и возможностью вывода данных из любого кадра структур.
-
String Subset Structure – 6 шт. (Рисунок 4.3);
Рисунок 4.3 Элемент String Subset Structure
Этот элемент выдает часть входной строки, начинающуюся со знака, порядковый номер которого равен числу на вхоже offset, и длина которой равна числу на входе Length.
-
Select Function – 1 шт. (Рисунок 4.4);
Рисунок 4.4 Элемент Select Function
В зависимости от того, какое значение подано на центральный вход, элемент возвращает одно из двух значений.
-
Equal? – 1 шт. (Рисунок 4.5);
Рисунок 4.5 Элемент Equal?
Элемент сравнивает два входных значения и возвращает True, если они совпадают, и False, если они не совпадают.
-
Concatenate String Function – 1 шт. (Рисунок 4.6);
Рисунок 4.6 Элемент Concatenate String Function
Элемент объединяет несколько входных строк в одну.
-
String Length – 1шт. (Рисунок 4.7);
Рисунок 4.7 Элемент Concatenate String Function
Этот элемент возвращает длину входной строки.
-
Get Date/Time Function – 1 шт. (Рисунок 4.8);
Рисунок 4.8 Элемент Get Date/Time Function
Элемент принимает данные формата Time Stamp и возвращает две строки: дата и время.
-
To Time Stamp - 1 шт. (Рисунок 4.9);
Рисунок 4.9 Элемент To Time Stamp
Элемент принимает числовое значение и переводит его в формат данных Time Stamp.
-
Wait (ms) – 3 шт. (Рисунок 4.10);
Рисунок 4.10 Элемент Wait (ms)
Функция ожидает заданное число миллисекунд и возвращает значение таймера в миллисекундах.
-
Add – 1 шт. (Рисунок 4.11);
Рисунок 4.11 Элемент Add
-
Case Structure – 5 шт. (Рисунок 4.12).
Рисунок 4.12 Элемент Case Structure
Структура управляет выполнением одного из двух или более фрагментов кода при выборе по условию.
Для начала следует оформить лицевую панель. (Рисунок 4.13).
Рисунок 4.13 Передняя панель таймера
Она состоит из шести семи-сегментных индикаторов (по два на часы, минуты и секунды), четырёх круглых индикаторов для дифференциации часом, минут и секунд, семи числовых индикаторов (по два на часы, минуты, секунды и один для индикации общего времени).
Следующим этапом в блоке диаграммы создается цикл While Loop, в котором будет находиться основное тело цикла. Там создается элемент Flat Sequence Structure, который отвечает за увеличение количества прошедших секунд на одну в каждую итерацию цикла While. Чтобы течение времени в программе совпадало по скорости с реальным, ставится секундная задержка с помощью элемента Wait (ms) (Рисунок 4.14).
Рисунок 4.14 Flat Sequence Structure в программе
Начальное число секунд равно семидесяти пяти тысячам шестиста потому, что программа начинает отсчёт с трёх часов ночи и, чтобы отсчёт пошёл ровно с нулей, нужно со старта прибавить двадцать один час.
Следующим этапом идёт создание блока, преобразующего количество секунд во время в формате string. Здесь используется наибольший набор элементов.
Сначала число поступает на вход элемента Time to Stamp, возвращающего данные в формате Time Stamp. Эти данные поступают на элемент Get Date/Time Function, выдающий на выходе две строки: первая с датой, а вторая со временем. В данном случае строка с датой нам не нужна, поэтому её мы оставляем. Строка со временем подключается к элементу String Length, который возвращает количество символов в строке. Далее оператор Equal? Сравнивает полученное число с семью. Дело в том, что, если в формате Time Stamp количество часов равно нулю, для их обозначения используется один ноль, но, если часов один и больше, используется уже два знака. Для дальнейшей корректной работы программы необходимо, чтобы количество символов в строке всегда было одинаковым.
Поэтому, в случае, если в строке всего семь символов, элемент Concatenate String Function добавляет ещё один ноль в начале и элемент Select выводит именно эту версию строки (Рисунок 4.15).
Рисунок 4.15 Вывод общего времени
Получившаяся строка выводится в индикатор «Общее время» и следует далее по программе. Далее для каждой цифры таймера создаётся структура Case. Каждая структура имеет по несколько «кейсов».
В этих кейсах находятся булевы константы, зажигающие нужные индикаторы при определенном значении, пришедшем на вход структуры.
На вход элемента String Subset Structure поступает строка со временем. На вход offset подаётся число, равное порядковому номеру цифры, с которой нужно начинать выводить часть строки. На вход String Length всегда подается константа, равная единице. Таким образом, на выходе элемента получается строка, содержащая одну цифру.
Далее это строка поступает на соответствующий кейс и соответствующий числовой индикатор (Рисунок 4.16).