Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

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

.doc
Скачиваний:
0
Добавлен:
31.01.2023
Размер:
383.49 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Санкт-Петербургский государственный

электротехнический университет

«ЛЭТИ» им. В.И. Ульянова (Ленина)

Кафедра вычислительной техники

отчет

по лабораторной работе №3

по дисциплине «Технические средства автоматизации и управлении»

Студент гр. 8091

Гришин И.Д.

Преподаватель

Немудрук М.Л.

Санкт-Петербург

2021

Задание

Рисунок 1. Мотор

Текст программы

C++

struct structure { int start = 0, stop = 0, status = 0, com_operator = 0, // → 1 counter = 0, error = 0, time2stop = 10, time2start = 10; bool work = false, ready = false, // → true local = false, remote = false, alarm_stop_button = false; }; void setState (int state, struct structure env) { switch (state) { case 0: // running env.status = 1; if (!env.work) setState(1, env); if (env.com_operator == 2 && env.ready) { env.stop = 1; env.error = 0; env.counter = 0; env.com_operator = 0; setState(3, env); } break; case 1: // stopped env.status = 2; if (env.work) { setState(0, env); } if (env.com_operator == 1 && env.ready && (!env.alarm_stop_button || !env.local || !env.remote)) { env.start = 1; env.error = 0; env.counter = 0; env.com_operator = 0; setState(2, env); } break; case 2: // try2start env.status = 3; env.counter++; if (env.work) { env.start = 0; setState(0, env); } if (!env.work && env.counter > env.time2start) { env.start = 0; env.error = 2; setState(1, env); } setState(2, env); break; case 3: // try2stop env.status = 4; env.counter++; if (env.work) { env.stop = false; setState(1, env); } if (env.work && env.counter > env.time2stop) { env.error = 1; env.stop = false; setState(0, env); } break; default: setState(0, env); } } int main() { struct structure start; do { setState(0, start); } while (!start.work); return 0; }

Пример запуска программы

Рисунок 1. Пример запуска программы

4

Соседние файлы в предмете Технические средства автоматизации и управления