Термінова допомога студентам
Дипломи, курсові, реферати, контрольні...

Разработка програми-тренажера Управління электросетями

РефератДопомога в написанніДізнатися вартістьмоєї роботи

Тренажер оперативних переключень КОРВІН 3 — трирівневий тренажер оперативних переключень в розрахунку потокораспределения і розширеній моделлю РЗА. Верхній рівень моделі у тренажері «КОРВИН-3 «включає схему енергооб'єктів і що з'єднують їх В. Кількість енергооб'єктів в моделі однієї електромережі — до 150. Середній рівень моделі реалізує схему сполук первинних ланцюгів і логічні обмеження… Читати ще >

Разработка програми-тренажера Управління электросетями (реферат, курсова, диплом, контрольна)

Содержание ВВЕДЕНИЕ 7 Глава 1. Аналіз предметної області 8 1. 1. Існуючі програмні комплекси 8 1. 2. Постановка завдань проектування 12 Глава 2. Проектування програмного комплексу 15 2. 1. Розробка структурної схеми 16 2. 2. Розробка функціональної схеми 16.

2. 2. 1. Блок управління схемою 20.

2. 2. 2. Блок аналізу поточних переключень 21.

2. 2. 3. Інтерпретатор сценаріїв 22.

2. 2. 4. Блок результатів 23 Глава 3. Програмна реалізацію пілотного проекту 24 3. 1. Операційна система 24 3. 2. Вибір середовища програмування 24 3. 3. Функціонування програми 28 3. 4. Вхідні інформація 31 3. 5. Постійна інформація 31 3. 6. Вихідна інформація 32 3. 7. Інструкція для користувача 33 ВИСНОВОК 35 СПИСОК ЛІТЕРАТУРИ 36 Додаток А. Сценарії вирішення завдань 37 Додаток Б. Лістинг основного модуля програми 43.

Щодня збільшується кількість персональних комп’ютерів (ПК), використовуваних людиною. У результаті росте, і поповнюється коло програмного забезпечення використовуваного під час роботи з ПК. Аби вирішити завдань производственно-технологического і організаційно-економічного управління підприємством впроваджуються складні автоматизовані системи управління господарської діяльністю. Важливу роль у своїй грає процес підготовки експлуатаційного персоналу. На його полегшення і спрощення створюються різні навчальні программы.

Проблема безпечної експлуатації і ефективної експлуатації складного енергетичного устаткування особливо загострилася за умов плинності кадрів як у окремих підприємствах, і у цілому в топливноенергетичному комплексу. Виросли загальний травматизм та нещасні випадки зі смертельними наслідками. Один із головних причин травматизму на підприємствах електроенергетики недосконалість системи підготовки й перепідготовки працівників галузі. Знайти ефективні шляху підготовки кваліфікованих фахівців — отже закласти основу високопродуктивної і безпечної роботи. Одне з нихвикористання у навчанні тренажеров.

У цьому роботі представлена ідеологія такої програми — тренажера.

Глава 1. Аналіз предметної області й постановка завдань на проектирование.

З часу появи самого персонального комп’ютера (ПК) та її практичного використання виникла одночасно проблема отримання значимого ефекту від комп’ютеризації процесу навчання. Щороку з’являються сотні комп’ютерних навчальних программ.

Перші, початкові, виглядали лише електронні версії друкованих видань і вони містили лише текстову інформацію. Перевагою таких систем тоді як паперовими аналогами, сутнісно, була лише інтеграція информации.

Поступово, з недостатнім розвитком обчислювальної техніки, їх почали міняти системи, якими можна було користуватися й як довідниками, тобто пошукові системи. Далі арсенал автоматизованих навчальних систем поповнюється статичної графікою, компонентами мультимедіа (звуку й відео), комп’ютерної анимацией.

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

Колосальний стрибок було зроблено у сфері розвитку систем контролю, адже без них, сутнісно, навчальна система мало чому відрізняється від довідкового посібники. Отже, засіб контролю забезпечують введення відповіді обучаемого, обробку отриманої інформації та видачу управляючого впливу (наприклад, ви вводите відповідь, а система схвалює чи відкидає его).

Дотримуючись далі за східцях інтелектуалізації навчальних систем, можна помітити, як плавно механізми контролю перетікають у механізми аналізу дій студента. Він дає змогу як контролювати процес навчання, а й визначає подальшу стратегію діалогу оператора і ПК.

1. 1. Існуючі програмні комплексы.

Тренажер оперативних переключень ОПТИМЭС «- ОперативноПереключательный Тренажер з Інтелектуальним Моделлю Електричної Сети.

Тренажер ОПТИМЭС працює у операційних середовищах WINDOWS 3.1, WINDOWS 95 і WINDOWS 98 і може експлуатуватися будь-якою комп’ютері, у якому встановлено котрась із них. Програмний комплекс тренажера включає 3 функціональні компоненты:

Компонента Конструктор схем включає редактор комутаційних схем і функції їх розмітки, реалізують побудова базі даних моделі первинних і вторинних ланцюгів. =Конструктор схем° містить також функцій управління бібліотекою схем.

Компонента Завдання забезпечує роботу інструктора з підготовки тренувань та аналізу їх результатів. Вона містить функції завдання типу мети і цільового елемента тренування, установку початкових положень комутаційних апаратів і РЗА, завдання КЗ і несправностей. Для кожної схеми може виконуватися індивідуальна настроювання загальних правив і місцевих умов, і навіть значень штрафу порушення правил.

Компонента Тренування реалізує виконання тренируемым операцій із схемою з контролем їх правилами переключень. Практика показує, що освоєння фахівцем щодо переключениям програми Тренування вимагає не понад п’ятнадцять — 20 хвилин, коли він знайомий з загальними прийомами роботи з WINDOWS.

2. Тренажер оперативних переключень КОРВИН.

(КОммутационно-Режимный тренажер для WINdows), куди входять розрахунок встановленого режиму з автоматичним перетворенням розрахункової схеми при будь-яких коммутациях [2]. Розрахунок встановленого режиму виробляється модулем КУРС розробки ЦДУ. Результати розрахунку — перетікання активної наукової та реактивної потужності і струм, і навіть напруги в вузлах, — контролюються до махлярства заданих режимних меж по гілкам і вузлам і відбиваються безпосередньо на схему, і у вигляді таблиць. Підтримується поділ схеми будь-яку число ізольованих районів. Підготовка вихідних даних розрахункової схеми максимально автоматизовано. Функціональна компонента Сервер потокораспределений, входила до складу тренажера КОРВІН, содержит:

— функції автоматичного побудови графа вузлів та виконавчої гілок розрахункової схеми шляхом стягування графа комутаційної модели;

— редактор вихідних значень електричних параметрів до розрахунку і режимних меж по вузлам і ветвям;

— функції тестування і дослідження режиму за будь-яких коммутациях без обмежень із боку правил переключений.

2. Тренажер оперативних переключень КОРВІН 3 — трирівневий тренажер оперативних переключень в розрахунку потокораспределения і розширеній моделлю РЗА. Верхній рівень моделі у тренажері «КОРВИН-3 «включає схему енергооб'єктів і що з'єднують їх В. Кількість енергооб'єктів в моделі однієї електромережі - до 150. Середній рівень моделі реалізує схему сполук первинних ланцюгів і логічні обмеження на комутації у яких. На цьому рівні кожен энергообъект має власну схему, котра за допомогою ліній електропередачі на верхньому рівні моделі з'єднується зі схемами інших енергооб'єктів. Схема одного энергообъекта може входити одночасно у кілька схем електромереж, що охоплюють більшу чи меншу територію. Проміжне становище між верхнім та середнім рівнями займає схема заміщення до розрахунку встановленого режиму. Нижній рівень відтворює стану пристроїв РЗА і правил їх перемикання з урахуванням становища комутаційних апаратів. Із кожним пристроєм первинних ланцюгів пов’язується набір пристроїв РЗА.

