Знакомство с SCADA системой zenon 2

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

Рубрика Программирование, компьютеры и кибернетика
Вид лабораторная работа
Язык русский
Дата добавления 18.05.2017
Размер файла 1,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Изменения в шаблоне основного изображения

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

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

На базе нового шаблона создадим изображение кнопок. Перенесем из основного изображение в новое кнопку выхода. Добавим три кнопки, отвечающие за переключение между изображениями “Основное изображение”, “Список событий” и “Список тревог”. Перед тем как связывать переключения изображений с кнопками необходимо создать сами изображения. Создадим изображение хронологического списка событий и информационного списка тревог на основе шаблона основного изображения. Добавим функции открытия изображения соответствующим кнопкам. При выборе функции необходимо развернуть дерево “Screens” и выбрать “Screen switch” функцию открытия изображения, после нажатия кнопки “OK” откроется окно, в котором нужно выбрать изображение, которое будет открыто. SCADA система zenon позволяет не перезагружая среду исполнения zenon RT выполнять обновления исполнительных файлов, что упрощает отладку и позволяет обновлять исполнительные файлы без потери данных. Добавим кнопку “Обновить” реализующую данную функцию на изображения кнопок. При выборе функции необходимо развернуть дерево “Application”, выбрать “Reload project online” и нажать кнопку “OK”.

При работе с хронологическим списком событий и информационным списком тревог важно знать текущее время. Добавим элемент “Clock” растянув его на изображении кнопок. По умолчанию шрифт часов может быть слишком маленьким или большим, поэтому добавим новый шрифт, который будет использоваться для отображения времени. Для добавления нового шрифта необходимо развернуть ветвь “Screens” нажать левой кнопкой мыши по “Font lists”. В таблице шрифтов нажать правой кнопкой мыши и выбрать “New font…”. После чего откроется стандартное окно шрифтов операционной, системы в котором нужно выбрать шрифт, задать его размер и нажать кнопку “OK”.

Для того что бы изменить название шрифта необходимо развернуть дерево “Font” и задать в поле “Name” новое название. Для того что бы изменить параметры шрифта необходимо нажать левой кнопкой мыши по полю “Font”. Что бы изменить шрифт отображения часов, необходимо нажать левой кнопкой по элементу часы, в окне свойств развернуть дерево “Representation” и нажать по полю “Font” после чего в открывшемся окне выбрать нужный шрифт и нажать кнопку “OK”. Если сейчас запустить среду исполнения zenon RT изображение кнопок не отобразится, потому что в настройках проекта задано, что при запуске разработанного программного обеспечения по умолчанию может открываться только одно изображение (в нашем случае основное). У всех изображений есть свойство позволяющее настраивать функцию, автоматически вызываемую при открытии изображения. Данная функция может использоваться для последовательного открытия изображения.

Добавим функцию открытия изображения кнопок при открытии основного изображения. Для этого необходимо открыть окно свойств основного изображения. Развернуть дерево “Execution” и нажать левой кнопкой мыши по полю “Start function”. Дальнейшие действия по созданию функции открытия изображения аналогичны действиям, выполненным для кнопок переключения изображений. На данном этапе можно собрать исполнительные файлы и запустить разработанное программное обеспечение в среде исполнения zenon RT для проверки правильности функционирования кнопок управления изображениями.

Для определения какая мнемосхема отображена в области изображения на пустом пространстве основного изображения (без элементов визуализации и управления) необходимо зажать правую кнопку мыши, после чего отобразится название изображения заданное ему в среде разработки. Таким образом, можно проверить правильность переключения между изображениями.

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

Для того что бы на тренде отображались значения полученные в тот момент когда тренд был закрыт или которые уже были отображены необходимо настроить сохранение данных для всех математических переменных. Для этого в свойствах переменной нужно развернуть дерево “Harddisk data storage”, установить флажок “Harddisk data storage active”, задать количество данных, хранимое в хранилище “Number of values” и интервал записи данных на жесткий диск. Так как на данный момент тренд имеет разрешение по оси времени равное 2 минутам и частоту обновления раз в 1 секунду, то минимальное достаточное количество данных, что бы тренд после открытия изображения был полностью заполнен, равно 120.

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

Одним из факторов обеспечения высокой продуктивности производства и сохранения ресурсов является быстрое информирование оператора про любые внештатные ситуации или тревоги и своевременное реагирование на них. В SCADA системе zenon эта задача лежит на изображении хронологического списка событий, и информационном списке тревог.

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

По умолчанию у всех создаваемых изображений устанавливается “Screen type” “Standard”. Для того что бы добавленное изображение хронологического списка событий стало таковым необходимо в свойствах изображения развернуть дерево “General” и установить в качестве типа изображения “Screen type” “Chronologic event list”.

После установки типа изображения в меню “Control elements” станет доступен мастер конфигурирования изображения и элементы визуализации и управления специфические для данного изображения.

Для конфигурирования изображения воспользуемся мастером, выбрав в меню “Control elements\Insert template…”. В открывшемся окне выбора шаблона (рис. 3.21) выберем шаблон “Standard” и нажмем кнопку “Accept” после чего мастер в соответствии с шаблоном начнет конфигурирование. Результат конфигурирование приведен на рисунке:

Как видно из описания шаблона минимальные требования, предъявляемые к разрешению экрана монитора 1874 на 882. Если разрешение экрана монитора меньше, то сконфигурированный шаблон вылезает за границы изображения.

