Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3-Пояснительная записка-БулычёвАП.doc
Скачиваний:
20
Добавлен:
06.09.2019
Размер:
3.25 Mб
Скачать

4 Разработка по системы управления

4.1 Разработка по нижнего уровня.

Нижний уровень программы был написан в среде для программирования контроллеров фирмы SIEMENS «Step7 SIMATIC Manager».

С помощью этой программы выполняется комплекс работ по созданию и обслуживанию систем автоматизации на основе программируемых логических контроллеров SIMATIC S7-300 и SIMATIC S7-400 фирмы Siemens. В первую очередь это работы по программированию контроллеров. Программируемый логический контроллер, (ПЛК) — это микропроцессорное устройство, предназначенное для управления технологическими процессами в промышленности и другими сложными технологическими объектами. Принцип работы ПЛК заключается в сборе сигналов от датчиков и их обработке по прикладной программе пользователя с выдачей управляющих сигналов на исполнительные устройства. В основе работы лежит концепция проекта, под которым понимается комплексное решение задачи автоматизации, включая несколько взаимосвязанных контроллеров, соединяющие их сети и системы человеко-машинного интерфейса. Работу с проектом в целом обеспечивает главная утилита STEP 7 - SIMATIC Manager. STEP 7 позволяет производить конфигурирование программируемых логических контроллеров и сетей (утилиты HWConfig и NetPro). В процессе конфигурирования определяется состав оборудования в целом, разбиение на модули, способы подключения, используемые сети, выбираются настройки для используемых модулей. Система проверяет правильность использования и подключения отдельных компонент. Завершается конфигурирование загрузкой выбранной конфигурации в оборудование, что по сущности является настройкой оборудования. Утилиты конфигурирования позволяют осуществлять диагностику оборудования, обнаруживать аппаратные ошибки или неправильный монтаж оборудования. Программирование контроллеров производится редактором программ, обеспечивающим написание программ на трех языках:

- LAD - язык релейно-контактной логики;

- FBD - язык функциональных блочных диаграмм;

- STL - язык списка инструкций.

В дополнение к трем основным языкам могут быть добавлены четыре дополнительные языка, поставляемые отдельно:

- SCL - структурированный язык управления, по синтаксису близкий к Pascal;

- GRAPH 7 - язык управления последовательными технологическими процессами;

- HiGraph 7 - язык управления на основе графа состояний системы;

- CFC - постоянные функциональные схемы.

Возможность наблюдения за текущим состоянием программы, доступное при использовании любого языка программирования, обеспечивает не только отладку программного обеспечения, но и поиск неисправностей в подключаемом оборудовании, даже если оно не имеет средств диагностики. В проект STEP 7 могут быть, включены системы человеко-машинного интерфейса, например операторские панели, конфигурируемые с помощью производимого Siemens программного обеспечения ProTool или WinCC Flexible, или персональный компьютер с программным обеспечением WinCC. Интеграция проектов для ЧМИ в проект STEP 7 облегчает автоматическое связывание проектов для контроллера и операторского интерфейса, ускоряет проектирование и позволяет избежать ошибок, связанных с раздельным использованием программ. В полной мере эти преимущества проявляются при использовании системы проектирования PCS7, в основе которой также используется STEP 7. Основной вид программы приведен на рисунке 4.1.1

В процессе написания программы использовался FBD - язык функциональных блочных диаграмм и GRAPH 7 - язык управления последовательными технологическими процессами.

Рисунок 4.1.1 – Общий вид программы «Step7»

Перед началом разработки программы необходимо изучить последовательность выполнения операций АФЛ.

После чего, разработчиком составляется конфигурация в окне «HW Config» рисунок 4.1.2. Выбран контроллер «CPU 315-2 DP», составляется конфигурация нужного количества модулей ввода / вывода, а также модуль связи с компьютером и блок питания для контроллера. Модуль связи

«CP 343-1» осуществляет обмен данными с компьютером по протоколу TCP/IP.

Рисунок 4.1.2 – конфигурация контроллера.

Далее в окне «NetPro» выбирается протокол связи рисунок 4.1.3. Там же прописываются IP адрес локальный – контроллера и IP адрес партнера - ПК.

Рисунок 4.1.3 – Конфигурация протоколов связи.

В блоке OB1 необходимо создать два блока предназначенные для связи.

Блок FB14 с привязкой к блоку данных DB2 и блок FB15 с привязкой к блоку данных DB4. рисунок 4.1.4.

Блок FB14 предназначен для приема по протоколу TCP/IP, Блок FB15 предназначен для передачи по протоколу TCP/IP.

Блоки DB2, DB3 нужен для хранения принимаемой информации по TCP/IP. Блоки DB4, DB5 нужен для хранения передаваемой информации по TCP/IP.

