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

Инструментальный программный комплекс для разработки и тестирования и документирования программ. Структура программы для контроллера. Типы программных блоков Приняла Бекбай А. Т


Скачать 40.74 Kb.
НазваниеИнструментальный программный комплекс для разработки и тестирования и документирования программ. Структура программы для контроллера. Типы программных блоков Приняла Бекбай А. Т
Дата02.11.2020
Размер40.74 Kb.
Формат файлаdocx
Имя файлаPraktika_9.docx
ТипДокументы
#43769
Каталог

Министерство образования и науки Республики Казахстан

Алматинский технологический университет

Практика №9

По дисциплине: Микропроцессорные комплексы в системах управления.

На тему: Инструментальный программный комплекс для разработки и тестирования и документирования программ. Структура программы для контроллера. Типы программных блоков


Приняла : Бекбай А. Т.

Алматы,2020.


Инструментальный программный комплекс для разработки и тестирования и документирования программ. Структура программы для контроллера. Типы программных блоков
Цель практической работы: изучить структуру программы для контроллера и структуру контроллера, приобрести навыки чтения программ для контроллера
Теоретические сведения



Рисунок 1 – архитектура ПЛК
Контрольные вопросы:
Структура промышленных контроллеров
Термином "промышленный контроллер" характеризуют класс средств промышленной автоматики, которые выполнены в специальном конструктивном исполнении, имеют развитый набор устройств связи с объектом и обязательно программируются на языках общего применения (не проблемно ориентированных).
Это означает, что элементная база центрального процессора может быть любой начиная с 8-разрядных однокристальных и заканчивая коммуникационными процессорами. Однако, следуя концепции открытых систем, производители средств промышленной автоматики (но не телемеханики и коммуникационных технологий) в значительной степени перешли на IBM PC-совместимую элементную базу. Поэтому в большинстве случаев под определением "промышленный контроллер" в узком смысле скрывается PC-совместимый контроллер модульного исполнения, ориентированный на решение задач локального управления с минимальной реализацией функций человеко-машинного интерфейса. Промышленный контроллер - это чаще всего модульный программируемый контроллер для решения сложных задач автоматического управления.

    Какой программный комплекс используется для тестирования и документирования программ
    процесс исследования, испытания программного продукта, имеющий своей целью проверку соответствия между реальным поведением программы и её ожидаемым поведением на конечном наборе тестов, выбранных определённым образом.При тестировании белого ящика (также говорят — прозрачного ящика), разработчик теста имеет доступ к исходному коду программ и может писать код, который связан с библиотеками тестируемого программного обеспечения. Это типично для компонентного тестирования, при котором тестируются только отдельные части системы. Оно обеспечивает то, что компоненты конструкции работоспособны и устойчивы, до определённой степени. При тестировании белого ящика используются метрики покрытия кода или мутационное тестирование. При тестировании чёрного ящика тестировщик имеет доступ к программе только через те же интерфейсы, что и заказчик или пользователь, либо через внешние интерфейсы, позволяющие другому компьютеру либо другому процессу подключиться к системе для тестирования. Например, тестирующий компонент может виртуально нажимать клавиши или кнопки мыши в тестируемой программе с помощью механизма взаимодействия процессов, с уверенностью в том, все ли идёт правильно, что эти события вызывают тот же отклик, что и реальные нажатия клавиш и кнопок мыши. Как правило, тестирование чёрного ящика ведётся с использованием спецификаций или иных документов, описывающих требования к системе. Обычно в данном виде тестирования критерий покрытия складывается из покрытия структуры входных данных, покрытия требований и покрытия модели (в тестировании на основе моделей). При тестировании серого ящика разработчик теста имеет доступ к исходному коду, но при непосредственном выполнении тестов доступ к коду, как правило, не требуется.
      Структура программы ассемблера
      Программа на ассемблере представляет собой совокупность блоков памяти, называемых сегментами памяти. Программа может состоять из одного или нескольких таких блоков-сегментов. Каждый сегмент содержит совокупность предложений языка, каждое из которых занимает отдельную строку кода программы.

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

      Каждая машинная команда состоит из двух частей:
      операционной — определяющей, «что делать»;
    1. операндной — определяющей объекты обработки, «с чем делать».
      Машинная команда микропроцессора, записанная на языке ассемблера, представляет собой одну строку, имеющую следующий синтакический вид:

      метка        команда/директива  операнд(ы)    ;комментарии

      При этом обязательным полем в строке является команда или директива.

      Метка, команда/директива и операнды (если имеются) разделяются по крайней мере одним символом пробела или табуляции.

      Если команду или директиву необходимо продолжить на следующей строке, то используется символ обратный слеш: \.

      По умолчанию язык ассемблера не различает заглавные и строчные буквы в написании команд или директив.

      Примеры строк кода:

      Count    db     1        ;Имя, директива, один операнд
      mov    eax,0     
      ;Команда, два операнда
      cbw            
      ; Команда

        Какие функции выполняет промышленные контроллеры



          Программа на ассамблере
          Ассемблерную программу можно писать в любом редакторе. Однако, поскольку работаем «под DOS», т.е. скорее всего находимся в одной из таких сред, как DOS NAVIGATOR или FAR (или нечто подобное), то логично использовать встроенный редактор среды, в которой работаем.
          Смело жмем Shift-F4 и в ответ на запрос называем наш файл, например, оригинальным названием Lab1.asm. Самое главное, не забыть поставить расширение ASM. Если назовем файл, допустим, Lab1, то при трансляции программы транслятор выдаст сообщение: Can’t locate file Lab1.asm. Это означает, что транслятор не нашел файл Lab1.asm. Иначе говоря, транслятор работает только с файлами, имеющими расширение ASM.
          После того как программа написана, ее надо оттранслировать и получить из нее исполняемый файл (с расширением COM или EXE). Пока не будем рассказывать, как это делается, а остановимся на том, какие программы нужны для трансляции и где их можно найти.
          Нужны две программы: TASM.EXE (собственно транслятор) и TLINK.EXE (редактор связей). Зачастую TLINK требует для своей работы наличия еще нескольких (чаще всего трех) сопровождающих файлов: DPMILOAD.EXE, DPMIMEM.DLL, DPMI16BI.OVL (или нечто подобное). Помните, если программе TLINK недостает какого-либо файла, то TLINK сам при запуске об этом подробно напишет.
          Кроме того, для отладки программ понадобится еще один файл: отладчик TD.EXE (Turbo Debugger). Этот отладчик позволяет выполнять программу в пошаговом режиме и одновременно следить за изменением информации в регистрах, памяти, стеке и на экране.
          Все эти файлы находятся в компьютере, если на нем установлен хотя бы один язык высокого уровня (Паскаль, Си, Си++, Delphi и т.д). В любом из этих языков в поддиректории BIN найдете все вышеуказанные файлы.
          Существуют и другие трансляторы, редакторы связей и отладчики, например MASM, LINK, AFD. Ими тоже можно успешно пользоваться.
            Что такое оперенды
            Операнды – части команды, макрокоманды или директивы ассемблера, обозначающие объекты, над которыми производятся действия. Операнды ассемблера описываются выражениями с числовыми и текстовыми константами, метками и идентификаторами переменных с использованием знаков операций и некоторых зарезервированных слов. Операнды могут комбинироваться с арифметическими, логическими, побитовыми и атрибутивными операторами для расчета некоторого значения или определения ячейки памяти, на которую будет воздействовать данная команда или директива. 1) постоянные или непосредственные операнды – число, строка, имя или выражение, имеющие некоторое фиксированное значение. Имя не должно быть перемещаемым, т. е. зависеть от адреса загрузки программы в память. К примеру, оно может быть определено операторами equ или =;2) адресные операнды, задают физическое расположение операнда в памяти с помощью указания двух составляющих адреса: сегмента и смещения;3) перемещаемые операнды – любые символьные имена, представляющие некоторые адреса памяти. Эти адреса могут обозначать местоположение в памяти некоторых инструкций (если операнд – метка) или данных (если операнд – имя области памяти в сегменте данных).
              Что такое синтаксис описания адресных операндов
              Счетчик адреса – специфический вид операнда. Он обозначается знаком S. Специфика этого операнда в том, что когда транслятор ассемблера встречает в исходной программе этот символ, то он подставляет вместо него текущее значение счетчика адреса. Значение счетчика адреса или, как его иногда называют, счетчика размещения представляет собой смещение текущей машинной команды относительно начала сегмента кода. В формате листинга счетчику адреса соответствует вторая или третья колонка (в зависимости от того, присутствует или нет в листинге колонка с уровнем вложенности). Если взять в качестве примера любой листинг, то видно, что при обработке транслятором очередной команды ассемблера счетчик адреса увеличивается на длину сформированной машинной команды. Важно правильно понимать этот момент. К примеру, обработка директив ассемблера не влечет за собой изменения счетчика. Директивы, в отличие от команд ассемблера, – это лишь указания транслятору на выполнение определенных действий по формированию машинного представления программы, и для них транслятором не генерируется никаких конструкций в памяти.
              При использовании подобного выражения для перехода не забывайте о длине самой команды, в которой это выражение используется, так как значение счетчика адреса соответствует смещению в сегменте команд данной, а не следующей за ней команды. В нашем примере команда jmp занимает 2 байта. Но будьте осторожны, длина команды зависит от того, какие в ней используются операнды. Команда с регистровыми операндами будет короче команды, один из операндов которой расположен в память. В большинстве случаев эту информацию можно получить, зная формат машинной команды и анализируя колонку листинга с объектным кодом команды;
              4) регистровый операнд – это просто имя регистра. В программе на ассемблере можно использовать имена всех регистров общего назначения и большинства системных регистров;
              5) базовый и индексный операнды. Этот тип операндов используется для реализации косвенной базовой, косвенной индексной адресации или их комбинаций и расширений;
              6) структурные операнды используются для доступа к конкретному элементу сложного типа данных, называемого структурой.
              Записи (аналогично структурному типу) используются для доступа к битовому полю некоторой записи.
              Операнды являются элементарными компонентами, из которых формируется часть машинной команды, обозначающая объекты, над которыми выполняется операция. В более общем случае операнды могут входить как составные части в более сложные образования, называемые выражениями. Выражения представляют собой комбинации операндов и операторов, рассматриваемые как единое целое. Результатом вычисления выражения может быть адрес некоторой ячейки памяти или некоторое константное (абсолютное) значение.

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


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