Проте, все розглянуті системи мають загальні недостатки:

. Складність використання (необхідно подолати цілий курс ознайомлення з продуктом, що ознайомитися особливості, методи лікування й прийоми роботи) — неможливо розпочати роботу відразу після інсталяції продукту.. Дані продукти містять дуже багато потенційні можливості, які буде використано широким колом користувачів.. Досить високі вимоги до системи (обсяг оперативної пам’яті і величину жорсткого диска).. Дуже висока ціна (зазвичай, вона становить кілька тисяч доларів).. Не сумісність версій одному й тому самі програми і форматів данных.

1. 2. Постановка завдань на проектирование.

Головне напрям діяльності ЦЭС — забезпечення електроенергією виробництв і цехів ВАТ «Північсталь». Одержуючи електричну енергію від системи з повітряним лініях напругою 110, 220 кВ і перетворюючи на головних понизительных підстанціях (ДПП) рівня 35, 10 і шість кВ, цех електропостачання по повітряним і кабельним лініях розподіляє її споживачам. Нині дев’ять ДПП забезпечують ВАТ «Північсталь» і одна (ГПП-9) — місто. Від ТЭЦ-1 і ТЭЦ-2 ВАТ «Північсталь» електроенергія безпосередньо передається напругою 10 кВ по кабельним линиям.

Для управління схемою електропостачання ВАТ «Північсталь» в ЦЭС організовано цілодобове чергування оперативного персоналу, дії якого підпорядковані диспетчеру цеха.

Система оперативно керувати виконує такі: ведення необхідного режиму роботи, зокрема заданого енергосистемою; виробництво переключень в электроустановках;

— ліквідація аварійних порушень сну і відновлення необхідного режиму энергопотребления;

— підготовка до виробництва ремонтних робіт у электроустановках.

Перемикання в електричних схемах розподільних пристроїв підстанцій з розпорядження диспетчера цеху здійснює оперативний персонал, безпосередньо обслуговуючий електроустановки цеха.

У зв’язку з складністю котрий обслуговується устаткування, і навіть високої ціни помилки персоналу стає актуальним питання якісної підготовки оперативного персоналу, що триває, залежно в освіті, від 3 до 5 місяців. У цей час велике значення має тут вивчення послідовність здійснення оперативних переключень на обслуговуваних подстанциях.

При відновленні нормального електропостачання експлуатаційний персонал керується інструкціями, у яких черговість його дії пов’язані з характером посталої ситуації (обсягом відключень, виглядом працювали пристроїв і др.).

Сувора черговість дій персоналу у кожному із можливих ситуацій дозволяє легко їх промоделировать і використовувати відповідну модель для тренувань персонала.

Проведення тренувань лише у системах електропостачання небажано за низкою причин:

. перебої з подачі электроэнергии.

. можливість створення аварійних ситуаций.

. підвищена небезпека поразки електричним струмом і др.

Комп’ютерний тренажер усуває ці сложности.

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

Тренажер повинен мати такими функциями:

— тpениpовка;

— проведення экзамена;

— формування протоколу переключений;

— створення сценарію тренировки;

Тpениpовка — основна функція. Під час тренування обучаемый повинен перевести электроустановку до стану, заданий за умовою завдання. У результаті тpениpовки обучаемому повинна пpедоставляться можливість здійснювати пеpеключения на схемою, з допомогою діалогу, організовуваного між студентів і программой.

Проведення іспиту полягає в виконанні завдання, за відсутності доступу рекомендаціями із виробництва переключень та формування оценки.

Після закінчення виконання поставлених умов задачі має виставлятися оцінка та складатися пpотокол переключений.

Створення сценаpия тpениpовки — це функція, котоpая є обслуговуючої стосовно тренажеру і використовується инстpуктоpом для фоpмиpования нових тpениpовок. У пpоцессе створення тpениpовки инстpуктоp має можливість задать:

— ім'я і фоpмулиpовку завдання для тpениpовки;

— вихідне стан объекта.

— еталонний шлях pешения задачи;

— кінцеве стан схеми мережі з цієї задаче.

Отже, розроблювана система має відповідати наступним требованиям:

Забезпечити интуитивно-понятный графічний інтерфейс, як інструктора, так тренируемого;

Впровадити механізм виробництва оперативних переключений.

Забезпечити можливість нарощування кількості завдань з допомогою використання коштів інструктора, які можна додатково написаны;

Забезпечити проведення тренувань і іспиту з протоколюванням оценок;

Програма повинен мати невисокі системні требования.

Глава 2. Проектування програмного комплекса.

Розроблювана программа-тренажер, відповідно до висунутими вимогами, повинна наочно відображати однолінійні схеми, забезпечувати оперативні перемикання комутаційних апаратів, наведених на схемою в відповідність до умовними позначками, спрямовувати дії тренируемого, використовуючи інструкції по оперативним переключениям.

Задля реалізації поставлених вимог, необхідно розробити механізм, відробляє оперативні перемикання. Основна мета, переслідувана у своїй — це спрощення управління коммутационными апаратами із боку пользователя.

Найпростіший спосіб — це використання покажчика миші. Кожне переключення (натискання клавіші миші), продуковане користувачем, має спричинить зміни стану комутаційного апарату. Тому слід передбачити властивість, яке описує його поточний стан (включен/отключен). Наявність цього властивості, зумовлено необхідністю установки початкового стану комутаційних апаратів при ініціалізації задачи.

Промальовування комутаційного апарату на схемою як початковій установки здійснюється присвоюванням цьому властивості певного значення, наприклад «брехня» чи «істина» і зворотний процес, коли з натискання клавіші миші, стан змінюється на протилежне здійснюється прорисовка.

Аби вирішити завдань важливо співвіднести властивість комутаційного апарату, в яке переводить його користувач та стан фізичного предписываемое інструкцією. З порівняння цих значень можна побудувати діалог, спрямовує дії пользователя.

2.1. Розробка структурної схемы.

[pic].

Рис. 2.1. Структурна схема программы-тренажера.

Для описи структури розроблюваного програмного комплексу його можна розділити на дві основні блока:

Блок, який би роботу користувача зі схемой;

Блок роботи з файлами сценариев.

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

Другий блок програмного комплексу є способом інструктора і служить до створення і редагування файлів сценариев.

«Настройки» — блок, готовий до вказівки початкового і кінцевого стану комутаційних апаратів электроустановки.

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

2.2. Розробка функціональної схемы.

Вихідною інформацією і розробити є однолинейная схема електропостачання підстанції та інструкції по оперативним переключениям.

Перед розроблюваної програмою поставлений низку вимог до, на підставі яких можна дійти невтішного висновку у тому, що проектируемая система повинна реалізувати такі функции:

. відображення функціональної схеми підстанції з засобів відображення информации;

. забезпечення перемикання комутаційних апаратів представлених на однолінійної схеме;

. організація взаємодії вироблених переключень і розпоряджень инструкции.

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