Рисунок 4.1.4 – Блоки для передачи по TCP/IP.

После этого желательно создать «таблицу символов». Она создается в окне «Symbol Editor», в ней расписаны все используемые входа и выхода, а также маркера, таймера, счетчики и блоки, используемые в программе (таблица 4.1.1).

Это необходимо для присвоения каждому из них более понятного имени, чем буквенное фибровое обозначение.

Таблица 4.1.1 - Таблица символов

Ethernet <-

DB 2

FB 14

Ethernet <<-

DB 3

DB 3

Ethernet ->

DB 4

FB 15

Ethernet ->>

DB 5

DB 5

Данные _ из _GRAPH

DB 21

FB 21

Для GRAPH

GET

FB 14

FB 14

Read Data From a Remote CPU (Чтение данных из удаленного процессора)

PUT

FB 15

FB 15

Write Data to a Remote CPU (Запись данных с удаленного процессора)

Обработка Ошибок

FB 18

FB 18

Обработка Исх. Состояния

FB 19

FB 19

Логика

FB 20

FB 20

Шаги

FB 21

FB 21

G7_STD_3

FC 72

FC 72

Для GRAPH

= ДНС_1_К1

I 4.0

BOOL

Наличие смеси. Мин. Уровень.

= ДПЦ_1.1_К2

I 4.1

BOOL

Цилиндр 1 впереди

= ДПЦ_1.4_К3

I 4.2

BOOL

Цилиндр 1 позади

= ДПЦ_1.2_К4

I 4.3

BOOL

Цилиндр 1 исходное

= ДПЦ_1.3_К5

I 4.4

BOOL

Цилиндр 1 прессование

= ДПЦ_2.1_К6

I 4.5

BOOL

Цилиндр 2 впереди

= ДПЦ_2.2_К7

I 4.6

BOOL

Цилиндр 2 позади

+24V

I 4.7

BOOL

Наличие +24_В.

~110V_К8

I 5.0

BOOL

Наличие ~ 110_В.

~220V_A_К9

I 5.1

BOOL

Наличие ~220_В."A"

~220V_B_К10

I 5.2

BOOL

Наличие ~220_В."B"

~220V_C_К11

I 5.3

BOOL

Наличие ~220_В."C"

= ДВК_1_К12

I 5.4

BOOL

Датчик вращения конвейера

= ДДВ_1_К13

I 5.5

BOOL

Датчик давления воздуха

= ДДМ_1_К14

I 5.6

BOOL

Датчик давления масла

= D_Перегруз_Дв_К15

I 5.7

BOOL

Перегруз двигателя конвейера

= ДЗР_1_К16

I 6.0

BOOL

Датчик защита рук

= Выбивка_Раб_К17

I 6.1

BOOL

Выбивка в работе

= Заливка_Раб_К18

I 6.2

BOOL

Заливка, Разрешение на продвижение

= Гидростанция_Раб_К19

I 6.3

BOOL

Гидростанция в работе

$_СТОП_SB1

I 6.4

BOOL

Кнопка СТОП

$_СТАРТ_SB2

I 6.5

BOOL

Кнопка СТАРТ

$_Ошибка_Сброс_SB3

I 6.6

BOOL

Кнопка Сброс ошибки

$_Исходное_SB4

I 6.7

BOOL

Кнопка Останов в исходном

Продолжение таблицы 4.1.1

$_Ключ_SA1

I 7.0

BOOL

Ключ Готов к старту

$_Ручное_SA2

I 7.1

BOOL

Переключатель Ручное

$_Автомат_SA2

I 7.2

BOOL

Переключатель Автомат

$_Проверка_Ламп_SB5

I 7.3

BOOL

Кнопка_Проверка_Ламп

= rezerv_1_K20

I 7.4

BOOL

= rezerv_2_K21

I 7.5

BOOL

= rezerv_3_K22

I 7.6

BOOL

= rezerv_4_K23

I 7.7

BOOL

LOG_0

M 0.0

BOOL

"Логический_0"

#_ Ethernet _error<-

M 0.3

BOOL

ошибка Ethernet <- на передачу

#_ Ethernet _error ->

M 0.5

BOOL

ошибка Ethernet -> на приём

LOG_1

M 1.1

BOOL

"Логическая_1"

#_Опер_1

M 10.1

BOOL

Операция_1

#_Опер_2

M 10.2

BOOL

Операция_2

#_Опер_3

M 10.3

BOOL

Операция_3

#_Опер_4

M 10.4

BOOL

Операция_4

#_Опер_5

M 10.5

BOOL

Операция_5

#_Опер_6

M 10.6

BOOL

Операция_6

#_Опер_7

M 10.7

BOOL

Операция_7

#_Опер_2,3,4,5,6,7

M 20.1

