Обработка аналоговых сигналов АСУТП с использованием Step 7

Описание блоков программы и определение назначения системы Step 7 - пакета стандартного программного обеспечения для конфигурирования логистических микроконтроллеров. Преобразование аналоговых входных сигналов и масштабирование аналоговых значений.

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид методичка
Язык русский
Дата добавления 27.09.2014
Размер файла 431,4 K

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

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

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

2

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

1

Министерство общего и профессионального образования Российской Федерации

НИЖЕГОРОДСКИЙ ГОСУДАРСВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Дзержинский филиал

Кафедра “Автоматизация технологических процессов и производств”

ОБРАБОТКА АНАЛОГОВЫХ СИГНАЛОВ АСУТП С ИСПОЛЬЗОВАНИЕМ ПАКЕТА STEP 7

Дзержинск 2004

Содержание

1. Введение

1.1. Что такое Step 7

1.2. Блоки программы

1.3. Языки программирования

2. Адресация аналоговых модулей

3. Преобразование аналоговых входных сигналов

4. Формат аналогового значения

5. Преобразование аналоговых выходных сигналов

6. Обработка аналогового значения в S7

7. Контроль граничных значений с помощью аналоговых значений

8. Аналоговые входные сигналы с 20% компенсацией

9. Аналоговые выходные сигналы с 20% компенсацией

10. Масштабирование аналоговых значений

11. Масштабирование униполярных аналоговых значений

12. Масштабирование униполярных аналоговых значений с 20% компенсацией

13. Масштабирование биполярных аналоговых значений

14. Вызов блока для масштабирования

логистический микроконтроллер аналоговый сигнал

1. Введение

1.1 Что такое STEP 7?

STEP 7 - это пакет стандартного программного обеспечения, используемый для конфигурирования и программирования программируемых логических контроллеров SIMATIC. Он является частью промышленного программного обеспечения SIMATIC. Имеются следующие версии стандартного пакета STEP 7:

1.?STEP 7 Micro/DOS и STEP 7 Micro/Win для относительно простых автономных приложений на SIMATIC S7-200.

2.?STEP 7 Mini для относительно простых автономных приложений на SIMATIC S7-300 и SIMATIC C7-620 (см. также Специальные указания для STEP 7 Mini ).

3. STEP 7 для приложений на SIMATIC S7-300/S7-400, SIMATIC M7-300/M7-400 и SIMATIC C7 с более широким набором функций:

-?может быть расширен по выбору программными продуктами, имеющимися в промышленном программном обеспечении SIMATIC(см. также Расширенное использование стандартного пакета STEP 7);

-?возможность назначения параметров функциональным модулям и коммуникационным процессорам;

-?принудительный и многопроцессорный режим;

-?связь через глобальные данные;

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

-?проектирование соединений STEP 7 и STEP 7 Mini являются предметом обсуждения в данном руководстве, STEP 7 Micro описан в руководстве пользователя "STEP 7 Micro/DOS".

1.2 Блоки программы

Программное обеспечение STEP 7 дает вам возможность структурировать свою пользовательскую программу, иными словами, разбивать программу на отдельные автономные программные секции. Это дает следующие преимущества:

- ?такие программы проще для понимания;

- ?отдельные программные секции могут быть стандартизованы;

- ?упрощается организация программы;

- ?легче производить модификацию программы;

- ?отладка упрощается, так как можно тестировать отдельные секции;

- ?значительно упрощается прием системы в эксплуатацию.

Имеется несколько различных типов боков, которые вы можете использовать внутри пользовательской программы S7:

Организационные блоки (OB) OB определяют структуру программы пользователя.

Организационные блоки и структура программы

Системные функциональные блоки (SFB) и системные функции (SFC) SFB и SFC встроены в CPU S7 и обеспечивают вам доступ ко всем важным системным функциям.

Системные функциональные блоки (SFB) и системные функции (SFC)

Функциональные блоки (FB) FB - это блоки с "памятью", которые вы можете программировать сами.

Функциональные блоки (FB)

Функции (FC) FC содержат программы для часто встречающихся функций.

Функции (FC)

Экземплярные блоки данных (экземплярные DB). Экземплярные DB связываются с блоком, когда вызывается FB/SFB. Они создаются автоматически при компиляции.

Блоки данных (DB) DB - это области данных для хранения данных пользователя. Кроме данных, соответствующих функциональному блоку, могут быть определены также

данные, совместно используемые любыми блоками.

