Лабораторные работы по программированию ПЛК Twido в графической среде разработки Twido Suite
Выполняются на базе программного пакета Twido Suite, программного симулятора, интегрированного в Twido Suite, и программируемых контроллеров Twido.
Цель работы: Составление и отладка программ с использованием инструкций присвоения, сравнения, арифметических операций, логических операций над словами, инструкций сдвига, инструкций преобразования форматов, вычислений в формате с плавающей запятой.
Задачи:
· по сигналу %I0.20 присвоение переменным X_1 и X_2 значений констант K_1 и K_2 соответственно;
· по сигналу %I0.21 вычисление суммы двух чисел Y_1 := X_1 + X_2.
· по сигналу %I0.20 задание нулевого начального значения переменной Y_2;
· по переднему фронту сигнала %I0.22 вычисление Y_2 := Y_2 + X_1;
· Управление выходом %Q0.13 по результату проверки неравенства Y_0 > 100;
· Включение выхода %Q0.12 по значению бита %M0 и результату проверки неравенства %MW20 < %KW35;
· Включение выхода %Q0.14 по значению входа %I0.2 или по результату проверки неравенства %MD30 >= %KD40;
· По сигналу %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
· по сигналу %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. Создайте и используйте для этого соответствующую анимационную таблицу. Рассмотрите вариант с переполнением разрядной сетки формата одинарного слова. Каким образом можно обнаружить, что значение результата ошибочное?
Добавьте цепи аналогичных вычислений в формате целых двойных слов. Убедитесь, что диапазон вычислений существенно расширяется.
· по сигналу %I0.20 задание нулевого начального значения переменной Y_2;
· по переднему фронту сигнала %I0.22 вычисление Y_2 := Y_2 + X_1;
Проверьте правильность вычислений в этой секции.
Проверьте правильность преобразований с помощью соответствующих добавлений в анимационную таблицу. Добавьте в таблицу строку с одинарным словом памяти, имеющим одинаковый порядковый номер с двойным словом %MD, в котором размещена переменная XD_1. Задайте значение XD_1 = 123456789 и объясните различие в значениях %MD и %MW.
· Управление выходом %Q0.13 по результату проверки неравенства Y_0 > 100;
· Включение выхода %Q0.12 по значению бита %M0 и результату проверки неравенства %MW20 < %KW35;
· Включение выхода %Q0.14 по значению входа %I0.2 или по результату проверки неравенства %MD30 >= %KD40;
Проверьте правильность функционирования этой секции.
· По сигналу %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.
· по сигналу %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 ).
Убедитесь в достоверности вычислений.
Проверьте выполнение программы на контроллере.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.