Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Программная_инженерия_лекция_12

.pdf
Скачиваний:
87
Добавлен:
15.02.2015
Размер:
2.01 Mб
Скачать

Технология программирования микропроцессорных систем.

© О.А. Кудин. Лицензия CC-BY-NC-ND

ЛЕКЦИЯ 12. Правила работы с данными в среде UNITY Pro (2)

12.1 Структурные типы данных пользователя

Структурные типы данных пользователя создаются в разделе проекта

DDT (Derived Data Types). Структурному типу присваивается имя, а так же создаются поля. Структурные типы создаются аналогично переменным элементарного типа. Разрешено создание массивов на основании структурного типа DDT.

12.2 Область внутренних данных и констант

Все процессорные модули М340 или TSX Premium имеют локализованные области глобальных данных %M, %MW и %KW, к ячейкам которых можно привязать переменную или обратиться непосредственно по адресу (топологическому адресу). Кроме этого, для каждого канала ввода-

вывода ПЛК доступны свои области %MW и %KW.

Область данных %M предназначена для сохранения промежуточных результатов типа EBOOL. Область %MW состоит из 16-битных ячеек, которые предназначены для сохранения результатов других типов, включая BOOL.

Области %M и %MW независимы, т.е. их ячейки не перекрываются. Эти области используются только ограниченных случаях:

для доступа к данным по сети, когда необходимо четко знать размещение этих данных;

для выделения области данных коммуникационным каналам;

для совместимости с импортированными проектами PL7 PRO;

для удобства работы с преобразованиями данных;

для работы с фронтами (EBOOL).

Область %KW предназначена для размещения констант.

Непосредственно задавать значения в эту область нельзя, она используется только при локализации переменных, которые при этом автоматически становятся константами (свойство RW = FALSE).

1

Технология программирования микропроцессорных систем.

© О.А. Кудин. Лицензия CC-BY-NC-ND

Каждая имеет свой номер. Например, %М0 – нулевая ячейка в области

%М, %MW100 – сотая ячейка в области %MW, %KW34 – 34-я ячейка в области констант. Размер областей %M, %MW и %KW задается при конфигурировании процессорного модуля.

В программе пользователя возможно прямое обращение к ячейкам %М

(по аналогии с обращением к переменным типа EBOOL). Например, в

программе на языке ST

%M40 := TRUE; (* прямое обращение к ячейке *)

(* работа с таблицами (%М20..%М23)<-(%M40..%M43) *) %M20:4 := %M40:4;

%MW100.0 := %M50;

(* обращение по индексу %M[65 + %MW1] := TRUE *) %M65[%MW] := TRUE;

При обращении к нескольким ячейкам как к массиву (таблице ячеек)

применяется синтаксис

ADDRi:n,

где ADDRi – топологический адрес начальной ячейки; n – количество ячеек.

В контроллерах TSX Premium (в М340 не поддерживается) к ячейкам

%MW и %KW можно обращаться, как к типам данных DINT и REAL.

12.3Области системных данных (%S и %SW)

Вобластях %S (системные биты) и %SW (системные слова) содержится информация о состоянии контроллера. Ячейки памяти этих областей адресуются номерами, начиная с 0. Каждая ячейка памяти имеет свое назначение и может быть доступна для чтения. Некоторые из этих ячеек могут быть доступны и для записи.

Назначение большинства ячеек памяти системных данных одинаковы для всех ПЛК (M340/Premium/Quantum). Информация о назначении системных битов и слов доступна в справочной системе UNITY PRO. В табл. 12.1 и

табл. 12.2 приведены некоторые из них.

2

Технология программирования микропроцессорных систем.

© О.А. Кудин. Лицензия CC-BY-NC-ND

Таблица 12.1 – Назначение некоторых системных битов

3

Технология программирования микропроцессорных систем.

© О.А. Кудин. Лицензия CC-BY-NC-ND

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

Битовый меандр – это поочередное следование значений «0» и «1» с

одинаковой продолжительностью каждого уровня. Например, %S4 будет изменять свое значение каждые Timp/2, то есть 5 мс будет TRUE, следующие

5 мс – FALSE и т.д.

Таблица 12.2 – Назначение некоторых системных слов.

4

Технология программирования микропроцессорных систем.

© О.А. Кудин. Лицензия CC-BY-NC-ND

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

12.4 Данные каналов ввода-вывода и переменные IODDT

Задачи MAST и FAST начинаются со считывания данных из входных каналов ПЛК, а заканчиваются записью данных в выходные каналы. Процесс считывания и записи проходит автоматически, т.е. неявно для пользователя.

Привязка каналов к ЗАДАЧАМ проводится при конфигурации аппаратной части ПЛК.

Информация о состоянии и значениях входных каналов контроллера

содержаться в ячейках %I и %IW, а значения выходных – в ячейках %Q и 5

Технология программирования микропроцессорных систем.

© О.А. Кудин. Лицензия CC-BY-NC-ND

%KW. Каждая ячейка памяти из этих областей памяти отвечает за конкретный канал, в зависимости от размещения модуля на шасси и номера канала

(географическая адресация). Топологический адрес размещения данных,

которые отвечают за значение канала, определяется по номеру шасси,

расположению модуля на шасси и расположению канала на модуле. Таким образом:

%Ir.m.c – адрес соответствует дискретному входу на шасси с номером r,

модулю на посадочном месте m и каналу модуля c;

%IWr.m.c – адрес соответствует аналоговому входу на шасси с номером r,

модулю на посадочном месте m и каналу модуля c;

%Qr.m.c – адрес соответствует дискретному выходу на шасси с номером r, модулю на посадочном месте m и каналу модуля c;

%QWr.m.c – адрес соответствует аналоговому выходу на шасси с номером r, модулю на посадочном месте m и каналу модуля c.

На рис. 12.1 показан пример конфигурации для контроллера М340, а в табл. 12.3 примеры топологических адресов, соответствующих этой конфигурации.

Рисунок 12.1 – Пример конфигурации М340.

6

Технология программирования микропроцессорных систем.

© О.А. Кудин. Лицензия CC-BY-NC-ND

Таблица 12.3 – Примеры топологических адресов

С каждым каналом ввода-вывода ПЛК связано не только значение сигнала, но и дополнительная информация о параметрических данных,

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

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

Кроме %I, %IW, %Q и %QW, это могут быть ячейки %MW и %KW. При этом адреса всех ячеек будут включать номер шасси (r), номер модуля (m) и номер канала (c).

В UNITY PRO все ассоциированные с каналом данные называются

объектами ввода-вывода (I/O Objects). Назначение каждого объекта зависит от типа канала, а набор доступных объектов ввода-вывода зависит от конфигурации ПЛК. Для просмотра перечня всех доступных объектов модуля в конфигурационном окне этого модуля на вкладке «I/O Objects» выбираются все объекты «Select ALL» и вызывается команда обновления списка «Update grid»

(рис. 12.2).

7

Технология программирования микропроцессорных систем.

© О.А. Кудин. Лицензия CC-BY-NC-ND

Рисунок 12.2 – Окно просмотра настройки данных для каналов ввода-вывода

8

Технология программирования микропроцессорных систем.

© О.А. Кудин. Лицензия CC-BY-NC-ND

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

ассоциированный с каналом объект типа %CHr.m.c.

Рисунок 12.3 – Пример переменной типа IODDT

9