Совместно используемые блоки данных (DB)

OB, FB, SFB, FC и SFC содержат секции программы и поэтому известны также как логические блоки. Допустимое количество блоков каждого типа и допустимая длина блоков зависят от CPU.

1.3 Языки программирования

Языки программирования контактный план, список операторов и функциональный план для S7-300 и S7-400 являются составной частью стандартного пакета.

1. ?Контактный план (нем. KOP, англ. LAD) - это графическое представление языка программирования STEP 7. Его синтаксис для команд похож на релейно-контактные схемы: такая схема дает возможность проследить поток энергии между шинами при его прохождении через различные контакты, составные элементы и выходные катушки.

2. Список команд (нем. AWL, англ. STL) - это текстовое представление языка программирования STEP 7, подобное машинному коду. Если программа написана в виде списка команд, то отдельные команды соответствуют шагам, с помощью которых CPU исполняет программу. Для облегчения программирования список команд расширен путем включения в него некоторых конструкций языков высокого уровня (таких как доступ к структурированным данным и параметры блоков).

3. ?Функциональный план (нем. FUP, англ. FBD) - это графическое представление языка программирования STEP 7, использующее для представления логики логические блоки подобно булевой алгебре. Сложные функции (например, математические функции) могут быть представлены непосредственно в соединении с логическими блоками. Другие языки программирования доступны в виде дополнительных пакетов.

2. Адресация аналоговых модулей

Таблица 1

Блок

3

Часть

сети

IM

(прием)

640

до

654

656

до

670

672

до

686

688

до

702

704

до

718

720

до

734

736

до

750

752

до

766

Блок

2

Часть

цепи

IM

(прием)

512

до

526

528

до

542

544

до

558

560

до

574

576

до

590

592

до

606

608

до

622

624

до

638

Блок

1

Питание

IM

(прием)

384

до

398

400

до

414

416

до

430

432

до

446

448

до

462

464

до

478

480

до

494

496

до

510

Блок

0

CPU

и

питание

IM

(передача)

256

до

270

272

до

286

288

до

302

304

до

318

320

до

334

336

до

350

352

до

366

368

до

382

Область адресации. Аналоговая область адресации охватывает адреса с 256 до 766.

S7-300/400 не имеют отображения для аналоговой области, которая модифицируется в каждом цикле. Вместо этого модификация данных определяется в программе путем простой задачи аналоговых адресов. Операндом для аналогового входа является PEW; а PAW - для аналогового выхода.

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

адрес - 766.

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

3. Преобразование аналоговых входных сигналов

Таблица 2

±500mV

±1V

±2.5V

±5V

±10V

±20mV

Десятичное

Шестнадцатеричное

Диапазон

?587.96

?1.176

?2.9398

?5.8796

?11.75

?23.516

32767

7FFF

Переполнение

587.94

.

500.02

1.175

.

1.00004

2.9397

.

2.5001

5.8794

.

5.0002

11.7589

.

10.0004

23.515

.

20.0007

32511

.

27649

7EFF

.

6C01

Перегрузка

500.00

.

.

-500.00

1.0000

.

.

-1.0000

2.500

.

.

-2.500

5.00

.

.

-5.00

10.00

.

.

-10.10

20.000

.

.

-20.000

27648

.

.

-27648

6C00

.

.

9400

Номинальный

диапазон

(“полезный”)

-500.02

.

-587.96

-1.00004

.

-1.175

-2.5001

.

-2.93398

-5.0002

.

-5.8796

-10.0004

.

-11.759

-20.0007

.

-23.516

-27649

.

-32512

93FF

.

8100

Недогрузка

?-588.98

?-1.176

?-2.935

?-5.88

?-11.76

?-23.517

-32768

8000

Исчезновение

Если используются измерительные устройства, выходное напряжение и ток не являются числовым сигналом (Вх. или Вых.), необходим аналоговый входной модуль. Аналоговый входной модуль запрашивает сигнал и переводит значение измерения в двоичное значение, которое может быть запрошено CPU. Этот процесс называется аналогово-числовым преобразованием (АD). Числовое значение затем используется для сравнения, управления и для других целей.

Преобразование AD дает число между +32767 и -32768. Оно представляет собой 16-битное двоичное слово, наиболее значимый бит которого (MSB, слева) дает сведения о том, является ли значение положительным или отрицательным. Если MSB равен 0, то значение положительное; если MSB равен 1, то значение отрицательное.