Для організації діалогу під час вирішення певної завдання виробництву переключень необхідно, спираючись на розпорядження інструкції, спрямовувати дії вироблені оператором на схемою. При хибних діях необхідно інформувати користувача про це й давати рекомендації для рішення поставленого завдання. Маючи вищесказане, розроблюваний програмний комплекс то, можливо представлений сукупністю наступних блоков:

Блок управління схемой;

Блок аналізу поточних переключений;

Блок результатов;

Інтерпретатор сценариев;

1. Блок управління схемою служить для установки становища комутаційних апаратів при ініціалізації певного режиму і забезпечує їхнє візуальне зміна під час виробництва переключений.

2. Блок аналізу поточних переключень призначений визначення правильності виробництва поточних переключень та формування протоколу переключений.

3. Блок результатів, виходячи з інформації котра надходить від інтерпретатора сценаріїв і програма блоку аналізу поточних переключень, організує діалог, спрямовує дії оператора із виробництва переключень і призначено з оцінки проведених операцій із оперативним переключениям.

4. Інтерпретатор сценаріїв, основним завданням яких є роботу з файлами сценаріїв, формує послідовності операцій для переключень, постачає інформацією блок управління схемою про початковому стані комутаційних аппаратов.

2. 2. 1. Блок управління схемой.

Задля реалізації функцій блоку управління схемою необходимо:

— встановити комутаційні апарати у безвихідь відповідне обраному режиму;

— під час виборів користувачем комутаційного апарату на схемою забезпечити його переключення в протилежне состояние.

Алгоритм, який реалізує функції блоку управління схемою, представлений рис. 3.3.1.

[pic].

Рис. 3.3.1. Алгоритм обробки оперативних переключений.

2. 2. 2. Блок аналізу поточних переключений.

Для визначення правильності виробленого перемикання необхідно зіставити обраний користувачем об'єкт, підлягає переключенню з об'єктом запропонованим інструкцією, у разі збіги перевести об'єкт в потрібне стан. У цьому використовується алгоритм, наведений на рис. 3.3.2.

[pic].

Рис 2.2.2 Алгоритм аналізу поточних переключений.

2. 2. 3. Інтерпретатор сценариев.

Основне призначення — формування послідовності переключень для обраної завдання й передача інформації про початковому становищі комутаційних апаратів. Ці дані перебувають у файлі сценарію рішення поставленого завдання, що й піддається обробці. І тому використовується алгоритм завантаження, наведений на рис. 3.3.3.

[pic].

Рис. 2.2.3. Алгоритм завантаження сценариев.

2. 2. 4. Блок результатов.

При організації діалогу між системою та користувачем важливо враховувати вихідні послідовності виробництва переключень, сформовані інтерпретатором сценаріїв і інформацію про поточних переходах, вироблених користувачем. За кожна дія що виходить далеко за межі сценарію виконання завдання тренируемый отримує штрафний бал. У режимі тренування передбачається можливість спрямовувати дії обучаемого, з допомогою використання допомоги. При завершенні виконання завдання користувачеві повідомляється про кількість набраних штрафних балів і кількості інтерпретацій підказкою. Алгоритм підрахунку хибних дій із боку користувача наведено на рис 3.3.4.

[pic].

Рис 2.2.4. Алгоритм визначення оценки.

У режимі проведення іспиту користувачеві закривається доступом до підказкою, а оцінка формується шляхом порівняння початкового й кінцевого стану комутаційних аппаратов.

Глава 3. Програмна реалізація проекта.

3. 1. Операційна система.

Програма розроблялася під керівництвом ОС Windows 95. Операційна система (ОС) є невід'ємною частиною ПЕОМ. ОС забезпечує керівництво всіма апаратними компонентами і підтримку роботи програм користувача, надаючи можливість загального управління машиною. Можна виділити ряд переваг розробки програмного забезпечення під керівництвом ОС Windows 95:

. Графічний користувальницький интерфейс;

. Незалежність від зовнішніх устройств;

. Доступність всього обсягу оперативної памяти;

. Підтримка масштабируемых шрифтов.

Серед недоліків можна отметить:

. Високі вимоги до апаратному обеспечению;

. Менш ефективна робота у додатках, де критичний параметр

— час проти ОС MS-DOS.

Оскільки розроблювана програма немає жорстких вимог до швидкодії апаратного комплексу, то зазначені недоліки не нададуть впливу її функціонування. Основне перевагу до створення програми — тренажера з урахуванням ОС Windows 95 — графічний користувальницький интерфейс.

3. 2. Вибір середовища программирования.

Останнім досягненням у техніці створення програм стали що з’явилися нещодавно візуальні кошти програмування і системи швидкої розробки (Rapid Application Development, RAD).

Швидка розробка додатків (RAD — Rapid Application Development) й у нової генерації систем програмування. Першим мовою в світі більш простого і наочного інтерфейсу була середовище Visual Basic (VB). Новий стиль взаємодії з комп’ютером дозволяє розробникові програми наочно конструювати користувальницький інтерфейс з допомогою миші. Але VB сам не сприяє хорошому проектування. Її відчуває брак механізмах, які забезпечують хороше структурування, компактність і програм. У ньому відсутня строгість объектно орієнтованого мови. Delphi — це наступний крок у розвитку середовища RAD, це сильніша і небезпечніша зручне засіб створення 32-бітних додатків для Windows 95 і Windows NT.

Концепція Delphi реалізували наприкінці 1994 року, коли перша версія середовища розробки. У основу цього програмного продукту лягли концепції объектно-ориентированного програмування з урахуванням мови Object Pascal і візуального підходу до побудови приложений.

Delphi об'єднав кілька найважливіших технологий:

1. Високопродуктивну компілятор в машинний код.

Компілятор, вмонтований в Delphi, забезпечує високу продуктивність, необхідну побудови додатків у архітектурі «клієнт-сервер». Цей компілятор нині є швидким у світі, його швидкість компіляції становить понад 120 тисяч рядків хвилину за комп’ютером 486DX33. Він пропонує легкість розробки та швидке час перевірки готового програмного блоку. З іншого боку, Delphi забезпечує швидку розробку, без необхідності писати вставки на Сі чи ручного написання коду (це возможно).

2. Объектно-ориентированная модель компонент.

Основний упор цієї моделі у Delphi робиться на максимальному ревикористанні коду. Це дозволяє розробникам будувати докладання дуже швидко з заздалегідь підготовлених об'єктів, і навіть дає можливість створювати свої власні об'єкти для середовища Delphi. У стандартну поставку Delphi входять основні об'єкти, що утворюють вдало підібрану ієрархію з більш як 270 базових класів. Але якщо виникне потреба у вирішенні якийсь специфічної проблеми на Delphi, слід переглянути список розповсюдження чи комерційних компонент, розроблених третіми фірмами. На Delphi можна однаково добре писати, як додатку до корпоративних баз даних, і, приміром, ігрові програми. Багато в чому це пояснюється лише тим, що серед Windows було складно реалізовувати користувальницький інтерфейс. Подієва модель в Windows завжди була складна розуміння і налагодження. Але саме розробка інтерфейсу в Delphi є найбільш простий завданням для программиста.

3. Візуальне (отже, і швидкісний) побудова додатків з програмних прототипов.