BOOL

Операции_2,3,4,5,6,7

#_Опер_1,3,4,5,6,7

M 20.2

BOOL

Операции_1,3,4,5,6,7

#_Опер_1,2,4,5,6,7

M 20.3

BOOL

Операции_1,2,4,5,6,7

#_Опер_1,2,3,5,6,7

M 20.4

BOOL

Операции_1,2,3,5,6,7

#_Опер_1,2,3,4,6,7

M 20.5

BOOL

Операции_1,2,3,4,6,7

#_Опер_1,2,3,4,5,7

M 20.6

BOOL

Операции_1,2,3,4,5,7

#_Опер_1,2,3,4,5,6

M 20.7

BOOL

Операции_1,2,3,4,5,6

#_Исходное_1

M 30.1

BOOL

Исходное Операции 1

#_Исходное_2

M 30.2

BOOL

Исходное Операции 2

#_Исходное_3

M 30.3

BOOL

Исходное Операции 3

#_Исходное_4

M 30.4

BOOL

Исходное Операции 4

#_Исходное_5

M 30.5

BOOL

Исходное Операции 5

#_Исходное_6

M 30.6

BOOL

Исходное Операции 6

#_Исходное_7

M 30.7

BOOL

Исходное Операции 7

#_Опер_1_Раз

M 40.1

BOOL

Операцию 1 Разрешить

#_Опер_2_Раз

M 40.2

BOOL

Операцию 2 Разрешить

#_Опер_3_Раз

M 40.3

BOOL

Операцию 3 Разрешить

#_Опер_4_Раз

M 40.4

BOOL

Операцию 4 Разрешить

#_Опер_5_Раз

M 40.5

BOOL

Операцию 5 Разрешить

#_Опер_6_Раз

M 40.6

BOOL

Операцию 6 Разрешить

#_Опер_7_Раз

M 40.7

BOOL

Операцию 7 Разрешить

#_Земля есть

M 50.0

BOOL

Земля Набрана

#_Набор_земли

M 50.1

BOOL

Набрать Землю

Продолжение таблицы 4.1.1

#_Старт

M 50.2

BOOL

Маркер Старт

#_Стоп

M 50.3

BOOL

Маркер Стоп

#_Помехи

M 50.4

BOOL

Помехи

#_Защита_Вращ

M 50.5

BOOL

Защита Вращения Конвейера

#_Ошибка_Пресса

M 50.6

BOOL

Ошибка Прессования

#_Счетчик_Циклов

M 50.7

BOOL

Счетчик Циклов

#_Мин_Уровень

M 51.0

BOOL

Минимальный Уровень Земли

#_Не_вып_Опер_1

M 51.1

BOOL

Операция 1 не выполнена за отведенное время

#_Не_вып_Опер_2

M 51.2

BOOL

Операция 2 не выполнена за отведенное время

#_Не_вып_Опер_3

M 51.3

BOOL

Операция 3 не выполнена за отведенное время

#_Не_вып_Опер_4

M 51.4

BOOL

Операция 4 не выполнена за отведенное время

#_Не_вып_Опер_5

M 51.5

BOOL

Операция 5 не выполнена за отведенное время

#_Не_вып_Опер_6

M 51.6

BOOL

Операция 6 не выполнена за отведенное время

#_Не_вып_Опер_7

M 51.7

BOOL

Операция 7 не выполнена за отведенное время

#_1

M 52.1

BOOL

Выполнить операцию 1 из WinCC

#_2

M 52.2

BOOL

Выполнить операцию 2 из WinCC

#_3

M 52.3

BOOL

Выполнить операцию 3 из WinCC

#_4

M 52.4

BOOL

Выполнить операцию 4 из WinCC

#_5

M 52.5

BOOL

Выполнить операцию 5 из WinCC

#_6

M 52.6

BOOL

Выполнить операцию 6 из WinCC

#_7

M 52.7

BOOL

Выполнить операцию 7 из WinCC

#_R

M 53.0

BOOL

Ручное для WinCC

#_A

M 53.1

BOOL

Автомат для WinCC

#_Сброс_таймера_Т3

M 98.1

BOOL

Маркер сброса таймера Т3

#_Ошибка

M 99.0

BOOL

Сборная Ошибка

0.1#sek

M 111.0

BOOL

Taktmerker 0,1 sek

0,2#sek

M 111.1

BOOL

Taktmerker 0,2 sek

0,4#sek

M 111.2

BOOL

Taktmerker 0,4 sek

0,5#sek

M 111.3

BOOL

Taktmerker 0,5 sek

0,8#sek

M 111.4

BOOL

Taktmerker 0,8 sek

1,0#sek

M 111.5

BOOL

Taktmerker 1,0 sek

1,6#sek

M 111.6

BOOL