Если аналоговый модуль принимает сигнал напряжения или тока из процесса, модуль преобразовывает сигнал в двоичное значение (AD), которое может быть запрошено программой CPU через P-шину.

Рис. 1 Пример преобразования аналогового входного сигнала

4. Формат аналогового значения

Как видно из таблицы 2, аналоговые значения могут изображаться и обрабатываться во многих числовых форматах. Таблица показывает диапазоны значений в десятичном формате (целые числа) и в шестнадцатеричном формате. С помощью утилиты S7 Status аналоговые значения можно применять двоичное изображение (“Bin”).

Аналоговые модули специфицируют расшифровку Х. Эта расшифровка соответствует количеству битов 16-битного двоичного слова для аналогового значения. Если расшифровка содержит меньше 15 бит, то аналоговые данные вносятся со смещением влево. Не используемые младшие биты заполняются нулями.

Крайний левый бит (MSB) является знаковым битом; 0 означает положительное значение, 1 - отрицательное значение.

Таблица содержит примеры последовательности битов для различных расшифровок.

Расшифровка Аналоговое значение

№ бита 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

15-битное аналоговое 0 1 0 0 0 1 1 1 0 0 1 1 1 0 1 1

значение

12-битное аналоговое 0 1 0 0 0 1 1 1 0 0 1 1 1 0 0 0

значение

8-битное аналоговое 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0

значение

5. Преобразование аналоговых выходных сигналов

Рис. 2 Пример преобразования аналогового выходного сигнала

Если управляющий сигнал для контроллера должен быть не дискретным, а сигналом с возможными значениями между верхними и нижними состояниями необходимо использовать аналоговый выходной модуль. Аналоговый выходной модуль принимает с CPU числовое значение и преобразует этот сигнал к уровню напряжения и тока, которыми управляет контроллер. Эта подготовка называется числовым аналоговым преобразованием (DA).

Преобразование DA получает сигнал, соответствующий проценту используемого выходного диапазона модуля. Полезный используемый числовой диапазон идентичен числовым значениям для аналогового входного модуля. Значение в рамках номинального диапазона от +27648 до -27648 должно записываться в аналоговый выходной канал (PAW) для управления внешним контроллером.

Пример: Если используемый аналоговый выходной модуль выдает максимум +10В, то для управления установочным клапаном на 50% нужно запрограммировать СPU таким образом, чтобы он посылал на выходе 50% полезного диапазона (+13824). Модуль затем преобразовывает это число в +5В сигнал, который открывает клапан на 50%.

6. Обработка аналогового значения S7

Так как аналоговые адреса не проходят через область отображения процесса, то они модифицируются в S7-300/400 не в каждом цикле, если модификация в программе не предусмотрена. Входные данные модифицируются в программе посредством простого опроса входных адресов (PEW) или передаются дальше посредством записи в PAW на выходе. Если программа выполняет команду при использовании аналогового адреса (напр., PEW352), то данные запрашивают прямо из периферийной шины (Р-шина).

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

Пример: Запрос значения с аналогового входа и внесение этого значения в слово меркера.

Пример: Перенос значения из слова меркера на аналоговый выход.

7. Контроль граничных значений с помощью аналоговых значений

Рис. 3 Пример контроля граничных значений с помощью аналоговых значений

Принимаемые аналоговые значения можно сравнить с номинальными значениями и результат сравнения можно использовать для управления или создания.

В показанном примере клапанами можно управлять в зависимости от уровня заполнения емкости продуктом. Если значение на сигнализаторе уровня PEW352 опускается ниже 2700 (номинальное значение для нижнего уровня), открывается клапан для заполнения сверху емкости. Если значение на сигнализаторе уровня PEW362 поднимается выше 25000 (номинальное значение для верхнего уровня), можно открыть выпускной клапан снизу емкости.

Коды для примера такой регулировки уровня:

AWL: KOP:

8. Аналоговые входные сигналы с 20% компенсацией

Если аналоговое устройство управления имеет 20% компенсацию (“live zero”), может быть нужно скомпенсировать аналоговое значение в CPU.

Рис. 4 Пример аналогового выходного сигнала с 20% компенсацией

