Различают бинарные (дискретные) и аналоговые сигналы. — КиберПедия 

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

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

Различают бинарные (дискретные) и аналоговые сигналы.

2022-02-10 56
Различают бинарные (дискретные) и аналоговые сигналы. 0.00 из 5.00 0 оценок
Заказать работу

Бинарные (дискретные) сигналы

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

Аналоговые сигналы

Аналоговый сигнал (analog signal) содержит 16 бит информации. Аналоговый сигнал соответствует «каналу», который отображается в контроллере в виде машинного слова (word), то есть двух байт. Аналоговые входные сигналы (например, напряжения от терморезисторов) поступают в аналоговые входные модули, оцифровываются и после этого становятся доступными для обработки в контроллере в виде 16-разрядного сигнала (16 информационных битов). С другой стороны, 16-разрядный сигнал может управлять аналоговым индикатором посредством аналогового выходного модуля, где информация преобразовывается в аналоговую величину (например, ток).

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

В управляющей программе работают с адресами; это входы, выходы, таймеры, блоки. Можно присвоить абсолютные адреса (например, I1.0) или символические адреса (например, Start signal). Символическая адресация использует вместо абсолютного адреса имена. Применяя осмысленные имена, можно сделать программу более читаемой.

В символической адресации различают локальные (local) и глобальные (global) символы. Локальный символ известен только в блоке, в котором он был определен. Можно использовать одинаковые локальные символы в разных блоках для различных целей. Глобальный символ известен во всей программе и имеет одинаковое значение во всех блоках. Глобальные символы определяются в таблице символов (объект Symbols (Символы) в контейнере S7 Program (S7-программа)).

На рис. 1.2 представлен пример таблицы символов.

 

Рис. 1.2 Пример таблицы символов

В таблице символов можно присвоить имена следующим адресам и объектам:

§ Входам I, выходам Q, периферийным входам PI и периферийным выходам PQ;

§ Меркерам М, таймерам Т и счетчикам С;

§ Кодовым блокам OB, FB, FC, SFC, SFB и блокам данных DB;

§ Определенным пользователем типам данных UDT;

§ Таблице переменных (variable table) VAT.

 

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

Редактор программ

Для создания пользовательских программ базовый пакет STEP 7 содержит редактор программ (Program Editor) для языков программирования LAD (ladder logic или ladder diagram – контактный план; представление, схожее с диаграммами релейной логики; многоступенчатая схема), FBD (function block diagram – диаграмма функциональных блоков или функциональный план) и STL (statement list – список операторов или список мнемоник; ассемблероподобный язык). Программирование на языках LAD и FBD осуществляется путем ввода блоков из существующей библиотеки и установки на их входах и выходах соответствующих адресов.

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

 

Блоки

С целью повышения удобочитаемости и понимания программы можно разбить ее на произвольное число разделов. Языки программирования STEP 7 поддерживают эту концепцию и предоставляют необходимые функции. Каждая часть программы должна быть независимой и обладать технологическим или функциональным базисом. Эти разделы программы называются «блоками» («Blocks»). Блок – это раздел программы, который определяется собственной функциональностью, структурой или решаемой задачей.

Типы блоков

Step7 предоставляет для разных задач различные типы блоков:

§ Пользовательские блоки (user blocks) – содержат пользовательскую программу и пользовательские данные.

§ Системные блоки (system blocks) – содержат системную программу и системные данные.

§ Стандартные блоки (standard blocks) – готовые к непосредственному использованию (созданные заранее) блоки, такие как драйверы для функциональных модулей (FM) и коммуникационных процессоров (СР).

Пользовательские блоки

В случае больших и сложных программ рекомендуется и отчасти является необходимостью «структурирование» (разбиение) программы с выделением блоков. В зависимости от приложения можно выбрать для использования различные типы блоков:

Организационные блоки (Organization blocks – OB) – служат в качестве интерфейса между операционной системой и программой пользователя. Операционная система CPU вызывает организационные блоки при возникновении определенных событий, например, в случае аппаратного прерывания или прерывания по времени суток. Главная программа находится в организационном блоке ОВ1. Остальные организационные блоки имеют постоянные номера, назначенные в зависимости от событий, для обработки которых они вызываются.