Середовище Delphi включає у себе повну набір візуальних інструментів для швидкісної розробки додатків (RAD — rapid application development), підтримує розробку користувальницького інтерфейсу та під'єднання до корпоративних баз даних. VCL — бібліотека візуальних компонент, включає у собі стандартні об'єкти побудови користувальницького інтерфейсу, об'єкти управління даними, графічні об'єкти, об'єкти мультимедіа, діалоги і об'єкти управління файлами. Delphi 5, на відміну попередніх версій, дозволяє створювати динамічні масиви, довжина яких визначається у час виконання программы.

Але це отже, що у Delphi можуть працювати лише професіонали. Середовище розробки зберегла простоту і наочність процесу створення додатків, заснованого на використанні технологій візуального програмування. Компонентний підхід дає змогу легко і швидко створювати не лише інтерфейс програм, а й досить складні механізми доступу до даним, і навіть повторювати і тиражувати вдалі програмні решения.

3. 3. Функціонування программы.

1. Програма switchman. exe:

Обсяг, яку він обіймав на жорсткому диску 874 кб.

Обсяг оперативної пам’яті 3440 кб.

2. Умови виконання программы.

Операційна середовище Windows 95 чи выше.

Дозвіл екрана (рекомендується) 800X600 pixels.

Вільне місце на диску (мінімум) 895 кБ для запуску і проінвестували щонайменше 1 мБ до створення файлів сценариев.

Ніякого додатково встановленого програмного забезпечення і бібліотек не требуется.

Модель первинних ланцюгів, реалізована в тренажері, дозволяє тренируемому здійснювати операції перемикання комутаційних апаратів. Управління станом моделі здійснюється з допомогою покажчика миші, що дозволяє працювати із нею неквалифицированному користувачеві. Виконання тренування то, можливо достроково перервано користувачем будь-якою кроці, якщо він має намір повернутися до початку виконання завдання. Після закінчення виконання завдання режимі тренування на екран видаються його результати: число інтерпретацій підказкою і кількість зроблених помилок. У режимі іспиту виставляється оценка.

Графічний інтерфейс побудований в такий спосіб, щоб користувачеві було, якнайзручніше і зрозуміліше працювати з програмою. Усі необхідні функції доступні через головне меню. Головне меню — це спеціальна панель інструментів, розташована у верхню частину екрана, що містить такі пункти меню, як: Файл, Режим роботи, Користувач, Результати. Через ці меню стають доступні основні функції програми. [pic].

Рис 3. 3. Користувальницький інтерфейс программы.

Користувальницький інтерфейс програми ділиться втричі области:

Область управління, де розташовані меню і всі елементи необхідних роботи тренажера.

Область, де відображається схема.

Область управління задачами.

Алгоритм функціонування основного модуля програми наведено на рис 3. 4.

[pic].

Рис 3.4. Алгоритм функціонування основного модуля программы.

3. 4. Вхідні информация.

Оскільки програма працює із сценаріями вирішення завдань, то вхідними даними є файли, куди входять тексти запитань і набори дій, що задають зразки правильних ответов:

Таблиця 1 |Формулювання завдання |Висновок в ремонт В 220 кВ «Агломерат 1» | |Початкова становище комутаційних |Нормальний режим | |апаратів | | |Кінцеве становище комутаційних |Режим № 2 | |апаратів | | |№ |Об'єкт |Стан |Коментар | |операції |схеми |перемикача | | |01 |ABR1 |0 |Вивести АВР 1,2 | |02 |CMB1 |1 |Включити СМВ1 яч.9 | |03 |MBB1 |0 |Відключити МВ введення В1 яч. 5| |04 |TRZ1 |0 |Відключити ТР1 яч. 5 | |05 |SRZ1 |0 |Відключити ШР1 яч. 5 | |06 |ABR1 |0 |Вивести АВР 3,4 | |07 |CMB1 |1 |Включити СМВ2 яч.20 | |08 |MBB3 |0 |Відключити МВ введення В3 яч. | | | | |25 | |09 |TRZ3 |0 |Відключити ТР3 яч. 25 | |10 |SRZ3 |0 |Відключити ШР3 яч. 25 | |11 |PBB2 |0 |Відключити ВР 220 кВ яч 12 | |12 |ODT3 |0 |Відключити ОД 220 кВ Т3 |.

3. 5. Постійна информация.

Як постійної інформації використовується принципова схема ділянки електропостачання, зображена на рис. 3.5.

Рис. 3.5. Однолинейная схема электроснабжения.

3. 6. Вихідна информация.

Вихідних даних — протокол тренування або протокол экзамена.

П Р Про Т Про До Про Л Еге До З, А М Є М А.

——————————————————;

Прізвище: Егоров.

Ім'я: Павел.

По батькові: Николаевич.

Дата складання іспиту: 27.06.2001 г.

ЗАВДАННЯ: Висновок в ремонт В «Агломерат 1».

———————————————————————————;

АВР 1,2 выведено.

Помилка, Включити СМВ 1 яч. 9.

.. .

Оцінка: Удовлетворительно.

3. 7. Інструкція для пользователя.

1. Входження до курс і реєстрація обучаемого.

1. Запустіть файл Switchman.exe.

2. Після запуску файла Switchman. exe введіть з клавіатури Ваші Фамилию,.

Ім'я, По батькові та натиснімо кнопку «ОК » .

3. Виберіть режим праці та завдання відповідно до п. 2.2. і натисніть кнопку.

" Почати ". 2. Рішення задачи.

Рішення завдання починається з пред’явлення обучаемому схеми п/станции. Маючи допомогу тренажера, користувач має книжку перекласти комутаційне устаткування до стану, сформульоване в назві завдання. Правила роботи з комп’ютері під час вирішення завдань дано у в.п. 2.1. — 2.3. 2.1. Загальне правило роботи з комутаційним оборудованием:

Курсор «миші «- «стрілка «при підводі до коммутационному апарату, що можна переключити повинен перейти в мішень — «пальчик ». 2.2. Вибір завдань з списка.

Для вибору завдання, підведіть курсор «миші «до необхідної завданню, та чи натиснімо ліву клавішу «миші «і кнопку «Почати », або двічі клацніть по назві завдання. 2.3. Виробництво оперативних переключений.

Виберіть відповідно до п. 2.1. виберіть потрібний об'єкт і натиснімо ліву клавішу «миші «. 3. Результаты.

Виконавши всі необхідні дії, тобто. вирішивши завдання — натисніть кнопку «Результати ». й з’явиться повідомлення про кількість допущених Вами помилок при тренуванні, або отримана Вами оцінка коли аграрії здають іспиту за вирішення завдання. Якщо ви хочете переглянути протокол переключень виберіть пункт меню «Результати «і натисніть кнопку «Протокол переключень ». Для виходу з програми натиснімо кнопку «Вихід » .

Протокол переключень зберігається в каталозі Info в файлі Report.txt.

ЗАКЛЮЧЕНИЕ

.

Через війну можна зробити такі выводы:

Розроблений тренажер простий лідера в освоєнні. Обучаемый під час роботи з програмою не відчуває жодних труднощів. Запуск програми максимально спрощений. Вимоги до апаратному забезпечення мінімальні. Наочне зображення схем електропостачання, використання що спливають підказок, дружній інтерфейс Windows, використання маніпулятора «миша «роблять процес навчання приємною работой.

За позитивного рішення завдань як тренування у обучаемого формується вміння швидко і виконувати операції з переключениям комутаційних апаратів в электpических мережах. за рахунок використання можливості звернення по допомогу в складної ситуації тренируемый сягає завершення поставленої завдання. З аналізу дій тренируемого складається протокол переключень, підтверджує оцінку у виконанні задачи.