Для того что бы быстро уменьшить элементы управления хронологическим списком событий до нужного размера достаточно выделить все элементы изображения через меню “Edit\Select all”. После чего нажать по одному из элементов правой кнопкой мыши выбрать “Symbol\Create embedded symbol”. Теперь все элементы объединены в один символ и могут быть легко отмасштабированы до нужного размера. После окончания масштабирования через меню “Symbol\Resolve” можно преобразовать символ в элементы.

Далее элементы необходимо привести к нормальным размерам и добавить кнопку сохранения хронологического списка событий. При расстановке элементов необходимо учитывать, что во время возникновения тревог в верхней части окна среды исполнения zenon RT будет, появляется “Alarm status line” поэтому между верхом окна и элементами визуализации и управления необходимо оставить зазор равный высоте линии аварий не менее 18 пикселей.

После расстановки элементов визуализации и управления английские надписи необходимо перевести на русский язык, заменив значение в свойствах элемента находящиеся в дереве “Representation”. Разработанное изображение представлено на рисунке:

При переключении на изображения типа хронологического списка событий в среде исполнения zenon RT выполняется настройка изображения в соответствии с настройками заданными в zenon Editor. Для того что бы перейти к настройке этих параметров необходимо выбрать в таблице функций функцию выбора изображения хронологического списка событий и в окне свойств нажать левой кнопкой мыши по полю “Parameter” выбрать изображение хронологического списка событий. На вкладке “General” в поле “Variable name” (задается фильтр, по которому будут выбираться события связанные с именами переменных. Звездочка “*” обозначает, что будут отображаться все события вне зависимости от имени переменной. На вкладке “Time” в поле “Select time range” задается временной диапазон “Set filter a time filter type”, в поле “Type of time filter” необходимо задать тип фильтра “Relative period of time” относительный период времени. Фильтр относительного периода времени отображает события, произошедшие за заданный период времени от текущего момента. На вкладке “Column settings” задаются настройки колонок: флажок отображения колонки, описание колонки и ширина колонки. Основные колонки: “Time received”, Text, “Variable name”, “Value”, “Comment. После выбора необходимых настроек фильтра переменных, фильтра времени, колонок их локализации и ширины необходимо нажать кнопку “OK”. Заданные параметры будут использоваться при отображении хронологического списка событий.

На данном этапе можно собрать исполнительные файлы и запустить разработанное программное обеспечение. Если в хронологическом списке событий элемент “Chronologic event list” некорректно отображает русский текст необходимо добавить подходящий шрифт для заголовка и текста элемента. После чего в свойствах элемента развернуть дерево “Header and grid”, ветвь “Header” и в поле

“Font” задать шрифт заголовка. Далее развернуть дерево “Representation” и в поле “Font” задать шрифт текста.

На изображении хронологического списка событий присутствует кнопка “Stop/Continue”. С помощью данной кнопки можно приостановить добавление в отображаемый хронологический список событий новые события и возобновить добавление событий в список. В среде разработки кнопка “Стоп/Продолжить” отображается, с заданным текстом на русском языке, в среде исполнения кнопка отображается в одном состоянии с надписью “Stop”, а в другом состоянии с надписью “Next”, это связано с тем что во время работы среды исполнения эти надписи генерируются динамически. Что бы локализировать данную кнопку необходимо внести изменения в языковой файл и подключить его в качестве источника текста. Для внесения изменений в языковой файл необходимо в дереве проектов выбрать “Language file”, после чего в таблице в колонке “Keyword” задать переводимое слово, а в колонке “ZENONSTR.TXT” задать перевод слова.

Так же локализуем сообщения, появляющиеся при запуске и остановке среды исполнения zenon RT: “System was started” и “ System was stopped”. Для того что бы подключить языковой файл в качестве источника переводимого текста нужно создать функцию выбора языкового файла. При выборе функции необходимо развернуть дерево “Application” и выбрать “Language change” и нажать кнопку “OK”. После чего откроется окно выбора языкового файла. В окне выбора языкового файла необходимо нажать кнопку “…” и выбрать языковой файл, после чего его название отобразится в поле “Language file”. Далее нужно выбрать в качестве “Font list” “Font list 1” “OK”. Созданная функция ни где не вызывается и поэтому не вносит ни каких изменений в работу человеко-машинного интерфейса. Для вызова функций, которые должны выполняться при запуске или остановке работы среды исполнения используется специальный механизм предопределенных скриптов.

Для того что бы создать скрипт вызывающий функцию выбора языкового файла при запуске среды исполнения необходимо развернуть в дереве проектов ветвь “Functions”, нажать правой кнопкой мыши по “Scripts\New script…”.

Далее необходимо нажать левой кнопкой мыши по созданному скрипту, развернуть в окне свойств дерево “General” и выбрать в поле “Name” предопределенный скрипт “AUTOSTART” вызывающийся при запуске среды исполнения. Для добавления функции вызывающийся по скрипту автозапуска необходимо нажать в дереве скриптов правой кнопкой мыши по скрипту “AUTOSTART\Add functions…”. После чего откроется окно выбора функций. В открывшемся окне нужно добавить функцию выбора языкового файла в список функций, после чего нажать кнопку “OK”. Теперь при запуске среды исполнения вызывается функция выбора языкового файла, а кнопка “Стоп/Продолжить” отображается в одном состоянии с надписью “Стоп”, а в другом состоянии с надписью “Продолжить”.

Разработать изображение хронологического списка событий и выполнить конфигурирование переменных для регистрации их состояния

По заданию в хронологическом списке событий необходимо регистрировать изменения состояний датчиков и реле. То есть в список должны заноситься срабатывания и отпускание Датчика 1, Датчика 2 и Датчика 3, а так же включение и выключение программируемым логическим контроллером Реле. Переменные “D1”, “D2”, “D3” и “R” имеют тип данных “BOOL”. Всем переменным данного типа автоматически создаются два предела для значения “TRUE” и значения “FALSE”. Что бы добавить регистрацию изменения значения переменной необходимо изменить параметры ее пределов. В свойствах переменной нужно развернуть дерево “Limits”, ветвь “Limit\AML/CEL” и установить флажок “In Chronological Event List”. Теперь изменение значение переменной с “TRUE” на “FALSE” будет фиксироваться в хронологическом списке событий.

Что бы повысить информативность и улучшить восприятие события нужно задать ему текстовое описание, которое будет отображаться в хронологическом списке событий. Для этого необходимо развернуть ветвь “Limits” и в поле “Limit text” задать текстовое описание. Отображение разработанного изображения хронологического списка событий во время работы SCADA системы приведено на рисунке:

На изображении хронологического списка событий присутствует кнопка “Сохранить СС” с не реализованной функцией сохранения списка событий в файл. Добавим для нее новую функцию. При выборе функции необходимо развернуть дерево “AML and CEL”, выбрать “Export CEL” и нажать кнопку “OK”. После чего откроется окно фильтра. На вкладке “Export format” задаются параметры экспорта. В группе “Export format” необходимо задать формат XML. Это расширяемый язык разметки для хранения структурированных данных и поддерживаемый программой Microsoft Excel. В поле “File name” (Имя файла) (3) задается имя файла. На вкладке “General” в поле “Variable name” задается фильтр, по которому выбираются события связанные с именами переменных. Фильтр “D*, R*” указывает, что в файл будут записаны события связанные с переменными, начинающимися на латинские символы “D” и “R”, то есть “D1”, “D2”, “D3” и “R”. Вкладка “Time” соответствует вкладке представленной на рисунке 3.25 и имеет аналогичные настройки. После завершения настройки необходимо нажать кнопку “OK”. Настройки колонок, которые будут сохраняться в файл, задаются в настройках проекта. Для их изменения необходимо в свойствах проекта развернуть дерево “Chronologic event list” и нажать левой кнопкой мыши по полю “Column settings CEL”. Файл хронологического списка событий сохраняется на жесткий диск в каталог “Export” внутри каталога проекта.

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

Разработать изображение информационного списка тревог и задать условия формирования тревоги

В списке тревог отображаются тревоги связанные с критическими событиями, выполняется их обработка, подтверждение и удаление. Тревоги обеспечивают быстрое и удобное информирование о критических и внештатных ситуациях. Для изображения информационного списка тревог необходимо задать тип “Alarm message list” (Информационный список тревог). После чего используя, мастер сконфигурировать изображение на основе шаблона “Standard”.

Сначала нужно настроить отображения колонок изображения информационного списка тревог. Для этого необходимо в свойствах проекта развернуть дерево “Alarm Message list” и нажать левой кнопкой мыши по полю “Column settings AML”. После чего откроется окно настроек колонок информационного списка тревог.

В открывшемся окне задаются настройки колонок: флажок отображения колонки, описание колонки и ширина колонки. Основные колонки: “Статус тревоги”, “Time received”, “Time cleared”, “Time acknowledged”, “Variable name”, “Value”, Text, “Comment”. В дальнейшем эти настройки будут использованы для сохранения информационного списка тревог, поэтому снимем флажок колонки статуса тревоги, так как в ней будет отображаться изображение, а XML формат файлов не может хранить изображения.

Настройка параметров открытия изображения информационного списка тревог выполняется аналогично настройке параметров хронологического списка событий. На вкладке настроек колонок нужно установить флажок колонки статуса тревоги. По заданию тревога формируется при отпускании Датчика №2. Для того что бы настроить формирование тревоги необходимо в свойствах переменной “D2” развернуть дерево “Limits”, ветвь “Limit\AML/CEL” и установить флажок “In Alarm Message List”. Теперь изменение значение переменной с “TRUE” на “FALSE” будет формировать тревогу. Далее необходимо установить флажок “To acknowledge”, это указывает, что данная тревога будет требовать нажатия клавиши подтверждения в информационном списке тревог для ее снятия. Так же необходимо установить флажок “To delete”, это указывает, что данная тревога будет требовать нажатия клавиши удаления для удаления ее из информационного списка тревог.

При подтверждении тревоги в хронологический список событий добавляется сообщение подтверждения, локализуем “acknowledged” как “Подтверждение”. Реализация функции сохранения списка тревог по нажатию кнопке “Сохранить СТ” аналогична реализации функции для кнопки “Сохранить СС”. При выборе функции необходимо развернуть дерево “AML and CEL”, выбрать “Export AML”. При задании имени файла необходимо задать имя файла не совпадающее с настройками хронологического списка событий. Файл информационного списка тревог сохраняется на жесткий диск в каталог “Export” внутри каталога проекта.

Лабораторная работа Изображение графа состояний

Цель: Разработать программное обеспечение для SCADA системы zenon реализующее отображение графа состояний.

Задание: Разработать программное обеспечение для SCADA системы zenon реализующее симуляцию объекта управления для отладки взаимодействия программного обеспечения программируемого логического контроллера компании VIPA и программы для SCADA системы zenon. Программное обеспечение контроллера VIPA должно реализовывать конечный автомат с памятью на основе графа состояний.

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

· формирование комбинаций состояния датчиков должно начинаться с 0 состояния конечного автомата с памятью;

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

· при достижении состояния, из которого возможно два перехода сначала выполняется переход против часовой стрелки, после чего продолжается движение по часовой стрелке;

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

· каждая комбинация состояния датчиков должна удерживаться в течение 5 секунд.

Ручное управление симуляцией должно выполняться с помощью графического интерфейса разрабатываемого в zenon Logic Workbench и позволять разработчику вручную изменять состояния датчиков. Человеко-машинный интерфейс, разрабатываемый в zenon Editor должен включать основное изображение, на котором должны отображаться состояния датчиков, реле, конечного автомата с памятью и граф состояний. Хронологический список событий, в котором должны регистрироваться изменения состояния датчиков, реле и конечного автомата с памятью. Информационный список тревог, в котором должны регистрироваться состояния конечного автомата с памятью при возникновении тревоги. Тревога формируется при переходе от одного состояния к другому, против часовой стрелки.

Порядок выполнения работы:

1. Экспортировать из Лабораторной работы №3 шаблоны изображений, изображение кнопок, изображение хронологического списка событий, изображение информационного списка тревог, шрифты, функции, скрипты и языковой файл .

2. Создать новое рабочее пространство и новый проект, в который импортировать ранее экспортированные элементы. Добавить драйвер Зеленого кабеля контроллера VIPA и перевести его в режим программной симуляции, создать переменные датчиков, реле и сигналов состояний.

3. Разработать графический интерфейс программы симуляции объекта управления и проверить правильность функционирования конечного автомата с памятью.

4. Разработать подпрограмму автоматического формирования комбинаций состояний датчиков.

5. Выполнить проверку правильности функционирования, программы симуляции объекта управления.

6. Разработать основное изображение.

7. Разработка механизма управления отображением графа состояния с использованием языка программирования VBA.

8. Выполнить настройку отображения графа состояний.

9. Настроить регистрацию состояния датчиков, реле и конечного автомата с памятью в хронологическом списке событий, а так же регистрацию состояния конечного автомата в информационном списке тревог.

Для переноса уже разработанных элементов проекта используется механизм экспорта и импорта. Большинство разработанных элементов могут быть экспортированы как отдельные элементы или группа элементов. Разработанные в Лабораторной работе №3 шаблоны изображения, изображение кнопок, изображение хронологического списка событий, изображение информационного списка тревог, функции, скрипты и языковой файл будут использоваться в Лабораторной работе №4. Что бы их экспортировать необходимо, открыть проект Лабораторной работы №3. В проекте нужно нажать правой кнопкой мыши по группе элементов и выбрать пункт меню “Export XML all…”. После чего откроется стандартный диалог сохранения файлов в формате XML. Для того что бы импортировать элементы в новый проект необходимо выбрать пункт меню “Import XML…”, после чего откроется стандартный диалог открытия фалов в котором необходимо выбрать файл формата XML с соответствующими элементами. Для экспорта одного или нескольких элементов группы необходимо их выделить, после чего нажать правой кнопкой мыши по ним и выбрать пункт меню “Export XML selected…”.

Для Лабораторной работы №4 необходимо создать новое рабочее пространство и новый проект, в который нужно импортировать элементы Лабораторной работы №3. Далее нужно добавить драйвер Зеленого кабеля контроллера VIPA и перевести его в режим программной симуляции. В программе симуляции объекта управления будут использоваться датчики D1, D2, D3, D4, D5 (I 0.0, I 0.1, I 0.2, I 0.3, I 0.4) и реле R1, R2, R3 (Q 0.0, Q 0.1, Q 0.2), поэтому необходимо создать соответствующие переменные драйвера контроллера VIPA. Для индикации состояния, в котором находится конечный автомат с памятью, реализуемый программой симуляции объекта управления будут использоваться выходы SS0, SS1, SS2, SS3, SS4 (Q 1.0, Q 1.1, Q 1.2, Q 1.3, Q 1.4) которым необходимо создать соответствующие переменные драйвера. После того как все переменные будут созданы перейдем к разработке программы симуляции объекта управления.

Дискретные системы управления объектами реализуется на базе комбинационных автоматов или конечных автоматов с памятью. Конечным автоматом с памятью называют математическую модель устройства, имеющую несколько входов и несколько выходов, в которой значения выходных переменных Y в каждый момент времени определяется набором входных переменных X и предыдущим состоянием S. В дискретных системах управления переменные X обозначают состояния датчиков, переменные Y состояние исполнительных механизмов в конкретный момент времени, а переменные S состояние конечного автомата с памятью в конкретный момент времени. Зная зависимость состояния исполнительных механизмов от состояния датчиков и состояния конечного автомата с памятью можно построить граф состояний.

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

На графе состояния обозначаются окружностями с указанием номера в центре, а переходы между состояниями дугами с указанием направления, над дугами до слеша “/” указываются условия перехода, после указываются выходные сигналы. Условие перехода представляет собой логическое уравнение операндами, которого являются входные переменные. Если значение условия или сигнала выхода установлено используются его имя, если сброшено перед именем ставится знак “!”.

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

На рисунке слева вертикальной чертой отображена общая шина питания, к которой последовательно подключены два нормально разомкнутых контакта и обмотка реле. Когда Контакт 1 и Контакт 2 замкнуты, ток течет с шины питания через них и Обмотку на шину земли, реле включено. Когда один из контактов разомкнут, связь с шиной земли отсутствует, ток через Обмотку не течет и реле выключено.

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

В языке релейных диаграмм контактам ставятся в соответствие состояние датчиков, исполнительных механизмов, значение меркеров или логических переменных. Датчики могут быть сработавшими или не сработавшими, исполнительные механизмы могут быть включенными или выключенными, значение меркеров и логическим переменных могут быть равными 1 (“TRUE”) или 0 (“FALSE”). Для нормально разомкнутого контакта это означает, что он проводит ток (замкнут) или не проводит (разомкнут). Для нормально замкнутого контакта на оборот.

В программе программируемого логического контроллера датчикам и исполнительным механизмам соответствуют переменные, имеющие символьные имена.

На рисунке приведен пример схемы на языке релейных диаграмм. Если в цепи протекает ток, это означает, что значение переменной исполнительного механизма, значение меркера или логической переменной равно “TRUE”, если цепь разомкнута “FALSE”. Имя переменной задается над обмоткой. Если датчики D1 и D2 сработали, соответствующие им переменные имеют значение “TRUE”, значение переменной R устанавливается “TRUE” и включается соответствующий исполнительный механизм. Если один из датчиков не сработал, цепь не замыкается значение переменной R равно “FALSE” и соответствующий исполнительный механизм выключен.

Для реализации графа состояний на языке релейных диаграмм, достаточно использовать следующие элементы: нормально разомкнутый контакт, нормально замкнутый контакт, обмотку, обмотку установки и обмотку сброса. Язык релейных диаграмм позволяет выполнять управление одной и той же обмоткой реле из различных цепей, для этого используются блоки: обмотка, обмотка установки и обмотки сброса. Обмотка реле представлена на рисунке. Если цепь перед блоком замкнута, значение переменной обмотки устанавливается “TRUE” если цепь разомкнута, значение переменной обмотки сбрасывается в “FALSE”.

Обмотка установки представлена на рисунке. Если цепь перед блоком замкнута, значение переменной обмотки устанавливается “TRUE” если цепь разомкнута, значение переменной обмотки не изменяется.

Обмотка сброса представлена на рисунке. Если цепь перед блоком замкнута, значение переменной обмотки устанавливается “FALSE” если цепь разомкнута, значение переменной обмотки не изменяется.

Реализация условий. В графах состояний условия перехода из одного состояния в другое описываются в виде логических уравнений, которые могут включать операции: И, ИЛИ, НЕ. В языке релейных диаграмм операции И и ИЛИ реализуются определенными последовательностями соединения нормально замкнутых и нормально разомкнутых контактов. Операция И реализуется как последовательное соединение контактов. Количество контактов соответствует количеству переменных в уравнении. Если переменная записана со знака “!” то ей соответствует нормально замкнутый контакт, и на че ей соответствует нормально разомкнутый контакт.

На рисунке приведена программа на языке релейных диаграмм. Уравнение цепи R1 включает две переменные X1 и X2. Переменной X1 соответствует нормально разомкнутый контакт, переменной X2 соответствует нормально замкнутый контакт.

Уравнение цепи R2 так же включает две переменные X3 и X4. Переменной X3 соответствует нормально замкнутый контакт, переменной X4 соответствует нормально разомкнутый контакт.

Как видно из диаграммы, пока значение переменных X1, X2, X3, X4 равно “FALSE” значение переменной Y так же“FALSE”. Когда значение переменной X1 становится равным “TRUE” ее контакт замыкается, значение переменной X2 равно “FALSE” ее контакт замкнут, через цепь R1 начинает течь ток и значение переменной Y устанавливается в “TRUE”.

Когда значение переменной X3 становится равным “FALSE” ее контакт замыкается, значение переменной X4 равно “TRUE” ее контакт замкнут, через цепь R2 начинает течь ток и значение переменной Y сбрасывается в “FALSE”.

Операция ИЛИ реализуется как параллельное соединение контактов. Количество контактов соответствует количеству переменных в уравнении. Если переменная записана со знака “!” то ей соответствует нормально замкнутый контакт, и на че ей соответствует нормально разомкнутый контакт.

На рисунке приведена программа на языке релейных диаграмм. Уравнение цепи R1 включает две переменные X1 и X2. Переменной X1 соответствует нормально разомкнутый контакт, переменной X2 соответствует нормально замкнутый контакт.

Уравнение цепи R2 так же включает две переменные X3 и X4. Переменной X3 соответствует нормально замкнутый контакт, переменной X4 соответствует нормально разомкнутый контакт.

Как видно из диаграммы, пока значение переменных X1, X4, равно “FALSE”, а X2, X3 равно “TRUE” значение переменной Y так же“FALSE”. Когда значение переменной X1 становится равным “TRUE” ее контакт замыкается, через цепь R1 начинает течь ток и значение переменной Y устанавливается в “TRUE”.

Когда значение переменной X3 становится равным “FALSE” ее контакт замыкается, через цепь R2 начинает течь ток и значение переменной Y сбрасывается в “FALSE”. Когда значение переменной X2 становится равным “FALSE” ее контакт замыкается, через цепь R1 начинает течь ток и значение переменной Y устанавливается в “TRUE”. Когда значение переменной X4 становится равным “TRUE” ее контакт замыкается, через цепь R2 начинает течь ток и значение переменной Y сбрасывается в “FALSE”. Операция НЕ реализуется с помощью функции “NOT”. Она используется для инвертирования результата логического уравнения. На рисунке приведена программа на языке релейных диаграмм.

Уравнение цепи R1 включает две переменные X1 и X2. Переменной X1 соответствует нормально разомкнутый контакт, переменной X2 соответствует нормально замкнутый контакт. Результат уравнения инвертируется с помощью функции NOT. Пока значение переменной X1 не равно “TRUE”, а значение переменной “X2” не равно “FALSE” значение переменной Y устанавливается в “TRUE”. Если значение переменной X1 равно “TRUE”, а значение переменной “X2” равно “FALSE” значение переменной Y сбрасывается в “FALSE”.

Реализация графа состояний в виде программы

При разработке программного обеспечения на основе графа состояний, для каждого состояния вводится соответствующая переменная типа “BOOL”. С помощью этих переменных определятся, в каком состоянии находится программная реализация графа. Граф в конкретный момент времени может находиться только в одном состоянии, поэтому только соответствующая этому состоянию переменная может иметь значение “TRUE”, остальные переменные должны иметь значение “FALSE”. В программе реализующей граф состояний каждой дуге графа состояний соответствует пара сегментов: установки состояния, изменения выходных сигналов.

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

Сначала с помощью нормально разомкнутого контакта, который соответствует значению переменной текущего состояния и разрешающего проверку логического уравнения проверяется выполнение условия. Если значение переменной состояния, из которого выполняется переход равно “TRUE”, а так же выполняется условие перехода, переменная соответствующая новому состоянию устанавливается в “TRUE”.

После сегмента установки состояния идет сегмент изменения выходных сигналов. Выходные сигналы формируются если значение переменной отвечающей за текущее состояние и значение переменной в которое выполняется переход графа равны “TRUE”, тогда соответствующие контакты в сегменте замкнуты и происходит установка и сброс сигналов в соответствии со списком после знака “/” на дуге графа. Кроме этого здесь же производится сброс переменной текущего состояния в “FALSE”. Структура сегмента приведена на рисунке.

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

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

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

Выполнение лабораторной работы будет состоять из следующей последовательности действий: разработка пользовательского функционального блока реализующего конечный автомат с памятью, проверка работоспособности автомата (симуляция объекта управления). Программу управления конечного автомата с памятью удобней писать на языке релейных диаграмм. Симуляция объекта управления будет состоять из двух частей: первая часть ручное формирование комбинаций состояний датчиков с использованием графического интерфейса среды разработки Logic Workbench, вторая часть автоматическое формирование последовательно во времени комбинаций состояний датчиков с целью проверки условий перехода конечного автомата. Так как автоматическое формирование последовательности комбинаций состояний датчиков удобней писать на языке функциональных блоков, а в одной программе нельзя использовать различные языки программирования, необходимо выполнить их разделение. Для этого ознакомимся с типами программных блоков поддерживаемыми средой разработки.

В среде разработки Logic Workbench реализована возможность создания трех типов программных блоков (“Execution style” (Стиль исполнения)): “Main program” (Основная программа), “Sub-program” (Подпрограмма), “UDFB User Defined Functional Block” (Пользовательский функциональный блок). интерфейс конфигурирование тревога блок

Основная программа представляет собой циклически исполняемую программу, разрабатываемую на одном из языков стандарта МЭК 61131-3, и является единственным программным блоком, вызываемым напрямую программным программируемым логическим контроллером. Тело основной программы может содержать вызовы стандартных функциональных блоков (И, ИЛИ, НЕ и других), подпрограмм и пользовательских функциональных блоков. Основная программа может иметь внутренние переменные (локальные переменные), их значения сохраняются между ее вызовами. Так же основная программа имеет доступ к глобальным переменным.

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

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

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

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

Создание на основе подпрограммы программного блока, который может многократно вызываться в основной программе, другой подпрограмме или пользовательском функциональном блоке, допустимо только в том случае если во время выполнения ее тела не используются значения внутренних переменных 90 полученных в предыдущем цикле выполнения основной программы. Примером такой подпрограммы может служить реализация комбинационного автомата. Пользовательский функциональный блок представляет собой фрагмент основной программы, выделенный в отдельный программный блок. Блок может иметь внутренние переменные (локальные переменные), их значения сохраняются между ее вызовами. Доступ к внешним переменным из блока осуществляется с помощью его параметров: входных, выходных, входных-выходных.

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

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

Создание подпрограммы управления конечного автомата с памятью в среде разработки Logic Workbench происходит аналогично созданию основной программы. В окне создания программы необходимо выбрать язык программирования “LD - Ladder Diagram” и “UDFB (User Defined Functional Block)”.

После создания пользовательского функционального блока откроется окно “Program properties” с выбранной вкладкой “Parameters”. Для добавления в пользовательский функциональный блок входного параметра необходимо нажать дважды левой кнопкой мыши в поле “Inputs” по “…”. Для добавления в пользовательский функциональный блок выходного параметра необходимо нажать дважды левой кнопкой мыши в поле “Outputs” по “…”. Для редактирования параметра необходимо выбрать его и нажать кнопку “Edit”. Для удаления параметра необходимо выбрать его и нажать кнопку “Delete”. Для изменения порядка параметров используются кнопки “Move Up” и “Move Down”.

После нажатия кнопки “…” откроется окно параметров. В поле “Name:” задается название параметра соответствующее имени внутренней переменной, которая будет использоваться внутри пользовательского функционального блока. В поле “Type:” задается тип параметра, который должен соответствовать типу внешней переменной. Флажок “IN_OUT” позволяет указать, что параметр будет входным-выходным. В поле “Description:” задается описание, которое будет отображаться в окне переменных. По завершению заполнения всех полей необходимо нажать кнопку “OK”.

В связи с особенностью реализации среды разработки Logic Workbench и непосредственно ее отладчика не допускается использование в качестве имен переменных для входных, входных-выходных и выходных параметров, а так же внутренних (локальных) переменных имен глобальных переменных. Поэтому в подпрограммах и пользовательских функциональных блоках предлагается использовать следующие префиксы: “bi_” для входных параметров, “bio_” для входных-выходных параметров, “bo_” для выходных параметров и “l_” для локальных переменных.

Пользовательский функциональный блок, реализующий конечный автомат с памятью на основе состояний датчиков и состояния графа должен формировать управляющие воздействия для исполнительных механизмов. Поэтому в качестве входных параметров в блок должны передаваться состояния датчиков (bi_D1, bi_D2, bi_D3, bi_D4, bi_D5), а в качестве выходных параметров из блока должны получаться управляющие значения реле (bo_R1, bo_R2, bo_R3) и сигналы состояния графа (bo_SS0, bo_SS1, bo_SS2, bo_SS3, bo_SS4).

Переменные состояния графа являются частью его программной реализации и не должны быть доступны за пределами пользовательского функционального блока, поэтому они должны быть расположены в его внутренней память (l_S0, l_S1, l_S2, l_S3, l_S4). Для добавления внутренней переменной в пользовательский функциональный блок необходимо в окне переменных пользовательского функционального блока нажать правой кнопкой мыши по ветке с его названием “StateMachine”, выбрать в меню пункт “Add Variable”. В открывшемся меню нажать по “Private Variable”, далее необходимо изменить имя и тип данных переменной. После этого переменная будет доступна для использования в пользовательском функциональном блоке.

При вводе программы на языке релейных диаграмм ввод идет сверху вниз. Добавление цепей выполняется с помощью кнопки “Добавить новую цепь”. Для того, что бы изменить тип контакта или тип катушки используется кнопка “Сменить элемент”. Для того, что бы добавить контакт перед уже существующим контактом по нему необходимо нажать левой кнопкой мыши, после чего он станет выделенным, далее нужно нажать кнопку “Добавить контакт перед”, аналогично добавляется контакт после или параллельно.

В сегменте 14 установки состояния 0 реализация условия включает блок “НЕ”, поэтому вычисление результата условия происходит в отдельной цепи R14. Переменная “l_C4_0” отвечающая за хранения результата условия должна быть доступна только в области памяти пользовательского функционального блока. Ее добавление выполняется аналогично добавлению переменных состояний.

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

В программе программного программируемого логического контроллера уже присутствуют переменные, объявленные в SCADA системе: D1, D2, D3, D4, D5, R1, R2, R3, SS0, SS1, SS2, SS3, SS4. Для добавления в программу разработанного пользовательского функционального блока в окне блоков необходимо развернуть дерево “Project” и перетащить название блока “StateMachine” в окно программы. Далее необходимо задать входам и выходам блока соответствующие переменные. Для задания операнда необходимо нажать по серому полю пользовательского функционального блока и ввести название операнда, после чего среда разработки автоматически создаст внутреннюю переменную подпрограммы с указанным именем. Результат приведен на рисунке:

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

Среда разработки Logic Workbench позволяет выполнять отладку программы в пошаговом режиме. Что бы перейти в режим отладки необходимо в режиме симуляции нажать кнопку “Pause (cycle to cycle)”. Так же можно установить точку остановки, при достижении которой будет выполняться автоматический переход в режим отладки. Что бы установить точку остановки необходимо в режиме симуляции нажать правой кнопкой мыши по блоку или цепи и выбрать пункт меню “Set/Remove Breakpoint”.

Управление всеми точками остановки выполняется во вкладке “Breakpoints”. С помощь кнопки “Remove Break/Trace Point” можно удалить выбранную точку остановки. С помощью кнопки “Remove All Breakpoints” можно удалить все точки остановки.

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

Разработка подпрограммы автоматического формирования комбинаций состояний датчиков

Автоматическое формирование комбинаций состояний датчиков будет выполняться аналогично Лабораторной работе №3 на основе таблицы формирования сигналов, поэтому в проект необходимо добавить ресурс сигналов. Для управления конечным автоматом с памятью используются пять датчиков, поэтому таблица формирования сигналов должна включать пять колонок с названиями: D1, D2, D3, D4, D5. Формирование комбинаций состояний датчиков должно выполняться на основе задания начиная с 0 состояния конечного автомата с памятью. Каждая комбинация состояния датчиков должна удерживаться в течение 5 секунд. Перед комбинациями состояний датчиков формирующими условия перехода должны стоять комбинации, не влияющие на состояния конечного автомата с памятью. При достижении состояния конечного автомата с памятью, из которого возможно два перехода сначала выполняется переход против часовой стрелки, после чего продолжается движение по часовой стрелки.

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

Подпрограмма должна иметь входной параметр разрешения работы, для переключения между автоматическим формирователем и ручным управлением посредством графического интерфейса. Автоматическое формирование должно выполняться, когда значение данного параметра равно “TRUE”. Получение комбинаций состояний датчиков должно выполняться через входные-выходные параметры, это связано с тем, что если подпрограмма не выполняет автоматическое формирование комбинаций состояний датчиков, их значения не должны изменяться.

Переключение между автоматическим формированием комбинаций состояний датчиков и графическим интерфейсом можно реализовать с использованием операций условного ветвления. Для этого будет использоваться переменная, значение которой должно формироваться графическим интерфейсом и которая будет выступать входным параметром подпрограммы. В программах на языке программирования функциональных блоков для реализации ветвления используются метки и переходы. Метка это именованная область программы или подпрограммы, к которой может быть выполнен переход. Метка доступна только в той программе или подпрограмме где она была объявлена. Метки в программе или подпрограмме должны иметь уникальные названия.

...

Подобные документы

  • Вывод графических файлов на компонент Picture. Действия Visual Basic по умолчанию. Создание графического интерфейса пользователя. Циклический показ фотографий. Формирование списка изображений и их циклический вывод на экран с определенным интервалом.

    курсовая работа [3,2 M], добавлен 05.01.2013

  • Створення проекту та розробка SCADA у Vijeo Citect. Використання хронологічного подієвого списку (CEL) для відображення журналу подій або щоденнику операцій. Визначення драйверу та опис конфігурації змінних для визначення внутрішніх змінних ZenOn.

    курсовая работа [3,2 M], добавлен 19.08.2012

  • SCADA (Supervisory Control And Date Acquisition) – диспетчерское управление и сбор данных. Формирование удобного человеко-машинного интерфейса. Разработка проекта WinCC: среда проектирования, конфигурирование. Пример отображения информации на экране.

    презентация [1023,1 K], добавлен 10.02.2014

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

    курсовая работа [618,8 K], добавлен 16.09.2012

  • Правила формирования списка на рабочем листе. Что понимается под структурой списка. Как осуществляется ввод данных. Простая сортировка списка. Интерфейс и функции приложения PowerPoint. Создание, редактирование и форматирование текстового документа.

    лабораторная работа [25,1 K], добавлен 16.01.2015

  • Стандартные функции для работы с динамической памятью. Представление списков цепочками звеньев. Организация файлового каталога в файловой системе в виде линейного списка на языке Visual C++. Создание блок-схемы и инструкции по работе с программой.

    курсовая работа [252,0 K], добавлен 22.01.2015

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

    контрольная работа [215,8 K], добавлен 22.06.2012

  • Приобретение навыков работы со списками в программах на Visual Prolog. Изображение списка в виде головы и хвоста. Удаление всех вхождений элемента в списке. Обозначение пустого списка. Вычисление суммы элементов, стоящих в списке на нечетных местах.

    лабораторная работа [94,9 K], добавлен 27.11.2014

  • Обзор мобильной ОС Android. Выбор инструментов и технологий. Проектирование прототипа графического интерфейса. Характеристика и описание пользовательского интерфейса. Проектирование и разработка базы данных. Определение списка необходимых разрешений.

    курсовая работа [376,6 K], добавлен 13.09.2017

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

    лабораторная работа [719,9 K], добавлен 15.07.2009

  • Создание баз хозяйственных договоров, банков и членов временных трудовых коллективов в среде разработки Delphi. Логическая структура линейного двусвязного списка. Способ упорядочения и алгоритм сортировки списка. Руководство пользования программой.

    курсовая работа [749,4 K], добавлен 14.02.2016

  • Теоретическое описание линейного списка с алгоритмами реализации основных операций. Понятия, механизмы объектно-ориентированного программирования. Возможности проектируемого контейнера пользователей, его реализация на основе линейного списка с заголовком.

    курсовая работа [475,2 K], добавлен 26.02.2015

  • Структура записей входного массива. Описание основных типов данных. Алгоритм программы: присвоение начальных значений переменных, чтение списка из файла, вывод данных на экран, выполнение обработки данных, сохранение списка в файл. Листинг программы.

    курсовая работа [325,2 K], добавлен 28.12.2012

  • Размещение элементов графического интерфейса, обработка событий в нем. Написание программы "Домино", результатом работы которой будет графический интерфейс, реализующий одноименную настольную игру. Объектная декомпозиция классов. Текст программы.

    курсовая работа [404,3 K], добавлен 13.10.2014

  • Составление формальной грамматики, недетерминированный конечный автомат. Построение конечного автомата, программное моделирование работы конечного автомата. Граф детерминированного автомата, Синтаксическая диаграмма. Блок-схемы, примеры разбора строк.

    курсовая работа [486,2 K], добавлен 19.11.2010

  • Структура организации графического интерфейса, объявление и создание слушателей событий с помощью анонимных классов. Представление данных для таблицы – класс AbstractTableModel. Визуализация ячеек таблицы. Два основных типа потоков ввода-вывода в Java.

    лекция [685,3 K], добавлен 01.05.2014

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

    лабораторная работа [1,2 M], добавлен 01.05.2014

  • Построение программы, создающей ведомость для каждой группы студентов по всем дисциплинам с указанием формы контроля (зачет или экзамен). Упорядочивание списка студентов по алфавиту. Описание функций и переменных. Алгоритм, блок-схема и текст программы.

    реферат [281,3 K], добавлен 17.10.2013

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

    курсовая работа [94,5 K], добавлен 23.09.2011

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

    курсовая работа [466,4 K], добавлен 20.01.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.