Функциональные блоки (Function blocks – FB) – являются частями программы, вызовы которых могут быть запрограммированы с помощью параметров блока. У них есть область памяти для переменных (variable memory), которая расположена в блоке данных. Этот блок постоянно назначен функциональному блоку или, точнее, вызову (call) функционального блока.

Кроме того, каждому вызову функционального блока можно назначить другой блок данных (с такой же структурой данных, но содержащий другие значения). Подобный постоянно назначенный блок называется экземплярным блоком данных или экземпляром блока данных (instance data block), а совокупность вызова функционального блока и экземплярного блока данных называется экземпляром вызова (call instance) или просто «экземпляром» («instance»). Функциональные блоки могут также хранить свои переменные в экземплярном блоке данных вызывающего функционального блока; такой экземпляр называется «локальным экземпляром» («local instance»).

Функции (Functions – FC) – используются для программирования часто повторяющихся или сложных функций автоматизации. Для них могут быть назначены параметры. Функции могут возвращать значение (называемое значением функции) в вызывающий блок. Значение функции является необязательным параметром. Кроме него у функций могут быть другие выходные параметры. Функции не сохраняют информацию и не имеют назначенного блока данных.

Блоки данных (Data blocks – DB) – содержат данные программы. Программируя блоки данных, определяют форму хранения данных (в каком блоке, в каком порядке и какой при этом используется тип данных). Блоки данных используются двумя способами:

1) в качестве глобальных блоков данных (global data blocks),

2) в качестве экземплярных блоков данных (instance data blocks).

 

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

Количество блоков определенного блочного типа и размер блоков зависит от типа CPU. Число организационных блоков и их номера фиксированы; они назначаются операционной системой CPU. Блокам других типов можно самостоятельно назначить номера из определенного диапазона. Также можно с помощью таблицы символов назначить каждому блоку имя (символ) и затем обращаться к блокам по присвоенному имени.

Системные блоки

Системные блоки являются компонентами операционной системы. Они могут содержать программы (системные функции, SFC, или системные функциональные блоки, SFB) или данные (системные блоки данных, SDB). Системные блоки предоставляют доступ к важным системным функциям, таким как управление внутренними таймерами CPU или различные коммуникационные функции.

Можно вызвать SFC и SFB, но нельзя ни изменить их, ни самостоятельно запрограммировать. Сами блоки не занимают места в пользовательской памяти (user memory); только вызовы блоков и экземплярные блоки данных блоков SFB располагаются в пользовательской памяти.

Блоки SDB содержат информацию о таких вещах, как конфигурация системы автоматизации или параметры модулей. Система STEP 7 сама генерирует эти блоки и управляет ими. Тем не менее, можно определять их содержимое, например, при конфигурировании станций. Как правило, блоки SDB располагаются в загрузочной памяти (load memory). Из пользовательской программы доступ к ним получить нельзя.

Стандартные блоки

В дополнение к создаваемым функциям и функциональным блокам можно использовать готовые к применению блоки (называемые «стандартными блоками»).

Они могут поставляться на носителях данных или содержаться в библиотеках, входящих в состав пакета STEP 7 (например, IEC-функции или функции для преобразования S5/S7).

 

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

1.3.1 Запустить программу SIMATIC Manager.

1.3.2 Создать новый проект, выполнив File/New… Появится окно New project. Ввести имя проекта (см. рис. 1.3).

Рис. 1.3 Окно для создания нового проекта

 

1.3.3 В правой части созданного проекта кликнуть правой кнопкой мыши, в появившемся контекстном меню выбрать Insert New Object/SIMATIC 300 Station (см. рис. 1.4).

Рис. 1.4 Выбор контроллера

 

1.3.4 Открыть созданный SIMATIC 300 (1), далее открыть Hardware. В правой части появившегося окна раскрыть дерево следующим образом: SIMATIC 300/RACK-300. Перетащить элемент Rail в левую часть экрана. Аналогично перетащить в первую строку элемент PS 307 5A из PS-300; во вторую строку элемент V2.0 из CPU-300/CPU 314С-2DP; в четвёртую – V1.1 из CP-300/Industrial Ethernet/CP-343-1/6GK7 343-1EX20-0XE0 (см. рис. 1.5). Закрыть окно HW Config. Далее согласиться с сохранением, нажав Yes.

Рис. 1.5 Конфигурация SIMATIC 300(1)

 