Аналоговые измерительные преобразователи часто используют компенсацию в 20%. Это создает так называемое изображение “live zero” для аналогового входного модуля. На рис. вверху значение, передаваемое с датчика на аналоговый входной модуль, составляет от 4 до 20 мА. Вместо того чтобы подавать 0 мА при 0 л, датчик посылает 4 мА. Из-за этой компенсации контроллер определяет, заявлен ли нулевой уровень передачи данных. Если бы датчик при нулевом уровне (0 л) посылал 0 мА, то CPU не смог бы определить, вышел ли датчик из строя или нет. Поэтому для нулевого уровня (0 л) посылается 4 мА. При выходе датчика из строя ток падает ниже ожидаемых 4 мА, и CPU определяет, что заявленный уровень недействителен.

Компенсация в 20% для аналогового входа рассматривается согласно следующему уравнению:

20% компенсация = (аналоговое значение измерения - 20% полезного диапазона значений CPU) Ч 125/100

Для вышеприведенного примера это будет:

MW10 = (PEW352 - 5530) Ч 125/100

9. Аналоговые выходные сигналы с 20% компенсацией

Рис.5 Пример выходного сигнала с 20% компенсацией

Если аналоговое устройство управления имеет 20% компенсацию (“live zero”), может быть нужно скомпенсировать аналоговое значение в CPU.

На контроллерах, присоединенных к аналоговому выходу часто используется 20% компенсация. Это создает так называемое изображение “live zero” для аналогового выходного модуля. На рис. вверху значение, передаваемое с аналогового выходного модуля составляет от 4 до 20 мА. Вместо того чтобы подавать 0 мА для закрытия клапана, преобразователь тока/давления посылает 4 мА. Благодаря этому появляется необходимое давление для управления установочным клапаном.

20% компенсация для аналогового выхода рассматривается согласно следующему управлению:

Желаемое 20% выходное значение = (значение аналогового сигнала Ч 100) / 125 + 20% полезного диапазона

Для вышеприведенного примера это будет (для открытия клапана наполовину):

PAW370 = (MW20 Ч 100) / 125 + 5530

Причем MW20 = 13824

10. Масштабирование аналоговых значений

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

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

В уравнениях для масштабирования аналоговых значений используются следующие выражения:

PV Действительное значение: измеренное значение (напр. PEW352)

PV-диапазон Диапазон действительных значений: верхнее граничное значение PV - нижнее граничное значение PV (в технических единицах измерения) 20 % компенсация “Live Zero”: сделана для сигнальных диапазонов 4-20 мА, 1-5 В, 2-10 В, 3-15 бар

Униполярность Значение может быть только положительным (напр., PEW352 измеряет от 0 до +5 В)

Биполярность Значение может быть положительным или отрицательным (напр., PEW352 измеряет от -10 до +10 В)

Диапазон CPU Используемый CPU номинальный диапазон аналогового значения PV-диапазон (верхнее граничное значение PV - нижнее граничное значение PV)/2 + нижнее среднее граничное значение PV

Рис.6 Пример масштабирования аналоговых значений

11. Масштабирование униполярных аналоговых значений

Масштабированное значение униполярных сигналов можно рассчитать по следующему уравнению:

Масштабированное значение = (измеренное аналоговое действительное значение Ч PV-диапазон в технических единицах измерения / диапазон CPU) + PV-компенсация.

Рис.7 Пример масштабирования униполярных аналоговых значений

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

Описание Имя Тип Начальное Комментарий значение

in PV INT 0 Измеренное аналоговое

входное слово

in PV_High REAL 0 Верхняя граница диапазона

in PV_Low REAL 0 Нижняя граница диапазона

out Scaled_Value REAL 0 Масштабированное значение

temp PV_Real REAL 0 Действительное значение, преобразованное в вещественное значение (REAL)

temp Eng_Range REAL 0 PV_High - PV_Low (техн.)

Цепочка 1: L #PV // загрузить значение измеренного аналогового входного слова

ITD // преобразовать 16 битное целое число в 32 битное целое число

DTR // преобразовать 32 битное целое число в вещественное число (REAL)

T #PV_Real // сохранить аналоговое входное число как вещественное число

Цепочка 2: L #PV_Yigh // загрузить верхнюю границу действительного значения L #PV_Low // загрузить нижнюю границу действительного значения -R // верхняя граница - нижняя граница

T #Eng_Range // сохранить диапазон технических единиц измерения

Цепочка 3: L #PV_Real // загрузить аналоговое значение (как веществ. число)

L 2.764800e+04 // загрузить диапазон CPU для аналогового преобразования (+27648) /R // деление

L #Eng_Range // загрузить диапазон технических значений *R // умножение