1. Головинський І.А. Діагностика кваліфікації персоналу на тренажері оперативних переключень. — =Вісник ВНИИЭ-99°, М., «ЭНАС », 1999.

2. Головинський І.А. КОРВІН — тренажер оперативних переключень з розрахунком потокораспределения. — «Вісник ВНИИЭ-98 », М., «ЭНАС », 1998, з. 127−132.

3. Головинський І.А. Розуміння електричних схем комп’ютером. — «Вісник ВНИИЭ-99 », М., «ЭНАС », 1999.

4. Комутаційні вузли энергосистем/Под ред. А. В. Шунтова. М.:Энерготомиздат, 1997.

5. Культин М. Delphi 4. Програмування на Object Pascal. BHV, СанктПетербург, 1999. — 480 з., ил.

6. Ден Оузьер та інших. Delphi 3. Освой самостійно. М.: «Видавництво БІНОМ», 1998 р. — 560 з.: ил.

7. Бондарєв У. М., Рублинецкий У. І., Качко Є. Р. Основи програмування. Харків: Фоліо; Ростов н/Д: Фенікс, 1998 — 368 с.

8. Довідкова система Delphi.

9. Фаронов У. У. Delphi 4. Навчальний курс. М.: «Нолидж», 1999 — 464 с.:ил.

10. Дарахвелидзе П. Р., Марков Є. П., Кошеня Про. А. Програмування в Delphi 5. — СПб.:БХВ — Санкт-Петербург, 2000. — 784 з.: ил.

Додаток А. Сценарії рішення задач.

Розроблена система моделює оперативні перемикання обслуговуючого персоналу у діючих електроустановках (ШЕУ), що переводять технологічне обладнання з одного режиму роботи у інший. Розглядаються такі режими роботи:. Режим № 1. Нормальний режим.. Режим № 2. Виведено в ремонт В «Агломерат 2».. Режим № 3. Виведено в ремонт В «Агломерат 1».. Режим № 4. Виведений в ремонт Т1 63 мВа.. Режим № 5. Виведений в ремонт Т2 63 мВа.. Режим № 6. Виведений в ремонт Т3 100 мВа.

Нормальний режим.

Електропостачання здійснюється від усіх джерельної бази електроенергії та уведених у роботу пристроях автоматичного включення резерву (АВР).

Рис. 6.1. Нормальний режим роботи электроустановки.

Режим № 2. Виведено в ремонт В 220 кВ «Агломерат 1».

Для перекладу електроустановки в режим № 2 і навпаки, в нормальний режим роботи, користувач має виконати операції відповідно до послідовності, яка вказана у таблиці 3.

Таблиця 3 |№ |Порядок переходу |Порядок переходу | | |з режиму № 1 на режим № 2 |з режиму № 2 на режим № 1 | |1 |Вивести АВР 1,2 |Включити ОД3 220 кВ Т3 | |2 |Включити СМВ1 яч.9 |Включити ВР 220 кВ яч 12 | |3 |Відключити МВ введення В1 яч. 5 |Включити ШР1 яч 5 | |4 |Відключити ТР1 яч. 5 |Включити ТР1 яч 5 | |5 |Відключити ШР1 яч. 5 |Включити МВ введення В1 яч 5 | |6 |Вивести АВР 3,4 |Відключити СМВ1 яч.9 | |7 |Включити СМВ2 яч.20 |Запровадити АВР 1,2 | |8 |Відключити МВ введення В3 яч. 25 |Включити ШР3 яч 25 | |9 |Відключити ТР3 яч. 25 |Включити ТР3 яч 25 | |10 |Відключити ШР3 яч. 25 |Включити МВ введення В3 яч 25 | |11 |Відключити ВР 220 кВ яч 12 |Відключити СМВ2 яч.20 | |12 |Відключити ОД 220 кВ Т3 |Запровадити АВР 3,4 |.

Стан комутаційних апаратів має відповідати схемою, наведеної на рис. 6.2.

Рис. 6.2. Виведено в ремонт В 220 кВ «Агломерат 1».

Режим № 3. Виведено в ремонт В 220 кВ «Агломерат 2».

Для перекладу електроустановки в режим № 3 і навпаки, в нормальний режим роботи, користувач має виконати операції, відповідно до послідовності, яка вказана у таблиці 4.

Таблиця 4 |№ |Порядок переходу |Порядок переходу | | |з режиму № 1 на режим № 3 |з режиму № 3 на режим № 1 | |1 |Вивести АВР 1,2 |Включити ОД1 220 кВ | |2 |Включити СМВ1 яч.9 |Включити ОД2 220 кВ | |3 |Відключити МВ введення В2 яч.14 |Включити ВР 220 кВ яч 10 | |4 |Відключити ТР2 яч.14 |Включити ТР2 яч.14 | |5 |Відключити ШР2 яч.14 |Включити ШР2 яч.14 | |6 |Вивести АВР 3,4 |Включити МВ введення В2 яч.14 | |7 |Включити СМВ2 яч.20 |Відключити СМВ1 яч.9 | |8 |Відключити МВ введення В4 яч.31 |Запровадити АВР 1,2 | |9 |Відключити ТР4 яч.31 |Включити ТР4 яч.31 | |10 |Відключити ШР4 яч.31 |Включити ШР4 яч.31 | |11 |Відключити. ВР 220 кВ яч 10 |Включити МВ введення В4 яч.31 | |12 |Відключити ОД1 220 кВ |Відключити СМВ2 яч.20 | |13 |Відключити ОД2 220 кВ |Запровадити АВР 3,4 |.

Стан комутаційних апаратів має відповідати схемою, наведеної на рис. 6.3.

Рис. 6.3. Виведено в ремонт В 220 кВ «Агломерат 2».

Режим № 4. Виведений в ремонт Т1 63 мВа.

Для перекладу електроустановки в режим № 4 і навпаки, в нормальний режим роботи, користувач має виконати операції, відповідно до послідовності, яка вказана у таблиці 5.

Таблиця 5 |№ |Порядок переходу |Порядок переходу | | |з режиму № 1 на режим № 4 |з режиму № 4 на режим № 1 | |1 |Вивести АВР 3,4 |Вивести АВР 1,2 | |2 |Включити СМВ2 яч. 20 |Включити СМВ1 яч. 9 | |3 |Відключити МВ введення В4 яч. 31 |Відключити МВ введення В2 яч. 14 | |4 |Відключити ТР4 яч. 31 |Відключити ВР 220 кВ яч 10 | |5 |Відключити ШР4 яч. 31 |Включити ОД1 220 кВ | |6 |Вивести АВР 1,2 |Включити ВР 220 кВ яч 10 | |7 |Включити СМВ1 яч. 9 |Включити ШР4 яч. 31 | |8 |Відключити МВ введення В2 яч. 14 |Включити ТР4 яч. 31 | |9 |Відключити. ВР 220 кВ яч 10 |Включити МВ введення В4 яч. 31 | |10 |Відключити ОД1 220 кВ |Відключити СМВ2 яч. 20 | |11 |Включити. ВР 220 кВ яч 10 |Запровадити АВР 3,4 | |12 |Включити МВ введення В2 яч. 14 |Включити МВ введення В2 яч. 14 | |13 |Відключити СМВ1 яч. 9 |Відключити СМВ1 яч. 9 | |14 |Запровадити АВР 1,2 |Запровадити АВР 1,2 |.

Стан комутаційних апаратів має відповідати схемою, наведеної на рис. 6.4.