1.3.5 В левой части окна проекта раскрыть дерево до Вlocks. Открыть организационный блок OB1. В появившемся окне Properties выбрать язык, на котором будем писать программу: LAD (контактно-релейные схемы)
(см. рис. 1.6).

Рис. 1.6 Окно параметров организационного блока OB 1

 

1.3.6 В появившемся окне написать программу выполнения поставленной задачи (снять значение температуры печи) двумя способами: 1) используя предложенный ниже алгоритм; 2) используя библиотечную функцию SCALE.

1.3.7 Алгоритм преобразования целого числа в число типа Real, для аналогового входа:

1.3.7.1 Выделив ветвь, в левой части окна из Converter, выбрать элемент I_DI (блок, преобразовывающий целое число Int в число с фиксированной точкой DInt), щёлкнув по нему два раза. Задать аналоговый вход PIW752 и выход MD1 (см. рис. 1.7).

1.3.7.2 Аналогично, выделив ветвь, добавить блок DI_R из Converter (блок, преобразовывающий число с фиксированной точкой DInt в вещественное число Real). Задать вход MD1 и выход MD1 (см. рис. 1.7).

1.3.7.3 От преобразователя приходит сигнал 0-10В, что соответствует измеряемой температуре 0-1000оС. В АЦП контроллера аналоговый сигнал 0-10В преобразуется в цифровой, диапазон изменения которого 0-27648. Чтобы получить значение температуры, необходимо сигнал от АЦП преобразовать согласно следующей зависимости:

,

где θ – температура, оС; АЦП – код АЦП, в целочисленном представлении.

Для реализации данной зависимости средствами STEP 7 добавляем блок умножения MUL_R из Floating-point fct. В качестве выхода задать MD1, первого входа – MD1, а второго входа – значение коэффициента k (см. рис. 1.7).

Рис. 1.7 Первый способ выполнения программы

 

Для определения коэффициентов k и b необходимо решить систему уравнений:

1.3.8 Второй способ. Выделив ветвь, в левой части окна из Libraries/Standart Library/TI-S7 Converting Blocks выбрать FC105 SCALE Convert (см. рис. 1.8).

Рис. 1.8 Второй способ выполнения программы

Назначение входов и выходов:

IN – входной сигнал масштабируемой величины;

HI_LIM – верхний предел калибруемой величины;

L0_LIM – нижний предел калибруемой величины;

BIPOLAR – вход, задающий полярность сигнала (0 – униполярный; 1 – биполярный);

RET_VAL – возвращает 0, если при выполнении не было ошибок;

OUT – отмасштабированный выход

1.3.9 Чтобы просмотреть занятую на данный момент меркерную память, нужно выбрать в главном меню Options/Reference Data/Display и Assignment (Input, Output, Bit Memory, Timers, Counters) (см. рис. 1.9).

Рис. 1.9 Окно памяти

 

1.3.10 Сохранить изменения в OB1, выбрав в главном меню File/Save.

1.3.11 В левой части окна проекта сворачиваем все «-» до SIMATIC 300 (1). На панели инструментов нажать на кнопку Download  и далее согласиться со всем.

1.3.12 Запустить контроллер (установить тумблер в Run).

1.3.13 Вернуться в блок OB1 и на панели инструментов нажать на кнопку Monitor (on/off) . Если всё выполнено правильно, то в правой части окна OB1 высвечивается результат измерения температуры печи. Для двух способов определения он должен совпадать.

1.3.14 Если необходимо отредактировать программу, надо отжать кнопку Monitor (on/off)  и выключить контроллер (тумблер в Stop). Отредактировав, повторить пункты 1.3.10-1.3.13.

1.3.15 Делать выводы по проделанной работе.

 

1.4 Контрольные вопросы и задания

1.4.1 Какую роль играют контроллеры в системах автоматизации?

1.4.2 Пояснить последовательность создания проекта в STEP 7.

1.4.3 На каких языках программирования возможно создавать программы в STEP 7 и в чем их особенности?

1.4.4 Какие функции выполняет блок «scale»?

1.4.5 Из каких областей состоит память контроллера SIMATIC S7-300?

1.4.6 Какие типы блоков существуют в STEP 7 и каково их функциональное назначение?


Поделиться с друзьями:

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

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

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.044 с.