Автоматизация процесса переработки ядерных отходов

Автор работы: Пользователь скрыл имя, 22 Декабря 2012 в 23:16, курсовая работа

Краткое описание

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

Содержание

Введение 4
1 Постановка задачи 5
1.1 Описание технологического процесса 5
1.2 Описание имеющихся средств автоматизации 13
1.3 Требования к программно–техническому комплексу 17
2 Выбор конфигурации и средств локальной вычислительной сети 19
2.1 Структура вычислительного комплекса 19
2.2 Конфигурация локальной вычислительной сети 20
3 Создание локального уровня автоматизации 22
3.1 Сравнительный анализ существующих контроллеров. Выбор ПЛК 22
3.2 Алгоритм управления 24
3.3 Листинг программы 26
4 Создание мнемосхемы для АРМ оператора 34
Заключение 36
Список использованной литературы 37
Приложение А (обязательное) 38
Приложение Б (справочное) 40

Прикрепленные файлы: 1 файл

Переработка ядерных отходов.doc

— 1.01 Мб (Скачать документ)

Каждый порт микроконтроллера используется для  передачи информации и управления. Порт P0 служит для посылки управляющих сигналов исполнительным механизмам (задвижкам и барботирующим кольцам), порт P1, выводы которого соединены с АЦП, используется для получения показаний датчиков технологического процесса. Выводы порта P2 соединены с индикаторами датчиков и автономными устройствами индикации и принимают дискретные сигналы о состоянии технологического процесса. Наконец, порт P3 выполняет функции управления АЦП и передачи информации пульту оператора.

 

 

3.2 Алгоритм  управления

 

Микроконтроллер системы работает по записанной в нем  программе языка  низкого уровня. Упрощенная блок–схема алгоритма работы микроконтроллера изображена на рисунке 3.2

Рисунок 3.2

 

После подачи на специальный вход микроконтроллера сигнала  сброса начинается съем показаний с датчиков. АЦП поочередно опрашивает каждый датчик, переводя их показания в  цифровой код, и посылает эти значения в микроконтроллер. Тот, в свою очередь, сохраняет показания в ОЗУ и проверяет вывод RxD, который служит приемником данных, поступающих по линии RS–485, на наличие сигнала с пульта оператора. По стандарту RS–485 пакет данных начинается с нуля, таким образом, МК реагирует на сигнал низкого логического уровня на этом входе, посылая при этом по линии TxD сигнал «0», сообщая о готовности принять пакет. Получив сигнал о готовности МК, внешнее управляющее устройство начинает передачу  однобайтового пакета по последовательной шине RxD через микросхему MAX202E. МК принимает пакет, сохраняя его в памяти, и производит дешифрацию полученной команды.

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

Если низкий логический уровень на входе  RxD не зарегистрирован, т.е. в случае отсутствия команды оператора, микроконтроллер сохраняет показания в памяти и сравнивает их с номинальными параметрами технологического процесса, хранящимися в ПЗУ. Если текущие параметры технологического процесса отличаются от заданных, то микроконтроллер автоматически отдает команду о включении или отключении соответствующих исполнительных устройств.

 

 

3.3 Листинг программы

 

Ниже  приведен листинг  программы на языке  ассемблера, записанной в ПЗУ микроконтроллера, работающей по алгоритму, описанному в пункте 3.2.

 

;Определение констант для дальнейшего алгоритма

;

R7  .EQU 7

R6  .EQU 6

R5  .EQU 5

R4  .EQU 4

R3  .EQU 3

R2  .EQU 2

R1  .EQU 1

R0  .EQU 0

ACC .EQU 0E0H   ; адрес аккумулятора

B .EQU 0F0H   ; адрес регистра B

PSW .EQU 0D0H   ; адрес регистра (слова) состояния

SP .EQU 81H   ; адрес указателя стека

DPL .EQU 82H   ; адрес младшей половины DPTR

DPH .EQU 83H   ; адрес старшей половины DPTR

P0 .EQU 80H   ; адрес регистра порта P0

P1 .EQU 90H   ; адрес регистра порта P1

P2 .EQU 0A0H   ; адрес регистра порта P2

P3 .EQU 0B0H   ; адрес регистра порта P3

B.0 .EQU 0F0H   ; адреса отдельных битов регистра B

B.1 .EQU 0F1H  

B.2 .EQU 0F2H

B.3 .EQU 0F3H

B.4 .EQU 0F4H

B.5 .EQU 0F5H

B.6 .EQU 0F6H

B.7 .EQU 0F7H

ACC.0  .EQU   0E0H ; адреса отдельных битов аккумулятора