Рис. 6.4. Виведений в ремонт Т1 63 мВа.

Режим № 5. Виведений в ремонт Т2 63 мВа.

Для перекладу електроустановки в режим № 5 і навпаки, в нормальний режим роботи, користувач має виконати операції, відповідно до послідовності, яка вказана у таблиці 6.

Таблиця 6 |№ |Порядок переходу |Порядок переходу | | |з режиму № 1 на режим № 5 |з режиму № 5 на режим № 1 | |1 |Вивести АВР 1,2 |Вивести АВР 3,4 | |2 |Включити СМВ1 яч. 9 |Включити СМВ2 яч. 20 | |3 |Відключити МВ введення В2 яч. 14 |Відключити МВ введення В4 яч. 31 | |4 |Відключити ТР2 яч. 14 |Відключити ВР 220 кВ яч 10 | |5 |Відключити ШР2 яч. 14 |Включити ОД2 220 кВ | |6 |Вивести АВР 3,4 |Включити ВР 220 кВ яч 10 | |7 |Включити СМВ2 яч. 20 |Включити ШР2 яч. 14 | |8 |Відключити МВ введення В4 яч. 31 |Включити ТР2 яч. 14 | |9 |Відключити. ВР 220 кВ яч 10 |Включити МВ введення В2 яч. 14 | |10 |Відключити ОД2 220 кВ |Відключити СМВ1 яч. 9 | |11 |Включити. ВР 220 кВ яч 10 |Запровадити АВР С1,2 | |12 |Включити МВ введення В4 яч. 31 |Включити МВ введення В4 яч. 31 | |13 |Відключити СМВ2 яч. 20 |Відключити СМВ2 яч. 20 | |14 |Запровадити АВР 3,4 |Запровадити АВР 3,4 |.

Стан комутаційних апаратів має відповідати схемою, наведеної на рис. 6.5.

Рис. 6.5. Виведений в ремонт Т2 63 мВа.

Режим № 6. Виведений в ремонт Т3 100 мВа.

Для перекладу електроустановки в режим № 6 і навпаки, в нормальний режим роботи, користувач має виконати операції, відповідно до послідовності, яка вказана у таблиці 7.

Таблиця 7 |№ |Порядок переходу |Порядок переходу | | |з режиму № 1 на режим № 6 |З режиму № 6 на режим № 1 | |1 |Вивести АВР 1,2 |Відключити ВР 220 кВ яч 12 РПК 2 | |2 |Включити СМВ1 яч. 9 |Включити ОД3 220 кВ | |3 |Відключити МВ введення В1 яч. 5 |Включити ВР 220 кВ яч 12 РПК 2 | |4 |Вивести АВР 3,4 |Включити ШР1 яч 5 | |5 |Включити СМВ2 яч. 20 |Включити ТР1 яч 5 | |6 |Відключити МВ введення В3 яч. 25 |Включити МВ введення В1 яч. 5 | |7 |Відключити. ВР 220 кВ яч 12 РПП2 |Відключити СМВ1 яч. 9 | |8 |Відключити ОД3 220 Кв |Запровадити АВР 1,2 | |9 |Відключити ТР1 яч 5 |Включити ШР3 яч 25 | |10 |Відключити ШР1 яч 5 |Включити ТР3 яч 2 | |11 |Відключити ТР3 яч 25 |Включити МВ введення В3 яч. 25 | |12 |Відключити ШР3 яч 25 |Відключити СМВ2 яч. 20 | |13 |Включити ВВ-220 кВ яч. 12 РПП2 |Запровадити АВР 3,4 |.

Стан комутаційних апаратів має відповідати схемою, наведеної на рис. 6. 6.

Рис. 5.6. Виведений в ремонт Т3 100 мВа.

Додаток Б. Лістинг основного модуля программы.

unit MainMenu;

interface.

uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Gauges, Menus, ComCtrls, User1, Report, NewScen, ImgList, Report1;

type TForm1 = class (TForm).

TaskList: TListBox;

RunBtn: TButton;

ExtBtn: TButton;

MainMenu1: TMainMenu;

Menu1: TMenuItem;

Menu4: TMenuItem;

Menu41: TMenuItem;

Menu5: TMenuItem;

Bevel1: TBevel;

StatusBar1: TStatusBar;

Image1: TImage;

ODT2: TImage;

ODT1: TImage;

BB50: TImage;

ODT3: TImage;

PBB2: TImage;

MBB2: TImage;

CMB1: TImage;

MBB1: TImage;

ABR1: TImage;

TRZ2: TImage;

TRZ1: TImage;

TRZ4: TImage;

TRZ3: TImage;

MBB4: TImage;

CMB2: TImage;

MBB3: TImage;

SRZ2: TImage;

SRZ9: TImage;

SR10: TImage;

SRZ1: TImage;

SRZ4: TImage;

SR37: TImage;

SR20: TImage;

SRZ3: TImage;

ABR2: TImage;

ResultBtn: TButton;

Label1: TLabel;

HelpBtn: TButton;

New: TMenuItem;

N2: TMenuItem;

Exit: TMenuItem;

Image2: TImage;

StaticText1: TStaticText;

Menu52: TMenuItem;

Label2: TLabel;

Menu2: TMenuItem;

Menu21: TMenuItem;

Menu22: TMenuItem; procedure ExtBtnClick (Sender: TObject); procedure TaskListMouseUp (Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer); procedure FormActivate (Sender: TObject); procedure RunBtnClick (Sender: TObject); procedure Menu41Click (Sender: TObject); procedure MBB1Click (Sender: TObject); procedure MBB2Click (Sender: TObject); procedure MBB3Click (Sender: TObject); procedure MBB4Click (Sender: TObject); procedure CMB1Click (Sender: TObject); procedure CMB2Click (Sender: TObject); procedure BB50Click (Sender: TObject); procedure PBB2Click (Sender: TObject); procedure TRZ1Click (Sender: TObject); procedure TRZ2Click (Sender: TObject); procedure TRZ3Click (Sender: TObject); procedure TRZ4Click (Sender: TObject); procedure SRZ1Click (Sender: TObject); procedure SRZ2Click (Sender: TObject); procedure SRZ3Click (Sender: TObject); procedure SRZ4Click (Sender: TObject); procedure SRZ9Click (Sender: TObject); procedure SR10Click (Sender: TObject); procedure SR20Click (Sender: TObject); procedure SR37Click (Sender: TObject); procedure ODT1Click (Sender: TObject); procedure ODT2Click (Sender: TObject); procedure ODT3Click (Sender: TObject); procedure ABR1Click (Sender: TObject); procedure ABR2Click (Sender: TObject); procedure ResultBtnClick (Sender: TObject); procedure HelpBtnClick (Sender: TObject); procedure NewClick (Sender: TObject); procedure Menu52Click (Sender: TObject); procedure Menu21Click (Sender: TObject); procedure Menu22Click (Sender: TObject);

private { Private declarations } public.

{ Public declarations }.

end;

TStringList1 = class (TStringList);

TMyZap=class (TObject).

FNo:Integer;

FImage:ShortString;

FState:Integer;

FComment:ShortString; constructor Create (No:Integer;Image:ShortString;State:Integer;Comment:ShortString); end;

var Form1: TForm1;

TaskNumber:Integer;

WorkMode:Integer;

List1:TStringList1;

ActList:TList;

Prot:TStringList;

Zap:TMyZap;

Switch:TImage;

TaskName:string;

Error:integer;

Help:integer;

Count:Integer;