Taktmerker 1,6 sek

2,0#sek

M 111.7

BOOL

Taktmerker 2,0 sek

Объединяющий Блок

OB 1

OB 1

Цилинрд_1_->_K30

Q 8.0

BOOL

Формовочный Цилиндр 1 назад

Продолжение таблицы 4.1.1

Цилинрд_1_<-_K31

Q 8.1

BOOL

Формовочный Цилиндр 1 вперед

Цилинрд_2_->_K32

Q 8.2

BOOL

Формовочный Цилиндр 2 назад

Цилинрдr_2_<-_K33

Q 8.3

BOOL

Формовочный Цилиндр 2 вперед

>_Линия_Раб__K34

Q 8.4

BOOL

Формовочная Линия в работе

>_Вкл.Конв._K35

Q 8.5

BOOL

Включение Конвейера

ФОФП_1_K36

Q 8.6

BOOL

Форсунка опрыскивания формовочной плиты 1

ФОФП_2_K37

Q 8.7

BOOL

Форсунка опрыскивания формовочной плиты 2

>_ >Сирена<_LS1

Q 9.0

BOOL

Сирена

*_Исходное_HL1

Q 9.1

BOOL

Лампа Исходное

*_Стоп_HL2

Q 9.2

BOOL

Лампа СТОП

*_Ошибка_HL3

Q 9.3

BOOL

Лампа Ошибка

Прессование_Цил_1 <-_K38

Q 9.4

BOOL

Клапан Прессование + (Цилиндр 1 вперед)

Прессование_Цил_2 ->_K39

Q 9.5

BOOL

Клапан Прессование + (Цилиндр 2 назад)

> rezerv_1_K40

Q 9.6

BOOL

> rezerv_2_K41

Q 9.7

BOOL

TIME_TCK

SFC 64

SFC 64

Read the System Time (Чтение системного времени) Для GRAPH

Задержка_Старта

T 1

TIMER

Задержка СТАРТА

Время_Сирены

T 2

TIMER

Продолжительность СИРЕНЫ

T 3

TIMER

Задержка сброса маркера Мин. Уровня

Время_прессования

T 4

TIMER

Время прессования

Время_на_разгон

T 5

TIMER

Защита вращения конвейера

Время_набора_земли

T 6

TIMER

Время для набора земли

Время_работы_Форсунки_1

T 7

TIMER

Время на опрыскивания Форсунки 1

Задержка_Форсунки_2

T 8

TIMER

Задержка опрыскивания Форсунки 2

Время_работы_Форсунки_2

T 9

TIMER

Время на опрыскивания Форсунки 2

Время_на_вып_1_Опер

T 11

TIMER

Время на выполнение опер 1

Время_на_вып_2_Опер

T 12

TIMER

Время на выполнение опер 2

Время_на_вып_3_Опер

T 13

TIMER

Время на выполнение опер 3

Время_на_вып_4_Опер

T 14

TIMER

Время на выполнение опер 4

Время_на_вып_5_Опер

T 15

TIMER

Время на выполнение опер 5

Время_на_вып_6_Опер

T 16

TIMER

Время на выполнение опер 6

Время_на_вып_7_Опер

T 17

TIMER

Время на выполнение опер 7

Таймер_Прессования

T 20

TIMER

Задержка на включение прессования

Во время написания программы, при подключении протоколов связи и модулей связи, а также модулей ввода / вывода – в основной части появляются системные блоки (рисунок 4.1.1) такие как: FB14, FB15, FC72, DB2, DB3, DB4, DB5, SFC17, SFC18, SFC20, SFC52, SFC58, SFC59, SFC64.

Все из выше указанных блоков являются не редактируемыми, кроме: DB2, DB3, DB4, DB5. Через них осуществляется передача данных между ПК и контроллером.

В дальнейшем во время написании программы появятся еще несколько системных блоков: FC72, DB18, DB19, DB20, DB21.

Программа разбита на блоки:

- OB1 - объединяющий блок, через него подключаются к работе остальные блоки с программой (приложение А).

- FB18 – блок обработки ошибок, в нем написана программа обрабатывающая возможные ошибки и аварии при работе формовочной линии (приложение Б).

- FB19 - блок обработки всех исходных состояний линии, перед каждой операцией (приложение В).

- FB20 – блок обработки логики всех выполняемых действий формовочной линии (приложение Г).

- FB21 – блок по шагового выполнения операций, в отличии от других FB блоков он написан в другой среде программирования «Step7-GRAPH» и представляет из себя одну из основных частей программы рисунок 4.1.4 (приложение Д).

Рисунок 4.1.4 - Основная часть программы «Step7-GRAPH»

Продолжение рисунка 4.1.4

Полный вид программы приведен в приложение А, Б, В, Г, Д.