ACC.1 .EQU 0E1H

ACC.2 .EQU 0E2H

ACC.3 .EQU 0E3H

ACC.4 .EQU 0E4H

ACC.5 .EQU 0E5H

ACC.6 .EQU 0E6H

ACC.7 .EQU 0E7H

PSW.0 .EQU 0D0H   ; адреса отдельных битов регистра PSW

PSW.1 .EQU 0D1H

PSW.2 .EQU 0D2H

PSW.3 .EQU 0D3H

PSW.4 .EQU 0D4H

PSW.5 .EQU 0D5H

PSW.6 .EQU 0D6H

PSW.7 .EQU 0D7H

P  .EQU PSW.0 ; имена флагов регистра PSW

OV  .EQU PSW.2

RS0  .EQU PSW.3

RS1  .EQU PSW.4

F0  .EQU PSW.5

AC  .EQU PSW.6

CY  .EQU PSW.7

P0.0  .EQU 080H   ; адреса отдельных линий порта P0

P0.1  .EQU 081H

P0.2  .EQU 082H

P0.3  .EQU 083H

P0.4  .EQU 084H

P0.5  .EQU 085H

P0.6  .EQU 086H

P0.7  .EQU 087H

P1.0  .EQU 090H   ; адреса отдельных линий порта P1

P1.1  .EQU 091H

P1.2  .EQU 092H

P1.3  .EQU 093H

P1.4  .EQU 094H

P1.5  .EQU 095H

P1.6  .EQU 096H

P1.7  .EQU 097H

P2.0  .EQU 0A0H   ; адреса отдельных линий порта P2

P2.1  .EQU 0A1H

P2.2  .EQU 0A2H

P2.3  .EQU 0A3H

P2.4  .EQU 0A4H

P2.5  .EQU 0A5H

P2.6  .EQU 0A6H

P2.7  .EQU 0A7H

P3.0  .EQU 0B0H   ; адреса отдельных линий порта P3

P3.1  .EQU 0B1H

P3.2  .EQU 0B2H

P3.3  .EQU 0B3H

P3.4  .EQU 0B4H

P3.5  .EQU 0B5H

P3.6  .EQU 0B6H

P3.7  .EQU 0B7H

;Управление АЦП

ALE   .EQU  P3.6

AD  .EQU  P3.7

;Линия связи с MAX202E

RXD  .EQU  P3.0

TXD  .EQU  P3.1

;Управление исполнительными механизмами

DOUT1 .EQU  P0.0

DOUT2 .EQU  P0.1

DOUT3 .EQU  P0.2

DOUT4 .EQU  P0.3

;Коды сигналов  оператора

RISET1 .EQU 10001110b ;команды повышения температуры

RISET2 .EQU 10011110b

DECRT1 .EQU 10101110b ;команды понижения температуры

DECRT2 .EQU 10111110b

PUSK .EQU 11001110b ;запуск подачи реагентов

STOP  .EQU 11011110b ;остановка подачи реагентов

CONTI .EQU 11111110b ;продолжение опроса

;

;Определим переменные регулирования

;

DSEG AT 30H

Tmin:   DS 80 ;мин. температура среды

Tmax: DS 100 ;макс. температура среды

Pmax: DS 200 ;макс. давление

combuf DS 0 ;буфер временного хранения команды

;

;Начало программы

.ORG 0H

LJMP  BEGIN

 

.ORG 100H

BEGIN:

;Начальная установка

MOV  P0,#11111111b

MOV  P1,#11111111b

MOV  P2,#11111111b

MOV  P3,#11111101b  ;на выход ALE подаем 0

MOV  B,#00000111b ;номер датчика

OPROS: SETB  ALE ;импульс начала преобразования

CLR  ALE

NOP   ;задержка на время преобразования

NOP   ;ровно 25 мкс

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

CLR   AD

MOV  A,P0  ;считываем показания датчика

SETB  AD

PUSH A  ;запоминаем их в стеке

MOV  A,B  ;проверяем адрес

JZ  PAUSE ;если B=0, то заканчиваем опрос

DEC  B  ;если нет, то изменяем адрес

MOV  P0.5,B.5

MOV  P0.6,B.6

MOV  P0.7,B.7

LJMP  OPROS ;зацикливаем опрос датчиков

PAUSE: MOV  B,#07H ;вводим начальный адрес для нового опроса

POP  R0  ;сохраняем в РОН показания

POP  R1

POP  R2

POP  R3

POP  R4

POP  R5

POP  R6

POP  R7

MOV  CY, RXD ;проверяем наличие сигнала на RS–485