F: array [0.24] of boolean;

E: array [0.24] of boolean; implementation.

uses Results;

{$R *.DFM}.

constructor TMyZap. Create (No:Integer;Image:ShortString;State:Integer;Comment:ShortString); begin inherited Create; FNo:=No; FImage:=Image; FState:=State; FComment:=Comment; end;

procedure SWState (AOwner:TImage;i:integer); begin if F[i]=false then begin with AOwner. Canvas do begin.

Pen.Color:=clWhite;

MoveTo (6,1);

LineTo (6,17);

Pen.Width:=2;

Pen.Color:=clBlack;

Rectangle (1,1,17,17);

MoveTo (6,17);

LineTo (15,1); end;

F[i]: =true; end else begin with AOwner. Canvas do begin.

Pen.Color:=clWhite;

MoveTo (6,17);

LineTo (15,1);

Pen.Width:=2;

Pen.Color:=clBlack;

Rectangle (1,1,17,17);

MoveTo (6,1);

LineTo (6,17); end;

F[i]: =false; end; end;

procedure ABRState (AOwner:TImage;i:integer); begin if F[i]=False then begin with AOwner. Canvas do begin.

Brush.Color:=clWhite;

FloodFill (8,8,clBlack, fsSurface);

Pen.Width:=2;

Pen.Color:=clBlack;

MoveTo (1,15);

LineTo (8,1);

MoveTo (8,1);

LineTo (17,15);

MoveTo (17,15);

LineTo (1,15); end;

F[i]: =True; end else begin with AOwner. Canvas do begin.

FloodFill (8,8,clWhite, fsSurface);

Pen.Width:=2;

Pen.Color:=clBlack;

MoveTo (1,15);

LineTo (8,1);

MoveTo (8,1);

LineTo (17,15);

MoveTo (17,15);

LineTo (1,15);

Brush.Color:=clBlack;

FloodFill (8,8,clBlack, fsBorder); end;

F[i]: =False; end; end;

procedure MVState (AOwner:TImage;i:integer); begin if F[i]=false then begin with AOwner. Canvas do begin.

Pen.Color:=clWhite;

MoveTo (9,6);

LineTo (9,11);

Pen.Width:=2;

Pen.Color:=clBlack;

Rectangle (1,1,17,17);

MoveTo (6,8);

LineTo (11,8); end;

F[i]: =true; end else begin with AOwner. Canvas do begin.

Pen.Color:=clWhite;

MoveTo (6,8);

LineTo (11,8);

Pen.Width:=2;

Pen.Color:=clBlack;

Rectangle (1,1,17,17);

MoveTo (9,6);

LineTo (9,11); end;

F[i]: =false; end; end;

function Analyze (AOwner:TComponent):boolean; begin Zap:=ActList.First; if WorkMode=0 then if (Zap.FImage=AOwner.Name) then begin if Zap. FImage «0 «then ActList. Delete (ActList.IndexOf (ActList.First));

Result:=true;

Form1.Label1.Caption:= «» ;

Prot.Append (Zap.FComment); end else begin.

Form1.Label1.Caption:= «Помилка » ;

Prot.Append («Помилка, «+Zap.FComment);

Error:=Error+1;

Result:=false; end else Count:=Count+1; Form1.ResultBtn.Visible:=True; end;

{Считывание інформації дла рішення задач}.

procedure Read; var Fil: textfile; s: string; j: integer; begin for j:=1 to 10 do begin p. s:= «Info „+IntToStr (j)+ “ .str »; assign (fil, s); reset (fil); readln (fil, s); Form1.TaskList.Items.Insert (j-1,s); end; end;

procedure ReadInfo (Num:integer); var Fil: textfile; s, s1: string; i, j: integer; begin ActList:=TList.Create; p. s:= «Info „+IntToStr (Num)+ “ .str »; assign (fil, s); reset (fil); readln (fil, s); readln (fil, s); for i:=0 to 24 do if s[i+1]= «1 «then F[i]: =true else F[i]: =false; readln (fil, s); for i:=0 to 24 do if s[i+1]= «1 «then E[i]: =true else E[i]: =false; for i:=1 to 15 do begin readln (fil, s); s1:=s; for j:=1 to 7 do s1[j]: = «» ;

ActList.Add (TMyZap.Create (StrToInt (s[1]+s[2]), s[3]+s[4]+s[5]+s[6], StrToInt (s [7]), s1)); end; closefile (fil); end;

procedure TForm1. FormActivate (Sender: TObject); begin.

Form1.ResultBtn.Visible:=False;

Form1.HelpBtn.Visible:=False;

Form1.Label2.Visible:=false;

Image1.Visible:=False;

Image2.Visible:=False;

StaticText1.Visible:=False;

Label2.Visible:=False;

StatusBar1.Panels[2]. Text:= «Виберіть режим праці та завдання. » ;

StatusBar1.Panels[3]. Text:= «Режим роботи: » ;

TaskList.ItemIndex:=0;

TaskNumber:=0;

Read;

User1.User.ShowModal; end;

procedure TForm1. ExtBtnClick (Sender: TObject); begin if Protnil then Prot. Clear; if ActListnil then ActList. Clear; if Protnil then Prot. Clear; Application. Terminate; end;

