# Лекция 1. Введение в технологию Scobo. Использование учебника по программе “Configurator”. Предикаты.

Основной программной, используемой в технологии Scobo является Configurator. Configurator является интерактивной визуальной средой разработки, в которой создаются «конфигурации». «Конфигурация» является основой логики работы системы, она выполняется на контроллере в программе “Instance”. В «конфигурации» задается логика взаимодействия программной части с аппаратной, а также визуализация, если таковая имеется в системе.

Для изучения работы в программе “Configurator” вам понадобится первая часть учебника. Также вам понадобятся программы “Configurator” и “Instance”.

Все программное обеспечение разработано в НПК «ИСА» и является кросс-платформенным, то есть работает на компьютере с любой операционной системой, если на него можно установить Java машину (JRE). Если вы не знаете, как установить Java машину, то ознакомьтесь с лекцией “Configurator”.

## Основные понятия:

Компонент
  программная единица логики работы системы, может выполнять разнотипные функции: от выполнения логических операций до управления сложными электронными устройствами.
Конфигурация
  набор компонентов, упорядоченных связями. Конфигурация является алгоритмом логики работы системы.
Экземпляр Scobo
  конфигурация, запущенная на контроллере.
Контроллер
  компьютер, на котором работает конфигурация. Контроллер отличается от обычного ПК повышенной надежностью, наличием COM-порта и установленной JRE (Java-машины).
Configurator
  программа для создания конфигураций, является интерактивной средой разработки, разработана на языке высокого уровня.
Instance
  программа для запуска конфигураций, является средой работы конфигураций, написана на языке высокого уровня.

## Как работать с учебником

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

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

В правой части окна располагается описание компонента или справка по учебнику.

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

Когда вы перешли к изучению какого-либо компонента, то увидите иллюстрированный пример использования. Все иллюстрации активные, т.е. при нажатии на каждой иллюстрации она увеличится.

В каждом примере есть навигационные ссылки («Предыдущий компонент» и «Следующий компонент») они ведут на предыдущий и следующий компонент в рамках изучения курса, рекомендуем использовать их в ходе изучения курса.

После примера есть ссылка «Подробнее о компоненте», при нажатии на ней появляется подробное описание свойств и связей (входящих и исходящих) для текущего компонента.

### Предикаты

Первая часть учебника посвящена компонентам предикатам. Эти компоненты предназначены для реализации различных логических операций (и, или, не). Все компоненты, отнесенные к этой группе, оперируют двоичной логикой (1/0).

- Impulse – компонент передающий сначала значение true, а через заданный промежуток времени false.
- NPCFaceContainer – визуальный компонент, предназначен для отображения компонентов на экране монитора.
- NPCFaceLabel – компонент статичная надпись, визуальный компонент позволяющий добавлять надписи в интерфейс конфигурации.
- NPCTextButton – визуальный компонент, реализующий работу кнопки, при нажатии на него передает значение true, при повторном нажатии – значение false.
- Runsuccesses – компонента для автозапуска действий в конфигурации. Через заданный промежуток времени после запуска конфигурации передает значение true.
- Predicate – компонент, выполняющий одну из логических операций, операция указывается в свойствах компонента.
- PredicateAllowTrue – фильтр значений true. Пропускает только значения true.
- PredicateAllowFalse – фильтр значений false. Пропускает только значения false.
- PredicateAnd – компонент, выполняющий логическую операцию «и»
- PredicateNot – компонент, выполняющий логическую операцию «не»
- PredicateOr – компонент, выполняющий логическую операцию «или»
- Timer – компонент таймер, после передачи ему сигнала, передает его по всем исходящим связям через заданный промежуток времени.

Вопросы и задания:

1. Пройдите все компоненты, описанные в первой части учебника.
2. Создайте конфигурацию, в которой будут выполняться логические операции «и», «или», «не», в качестве операндов используйте кнопки, результат также будет передаваться кнопке.
3. Что такое компоненты? Чем отличается компонент от класса компонент?
4. Что такое предикаты?
5. Создайте конфигурацию, в которой будет реализована логика работы светофора, в качестве ламп, используйте кнопки, светофор должен запускаться автоматически без участия пользователя. Цвета должны загораться с интервалами в 5 секунд.