JC  SEND ;если RxD=1, то сигнала нет

;если он есть, то далее обрабатываем  его

;Ответ на сигнал оператора

SIGNAL: SETB  F0  ;установка флага «ручного» режима

SETB  ACC.0 ;готовимся к принятию команды в АСС

CLR  TXD  ;отвечаем о готовности принять команду

WAIT2: MOV  CY,RXD ;ожидаем первого бита команды

JNC  WAIT2 ;для всех команд он равен единице

MOV  ACC.1,RXD ;записываем значение команды в АСС

MOV  ACC.2,RXD

MOV  ACC.3,RXD

MOV  ACC.4,RXD

MOV  ACC.5,RXD

MOV  ACC.6,RXD

MOV  ACC.7,RXD

SETB  TXD  ;завершаем прием команды

SETB  RXD

MOV  combuf,A ;делаем рабочую копию команды  

CLR  CY  ;выполняем дешифрацию команды

SUBB A,RISET1 ;команда повышения температуры №1?

JZ  TEMPR1

MOV  A,combuf 

CLR  CY

SUBB A,RISET2 ;команда повышения температуры №2?

JZ  TEMPR2

MOV  A,combuf

CLR  CY

SUBB A,DECRT1 ;команда понижения температуры №1?

JZ  TEMPD1

MOV  A,combuf

CLR  CY

SUBB A,DECRT2 ;команда понижения температуры №2?

JZ  TEMPD2

MOV  A,combuf

CLR  CY

SUBB A,PUSK ;команда запуска подачи реагентов?

JZ  ZADVION

MOV  A,combuf

CLR  CY

SUBB A,STOP ;команда остановки подачи реагентов?

JZ  ZADVIOFF

MOV  A,combuf

CLR  CY

SUBB A,CONTI ;команда продолжения опроса?

JZ  CONTINUE

CLR  F0  ;если команда неизвестна

LJMP  SIGNAL ;то продолжаем режим приема сигнала

;Осуществляем регулирование

REGUL: MOV  A,R0  ;регулирование температуры колонн 1,2

CLR  CY  ;для вычитания не нужен заём

SUBB A,Tmin ;если температура сильно понизилась

MOV  CY,ACC.0 ;то старший бит ACC равен 1

JC  TEMPUP1 ;повышаем температуру

MOV  A,R0

CLR  CY

SUBB A,Tmax ;если температура повысилась

MOV  CY,ACC.0 ;то старший бит ACC равен 0

JNC  TEMPDO1 ;понижаем температуру

MOV  A,R3  ;регулирование температуры колонн 3,4

CLR  CY  ;для вычитания не нужен заём

SUBB A,Tmin ;если температура сильно понизилась

MOV  CY,ACC.0 ;то старший бит ACC равен 1

JC  TEMPUP2 ;повышаем температуру

MOV  A,R3

CLR  CY

SUBB A,Tmax ;если температура повысилась

MOV  CY,ACC.0 ;то старший бит ACC равен 0

JNC  TEMPDO2 ;понижаем температуру

MOV  A,R4  ;регулирование давления

CLR  CY

SUBB A,Pmax ;если давление возросло

MOV  CY,ACC.0 ;то старший бит АСС равен 0

JNC  GAS  ;принимаем меры по уменьшению 

MOV  A,R4  

CLR  CY

SUBB A,Pmax ;если давление в норме

MOV  CY,ACC.0 ;то старший бит АСС равен 1

CLR  DOUT3 ;система выпуска газов отключена

MOV  B,#07H ;параметр цикла опроса

LJMP  OPROS ;продолжаем опрос датчиков

;Отправка дейтаграммы состояния процесса

SEND: CLR  TXD  ;запрос на передачу информации

MOV  B,#07H ;готовим цикл для передачи

WAIT1: MOV  CY,RXD ;ожидаем ответа сервера

JC  WAIT1 

SETB  TXD  ;сервер ответил, начинаем передачу

TRANSM: MOV  A,@B 

RLC   A  ;заносим поочередно данные в бит переноса

MOV  TXD,CY ;из регистра

RLC  A

MOV  TXD,CY

RLC  A

MOV  TXD,CY

RLC  A

MOV  TXD,CY

RLC  A

MOV  TXD,CY

RLC  A

MOV  TXD,CY

RLC  A

MOV  TXD,CY

RLC  A

MOV  TXD,CY

DJNZ  B,TRANSM ;повторять, пока данные всех

SETB  TXD   ;регистров не будут отправлены

LJMP  REGUL  ;начинаем процесс регулирования

Информация о работе Автоматизация процесса переработки ядерных отходов