procedure TForm1. TaskListMouseUp (Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var Point: TPoint; begin.

Point.X:=Y;Point.Y:=Y;

TaskNumber:=TaskList.ItemAtPos (Point, true);

StatusBar1.Panels[2]. Text:=Form1.TaskList.Items.Strings[TaskNumber];

StatusBar1.Panels[1].Text:= «№ «+IntToStr (1+TaskList.ItemAtPos (Point, true)); end;

procedure TForm1. RunBtnClick (Sender: TObject); var s: string; begin.

TaskList.Visible:=False; if WorkMode=0 then begin.

StatusBar1.Panels[3]. Text:= «Режим роботи: Тренування » ;

Form1.HelpBtn.Visible:=true;

Form1.Label1.Visible:=true;

Form1.Label2.Visible:=true;

ResultBtn.Caption:= «Результати »; end;

Image1.Visible:=true;

Image2.Visible:=true;

StaticText1.Visible:=true;

ReadInfo (TaskNumber+1);

Error:=0;

Help:=0;

Form1.Caption:=TaskList.Items[TaskNumber];

{Початкові условия}.

SWState (ODT2,0);

SWState (ODT1,1);

SWState (ODT3,3);

MVState (MBB1,10);

MVState (MBB2,7);

MVState (MBB3,19);

MVState (MBB4,17);

MVState (CMB1,8);

MVState (CMB2,18);

MVState (PBB2,4);

MVState (BB50,2);

SWState (TRZ1,6);

SWState (TRZ2,5);

SWState (TRZ3,16);

SWState (TRZ4,15);

SWState (SRZ1,14);

SWState (SRZ2,11);

SWState (SRZ3,24);

SWState (SRZ4,20);

SWState (SRZ9,12);

SWState (SR10,13);

SWState (SR20,23);

SWState (SR37,21);

ABRState (ABR1,9);

ABRState (ABR2,22);

Prot:=TStringList.Create; if WorkMode=0 then p. s:=(«тренування ») else p. s:=(«іспиту »);

Prot.Append («Протокол «+s);

Prot.Append («—————————- ———— «);

Prot.Append («Прізвище: «+User1.N1);

Prot.Append («Ім'я: «+User1.N2);

Prot.Append («По батькові: «+User1.N3);

Prot.Append («ЗАВДАННЯ: «+TaskList.Items[TaskNumber]);

Prot.Append («——————————————————— ——— «); if WorkMode=0 then p. s:=(«проходження тренування: ») else p. s:=(«складання іспиту: »);

Prot.Append («Дата «+s+DateToStr (Date)); end;

procedure TForm1. Menu41Click (Sender: TObject); begin User. ShowModal; end;

procedure TForm1. MBB1Click (Sender: TObject); begin if Analyze (MBB1)=True then MVState (MBB1,10) else MVState (MBB1,10); if F[10]=true then end;

procedure TForm1. MBB2Click (Sender: TObject); begin if Analyze (MBB2)=True then MVState (MBB2,7) else MVState (MBB2,7); end;

procedure TForm1. MBB3Click (Sender: TObject); begin if Analyze (MBB3)=True then MVState (MBB3,19) else MVState (MBB3,19); end;

procedure TForm1. MBB4Click (Sender: TObject); begin if Analyze (MBB4)=True then MVState (MBB4,17) else MVState (MBB4,17); end;

procedure TForm1. CMB1Click (Sender: TObject); begin if Analyze (CMB1)=True then MVState (CMB1,8) else MVState (CMB1,8); end;

procedure TForm1. CMB2Click (Sender: TObject); begin if Analyze (CMB2)=True then MVState (CMB2,18) else MVState (CMB2,18); end;

procedure TForm1. BB50Click (Sender: TObject); begin if Analyze (BB50)=True then MVState (BB50,2) else MVState (BB50,2); end;

procedure TForm1. PBB2Click (Sender: TObject); begin if Analyze (PBB2)=True then MVState (PBB2,4) else MVState (PBB2,4); end;

procedure TForm1. TRZ1Click (Sender: TObject); begin if Analyze (TRZ1)=True then SWState (TRZ1,6) else SWState (TRZ1,6); end;

procedure TForm1. TRZ2Click (Sender: TObject); begin if Analyze (TRZ2)=True then SWState (TRZ2,5) else SWState (TRZ2,5); end;

procedure TForm1. TRZ3Click (Sender: TObject); begin if Analyze (TRZ3)=True then SWState (TRZ3,16) else SWState (TRZ3,16); end;

procedure TForm1. TRZ4Click (Sender: TObject); begin if Analyze (TRZ4)=True then SWState (TRZ4,15) else SWState (TRZ4,15); end;

procedure TForm1. SRZ1Click (Sender: TObject); begin if Analyze (SRZ1)=True then SWState (SRZ1,14) else SWState (SRZ1,14); end;

procedure TForm1. SRZ2Click (Sender: TObject); begin if Analyze (SRZ2)=True then SWState (SRZ2,11) else SWState (SRZ2,11); end;

procedure TForm1. SRZ3Click (Sender: TObject); begin if Analyze (SRZ3)=True then SWState (SRZ3,24) else SWState (SRZ3,24); end;

procedure TForm1. SRZ4Click (Sender: TObject); begin if Analyze (SRZ4)=True then SWState (SRZ4,20) else SWState (SRZ4,20); end;

procedure TForm1. SRZ9Click (Sender: TObject); begin if Analyze (SRZ9)=True then SWState (SRZ9,12) else SWState (SRZ9,12); end;

procedure TForm1. SR10Click (Sender: TObject); begin if Analyze (SR10)=True then SWState (SR10,13) else SWState (SR10,13); end;

procedure TForm1. SR20Click (Sender: TObject); begin if Analyze (SR20)=True then SWState (SR20,23) else SWState (SR20,23); end;

procedure TForm1. SR37Click (Sender: TObject); begin if Analyze (SR37)=True then SWState (SR37,21) else SWState (SR37,21); end;

procedure TForm1. ODT1Click (Sender: TObject); begin if Analyze (ODT1)=True then SWState (ODT1,1) else SWState (ODT1,1); end;

procedure TForm1. ODT2Click (Sender: TObject); begin if Analyze (ODT2)=True then SWState (ODT2,0) else SWState (ODT2,0); end;

procedure TForm1. ODT3Click (Sender: TObject); begin if Analyze (ODT3)=True then SWState (ODT3,3) else SWState (ODT3,3); end;

procedure TForm1. ABR1Click (Sender: TObject); begin if Analyze (ABR1)=True then ABRState (ABR1,9) else ABRState (ABR1,9);

end;

procedure TForm1. ABR2Click (Sender: TObject); begin if Analyze (ABR2)=True then ABRState (ABR2,22) else ABRState (ABR2,22); end;

procedure TForm1. ResultBtnClick (Sender: TObject); var i: integer; s: string; begin Error:=0; Count:=0; if WorkMode=1 then begin for i:=0 to 24 do if E[i]=F[i] then Error:=Error+1; if Error=0 then p. s:= «Добре »; if Error=1 then p. s:= «Задовільно »; if Error>2 then p. s:= «Незадовільно »; Results.Result.Label1.Caption:= «Оцінка: «+p.s; Prot. Append («Оцінка: «+p.s); Results.Result.ShowModal; TaskList. Visible:=True; end; if (WorkMode=0)and (Zap.FNo=0)and (Zap.FImage= «0000 »)and (Zap.FState=0) then begin.

Prot.Append («Кількість помилок: «+IntToStr (Error));

Prot.Append («Кількість інтерпретацій підказкою: «+IntToStr (Help));

Results.Result.Label1.Caption:= «Кількість помилок: «+IntToStr (Error);

Results.Result.Label2.Caption:= «Кількість інтерпретацій підказкою: «+IntToStr (Help);

Results.Result.ShowModal;

Actlist.Clear;

TaskList.Visible:=True; end; end;

procedure TForm1. HelpBtnClick (Sender: TObject); begin if StatusBar1. Panels[1]. Text= «№ «then.

Label1.Caption:= «Виберіть завдання «else begin.

Zap:=ActList.First;

Label1.Caption:=Zap.FComment;

Help:=Help+1; end; end;

procedure TForm1. NewClick (Sender: TObject); begin FormScene. Position:=poScreenCenter; FormScene. ShowModal; end;

procedure TForm1. Menu52Click (Sender: TObject); var s: string; i: integer; begin Report.ReportForm.ProtList.Clear; if Protnil then begin for i:=0 to Prot. Count-1 do Report.ReportForm.ProtList.Items.Append (Prot.Strings[i]); s:=TimeToStr (Now); if FileExists («InfoReport.txt ») then Prot. SaveToFile («InfoReport „+s[7]+ “ .txt ») else Prot. SaveToFile («InfoReport.txt »); ReportForm. ShowModal; end; end;

procedure TForm1. Menu21Click (Sender: TObject); begin.

WorkMode:=0;

StatusBar1.Panels[3]. Text:= «Режим роботи: Тренування » ;

Form1.HelpBtn.Visible:=true;

Form1.Label1.Visible:=true;

Form1.Label2.Visible:=true;

ResultBtn.Caption:= «Результати »; end;

procedure TForm1. Menu22Click (Sender: TObject); begin.

WorkMode:=1;

StatusBar1.Panels[3]. Text:= «Режим роботи: Іспит » ;

Form1.HelpBtn.Visible:=false;

Form1.Label1.Visible:=false;

Form1.Label2.Visible:=false;

ResultBtn.Caption:= «Готове »; end;

end.

———————————- [pic].

[pic].

[pic].

[pic].

[pic].

[pic].

[pic].

Показати весь текст
Заповнити форму поточною роботою