L #PV_Low // загрузить PV_Low для расчета PV-компенсации +R // сложение

T Scaled_Value // конечный результат масштабирования униполярных аналоговых входных значений

Столбец

Объяснение

Address

[Адрес]

Отображает адрес, который STEP 7 назначает переменной автоматически, когда вы заканчиваете вводить описание.

Declaration

[Описание]

Этот столбец отображается только для экземплярных блоков данных. Он

показывает, как описаны переменные в таблице описания переменных функционального блока:

Входной параметр (IN)

Выходной параметр (OUT)

Проходной параметр (IN_OUT)

Статические данные (STAT)

Name [Имя]

Введите здесь символическое имя, которое вы хотите назначить каждой

переменной.

Type [Тип]

Введите тип данных, который вы хотите назначить переменной (BOOL, INT, WORD, ARRAY и т. д.). Переменные могут иметь элементарный тип данных, составной тип данных или тип данных, определенный пользователем.

Initial Value

Initial Value

[Начальное

значение]

Здесь вы можете ввести начальное значение, если вы не хотите, чтобы

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

Comment

[Комментарий]

Ввод комментария в это поле помогает документированию переменных.

Комментарий может содержать до 80 символов.

12. Масштабирование униполярных аналоговых значений с 20% компенсацией

Масштабированные униполярные сигналы с 20% компенсацией можно рассчитать по следующему уравнению:

Масштабированное значение с 20% компенсацией = (измеренное аналоговое действительное значение - диапазона CPU) Ч (PV-диапазон/диапазон CPU - 20%) + PV-компенсация.

Рис.8 Пример масштабирования униполярных аналоговых значений с 20% компенсацией

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

Описание Имя Тип Начальное Комментарий значение

in PV INT 0 Измеренное аналоговое входное слово

in PV_High REAL 0 Верхняя граница диапазона

in PV_Low REAL 0 Нижняя граница диапазона

out Scaled_Value_20 REAL 0 Масштабированное значение с 20% компенсацией temp PV_Real REAL 0 Действительное значение, преобразованное в вещественное значение temp PV_Real_20 REAL 0 PV_Real REAL с 20% компенсацией temp Eng_Range REAL 0 PV_High - PV_Low (техн.)

Цепочка 1: L #PV // загрузить значение измеренного аналогового входного слова ITD // преобразовать 16 битное целое число в 32 битное целое число DTR // преобразовать 32 битное целое число в вещественное число (REAL)

T #PV_Real // сохранить аналоговое входное число как вещественное число

Цепочка 2: L #PV_Real // загрузить действительное значение как вещественное число

L 5.53000е+03 // загрузить 20% диапазона аналогового преобразователя CPU(5530) -R // вычитание T #PV_Real_20 // сохранить действительное значение как REAL с компенсацией =20% диапазона CPU

Цепочка 3: L #PV_High // загрузить верхнюю границу действительного значения L #PV_Low // загрузить нижнюю границу действительного значения -R // верхняя граница - нижняя граница T #Eng_Range // сохранить диапазон единиц измерения

Цепочка 4: L #PV_Real_20 // загрузить действительное вещественное значение с компенсацией = 20% диапазона CPU

L 2.211800e+04 // загрузить 20% диапазона CPU (27648 - 5530 = 22118) /R // деление L #Eng_Range // загрузить диапазон технических значений *R // умножение

L #PV_Low // загрузить PV_Low для расчета PV- компенсации действительного значения +R // сложение T Scaled_Value_20 // конечный результат масштабирования униполярного аналогового входного значения

13. Масштабирование биполярных аналоговых значений

Масштабированное значение биполярных сигналов можно рассчитать по следующему уравнению:

Масштабированное биполярное значение = (измеренное аналоговое действительное значение Ч PV-диапазон/диапазон CPU Ч 2) + PV-среднее значение диапазона.

Рис.9 Пример масштабирования биполярных аналоговых значений

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

14. Вызов блока для масштабирования

С помощью блока масштабирования, например, FC, ОВ 1 может вызывать блок и передать параметры для расчета значения масштабирования. В этом примере измеряется температурный диапазон от 0 до 100 град. С помощью температурного датчика (присоединенного к PEW352).

OB1 FC10

Использование FC или FB для масштабирования или расчета 20% компенсации дает следующие преимущества:

- Расчет должен быть запрограммирован только один раз и может при каждом вызове блока использовать другие параметры.

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

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

Размещено на Allbest.ru

...

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

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