Средства вычислений и обработки цифровой информации. Составление и отладка программ с использованием инструкций присвоения, сравнения, арифметических операций, логических операций над словами, инструкций сдвига, инструкций преобразования форматов, вычислений в формате с плавающей запятой

Страницы работы

Содержание работы

Лабораторные работы по программированию ПЛК Twido в графической среде разработки Twido Suite

Выполняются на базе программного пакета Twido Suite, программного симулятора, интегрированного в Twido Suite, и программируемых контроллеров Twido.

Лабораторная работа 4

Средства вычислений и обработки цифровой информации

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

Задачи:

  1. Создайте проект с именем "Ваша фамилия_3"
  2. В секции №1 реализуйте следующие функции:

·  по сигналу %I0.20 присвоение переменным X_1 и X_2 значений констант K_1 и K_2 соответственно;

·  по сигналу %I0.21 вычисление суммы двух чисел Y_1 := X_1 + X_2.

  1. В секции №2 реализуйте следующие функции:

·  по сигналу %I0.20 задание нулевого начального значения переменной Y_2;

·  по переднему фронту сигнала %I0.22 вычисление Y_2 := Y_2 + X_1;

  1. В секции №3 реализуйте преобразование переменных X_1 и X_2 в переменные формата двойного слова XD_1 и XD_2
  2. В секции №4 реализуйте следующие функции сравнения:

·  Управление выходом %Q0.13 по результату проверки неравенства  Y_0 > 100;

·  Включение выхода %Q0.12 по значению бита %M0 и результату проверки неравенства %MW20 < %KW35;

·  Включение выхода %Q0.14 по значению входа %I0.2 или по результату проверки неравенства %MD30 >= %KD40;

  1. В секции №5 реализуйте следующие вычисления с использованием арифметических инструкций:

·  По сигналу %M0 вычисление суммы %MW20 := Y_0 + 100. Управление выходом %Q0.3 по результату проверки неравенства  Y_0 > 100;

·  Вычисление частного %MW21 := %MW20 / 3;

·  Вычисление остатка от деления %MW19 := %MW20 REM %MW18;

·  По сигналу %I0.1 вычисление %MW22 := %MW21 – K_1, %MW18 := %MW18 + 5, %MW23 := SQRT( %MW22

  1. В секции №6 реализуйте следующие функции арифметических операций:

·  по сигналу %I0.21 вычисление %MF32 := %MF30 + %MF34, %MF36 := %MF32 * %MF34, %MF38 := %MF36 / %MF34, %MF40 := SQRT( %MF32 );

·  вычисление функций степенных и логарифмических функций %MF42 := EXP(%MF32 ), %MF44 := LN( %MF42 ), %MF46 := EXPT( KF_1 , 10 ), %MF48 := LOG( %MF46 );

·  выделение целой части числа в формате с плавающей точкой %MF50 := TRUNC(%MF46 );

·  преобразование из градусов в радианы %MF62 := DEG_TO_RAD( %MF60 ), вычисление тригонометрических функций %MF64 := SIN( %MF62 ), %MF66 := COS( %MF62 ), %MF68 := %MF64 / %MF66, %MF70 := ATAN(%MF68), %MF72 := RAD_TO_DEG( %MF70 ).

Для наилучшего выполнения данной работы настоятельно рекомендуется воспользоваться справочным пособием!

Решение:

1.внимательно прочитайте справочное пособие.

2. В секции №1 реализуйте следующие функции:

·  по сигналу %I0.20 присвоение переменным X_1 и X_2 значений констант K_1 и K_2 соответственно;

·  по сигналу %I0.21 вычисление суммы двух чисел Y_1 := X_1 + X_2.

Константы K_1 и K_2 определите и задайте значения в окне Configure ® Configure the data ® %KW. В режиме симулятора проверьте правильность вычислений при различных значениях X_1 и X_2. Создайте и используйте для этого соответствующую анимационную таблицу. Рассмотрите вариант с переполнением разрядной сетки формата одинарного слова. Каким образом можно обнаружить, что значение результата ошибочное?

Добавьте цепи аналогичных вычислений в формате целых двойных слов. Убедитесь, что диапазон вычислений существенно расширяется.

  1. В секции №2 реализуйте следующие функции:

·  по сигналу %I0.20 задание нулевого начального значения переменной Y_2;

·  по переднему фронту сигнала %I0.22 вычисление Y_2 := Y_2 + X_1;

Проверьте правильность вычислений в этой секции.

  1. В секции №3 реализуйте преобразование переменных X_1 и X_2 в переменные формата двойного слова XD_1 и XD_2, если Вы не сделали этого ранее.

Проверьте правильность преобразований с помощью соответствующих добавлений в анимационную таблицу. Добавьте в таблицу строку с одинарным словом памяти, имеющим одинаковый порядковый номер с двойным словом %MD, в котором размещена переменная XD_1. Задайте значение XD_1 = 123456789 и объясните различие в значениях %MD и %MW.

  1. В секции №4 реализуйте следующие функции сравнения:

·  Управление выходом %Q0.13 по результату проверки неравенства  Y_0 > 100;

·  Включение выхода %Q0.12 по значению бита %M0 и результату проверки неравенства %MW20 < %KW35;

·  Включение выхода %Q0.14 по значению входа %I0.2 или по результату проверки неравенства %MD30 >= %KD40;

Проверьте правильность функционирования этой секции.

  1. В секции №5 реализуйте следующие вычисления с использованием арифметических инструкций:

·  По сигналу %M0 вычисление суммы %MW20 := Y_0 + 100. Управление выходом %Q0.3 по результату проверки неравенства  Y_0 > 100;

·  Вычисление частного %MW21 := %MW20 / 3;

·  Вычисление остатка от деления %MW19 := %MW20 REM %MW18;

·  По сигналу %I0.1 вычисление %MW22 := %MW21 – K_1, %MW18 := %MW18 + 5, %MW23 := SQRT( %MW22 );

Проверьте правильность функционирования этой секции. Дополните секцию цепью вычисления абсолютного значения подкоренного выражения. Дополните секцию цепями инструкций инкрементирования и декрементирования одинарных и двойных слов (INC и DEC) по сигналу %I0.22.

  1. В секции №6 реализуйте следующие функции арифметических операций:

·  по сигналу %I0.21 вычисление %MF32 := %MF30 + %MF34, %MF36 := %MF32 * %MF34, %MF38 := %MF36 / %MF34, %MF40 := SQRT( %MF32 );

·  вычисление функций степенных и логарифмических функций %MF42 := EXP(%MF32 ), %MF44 := LN( %MF42 ), %MF46 := EXPT( KF_1 , 10 ), %MF48 := LOG( %MF46 );

·  выделение целой части числа в формате с плавающей точкой %MF50 := TRUNC(%MF46 );

·  преобразование из градусов в радианы %MF62 := DEG_TO_RAD( %MF60 ), вычисление тригонометрических функций %MF64 := SIN( %MF62 ), %MF66 := COS( %MF62 ), %MF68 := %MF64 / %MF66, %MF70 := ATAN(%MF68), %MF72 := RAD_TO_DEG( %MF70 ).

Убедитесь в достоверности вычислений.

Проверьте выполнение программы на контроллере.

Похожие материалы

Информация о работе

Тип:
Отчеты по лабораторным работам
Размер файла:
534 Kb
Скачали:
0