Файл: Системы автоматизации с использованием программируемых логических контроллеров (Г.П. Митин, 2005).pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 16.06.2025
Просмотров: 1627
Скачиваний: 6
Запись на выходы |
Чтение входов |
|||||
При чтении значения входов |
||||||
При записи значения выходов |
||||||
^ |
устанавливаются |
|||||
устанавливаются |
||||||
^ ^ |
принудительно. |
|||||
принудительно. |
^ |
- |
^ |
|||
t^ |
Обработка программы |
|||||
а |
Все прямые обращения к входам и |
|||||
Цикл |
1 |
выходам снабжаются принудитель- |
||||
• |
но установленными значениями. |
|||||
Ш |
После обработки программы до 16 |
|||||
Выполнение |
. ^ш |
значений в памяти устанавливаются |
||||
принудительно. |
||||||
самодиагностики CPU |
Ч |
|||||
Обработка коммуникационных |
запросов |
|||||
Все коммуникационные обращения (чтение/запись) устанавливаются принудительно.
Рис. 3.20
3.6. Устранение ошибок
CPU S7-200 подразделяет встречающиеся ошибки на серьезные (не исправимые) и незначительные (исправимые) ошибки. С помощью STEP 7-Micro/WIN 32 можно отобразить те коды ошибок, которые были порож дены встретившимися ошибками. На рис.3.21 показано диалоговое окно «CPU —> Information» [«CPU -> Информация»], в котором отображаются код и описание ошибки. Список кодов ошибок приведен в табл.3.5 - 3.7.
La^CPU Information
G^ner^ Ишгййюп \..Ьш. Ыш^ Мо<Ал1е СопНдигэЙол 1
ModdeBrofs |
||
MacJufe О. |
No ^rof |
Htidufe 4: |
Module 1; |
N^з^ pTesent |
Nodute 5: |
Module 2 |
Not present |
Module 6: |
Module 3; |
Not present |
CPU £ггот^ |
||
a |
No fatal erfttspf»$eiii '*' |
|
NON'Fakaf: |
0 |
NQ nonfatal errors presart. |
i
f^ot present Hot ptfesertt
Not present |
л |
Используйте код и |
|
описание ошибки для |
|
устранения возможной |
|
причины ошибки. |
у |
""1:Dote 1
Рис. 3.21
J.6.7. Реакция на серьезные ошибки
Если появляется серьезная ошибка, то CPU прекращает обработку программы. В зависимости от типа ошибки CPU больше не может выпол нять некоторые или даже все функции. Для того, чтобы устранить серьез ные ошибки, необходимо перевести CPU в безопасное состояние, чтобы
54
можно было запросить информацию о сбойной ситуации. Если CPU обна руживает серьезную ошибку, то он переходит в режим STOP, включает светодиодную индикацию серьезной ошибки (SF) и светодиодную инди кацию режима STOP и выключает выходы. CPU остается в этом режиме до тех пор, пока не будет устранена сбойная ситуация.
Если условие возникновения серьезной ошибки усхранено, то нужно снова запустить CPU. Для этого можно либо выключить и снова включить напряжение питания, либо перевести переключатель режимов работы из положения RUN или TERM в положение STOP. Новый пуск CPU стираег состояние ошибки и при запуске выполняется диагностика для того, чтобы проверить, устранена ли фактически серьезная ошибка. Если при этом об наруживается еще одна серьезная ошибка, то снова загорается светодиод ный индикатор CPU и тем самым указывается на то, что оишбка все еще имеет место. В противном случае CPU начинает свою нормальную работу.
Существует различные возможные сбойные ситуации, которые де лают CPU неспособным к коммуникации. В таких случаях нельзя отобра зить код ошибки CPU. Этот вид ошибки указывает чаще всего на неис правность аппаратуры, которая может быть устранена только путем ре монта CPU. Такие сбойные ситуации не мог>'т быть устранены только пу тем изменения программы или общего стирания памяти CPU.
Таблица 3.5
Код |
Неисправимые (фатальные) ошибки |
0000 |
Фага.1ьная ошибка не встретилась. |
0001 |
Ошибка контрольной суммы в программе пользователя. |
0002 |
Ошибка контрольной суммы в скомпилированной КОР—программе. |
0003 |
Ошибка времени при контроле времени цикла. |
0004 |
Отказ внутреннего EEPROM. |
0005 |
Ошибка контрольной суммы внутреннего EEPROM в программе пользователя. |
0006 |
Ошибка контрольной суммы внутреннего EEPROM в [тараметрах конфигурации. |
0007 |
Ошибка контрольной суммы EEPROM в принудительно установленных данных. |
0008 |
Ошибка контрольной суммы EEPROM в значениях по умолчанию в таблице выходов. |
0009 |
Ошибка контрольной суммы внутреннего EEPROM в данных пользователя, DB1. |
ОООА |
Отказ модуля памяти. |
ОООВ |
Ошибка контрольной суммы модуля памяти в программе пользователя. Сообщение |
об этой ошибка появляется, когда модуль памяти пуст (не содержит программу). |
|
ОООС |
Ошибка контрольной суммы модуля памяти в параметрах конфигурации. |
000D |
Ошибка контрольной суммы модуля памяти в принудительно установленных данных. |
ОООЕ |
Ошибка контрольной суммы модуля памяти в значениях по умолчанию в таблице |
выходов. |
|
000F |
Ошибка контрольной суммы модуля памяти в данных пользова1еля, DB1. |
0010 |
Внутренняя ошибка программного обеспечения. |
ООН |
Ошибка косвенной адресации сравнивающего контакта. |
0012 |
Недопустимое значение в сравнивающем контакте. |
0013 |
Неподходящий модуль памяти для данного CPU. |
55
3.6.2, Устранение незначительных ошибок
Незначительные ошибки могут частично ограничивать работу CPU. Однако CPU и далее в состоянии обрабатывать программу и актуализиро вать входы и выходы. Можно с помощью STEP 7-Micro/WIN 32 отобра зить коды ошибок, которые были порождены незначительными ошибками (см. рис.3.21). Есть три основные группы незначительных ошибок:
1) Ошибки этапа выполнения: все незначительные ошибки, которые обнаруживаются в режиме RUN, отмечаются в специальных маркерах. Программа может контролировать и анализировать эти специальные мар керы.
При пуске CPU счрггывает конфигурацию входов и выходов и сохра няет эту информацию в памяти системных данных и в специальных марке рах. При нормальной работе состояние входов и выходов регулярно об новляется и запоминается в специальных маркерах. Если CPU обнаружи вает различия в конфигурации входов и выходов, то он устанавливаег в байте ошибок модуля бит индикации измененной конфигурации. Модуль расширения не акгуа1шзируется до тех пор, пока этот бит не будет сбро шен. Чтобы CPU мог сбросить этот бит, необходимо снова согласовать входы и выходы модуля с конфигурацией входов и выходов, записанной в памяти системных данных.
2)Ошибки при компиляции программы: CPU компилирует програм му при ее загрузке. Если CPU обнаруживает, что программа нарушает не которое правило компиляции, то он прерывает процесс загрузки и генери рует код ошибки. (Ecjm программа уже была загружена в CPU, то эта про грамма имеется еще в EEPROM и она не теряется). После исправления программы можно загружать ее снова.
3)Ошибки программирования на этапе выполнения: сбойная ситуа ция может возникнуть во время исполнения программы. Например, кос венный указатель адреса, который при компиляции программы был дейст вительным, во время обработки программы может быть изменен таким об разом, что будет указывать на адрес вне допустимой области. Это рассмат ривается как ошибка программирования на этапе выполнения. Используя диaJЮгoвoe окно «CPU -> Information» [«CPU -^ Информация»] (см. рис.3.21), можно установить, какой вид ошибки встретился.
CPU не переходит в STOP, когда обнаруживается незначительная ошибка. Он отмечает эти события в специальных маркерах (SM) и про должает обработку программы. Однако можно написать программу таким образом, что при появлении незначительной ошибки происходит принуди тельный переход в режим работы STOP. На рис.3.22 показан сегмент про граммы, которая контролирует специальный маркер. Операция переводит CPU в режим работы STOP, когда обнаруживается ошибка ввода/ вывода.
56
Таблииа 3.6 |
|
Код |
Ошибки во время выполнения (не фатальные ошибки) |
0000 |
Ошибок нет. |
0001 |
Блок HSC разблокирован перед обработкой блока HDEF. |
0002 |
Назначение прерывания входу, который уже был поставлен в соответствие HSC. |
0003 |
Назначение HSC входам, которые уже были поставлены в соответствие входному |
прерыванию. |
|
0004 |
Попытка выполнения одной из операций ENI, DIS1 или HDEF в программе обработки |
прерываний. |
|
0005 |
Попытка выполнения второго HSC с тем же самым номером до завершения |
первого HSC (HSC в программе обработки прерываний конфликтует с HSC |
|
в главной программе). |
|
0006 |
Ошибка косвенной адресации. |
0007 |
Ошибка в данных для операции TODW (запись в часы реального времени). |
0008 |
Превышение максимальной глубины вложения подпрограмм. |
0009 |
Обработка другой операции ХМТ в то время, когда отправитель активен. |
ОООА |
Попытка нового определения HSC с помощью второй операции HDEF для того же |
самого HSC. |
|
0091 |
Ошибка области (вместе с адресной информацией): Проверьте области операндов. |
0092 |
Ошибка в счетном поле операции (вместе со счетной информацией): |
Проверьте максимальное счетное значение. |
|
0094 |
Ошибка области при записи в энергонезависимую память |
(вместе с адресной информацией). |
Таблица 3.7 |
|
Код |
Ошибки компиляции (не фатальные ошибки) |
0080 |
Транслируемая программа слишком велика: Сократите программу. |
0081 |
Выход за нижнюю границу стека: Разделите сегмент на несколько сегментов. |
0082 |
Недопустимая операция: Проверьте мнемонику операции. |
0083 |
Отсутствует MEND или недопустимая операция в главной программе: Введите опе |
рацию MEND или удалите недопустимую операцию. |
|
0084 |
Резервный. |
0085 |
Отсутствует FOR: Добавьте операцию FOR или удалите операцию NEXT. |
0086 |
Отсутствует NEXT: Добавьте операцию NEXT или удалите операцию FOR. |
0087 |
Отсутствует метка перехода (LBL, INT, SBR): Добавьте соответствующую метку пе |
рехода. |
|
0088 |
Отсутствует RET или недопустимая операция в подпрограмме: Введите операцию |
RET в конце подпрограммы или удалите недопустимую операцию. |
|
0089 |
Отсутствует RE11 или недопустимая операция в программе обработки прерываний: |
Введите операцию RETI в конце программы обработки прерываний или удалите |
|
недопустимую операцию. |
|
008А |
Резервный. |
008В |
Дублированная область SCR. |
008С |
Дублированная метка перехода (LBL, INT, SBR): Переименуйте одну из меток |
перехода. |
|
008D |
Недопустимая метка перехода (LBL, INT, SBR): Обеспечьте, чтобы не превышалось |
допустимое количество меток перехода. |
57
Код |
Ошибки компиляции (не фатальные ошибки) |
0090 |
Недопустимые параметры: Проверьте, являются ли допустимыми параметры опера |
ции. |
|
0091 |
Ошибка области (вместе с адресной информацией): Проверьте области операндов. |
0092 |
Ошибка в счетном поле операции (вместе со счетной информацией): Проверьте мак- |
0093 |
симальное счетное значение. |
Превышение глубины вложения FOR/NEXT. |
|
0095 |
Отсутствует операция LSCR (загрузка реле шагового управления). |
0096 |
Отсутствует операция SCRE (завершение реле шагового управления) или недопус |
тимая операция перед SCRE. |
|;;Щ:11Ш111111ш11 |
I^te^ |
||
"""^ |
|||
I Program Control |
|||
Network 5 |
i\F^'% ^^ли Происходит ошибка БЕ ода/выв ода ва |
||
(SM5.0), то пережив состояние STOP. |
|||
SM5.0 |
|||
— <jyp) |
I |
(STOP) |
|
^ |
-nm |
Рис. 3.22 |
|
3.7. Контрольные вопросы и задания
3.1.Прямая адресация области памяти в CPU.
1) Как происходит адресация области отображения процесса на вхо дах, на выходах к биту, байту, слову и двойному слову?
Как происходит адресация памяти переменных, маркеров, специаль ных маркеров и шагового реле управления к биту, байту, слову и двойному слову?
2)Чем отличается обращение к области памяти таймера, счетчика, быстрого счетчика и аккумулятора от обращение к области памяти пере менной?
3)Что означают сигналы I, V, Q, М SM Т С AIAQ АС и НС?
4)Какой формат переменных имеет таймер и каков диапазон их зна
чений?
5)Какой формат переменных имеет счетчик и каков диапазон их значений?
6)Соберите схему с рис.3.1 и рис.3.2. Измените значения переменных таймера и счетчика, посмотрите что это дает. Объясните работу этих схем.
7) Какие диапазоны значений принимают сигналы I, V, Q, М, SM, Т, С, AI, AQ, АС и НС для процессора CPU-214?
58