Вы находитесь на странице: 1из 205

1.

Введение (5)
SIEMENS
2. Инструкции зависимые от слова
SITRAIN состояния, аккумуляторные
инструкции, арифметика с плавающей
запятой и комплексные параметры (26)
Training for Automation and Drives

3. Инструкции с адресными
регистрами и косвенная адресация (11)
SIMATIC S7
4. Системные функции (18)

Программирование 3
5. Использование библиотек (13)

Курс ST-7PRO3 6. Управление данными в программе


пользователя (15)

7. Конфигурирование гомогенных
соединений (34)

8. Адаптация программы к
аппаратным средствам (11)

9. Расширенные тестовые
возможности (7)

10. Краткий обзор дополнительных


пакетов (12)

11. Упражнения с 16 битным I/O (26)

12. Упражнения с 32 битным I/O (26)


Введение
Ретроспективный взгляд на важную информацию
из курсов ST-7PROG1 and ST-7PROG2

SIMATIC S7 Date: 11/01/97


Automation Knowledge
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: Pro3_1r.1

Содержание: Cтр.

• Концепция памяти CPU...................................................................………....... 2


• Структура проекта в SIMATIC Manager........................................................... 3
• Типы программных блоков......................................…………….......………..... 4
• Обзор программирования.................................................................………..... 5

Siemens AG ST-7PRO2
Training Center 1- 1 Bведение
Концепция памяти CPU

Загрузочная Рабочая память Сохраняемая Системная


память память память

Энерго-
Энерго-
независимая Область
Область
независимая отображения
внутр. RAM память
память отображения
Память для входов
входовии
для выходов,
программ сохранения
сохранения выходов,
RAM меркеров, меркеры,
меркеры,
меркеров, таймеры,
таймеров,
таймеров, таймеры,
счетчиков, счетчики
счетчики
счетчиков,
Флэш EPROM блоков
блоковданных
данных L-СТЕК
подключаемая RAM

SIMATIC S7 Date: 11/01/97


Automation Knowledge
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: Pro3_1r.2

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


память дополнительную информацию, такую как, например, типы данных для
блоков данных DB. Эта информация соответствует заголовкам в
SIMATIC S5.
Загрузочная память интегрирована в CPU в виде RAM и может быть
расширена путем подключения внешней карты памяти (начиная с CPU
313). Загрузочная память может быть представлена RAM или флэш-
EPROM.

Рабочая память Только существенные части программы сохраняются в рабочей


памяти. Рабочая память интегрирована в CPU в виде RAM.

Сохраняемая
память Сохраняемая память представляет энергонезависимую память (NV-
память RAM) и служит для поддержки таймеров, счетчиков, меркеров и
блоков данных даже без батареи. При установке параметров CPU Вы
⎩⎪ ∑™∑⎣ ∑∫∑, ⎢◊⎢⎝∑ ⎩〈⎣◊〉∫⎝ ™⎩⎣⎛⎨⎦ ⎝⎧∑∫⎫ 〈◊∫◊ ∑⎡⎨⌠⎭ ⎪⎩™™∑ ⎛⎢⌠, ◊ ⎢◊⎢⎝∑
⎨∑∫.
Системная память Системная память содержит области памяти для:
- Областей отображения входов и выходов
- Меркеров
- Таймеров
- Счетчиков
Эта RAM память всегда присутствует в CPU.

Siemens AG ST-7PRO2
Training Center 1- 2 Bведение
Конфигурирование проекта
Прорект

HW станция

Программируемый CPU для S7-300

S7/M7 программы (связанные)


Источники программы
Испоняемая программа
S7/M7 программы (не связанные с HW)
Контейнер с источниками
Пользовательская программа
с S7 блоками OB, FB, FC, DB,.......

SIMATIC S7 Date: 11/01/97


Automation Knowledge
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: Pro3_1r.3

Проект Символ проекта представляется первым уровнем

Станция Может быть установлена либо станция S7-300, либо станция S7-400.
Каждый такой объект содержит информацию о конфигурации станции и о
данные о параметрах модулей.

S7/M7 S7/M7 программы (S7/M7 объекты) содержат объекты для отдельных


программы применений и методов программирования.

S7 программа S7 программа содержит следующие объекты:


- "Blocks" с исполняемыми блоками: OB, FC, FB и DB
- "Sources" с одним блоком или несколькими блоками в качестве
источников программы. Например, текстовый файл с программой,
сгенерированный из источника на языке программирования SCL ,
который затем компилируется в исполняемые блоки
- "Symbols" содержит символьную таблицу с назначениями для
символьных имен и абсолютные операнды для символьного
программирования.

Siemens AG ST-7PRO2
Training Center 1- 3 Bведение
Используемые типы блоков

Цикл

Время OB
FB FC SFB
Организаци-
Процесс онный блок

FB FB SFC
Ошибка

Операционная система
CPU Предистория
OB = Организационный блок
FB = Функциональный блок
FC = Функция Блок данных-
SFB = Системный функциональный блок экземпляр
SFC = Системная функция
SDB = Системный блок данных
DB = Блок данных

SIMATIC S7 Date: 11/01/97


Automation Knowledge
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: Pro3_1r.4

Пользовательские Пользовательские блоки - это области программного кода и данных в


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

Системные Системные блоки - предопределенные функции или


блоки функциональные блоки, интегрированные в операционной системе
ЦПУ( CPU). Эти блоки не занимают дополнительного места в памяти
пользователя. Системные блоки вызываются из программы
пользователя. Эти блоки имеют один и тот же интерфейс, одно и то же
обозначение, и один и тот же номер во всей системе. Следовательно,
эти блоки без проблем используются вашей программой в различных
ЦПУ или программируемых логических контроллерах .

Siemens AG ST-7PRO2
Training Center 1- 4 Bведение
Краткий обзор программирования
Теперь Вы знаете темы:
Логические инструкции (например, A I 0.1, = Q 6.6)
Таймеры и счетчики (например, SD T3)
Загрузка, передача и преобразование данных (например, L DB5.DBW123)
Функции преобразования данных и логические операции (напр, BTI )
Основные математические инструкции (например, +I, -I, *R, /D )
Инструкции сдвига и циклического сдвига (например, SLW 5 , RRD 4 )
Инструкции простых переходов (например, JU M001, JC M002)
Абсолютная адресация (например, A I 1.0)
Символической адресация
Блоки данных
Функции статуса и функции управления
Концепции диагностики
Описание переменных и параметров и обработка исходных текстов
Конфигурирование станции
Обработка аналогового сигнала
Обработка прерываний
Связь через глобальные данные
Возможности документирования

SIMATIC S7 Date: 11/01/97


Automation Knowledge
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: Pro3_1r.5

Siemens AG ST-7PRO2
Training Center 1- 5 Bведение
Инструкции,зависимые от слова состояния,
аккумуляторные инструкции, арифметика с
плавающей запятой и комплексные параметры

SIMATIC S7 Date: 07/12/97


Automation Knowledge
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: Prog3_2R.1

Содержание: Страница

• Новые операции для S7 - Слово состояния......................................……........ 2


• Переходы, зависимые от битов слова состояния ...........................………..... 3
• Дополнительные операции перехода...............................................………..... 4
• Операция Loop.......................................................................................………. 5
• Инструкции выхода из блока .............................................................………..... 6
• Примеры: переходы по слову состояния и по списку................................…... 7
• Числа с плавающей запятой -Real в SIMATIC S7 .......................................... 8
• Расширенная арифметика для чисел Real........................................................ 9
• Тригонометрические функции…......................................................................... 10
• Логарифмические функции................................................................................. 11
• Квадрат числа и квадратный корень.................................................................. 12
• Дополнительные аккумуляторные инструкции.................................................. 13
• Операции, работающие с несколькими аккумуляторами................................. 14
• Операции, работающие только с аккумулятором ACCU 1............................... 15
∈〈 ◊⎜⎩®◊⎨⎝∑ ™⎩⎪⎩⎣⎨∑⎨⎝ ................................................................................. 16
• Примеры: инструкции с аккумулятором ........................................................... 17
• Комплексные параметры блока…...................................................................... 18
• Структуры и поля ................................................................................................ 19
• Передача комплексных параметров.................................................................. 20
• Передача полей структур.................................................................................... 21
• Тип DATE_AND_TIME.........................................................................…............ 22
• Тип STRING[n]...........................................................................................…....... 23
• Типы POINTER и ANY.......................................................................................... 24
• Примеры: использование комплексных параметров блока............................ 25
• Приложение: тип данных ANY ......................................................................... 26

Siemens AG ST-7PRO2
Training Center 2- 1 Инструкции с аккумулятором, словом
состояния, арифметика, комплексные типы
Новые операции для S7: Слово состояния
Значение битов в слове состояния (STW) Примеры для STL:
A OV Опрос переполнения
Bit Assignment Significance
A OS Опрос сохр. переполнения
A UO Операция допустима?
0 /ER First check
A BIE Опрос флага BIE
1 RLO Результат логической
Биты рез-та (A0, A1) при опросах
операции
A ==0 Опрос: результат = 0 ?
2 STA Статус
A >0 Опрос: резульат больше 0?
A <>0 Опрос: результат не = 0?
3 OR Или
A =<0 Опрос: результат меньше
или равен 0 ? и т.д.
4 OS Сохраняем. переполн.
(или O xx, AN xx, ON xx,X xx, XN xx)
5 OV Переполнение LAD
6 A0 Бит результата OV M 4.0
S
7 A1 Бит результата
SFC
8 BIE Двоичный результат M 4.0
OV S
9...15 not --
assigned
NEUA_T1D

SIMATIC S7 Date: 07/12/97


Automation Knowledge
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: Prog3_2R.2

Прямой опрос В STEP 7 биты статуса OV, OS, and BIE могут быть опрошены прямо и
битов в STW оценены. Биты статуса A1 и A0 могут быть опрошены косвенно путем
выполнения следующих инструкций :

Биты статуса A1 A0 Опрос


0 0 A ==0 Результат = 0 (ACCU2 = ACCU1)
1 0 A >0 Результат > 0 (ACCU2 > ACCU1)
0 1 A <0 Результат < 0 (ACCU2 < ACCU1)
1 1 A UO Операция недопустима
(такая, например, как деление на 0)
A <>0 соответствует для A >0 или A <0
A >=0 соответствует для A >0 или A ==0
A <=0 соответствует для A <0 или A ==0

L STW ®◊⎢⎛∑ ®⎩⎜⎧⎩⎛⎨⎩ ⎜◊© ⌠⎜⎝∫⎫ ®〉∑ 〉⎣⎩®⎩ 〉⎩〉∫⎩ ⎨⎝ ⎝ ® ∑⎧∑⎨⎨⎩ 〉⎩⌡ ◊⎨⎝∫⎫ ∑©⎩ ™⎣
〈⎩⎣∑∑ ⎪⎩⎜™⎨∑©⎩ ⎪ ⎩〉⎧⎩∫ ◊.
L STW Загрузить слово статуса
T MW 114 Сохранить в меркере 114
T STW ®◊⎢⎛∑ ®⎩⎜⎧⎩⎛⎨⎩ ⎜◊⎪⎝〉◊∫⎫ ® 〉⎣⎩®⎩ 〉⎩〉∫⎩ ⎨⎝ ◊⎨∑∑ 〉⎩⌡ ◊⎨∑⎨⎨⎩∑ ⎜⎨◊⎟∑⎨⎝∑.
ℑ⎝∫⎦ 0,2,3,〉 9 ⎪⎩ 15 ⎨∑ ⎧∑⎨ ⎭∫〉 .
∈™⎨◊⎢⎩, ∑⎜⌠⎣⎫∫◊∫ ⎧⎩⎛∑∫ 〈⎦∫⎫ ⎪ ⎩〉⎧⎩∫ ∑⎨ ⎪⎩〉⎣∑ ◊ ⎝⎮⎧∑∫⎝⎟∑〉⎢⎝⌡ ⎩⎪∑ ◊⎞⎝⎡
(результат на равенство 0, больше или равно 0 и т.д.)
LAD/SFC: Команды опросов размещены в каталоге элементов в группе Status Bits.

Siemens AG ST-7PRO2
Training Center 2- 2 Инструкции с аккумулятором, словом
состояния, арифметика, комплексные типы
Переходы, зависимые от битов слова статуса
JO Label1) Переход, если бит “OV” =1

JОS Label1) Переход, если бит “OS” =1

JZ Label1) Переход, если биты “A1=0” и “A0” = 0


(результат = 0)

JN Label1) Переход, если бит “A1” не равен “A0”


(результат <> 0)

JP Label1) Переход, если бит “A1”=1 , а “A0”=0


(результат > 0)

JM Label1) Переход, если бит “A1”=0 , а “A0”=1


(result < 0)

J PZ Label1) Объединяет переходы JZ и JP


(результат >= 0)

JMZ Label1) Объединяет переходы JM и JZ


(результат <= 0)

JU Label1) Переход, если : неправильное число real или


деление на 0
1)Метка ( label) может содержать до 4-х символов.

SIMATIC S7 Date: 07/12/97


Automation Knowledge
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: Prog3_2R.3

Комментарий: Команда перехода JОS, смена блока (FB,FC,SFC,SFB) или окончание


блока сбрасывает бит “OS” в слове статуса.
⊗⎣ ®⎣⎩⎛∑⎨⎨⎩⎡ ⎩⎪∑ ◊⎞⎝⎝ (〉 ◊®⎨∑⎨⎝∑ ⎝⎣⎝ ◊ ⎝⎮⎧∑∫⎝⎢◊) ℜ⎦ ™⎩⎣⎛⎨⎦ ⎩〈 ◊∫⎝∫⎫
®⎨⎝⎧◊⎨⎝∑, ⎟∫⎩ 〈⎝∫ ∀Ος∀ ⎧⎩⎛∑∫ 〈⎦∫⎫ ⌠〉∫◊⎨⎩®⎣∑⎨ ∫⎩⎣⎫⎢⎩ ® ∑⎧∑⎨⎨⎩ ⎝,
〉⎣∑™⎩®◊∫∑⎣⎫⎨⎩, ⎪ ⎝ ⎨∑⎢⎩∫⎩ ⎦⌡ ⎩〈〉∫⎩ ∫∑⎣⎫〉∫®◊⌡ , 〈⎩⎣⎫⎠∑ ⎨∑ ™⎩〉∫⌠⎪∑⎨ ™⎣
⎩⎞∑⎨⎢⎝ ⎪⎩〉 ∑™〉∫®⎩⎧ ⎢⎩⎧◊⎨™⎦ ϑΟ. ℜ ⎬∫⎩⎧ 〉⎣⌠⎟◊∑ ™⎩⎣⎛∑⎨ ⎝〉⎪⎩⎣⎫⎜⎩®◊∫⎫〉
⎪∑ ∑⌡⎩™ ϑ∈Σ .
Метка перехода “Label” состоит ⎝⎜ ◊⎣⎮◊®⎝∫⎨⎩−⎞⎝⎮ ⎩®⎦⌡ 〉⎝⎧®⎩⎣⎩®.
Первый символ должен быть буквой. ⊂⎩⎛∑∫ 〈⎦∫⎫ ⎧◊⎢〉⎝⎧⌠⎧ ⎟∑∫⎦ ∑ 〉⎝⎧®⎩⎣◊.
⊂∑∫⎢◊ ⎪∑ ∑⌡⎩™◊ ⎩⎪ ∑™∑⎣ ∑∫ ◊™ ∑〉 ⎪∑ ∑⌡⎩™◊. ⊂∑∫⎢◊ ⎪∑ ∑⌡⎩™◊
⎜◊⎪⎝〉⎦®◊∑∫〉 〉⎣∑®◊ ⎩∫ ⎢⎩⎧◊⎨™⎦. ⊂∑∫⎢◊ ⎜◊⎢◊⎨⎟⎝®◊∑∫〉 ™®⎩∑∫⎩⎟⎝∑⎧.
⊗®⎩∑∫⎩⎟⎝∑ ⎝〉⎪⎩⎣⎫⎜⌠∑∫〉 ⎢◊⎢ ◊⎜™∑⎣⎝∫∑⎣⎫ ⎧∑⎛™⌠ ⎢⎩⎧◊⎨™⎩⎡ ⎝ ⎧∑∫⎢⎩⎡.

⊂∑∫⎢◊ ⎪∑ ∑⌡⎩™◊ ™⎩⎣⎛⎨◊ 〈⎦∫⎫ ∫⎩⎣⎫⎢⎩ ®⎨⌠∫ ⎝ 〈⎣⎩⎢◊.

Инструкция должна быть всегда после команды перехода.

⊂∑∫⎢◊ ⎪∑ ∑⌡⎩™◊ ⎨◊⌡⎩™⎝∫〉 ⎧∑⎛™⌠ -32768 and +32767.


Пример : L MW2
L MW8
-I
JZ NU10 // переход может быть , если результат = 0
// Здесь находятся инструкции, если результат >< 0
NU10 : NOP 0 // Здесь находятся инструкции, если результат =0

Siemens AG ST-7PRO2
Training Center 2- 3 Инструкции с аккумулятором, словом
состояния, арифметика, комплексные типы
Дополнительные операции перехода
Операция Описание

JCI M001 Переход, если BIE = "1"

JCIN M002 Переход, если BIE = "0"

Распределеное ветвление (выбор перехода)

L Recipe no. //Прочитать переменную recipe no. (Рецепт№)


JL OVER //Ветвление на 3 направления
JU Rec0 //Переход для рецепта №0 (ACCU1 содержит =0)
JU Rec1 //Переход для рецепта №1 (ACCU1 содержит =1)
JU Rec2 //Переход для рецепта №2 (ACCU1 содержит =2)
OVER: JU ERR //Переход, если неправильный номер рецепта >2 или <0
...
Rec0: L DBW 4

...

SIMATIC S7 Date: 07/12/97


Automation Knowledge
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: Prog3_2R.4

Переходы, Сохраненный RLO (в бите BIE слова статуса) может быть использован
зависимые от BIE для условного перехода по "0" или "1."

Распределенные В STEP7 ⎪ ⎩〉∫⎩ ®⎦⎪⎩⎣⎨⎝∫⎫ ◊〉⎪ ∑™∑⎣∑⎨⎨⎦∑ ⎪∑ ∑⌡⎩™⎦ (⎪∑ ∑⌡⎩™ ⎪⎩


переходы ®⎦〈⎩ ⌠). ⊂∑∫⎢◊ ⎪∑ ∑⌡⎩™◊ ® команде JL ™⎩⎣⎛⎨◊ 〈⎦∫⎫ ⎜◊™◊⎨◊ только после
⎪⎩〉⎣∑™⎩®◊∫∑⎣⎫⎨⎦⌡ ⎪∑ ∑⌡⎩™⎩®. ⊂◊⎢〉⎝⎧⌠⎧ ®⎩⎜⎧⎩⎛⎨⎩ 255 ◊〉⎪ ∑™∑⎣∑⎨⎨⎦⌡
⎪∑ ∑⌡⎩™◊. ⊂∑⎛™⌠ ⎝⎨〉∫ ⌠⎢⎞⎝ ⎧⎝ JL <jump label> и <jump label>:
<instruction> возможны только инструкции JU (безусловный переход).
Если в аккумуляторе ACCU1-L-L значение 0, то выполняется первая
инструкция JU в последовательности ветвей переходов. ⊕〉⎣⎝ ⎜⎨◊⎟∑⎨⎝∑ ®
ΑΧΧΥ1−Λ−Λ 〈⎩⎣⎫⎠∑ ⎟⎝〉⎣◊ 〉⎣∑™⌠⎭⎤⎝⌡ ⎜◊ ⎢⎩⎧◊⎨™⎩⎡ JL ⎢⎩⎧◊⎨™ ϑΥ , происходит
переход программы на инструкцию, следующую за ветвями перехода ( на
метку <jump label>)

Комментарий ∉∑ ∑⌡⎩™⎦ ⎧⎩©⌠∫ ⎪ ⎩⎝〉⌡⎩™⎝∫⎫ ®⎨⌠∫ ⎝ ®〉∑⎡ ™⎣⎝⎨⎦ 〈⎣⎩⎢◊ (даже за пределами
сегмента). ∇⎣∑™⎩®◊∫∑⎣⎫⎨⎩, ⎝⎧∑⎨◊ ⎧∑∫⎩⎢ ⎪∑ ∑⌡⎩™◊ ®⎨⌠∫ ⎝ 〈⎣⎩⎢◊ ™⎩⎣⎛⎨⎦ 〈⎦∫⎫
⎩™⎨⎩⎜⎨◊⎟⎨⎦. ®◊⎢ ⎢◊⎢ ◊™ ∑〉 ⎪∑ ∑⌡⎩™◊ ⎧⎩⎛∑∫ 〈⎦∫⎫ ⎨◊⎜⎨◊⎟∑⎨ ∫⎩⎣⎫⎢⎩
⎪⎩〉 ∑™〉∫®⎩⎧ ⎧∑∫⎩⎢ ⎪∑ ∑⌡⎩™◊, ⎪∑ ∑⌡⎩™ ⎧⎩⎛∑∫ ∫⎩⎣⎫⎢⎩ ⎪ ⎩⎝〉⌡⎩™⎝∫⎫ ®⎨⌠∫ ⎝
⎪ ⎩© ◊⎧⎧⎨⎩©⎩ 〈⎣⎩⎢◊. ⊗⎣⎝⎨◊ ⎧∑∫⎢⎝ ⎪∑ ∑⌡⎩™◊ ⎩© ◊⎨⎝⎟∑⎨◊ ⎟∑∫⎦ ⎫⎧
◊⎣⎮◊®⎝∫⎨⎩−⎞⎝⎮ ⎩®⎦⎧⎝ 〉⎝⎧®⎩⎣◊⎧⎝. ∉∑ ®⎦⎧ 〉⎝⎧®⎩⎣⎩⎧ ™⎩⎣⎛⎨◊ 〈⎦∫⎫ 〈⌠⎢®◊.
∪⎧∑∑∫〉 ◊⎜⎣⎝⎟⎝∑ ⎧∑⎛™⌠ ⎪ ⎩⎪⎝〉⎨⎦⎧⎝ ⎝ 〉∫ ⎩⎟⎨⎦⎧⎝ 〈⌠⎢®◊⎧⎝ ™⎣ ⎧∑∫⎩⎢
⎪∑ ∑⌡⎩™◊.

Siemens AG ST-7PRO2
Training Center 2- 4 Инструкции с аккумулятором, словом
состояния, арифметика, комплексные типы
Операция Loop
Инициализация счетчика цикла
L +4 // Загрузка счетчика цикла
NEXT: T MW10 // Начало цикла
. // Код
. // Код
Программный . // Код
код, выполняемый . // Код
несколько раз . // Код
L MW10 // Чтение счетчика цикла
Loop NEXT // Уменьшение счетчика на 1
// И переход на метку
// NEXT, если ACCU 1> 0
Уменьшение на 1 счетчика цикла
В этом примере код программы
между NEXT и Loop NEXTвыполняется .
Да Счетчик цикла
4 раза.
<>0 ? Операция LOOP

Нет

Продолжение

SIMATIC S7 Date: 07/12/97


Automation Knowledge
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: Prog3_2R.5

С помощью команды loop ℜ⎦ ⎧⎩⎛∑∫∑ ®⎦⎪⎩⎣⎨ ∫⎫ ⎮ ◊©⎧∑⎨∫ ⎪ ⎩© ◊⎧⎧⎦


⎨∑〉⎢⎩⎣⎫⎢⎩ ◊⎜. ⊗⎣ ⎝〉⎪⎩⎣⎫⎜⎩®◊⎨⎝ ⎩⎪∑ ◊⎞⎝⎝ ⎞⎝⎢⎣◊ ⎛∑⎣◊∑⎧⎩∑ ⎟⎝〉⎣⎩ ⎞⎝⎢⎣◊
⎨⌠⎛⎨⎩ ⎜◊© ⌠⎜⎝∫⎫ ® ACCU 1-L. ∩⎨◊⎟∑⎨⎝∑ ® ΑΧΧΥ 1−Λ − ⌠⎧∑⎨⎫⎠◊∑∫〉
⎢◊⎛™⎦⎡ ◊⎜, ⎢⎩©™◊ ⎞⎝⎢⎣ ®⎦⎪⎩⎣⎨∑⎨. ∩◊∫∑⎧ ⎬∫⎩ ⎜⎨◊⎟∑⎨⎝∑ ⎪ ⎩®∑ ∑∫〉 . ⊕〉⎣⎝
⎜⎨◊⎟∑⎨⎝∑ ⎨∑ ◊®⎨⎩ 0, происходит ⎪∑ ∑⌡⎩™ ⎢ ⎧∑∫⎢∑ , ⎩〈⎩⎜⎨◊⎟∑⎨⎨⎩⎡ ®
⎢⎩⎧◊⎨™∑ loop. ⊕〉⎣⎝ ⎜⎨◊⎟∑⎨⎝∑ ® 〉⎟∑∫⎟⎝⎢∑ ⎞⎝⎢⎣⎩® − 0, происходит выход из
цикла и продолжается выполнение⎨⎩ ⎧◊⎣⎫⎨⎩⎡ ⎪⎩〉⎣∑™⎩®◊∫∑⎣⎫⎨⎩〉∫⎝
⎢⎩⎧◊⎨™ .

Возможные форматы для счетчика цикла :

z Целое +1 до +65 535 слово I,O,M,D,B,L

z Слово W#16#0001 слово I,O,M,D,B,L


до W#16#FFFF

Примечание: Счетчик циклов не должен быть инициализирован на 0, так как это


привело бы к выполнению цикла 65536 раза.

Siemens AG ST-7PRO2
Training Center 2- 5 Инструкции с аккумулятором, словом
состояния, арифметика, комплексные типы
Инструкции выхода из блока

‰ BE Конец блока (завершение блока)

‰ BEC Условный конец блока ( зависит от RLO)

(RET) в LAD представлении

RET
в SFC(FBD) представлении

‰ BEU Безусловный конец блока (внутри блока)

SIMATIC S7 Date: 07/12/97


Automation Knowledge
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: Prog3_2R.6

BE Конец блока (обычно в конце блока). Устройство программирования


(PG/PC) генерирует эту команду автоматически, когда сохраняется блок и,
следовательно Вы не должны писать ее. Команда BE завершает программу,
обрабатываемую в текущем блоке программы. Операционная система
осуществляет переход к блоку, вызвавшему текущий, и продолжает
обработку программы с первой команды, следующей за командой вызова.
Зарезервированная локальная область данных высвобождается снова.
Блоки данных вызывающего блока снова станут действительными. Признак
RLO также передается вызывающему блоку.
Предостережение : BE может также использоваться внутри блока. Это
также возможно для пропуска инструкций, расположенных за BE. BE
в блоке OB передает управление операционной системе.

BEU Конец блока, не зависимый от RLO. Соответствует по своему действию


команде BE внутри блока, вследствие чего эта ⎢⎩⎧◊⎨™◊ ®〉∑©™◊
⎪ ∑™〉∫◊®⎣ ∑∫〉 ®⎨⌠∫ ⎝ 〈⎣⎩⎢◊. ⊆◊ ΡΛΟ ⎨∑ ®⎣⎝ ∑∫. ⊄⎩©⎝⎟∑〉⎢◊ ⎩⎪∑ ◊⎞⎝
⎜◊®∑ ⎠◊∑∫〉 .

BEC Конец блока, зависимый от RLO. Для RLO = 1, программа обработки


текущего блока завершается и продолжается в блоке, вызвавшем текущий,
с первой команды, следующей за командой вызова. Зарезервированная
локальная область данных высвобождается снова. В вызывающий блок
также передается признак RLO=1.
Для RLO=0 инструкция BEC не прекращает выполнение текущего блока.
Выполняется инструкция, следующая за командой BEC. RLO изменяется на
значение RLO+1 после команды BEC.

Siemens AG ST-7PRO2
Training Center 2- 6 Инструкции с аккумулятором, словом
состояния, арифметика, комплексные типы
Упражнения: Переходы по слову состояния и
переходы по списку
Сделайте
упражнения с 2.1 по 2.3.

SIMATIC S7 Date: 07/12/97


Automation Knowledge
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: Prog3_2R.7

Упражнение 2.1: Переход после вычитания


Упражнение 2.2: Переход, зависимый от результата умножения
Упражнение 2.3: Переход по списку

z Смотрите гл. 8 (16 битовые модули SM) или 9 (32 битовые модули SM):
Задачи к упражнениям

Siemens AG ST-7PRO2
Training Center 2- 7 Инструкции с аккумулятором, словом
состояния, арифметика, комплексные типы
Числа с плавающей запятой -Real в SIMATIC S7

Диапазон значений: от -3,402 823 E+38 до -1,175 495E-38


и +/-0
и от +1,175 495E-38 до +3,402 823E+38 , где E+38 = 10+38

ввод на PG: например, 3.14 или -5000.24

Числа с плавающей запятой -real представляются двойным словом :


2-1 2-2 2-22 2-23
31 23 0 внутренний формат

7 6 5 4 3 2 1 0 22 20 1 0 назначение битов
VZ
экспонента e 21 Мантиса f
(8 бит) (23 бита)

VZ = 0 или 1 // e может быть 1... 254 // для f применимо 0 ...(2-1+2-2+... 2-23)

VZ = 0 знак результата "+", VZ = 1 знак результата "-"

Число с плавающей запятой вычисляется в соответствии с формулой :

число = VZ * 2(e-127) * (1.f ), где 0<e<255 и f=Бит22*1/21+Бит20*1/22+.....


и 1.f = 1 + f

SIMATIC S7 Date: 07/12/97


Automation Knowledge
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: Prog3_2R.8

Комментарий: Если значение e находится не в диапазоне 1 ... 254, то число с плавающей


запятой может иметь не воспроизводимое значение. Если значение e
находится в диапазоне 1 .. 254, стандарт IEC 1131-3 считает его
нормализованным числом.
ℜ⎦⎟⎝〉⎣∑⎨⎝ 〉 ⎟⎝〉⎣◊⎧⎝ 〉 ⎪⎣◊®◊⎭⎤∑⎡ ⎜◊⎪ ∫⎩⎡ ®⎣⎝ ⎭∫ ⎨◊ 〉⎣⎩®⎩ 〉⎩〉∫⎩ ⎨⎝

Ограничения: Описание Величина e Мантиса f Значение A1 A0 OV OS

Нет представл. 255 <>0 [qNaN] 1 1 1 1

Переполнение 255 0 >(2-2-23)2127 1 0 1 1


<(-2+ 2-23)2127

Нормализо- 1 .. 254 любая (1.f)2e-127 1 0 0 -


ванная (-1.f)2e-127

Ненорма- 0 <>0 (0.f)2-126 0 0 1 1


лизованная (- 0.f)2-126

Ноль 0 0 +0 0 0 0 -

Пример: Число 10.0 --> ACCU1 = 0/100_0001_0/010_0000_0000_0000_0000_0000


таким образом, VZ = +, e = 27+21 = 130, f = 2-2 = 0.25
согласно формуле 1.f*2(e-127) : +1.25*2(130-127) = 1.25*23 =1.25*8 = 10,0

Ввод на программаторе: 10.0 или 1.0e1 до 6 цифр после десятичной точки


Отображение на PG в STL: 1.000000e+001 или 10.0

Siemens AG ST-7PRO2
Training Center 2- 8 Инструкции с аккумулятором, словом
состояния, арифметика, комплексные типы
Расширенная арифметика для чисел с
плавающей запятой
Следующие команды выполняются независимо от RLO.

Тригонометрические SIN
функции COS
TAN угол
ASIN
ACOS
ATAN

Логарифмические LN
функции EXP

Квадрат, SQR
квадратный корень SQRT

SIMATIC S7 Date: 07/12/97


Automation Knowledge
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: Prog3_2R.9

Siemens AG ST-7PRO2
Training Center 2- 9 Инструкции с аккумулятором, словом
состояния, арифметика, комплексные типы
Тригонометрические функции
SIN Вычисление синуса угла из значения в ACCU1, представленного
в радианах, и сохранение результата в ACCU1.

COS Вычисление косинуса угла из значения в ACCU1, представленного


в радианах, и сохранение результата в ACCU1.

TAN Вычисление тангенса угла из значения в ACCU1, представленного


в радианах, и сохранение результата в ACCU1.
Значение угла должно быть представлено в ACCU1 плавающем
формате (0...p). Результат функции также представляется в
плавающем формате (-1.0 ...+1.0). Слово состояния изменяется.
ASIN Вычисление арксинуса угла из ACCU1 и сохранение результата
в ACCU1. ( -1.0 <= Входное значение <= +1.0)

ACOS Вычисление арккосинуса угла из ACCU1 и сохранение результата


в ACCU1. ( -1.0 <= Входное значение <= +1.0)

ATAN Вычисление арктангенса угла из ACCU1 и сохранение результата


в ACCU1. ( -1.0 <= Входное значение <= +1.0)

Значение должно быть представлено в ACCU1 в плавающем формате .


Результат функции также представляется в плавающем формате.
(- p/2 ..p/2). Слово состояния изменяется.

SIMATIC S7 Date: 07/12/97


Automation Knowledge
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: Prog3_2R.10

Комментарий: Ограничения на числа с плавающей запятой применимы для результатов


тригонометрических функций. Значение угла должно быть представлено в
радианах.

Примеры: L 0.7854 //Это радианная мера угла в 45 градусов


SIN
T MD 6 //Значение 0.707108 пересылается в MD 6.

L 0.707108 // Это соответствует синусу 45 градусов.


ASIN
T MD100 // Радианная мера угла пересылается в MD 100.
значение: 0.7854

Пример синуса (может быть найден в каталоге элементов в группе Floating


Point Маth):

LAD отображение:
SIN
EN ENO

MD22 IN OUT DB5.DBD2

SFC отображение: SIN DB5.DBD2


EN OUT

MD22 IN ENO

Siemens AG ST-7PRO2
Training Center 2 - 10 Инструкции с аккумулятором, словом
состояния, арифметика, комплексные типы
Логарифмические функции

LN // Вычисление натурального логарифма (основание e) из числа


с плавающей запятой, записанного в ACCU1, и сохранение результата
снова в ACCU1.

EXP //Вычисление экспоненты числа ( по основанию е ), записанного


в ACCU1 в формате с плавающей запятой, и передача результата
обратно в ACCU1 .

SIMATIC S7 Date: 07/12/97


Automation Knowledge
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: Prog3_2R.11

Примеры: L MD 2 // Например, загрузка значения 10.0.


LN
T MD 6 // Результат 2.302585 передается в MD6.
1.175495e-38 < входное значение <3.402823e+38

L MD 2 //Например, загрузка значения 10.0


EXP
T MD 6 // Результат 22 0266.47 передается в MD 6.

-83.xx < входное значение < 88.xx


Обе эти инструкции влияют на слово состояния. (∇⎧. ⎩〈⎥ 〉⎨∑⎨⎝
для чисел с плавающей запятой)
∩⎨◊⎟∑⎨⎝ ⎜◊ ⎩〈⎣◊〉∫⎫⎭ ®⎩⎜⎧⎩⎛⎨⎦⌡ ⎩© ◊⎨⎝⎟∑⎨⎝⎡ ⎨∑ ⎧⎩©⌠∫ ⎩∫⎩〈 ◊⎛◊∫⎫〉 .
∇⎣∑™⎩®◊∫∑⎣⎫⎨⎩, ⎨⌠⎛⎨⎩ ⎪ ⎩⎝⎜®⎩™⎝∫⎫ ⎪ ⎩®∑ ⎢⌠ ∑⎜⌠⎣⎫∫◊∫◊.
Пример логарифма (расположен в каталоге элементов в группе
Floating Point Маth):

LAD представление:
LN
EN ENO

MD22 IN OUT DB5.DBD2

SFC представление: LN
EN OUT DB5.DBD2

MD22 IN ENO

Siemens AG ST-7PRO2
Training Center 2 - 11 Инструкции с аккумулятором, словом
состояния, арифметика, комплексные типы
Квадрат числа и квадратный корень

SQR Число в ACCU1 умножается само на себя.


Результат записывается в ACCU1.
Число и результат представляются в плавающем формате.
Пример: L MD 6 // MD 6 должен содержать значение 4.0.
SQR
T MD 10 // в MD 10 передается значение 16.0 .

SQRT Команда вычисляет квадратный корень из числа в ACCU1.


Результат записывается в ACCU1.
Число и результат представляются в плавающем формате.

Пример: L MD 20 // MD 20 должен содержать значение 16.0.


SQRT
T MD 30 // в MD 30 передается значение 4.0 .

SIMATIC S7 Date: 07/12/97


Automation Knowledge
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: Prog3_2R.12

Комментарий: Инструкции SQR и SQRT влияют на разряды слова состояния.


Ограничения, принятые для просмотра чисел с плавающей запятой,
применяются также и здесь.
Исходное число должно быть положительным для инструкции SQRT
Исключение : -0 возвращает результат -0.

Содержимое других ACCU остается неизменным.

LAD представление: Пример квадратного корня (расположен в каталоге floating point


function):

SQRT
EN ENO

MD22 IN OUT DB5.DBD2

SFC представление:

SQRT DB5.DBD2
EN OUT

MD22 IN ENO

Siemens AG ST-7PRO2
Training Center 2 - 12 Инструкции с аккумулятором, словом
состояния, арифметика, комплексные типы
Дополнительные инструкции с аккумулятором
Следующие инструкции выполняются независимо от RLO.

Операции с несколькими аккумуляторами

POP
PUSH
TAK
ENT
LEAVE

Операции только с аккумулятором ACCU1

TAW
TAD
INC
DEC
RLDA, RRDA

SIMATIC S7 Date: 07/12/97


Automation Knowledge
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: Prog3_2R.13

Siemens AG ST-7PRO2
Training Center 2 - 13 Инструкции с аккумулятором, словом
состояния, арифметика, комплексные типы
Операции с несколькими аккумуляторами

PUSH Копирование содержимого ACCU1 в ACCU2, ACCU1 не изменяется.


Для S7-CPU с 4-мя ACCUs: сначала копируется содержимое ACCU3 в
ACCU4, а содержимое ACCU2 в ACCU3.

POP Копирование содержимого ACCU2 в ACCU1 (ACCU2 не изменяется


для S7-CPU с 2-мя ACCU ).
Для S7-CPU с 4-мя ACCUs: также копируется содержимое ACCU3 в
ACCU, а содержимое ACCU4 в ACCU3.

TAK Обмен содержимого ACCU 1 и ACCU2.

Дополнительно для S7-400 (с 4-мя ACCU):

ENT Копирование содержимого ACCU3 в ACCU4 и содержимого ACCU2 в


ACCU3. ACCU1 и ACCU2 не изменяются.
Эта инструкция выполнима только на CPU с 4-мя ACCU.

LEAVE Копирование содержимого ACCU3 в ACCU2 и содержимого ACCU4 в


ACCU3. ACCU1 и ACCU4 не изменяются.
Для S7-CPU с 4 ACCUs: сначала копируется содержимое ACCU3 в

SIMATIC S7 Date: 07/12/97


Automation Knowledge
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: Prog3_2R.14

Комментарий: Эти инструкции не влияют на слово состояния.


CPU с 4-мя ACCU | CPU с 2-мя ACCU
Выполнение ACCU1 ACCU2 ACCU3 ACCU4 | ACCU1 ACCU2
операций:

перед A4 B4 C4 D4 | A2 B2
PUSH
после A4 A4 B4 C4 | A2 A2

перед A4 B4 C4 D4 | A2 B2
POP
после B4 C4 D4 D4 | B2 B2

перед A4 B4 C4 D4 | -- --
ENT
после A4 B4 B4 C4 | -- --

перед A4 B4 C4 D4 | -- --
LEAVE
после A4 C4 D4 D4 | -- --

перед A4 B4 C4 D4 | A2 B2
TAK
после B4 A4 C4 D4 | B2 A2

Siemens AG ST-7PRO2
Training Center 2 - 14 Инструкции с аккумулятором, словом
состояния, арифметика, комплексные типы
Операции только с аккумулятором ACCU1

TAD Обмен содержимого ACCU1-L-L с содержимым


ACCU1-H-H и содержимого ACCU1-L-H с содержимым
ACCU1-H-L. Содержимое ACCU2 не изменяется.
Слово состояния не изменяется.

TAW Обмен содержимого ACCU1-L-L с содержимым


ACCU1-L-H. ACCU1-H и ACCU2 не изменяются.
Слово состояния не изменяется.

INC Содержимое ACCU1-L-L увеличивается на 1


(0<= значение <=255). ACCU1-L-H, ACCU1-H и ACCU2
не изменяются. Слово состояния не изменяется.

DEC Содержимое ACCU1-L-L уменьшается на 1 (0<= значение <=255).


ACCU1-L-H, ACCU1-H и ACCU2 не изменяются.
Слово состояния не изменяется.
RLDA, RRDA Сдвиг (32 -х) разрядов ACCU1 влево или вправо
на 1 бит через бит A1 слова состояния. Биты A0 и OV
в слове состояния устанавливаются в 0.

SIMATIC S7 Date: 07/12/97


Automation Knowledge
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: Prog3_2R.15

Пример для RLDA:


ACCU1 перед выполн. 0101_1111_0110_0100_0101_1101_0011_1011 содержимое A1 x (0 or1)
RLDA
ACCU1 после выполн. 1011_1110_1100_1000_1011_1010_0111_011x содержимое A1 0

RLDA
ACCU1 после выполн. 0111_1101_1001_0001_0111_0100_1110_11x0 содержимое A1 1

Бит A1 в слове состояния может быть опрошен в команде условного перехода (JP).

Бит 31 Бит 0

ACCU 1

A1
RLDA
RRDA

Siemens AG ST-7PRO2
Training Center 2 - 15 Инструкции с аккумулятором, словом
состояния, арифметика, комплексные типы
∈〈 ◊⎜⎩®◊⎨⎝∑ ™⎩⎪⎩⎣⎨∑⎨⎝

INVI = Дополнение для слова (инвертирование разрядов)

INVD = Дополнение для двойного слова (инвертирование разрядов)

NEGI = 2-двойное дополнение для слова


(умножение ACCU1-L на число -1)

NEGD = 2-двойное дополнение для двойного слова


(умножение ACCU1 на число -1)

NEGR = Инверсия знака вещественногочисла

Bit 16 Bit 15 Bit0


ACCU 1 0 1 0 1 1 0 1 0 1 1 0 1 1 0 1 0 1 1
перед
INVI

ACCU 1 0 1 1 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0
после

SIMATIC S7 Date: 07/12/97


Automation Knowledge
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: Prog3_2R.16

Дополнение - Для слова: Разряды в ACCU1-L инвертируются. Это означает, что


значение бита 0 заменяется на 1 , а 1заменяется на 0.
- Для двойных слов: Разряды в ACCU1-L и в ACU1-H инвертируются.

2-ое дополнение - Для двойных слов: ACCU1-L умножается на -1. Это означает, что сначала
выполняется дополнение в ACCU1-L, а затем прибавляется +1.
- Для двойных слов: ACCU1- умножается на -1. Это означает, что разряды в
ACCU1-L и в ACCU1-H инвертируютя, а затем прибавляется +1.
Эти инструкции влияют на следующие биты в слове статуса:
OV,OS,A1 и A0.
.

Замена знака. Разряд 31 в ACCU1 инвертируется


. Примеры :

L MW 20 L MD 6
INVI INVD
T MW 70 T MD 10

L DB5.DBD2 L MW 22 L MD 40
NEGR NEGI NEGD
T AD 4 T MW 24 T MD 50
LAD/SFC: Мнемоники команд расположены в каталоге элементов в группе converter.

Siemens AG ST-7PRO2
Training Center 2 - 16 Инструкции с аккумулятором, словом
состояния, арифметика, комплексные типы
Упражнения: функции с аккумулятором
Выполни упражнения 2.4-2.6.

SIMATIC S7 Date: 07/12/97


Automation Knowledge
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: Prog3_2R.17

Упражнение 2.4: Функции обмена аккумуляторами ACCU


Упражнение 2.5: Обмен данными в ACCU1
Упражнение 2.6: Образование дополнения

z См. главу 8 (16бит-SM) или 9 (32 бит-SM): задания к упражнениям.

Siemens AG ST-7PRO2
Training Center 2 - 17 Инструкции с аккумулятором, словом
состояния, арифметика, комплексные типы
Комплексные параметры блока
Простые типы данных, комплексные типы и параметрические типы могут
быть назначены параметрам блока в описательной части блока.

Следующие типы принадлежат к комплексному типу :

• Structure,
• Field,
• DATE_AND_TIME,
• STRING[n]
• Universal data type UDT

Следующие типы принадлежат к параметрическому типу :

• POINTER and ANY


• Timer and counter
• BLOCK_FB and BLOCK_FC
• BLOCK_DB and BLOCK_SDB

SIMATIC S7 Date: 07/12/97


Automation Knowledge
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: Prog3_2R.18

Комментарий: Особенности параметров блока приведены более детально на


следующих страницах.

Siemens AG ST-7PRO2
Training Center 2 - 18 Инструкции с аккумулятором, словом
состояния, арифметика, комплексные типы
Структура и массив
Использование структур и массивов

SIMATIC S7 Date: 07/12/97


Automation Knowledge
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: Prog3_2R.19

Структура Структура является комплексным типом данных, который может иметь до


8 уровней вложения. Структура оформляется двумя ключевыми словами
STRUCT и END_STRUCT. Любое количество корректных данных может
быть записано в структуре. По крайней мере два элемента в структуре
должны быть определены.
Элементы структуры вызываются в программе следующим образом:
пример для BOOL: A #Имя структуры. Имя элемента
для структуры без вложения
или A # Имя структуры1. Имя структуры2. Имя элемента.
для вложенных структур (здесь 2 уровня)

Массив Массив (=ARRAY) является комплексным типом данных, который может


иметь до 6 индексов. Массивы не могут быть вложенными. Элементы
могут содержать любое число корректных данных. Однако, все элементы
массива должны иметь одинаковый тип данных. Размер массива
определяется в целых числах, которые указываются за ключевым словом
ARRAY в квадратных скобках: [начало .. конец]. Между началом массива
и концом массива ставятся две точки (⎨◊⎟◊⎣⎩ ⎧◊〉〉⎝®◊ < ⎢⎩⎨⎞◊ ⎧◊〉〉⎝®◊), а
разделение между размерностями - через запятую.
Определение массива: имя массива: ARRAY[x1..x2] of data type;
(одномерный массив)
имя массива : ARRAY[x1..x2,y1..y2,z1..z2] of data type;
(многомерный массив)
Пример обращения к элементу многомерного массива типа байт:
L #имя массива[1,4,2]
(Индекс для текущего элемента указывается в квадратных скобках.)
Разрешается сочетание структур и массивов.

Siemens AG ST-7PRO2
Training Center 2 - 19 Инструкции с аккумулятором, словом
состояния, арифметика, комплексные типы
Передача структур
Вызов блока с параметром, имеющем тип данных STRUCTURE.
Пример: Входные параметры определены как структура с именем “motor.”

Символьная адресация

Абсолютная адресация
не может быть
определено подобно
этому

SIMATIC S7 Date: 07/12/97


Automation Knowledge
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: Prog3_2R.20

Примечание: При передаче блоку параметра комплексного типа необходимо, чтобы


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

В примере на слайде, структура данных DB_Motor.motor идентична


структуре данных входного параметра в FB1.motor. Имя для
структуры данных было выбрано чисто произвольно.

Передача этих параметров должна выполняться с символической


адресацией.

Комментарий:
Для поддержки параметров, определенных как структура, система
требует локальные данные. Вы можете определить количество
назначенных локальных данных через “View -> Block properties.”

Siemens AG ST-7PRO2
Training Center 2 - 20 Инструкции с аккумулятором, словом
состояния, арифметика, комплексные типы
Передача массива
Вызов блока с параметром, определенным через тип данных массив.
Пример: Входные параметры были определены как массив с именем “Material.”

Символическая адресация

Абсолютная адресация

Не может быть определено


подобно этому

SIMATIC S7 Date: 07/12/97


Automation Knowledge
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: Prog3_2R.21

Примечание: Передача параметра, определенного как массив, может быть описана


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

Примечание:
Для поддержки параметров, определенных как массив, система
требует локальные данные. Вы можете использовать “View -> Block
properties” , чтобы определить количество назначенных локальных
данных.

Siemens AG ST-7PRO2
Training Center 2 - 21 Инструкции с аккумулятором, словом
состояния, арифметика, комплексные типы
DATE_AND_TIME
Тип данных DATE_AND_TIME Длина: 8 байт формат: DT#year-month-day-h:min:s.ms

или DT пример: DT#96-06-04-11:30:01.923

Тип данных DT записывается в BCD формате:

Байт Содержимое Диапазон


0 Десятилетие +год 1990...2089 Определение столетия опускается.
1 Месяц 01...12
2 День 1...31
3 Час 0...23
4 Минуты 0...59
5 Секунды 0...59
6 2MSD от ms 00....99
7(Bit4..7) LSD от ms 0...9 MSD = Более значимая десят. цифра
7(Bit0..3) День недели 1...7 (1 = Воскресенье) LSD = Младшая десятичная цифра

Представление 6 - 7 байта
Байт 6 Байт 7

MSD MSD LSD

День недели
Миллисекунды

SIMATIC S7 Date: 07/12/97


Automation Knowledge
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: Prog3_2R.22

Примечание В STEP7 нет специальной инструкции для этого параметра.


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

Пример: Чтение времени с помощью SFC 1

Siemens AG ST-7PRO2
Training Center 2 - 22 Инструкции с аккумулятором, словом
состояния, арифметика, комплексные типы
STRING[n]

Тип данных STRING [n] Макс. длина символьной строки - n символов (тип CHAR ).

Тип данных STRING Макс. длина символьной строки - 254 символа (тип CHAR ).

В типе данных string необходимо определять строки символов через


элементарный тип данных CHAR.

Описание: Имя:STRING[n] := 'character string';

Пример: Display:STRING[20] := 'filling position'

Байт 0 Байт 1 Байт 2 Байт 3 Байт 4 Байт n+2

Макс. длина Текущая ASCII код ASCII-код ASCII код


строки,целое длина, целое f i l .... --
число(20) число (16)

1-й символ 2-й символ 3-й символ ......

SIMATIC S7 Date: 07/12/97


Automation Knowledge
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: Prog3_2R.23

Программирование: Стандартные функции в библиотеке IEC делают доступным


использование символьных строк.
Пример: FC10 может использоваться для сравнения двух символьных
строк.

Пример: Описание переменных в FB10


in SETPOINT STRING[10]
out EQUAL BOOL
temp VALUE STRING[10]

Segment 1
CALL FC 10
S1 := #VALUE
S2 := #SETPOINT
RET_VAL:= #EQUAL
Комментарий: Тип данных String[n] может быть объявлен с n = 1..254 в блоке FB или
OB в разделе описаний с атрибутом TEMP ( как локальные данные). Тип
данных STRING[254] может быть задан для параметров в FC.
Конструкция P##SSS ( где S- имя переменной) и регистровая-косвенная
адресация могут быть использованы для доступа к параметрам типа
STRING, описанным в FC.

Siemens AG ST-7PRO2
Training Center 2 - 23 Инструкции с аккумулятором, словом
состояния, арифметика, комплексные типы
POINTER и ANY

Встроенные системные блоки используют эти параметры.

(абс. адр.)

(симв. адр.)

SIMATIC S7 Date: 07/12/97


Automation Knowledge
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: Prog3_2R.24

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


инструкций для обработки данных, имеющих параметрические типы
POINTER и ANY. Следовательно, эти параметры могут к настоящему
времени быть использованы только в составе системных блоков.

Дополнительная информация приводится в главе о системных


функциях.

Замечания относительно примера на слайде:

Pointer-формат: Может быть задан как P#x.y или P#Ax.y


где x = байт, а y = бит и A = идентификатор области (например,
память меркеров)
Задание может быть также и символьном виде.
Тип pointer занимает в памяти 3 слова (=6 байт).

ANY-формат: Может быть задан в абсолютном или символьном виде.


Параметр с типом ANY занимает в памяти 5 слов и содержит:

Область: например, M (область меркеров)


Начальный адрес: например, 60.0 (начальный бит)
Тип данных: например, байт
Кол-во элементов: например, 6

Результат для указанного примера: P#M60.0 BYTE 6

Siemens AG ST-7PRO2
Training Center 2 - 24 Инструкции с аккумулятором, словом
состояния, арифметика, комплексные типы
Упражнения: Использование комплексных
параметров блока
Выполни упражнение 2.7.

SIMATIC S7 Date: 07/12/97


Automation Knowledge
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: Prog3_2R.25

Упражнение 2.7: Использование комплексных параметров блока

z См. главу 8 (16 битSM) или главу 9 (32 бит SM): задания к упражнениям.

Siemens AG ST-7PRO2
Training Center 2 - 25 Инструкции с аккумулятором, словом
состояния, арифметика, комплексные типы
Тип данных ANY: внутренний формат
Байт 0 16#10 для S7 Код типа данных Байт 1
в соотв. с табл.
Байт 2 Фактор повторения Байт 3

Байт 4 DB - номер (№ блока данных) или 0 Байт 5

Байт 6 код обл. памяти 0000_0bbb Байт 7


для указателя адрес указателя
Байт 8 bbbb_bbbb_bbbb_bxxx Байт 9
адрес указателя продолжение

Таблица для типов данных ( формат B#16# ) :


01 = BOOL, 02 = BYTE, 03 = CHAR, 04 = WORD, 05 = INT, 06 = DWORD, 07 = DINT,
08 = REAL, 09 = DATE, 0A = TOD, 0B = TIME, 0C = S5TIME, 0E = DT,
13 = STRING, 17 = BLOCK_FB, 18 = BLOCK_FC, 19 = BLOCK_DB,
1A = BLOCK_SDB, 1C = COUNTER, 1D = TIMER

SIMATIC S7 Date: 07/12/97


Automation Knowledge
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: Prog3_2R.26

Пример : Тип ANY определен как P#M 60.0 byte 6.

Byte 0 : B#16#10 //Идентификатор для S7


Byte 1 : B#16#02 //Тип данных
Byte 2 : B#16#00
Byte 3 : B#16#06 //Фактор повторения 6
Byte 4 : B#16#00
Byte 5 : B#16#00
Byte 6 : B#16#83 //Информация по S7-300: область памяти меркеров
Byte 7 : B#16#00
Byte 8/9 : W#16#01E0 // Адрес 60.0

Siemens AG ST-7PRO2
Training Center 2 - 26 Инструкции с аккумулятором, словом
состояния, арифметика, комплексные типы
Инструкции с адресным регистром и косвенная
адресация

SIMATIC S7 Date: 11/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: Pro3_3R.1

Содержание: Стр.

• Абсолютная адресация - прямая адресация...............................................……...... 2


• Прямая и косвенная адресация................................................................……......…. 3
• Косвенная адресация через память..................................................……………..….4
• Адресные регистры в SIMATIC S7.........................................................................… 5
• Формат адресного регистра...................................................................................…. 6
• Изменение адресного регистра..............................................................................….7
• Регистровая косвенная адресация..............................................................…….…...8
• Регистровая межзонная косвенная адресация.........................................………..... 9
• Пример косвенной адресации...................................................................………..…. 10
• Упражнения: Управление и использование адресных регистров....................……11

Siemens AG ST-7PRO2
Training Center 3- 1 Инструкции с адресным регистром
и косвенная адресация
Абсолютная адресация - прямая адресация

Операнд Адрес, Дополнительная Обозначение


например: глубина доступа
I 37.4 Байт, слово, Входы
двойное слово
O 27.7 Байт, слово, Выходы
двойное слово
PIB 655 слово, Входы периферии
двойное слово
POB 653 слово, Выходы периферии
двойное слово
M 55.0 Байт, слово, Меркеры
двойное слово
T 114 -- Таймеры
C 13 -- Счетчики

DBX 2001.6 Байт (DBB), слово (DBW), Данные, адресуемые


двойное слово (DBD) через регистр DB
DIX 406.1 Байт (DIB), слово (DIW), Данные, адресуемые
двойное слово (DID) через регистр DI
L 88.5 Байт (LB), слово (LW), Стек локальных
двойное слово (LD) данных

NEUA_T2D

SIMATIC S7 Date: 11/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: Pro3_3R.2

Прямая Адрес операнда находится прямо в инструкции.


адресация Прямая адресация в STEP 7 почти такая же, как и в STEP 5.
Однако, в отличие от S5, возможна дифференциация между входами и
выходами, когда Вы адресуетесь к периферии S7. Как принято, можно
только читать входы (L PIW) и только записывать данные на выходы
(T PQW).
Локальные В STEP 7, также возможен доступ к данным локального стека.
данные Например:
z A L 12.6 (опрос на “1” бита локальных данных с адресом 12.6)

z L LW 12 (загрузка слова локальных данных в ACCU 1)

DBX/DIX Вы также можете прямо обратиться к содержимому блока данных, но только


после того, как Вы откроете блок данных соответствующей инструкцией:

z A DBX 12.6 (опрос на “1” бита данных с адресом 12.6 из блока DB )

z A DIX 12.6 (опрос на “1” бита данных с адресом 12.6 из блока DB )

z L DBB 12 (загрузка в ACCU 1 байта 12 из блока DB)

z L DIB 12 (загрузка в ACCU 1 байта 12 из блока DB, открытого через


регистр DI)

Siemens AG ST-7PRO2
Training Center 3- 2 Инструкции с адресным регистром
и косвенная адресация
Прямая и косвенная адресация

Прямая адресация Косвенная адресация через память

A I0.0 A I[MD2] //логическая операция AND


над входом, адрес которого
находится в MD2

L EB20 L IB[DBD4] //Загрузка в ACCU 1 байта входов,


адрес которого находится
в DBD4

OPN DB4 OPN DB[MW7] //Открытие блока данных,


номер которого находится в MW7

SIMATIC S7 Date: 11/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: Pro3_3R.3

Инструкции S7 STL используют 2-х компонентную запись адреса, определяющий ячейку


памяти, данные которой должны обрабатываться. Первая часть адреса, как для прямой,
так и для косвенной адресации через память, - идентификатор операнда (как например, IB).
Вторая часть адреса зависит от типа адресации.
Прямая адресация Вторая часть адреса является истинной ячейкой памяти,
которую определяет операнд. Адрес прямо указывает на ячейку
памяти.
Примеры для прямой адресации:
A I0.0 // выполнение инструкции AND с битовым входом I0.0
L IB20 // загрузка в аккумулятор 1 байта входов с номером 20
OPN DB4 // открытие блока данных с номером 4
= Q8.0 // передача значения RLO на выходной сигнал 8.0
Косвенная адресация Вторая часть адреса указывает на ячейку памяти, которая
является указателем на истинный адрес или число. В качестве
указателя может использоваться:
- слово, содержащее номер таймера, счетчика, блока данных,
функции или функционального блока.
- двойное слово, содержащее точный адрес ячейки памяти
Примеры для косвенной адресации:
L С[MW44] // загрузка значения счетчика. Величина в MW44
определяет номер счетчика.
A I[MD2] // опрос сигнала на “1” из области входов. Адрес
сигнала находится в MD2 в формате указателя.

Косвенная адресация возможна только в STL. Другим примером косвенной адресации


является адресация с использованием адресных регистров AR1 и AR2: зонная и межзонная
косвенная адресация. См. главу 9 руководства по STEP 7 STL .

Siemens AG ST-7PRO2
Training Center 3- 3 Инструкции с адресным регистром
и косвенная адресация
Косвенная адресация через память

Пример 1: Указатель в формате слово


L 11
T MW 60

OPN DB[MW 60] OPN DB 11

Пример 2: Указатель в формате двойное слово


L P#24.0
T MD 50

L I W [MD50] L IW 24

Область Глубина Адрес


доступа

SIMATIC S7 Date: 11/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: Pro3_3R.4

Косвенная адресация В STEP 7 Вы можете применять косвенную адресацию.


через память Для вызова блоков, обращения к таймерам или счетчикам
применяется адресация через слово меркеров или слово блока
данных или слово локальных данных. Для остальных команд
двойное слово меркеров или данных. Параметр должен быть
записан в специальном формате указателя (pointer format),
занимающем двойное слово. Так, например, команда
L P#24.0 загружает в аккумулятор адрес байта 24 и адрес бита
0 в формате указателя.
Для команды область памяти (I, O, M и т.д.), ширина доступа
(бит, байт, слово или двойное слово ) и операнд должны быть
заданы. Операнд содержит параметр для инструкции.
Формат указателя:
Указатель в формате слово : формат INTEGER

Указатель в формате двойное слово :


Бит 31 23 15 7 0

0000 0000 0000 0BBB BBBB BBBB BBBB BXXX

BBB_BBBB_BBBB_BBBB_B= Адрес байта


XXX = адрес бита

Siemens AG ST-7PRO2
Training Center 3- 4 Инструкции с адресным регистром
и косвенная адресация
Адресные регистры в SIMATIC S7
Адресные регистры AR1 и AR2

Бит 31 23 15 7 0
AR1 a000 0RRR 0000 0BBB BBBB BBBB BBBB BXXX

Бит 31 23 15 7 0
AR2 a000 0RRR 0000 0BBB BBBB BBBB BBBB BXXX

a = 0 внутри области
a = 1 с перекрытием области
RRR = идентификатор области, если a=1
BBB_BBBB_BBBB_BBBB_B= адрес байта
XXX = адрес бита

PRGA_T6D

SIMATIC S7 Date: 11/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: Pro3_3R.5

Комментарий: В SIMATIC S7 имеется два адресных регистра: AR1 и AR2.


В настоящее время STEP7 использует также эти регистры неявно для
буферизации. При этом:
для AR1 : передача фактических параметров комплексного типа для
вызываемого в FС или FB и чтение или запись формальных
операндов в вызванном блоке;
для AR2: вызов FB с назначенным экземпляром-блоком данных и
обращение к данным этого блока данных.
Если примеры, приведенные выше, используются в программе, то
содержимое регистра адреса должно быть сначала сохранено в
программе.

Примечание: Регистр AR2 внутри функциональных блоков не может быть изменен


для нормальной обработки функциональных блоков.
Объяснение: Адресные регистры могут быть использованы для косвенной
адресации. SIMATIC S7 предоставляет команды для этой цели.
Пример: A I [AR1,P#12.2], где P#12.2 прибавляется как
постоянное смещение к содержимому AR1 перед
выполнением команды.

Siemens AG ST-7PRO2
Training Center 3- 5 Инструкции с адресным регистром
и косвенная адресация
Формат адресного регистра
Формат:
31 23 15 7 0
10000RRR 00000BBB BBBBBBBB BBBBBXXX

Кодирование: Bit 31=1 Адресный регистр содержит адрес с идентификатором зоны.


Bit 31=0 Адресный регистр не содержит код идентификатора зоны.

Межзонная адресация ( бит 31 = 1):


RRR идентификатор: 000 (P) Периферия
области 001 (I) Входы (PII)
010 (O) Выходы (PIQ)
011 (M) Память меркеров
100 (DBX) Блок данных, регистр DB
101 (DIX) Блок данных, регистр DI
111 Локальные данные
вызывавшего
блока
Зонная адресация ( бит 31 = 0):
B...B Адрес байта

XXX Адрес бита

NEUA_T2D

SIMATIC S7 Date: 11/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: Pro3_3R.6

Адресный регистр Приведенный формат для косвенной адресации с использованием


адресного регистра используется во всей системе.
Адресные регистры содержат значение, используемое для
выполнения зонной и межзонной косвенной адресации.
Адресные регистры также используются для передачи сложных типов
данных, как например, передача записей в качестве параметров для
кодовых блоков.
Инициализация Команды LAR1 и LAR2 используются для установки адресных
адресного регистра регистров.
Команды TAR1 и TAR2 используются для передачи содержимого
адресных регистров. С помощью константы-указателя P# возможна
запись в адресные регистры идентификаторов зоны и адреса
байта/бита. Компилятор выполняет преобразование этой константы в
требуемый формат для адресного регистра.

Пример: LAR1 P# I 100.0

Установка адресного регистра AR1 значением, связанным с


указателем зоны - I (область PIQ), и адреса 100.0 .

Siemens AG ST-7PRO2
Training Center 3- 6 Инструкции с адресным регистром
и косвенная адресация
Изменение адресного регистра

LAR1 операнд Загрузка значения из операнда в адресный регистр 1.


Содержимое ACCU1 не изменяется.
LAR2 операнд Загрузка значения из операнда в адресный регистр 2.
Содержимое ACCU1 не изменяется.

TAR1 операнд Передача значения из адресного регистра 1 в операнд.


AR1 не изменяется.
TAR2 операнд Передача значения из адресного регистра 1 в операнд.
AR2 не изменяется.

"операнд" м. быть: ACCU1,ARn,DBD n,DID n,LD n,MD n, константа P#...

TAR Обмен содержимым AR1 и AR2.

+AR1,2 Сложение содержимого ACCU1-L с AR1 или AR2.

+AR1,2 Pointer constant Сложение константы Pointer с AR1 или AR2.

Эти инструкции не влияют на слово состояния.

SIMATIC S7 Date: 11/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: Pro3_3R.7

Примечание: Константа-указатель для команд +AR1 и +AR2 должна быть задана в


формате P#Байт.Бит.

Содержимое ACCU1-L может быть: -32 768 < ACCU1-L < 32 768.

LAR1: Возможно определение локальной переменной в качестве указателя.


Пример:
LAR1 P##START , если локальная переменная имеет имя START.

Siemens AG ST-7PRO2
Training Center 3- 7 Инструкции с адресным регистром
и косвенная адресация
Регистровая косвенная адресация

Пример: AR 1
31 23 15 7 0
00000000 00000000 00000000 01010000

00000000 00000BBB BBBBBBBB BBBBBXXX

+ 200.0

LAR1 P#10.0 //инициализация

L M W [AR1, P#200.0] L MW 210

Область Глубина Адресн. Постоянное выполняемая


доступа регистр смещение инструкция

NEUA_T2D

SIMATIC S7 Date: 11/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: Pro3_3R.8

Регистровая В STEP 7 команды могут адресоваться к данным косвенно через


косвенная адресный регистр.
адресация Два адресных регистра AR 1 и AR 2 возможны для этой цели.

Для команды определяются область (как например, M, I, Q), ширина


доступа (байт, слово и т.д.), адресный регистр и константа-смещение.
Используемый адресный регистр содержит базовый адрес . Искомый
адрес операнда вычисляется как сумма базового адреса и смещения.
Для того, чтобы обеспечить требуемый формат для адресного
регистра, в STEP7 введена константа-указатель (P#…). Как было
сказано выше, с помощью этой константы задается базовый адрес для
адресного регистра или постоянное смещение.
Если Вы загружаете адресный регистр содержимым ACCU, то всегда
необходимо учитывать приведенный выше формат адресного
регистра.
Применение: Динамическая адресация и адресация элементов данных при
программировании циклов.

Siemens AG ST-7PRO2
Training Center 3- 8 Инструкции с адресным регистром
и косвенная адресация
Регистровая межзонная косвенная адресация
Пример: AR 1
31 23 15 7 0
10000001 00000000 00000011 00100000

10000RRR 00000BBB BBBBBBBB BBBBBXXX

+ 110.0

LAR1 P#I100.0 // инициализация

L B [AR1, P#110.0] LIB 210

Глубина Адресн. Постоянное выполняемая


доступа регистр смещение инструкция
NEUA_T2D

SIMATIC S7 Date: 11/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: Pro3_3R.9

Межзонная Адресация с помощью адресного регистра может также выполняться


косвенная с перекрытием областей памяти.
адресация При выполнении инструкций должны быть определены ширина
доступа (байт, слово и т.д.), адресный регистр и константа-смещение.
Используемый адресный регистр содержит базовый адрес с
указателем области. Адрес, который используется для доступа
операнда, вычисляется как сумма базового адреса и смещения.
Вычисление адреса происходит по правилам двоичного сложения.
Косвенная регистровая адресация возможна также и для битовых
операндов.
Пример: LAR1 P# I100.0
A [AR1, P#110.5]
Для регистра, определенного выше, выполненная команда :
A I 210.5

Применение: доступ к данным, имеющим одинаковый тип, но


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

Ширина доступа:
определение D = двойное слово
определение W = слово
определение B = байт
без определения = бит

Siemens AG ST-7PRO2
Training Center 3- 9 Инструкции с адресным регистром
и косвенная адресация
Пример для косвенной адресации

SIMATIC S7 Date: 11/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: Pro3_3R.10

Описание В примере на слайде в сегменте 1 блок данных открыт с с


применением косвенной адресации. С этой целью в описательной
части блока объявлен параметр dbnumber. Число из этого параметра
сохраняется в меркерном слове 100 (MD100). Для открытия DB с
помощью косвенной адресации достаточно, чтобы номер DB был
записан в слове.

В сегменте 2 используется цикл для обнуления первых 10 слов блока


данных. Команда LOOP используется для зацикливания программы.
Передача в блок данных производится методом косвенной адресации
через ячейку памяти MD 40. В начале цикла указатель с адресом на
последнюю ячейку (DBW 18) сохраняется в MD 40. На каждом
проходе цикла адрес байта уменьшается на 2, т.к. передача 0
производится сразу в слово ( в 2 байта).
Примечание Для нормального обзора программы здесь нет проверки номера блока
данных. На практике, было бы также неплохо, если сделать
возможным устанавливать параметры для стартового адреса и длины
области памяти , которые должны обнуляться.

Siemens AG ST-7PRO2
Training Center 3 - 10 Инструкции с адресным регистром
и косвенная адресация
Упражнения: Управление и использование
адресного регистра
Выполните
упражнения 3.1-3.4.

SIMATIC S7 Date: 11/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: Pro3_3R.11

Упражнение 3.1: Программирование цикла с косвенной адресацией через память


Упражнение 3.2: Операции с адресным регистром
Упражнение 3.3: Использование адресного регистра1 для зонной косвенной
адресации
Упражнение 3.4: Использование адресного регистра1 для межзонной косвенной
адресации

z См. главу 8 (16 бит SM) или 9 (32 бит SM): задания к упражнениям

Siemens AG ST-7PRO2
Training Center 3 - 11 Инструкции с адресным регистром
и косвенная адресация
Системные функции

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: prog3_4R.1

Содержание: Стр.

• Введение.............................................................................…..........................…. 2
• Обзор системных функций (часть 1)….........................................................…... 3
• Обзор системных функций (часть 2)……............................................................ 4
• Обзор системных функций (часть 3).……........................................................... 5
• Обзор системных функций (часть 4).……........................................................... 6
• Обзор системных функций (часть 5)....……........................................................ 7
• Вызов системной функции..…….......................................................................... 8
• Оценка сообщений об ошибке……...................................................................... 9
• Использование блокового параметра ANY ...................................................... 10
• Пример системной функции................................................................................. 11
• Упражнение 4.1: Создание DB с атрибутом Unlinked ..................................... 12
• Упражнение 4.2: Тестирование блока данных (только для S7-400)................. 13
• Упражнение 4.3: Генерация блока DB .............................................................. 14
• Упражнение 4.4: Копирование DB из загрузочной памяти в рабочую............. 15
• Упражнение 4.5: Запись сообщений в диагностический буфер........................ 16
• Упражнение 4.6: Удаление блока DB с помощью SFC 21 (FILL) .................... 17
• Упражнение 4.7: Считывание времени с помощью SFC 1 (READ_CLK)......... 18

Siemens AG ST-7PRO2
Training Center 4-1 Системные функции
Введение
Системные функции хранятся в
операционной системе CPU.

Справочник по программному обеспечению для


S7-300/400 “Системные и стандартные функции”

Расширенная online- помощь в STEP 7

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: prog3_4R.2

Введение Системные функции представляют собой часто используемые


стандартные функции и функции, которые не могут быть выполнены
инструкциями STEP 7 (как например, генерирование DB). Системные
функции интегрированы в операционную систему CPU. Системные
функции вызываются в программе пользователя инструкциями CALL
SFC или CALL SFB. Для блоков SFB также необходимы связанные
блоки данных.
Возможность использования системной функции зависит от
программируемого логического контроллера и используемого типа
CPU. Используя программное обеспечение STEP 7, Вы можете,
например, отобразить системные блоки в SIMATIC- менеджере.
Системные блоки защищены, поэтому, когда Вы читаете их, то
отображается только описательная часть с входными параметрами ,
выходным параметрами и параметрами ввода-вывода.
В системах S7-300 и S7-400 системные блоки имеют одинаковый
номер, функцию и одинаково вызываются.
Руководство Справочное руководство по системному программному обеспечению
для S7-300/400 , Системные и стандартные функции ( перевод на
русский язык имеется в представительстве фирмы Siemens в Москве)
содержит расширенное описание системных функций.
Online- помощь Имеется также расширенное описание системных функций в
программном обеспечении STEP 7. Вызовите меню help в
программном редакторе и выберите тему : Help topics --> Block help --
> Help with SFBs/SFCs .

Siemens AG ST-7PRO2
Training Center 4-2 Системные функции
Обзор системных функций (часть 1)
Функц. группа Функция Блок S7- S7-
300 400
Копирование и Перенос блока SFC 20 X X
блоковые Заполнение массива SFC 21 X X
функции Создание блока DB SFC 22 X X
Удаление DB SFC 23 - X
Тестирование DB SFC 24 - X
Сжатие SFC 25 - X
Замена значения в ACCU 1 SFC 44 X 1) X
Контроль Прерыв. для м-компьютинга SFC35 - X 2)
программы Повторный запуск врем. цикла SFC 43 X X
Перевод CPU в STOP SFC 46 X X
Задержка обработки SFC 47 X) X
Управление Установка времени SFC 0 X X
часами Чтение времени SFC 1 X X
Синхронизация SFC 48 - X
Управление Установка счетчика SFC 2 X 1) X
счетчиком Запуск и останов SFC 3 X 1) X
времени Считывание счетчика SFC 4 X 1) X
Чтение системного времени SFC 64 X X
1) не для CPU 312IFM 2) только для новых CPU

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: prog3_4R.3

Функции - SFC 20 копирует содержимое области памяти.


копирования - SFC 21 заполняет область памяти содержимым другой области.
и блоковые - SFC 22 создает блок данных в рабочей памяти.
функции - SFC 23 удаляет блок данных в рабочей памяти. DB не должен быть открыт.
- SFC 24 определяет имеется ли DB в рабочей или загружаемой памяти,
длину блока в байтах и защищен ли он от записи.
- SFC 25 производит сжатие рабочей памяти. Если блоки корректировались,
то занимаемые ими пространства в рабочей памяти (“дыры”) удаляются .
- SFC 44 (вызов из OB 122 или ОВ121) передает при ошибках в ACCU новое
подходящее значение, с которым продолжается обработка программы.
Контроль - SFC 35 запускает синхронно OB 60 во всех СРU (для мультикомпьютинга).
программы - SFC 43 заново запускает контроль времени цикла CPU.
- SFC 46 переводит CPU в состояние останова (STOP).
- SFC 47 вводит задержку времени до 32767 µs.
Обработка - SFC 0 устанавливает новую дату и время в CPU.
часов - SFC 1 считывает текущую дату и время из CPU.
- SFC 48 синхронизирует часы ведомых устройств по часам ведущего CPU.
Функция должна запускаться только для ведущего CPU (master).
Управление CPU имеет определенное число счетчиков рабочего времени, в которые Вы
счетчиком можете записывать время работы оборудования.
времени - SFC 2 устанавливает счетчик рабочего времени на заданное значение .
- SFC 3 запускает или останавливает счетчик рабочего времени.
- SFC 4 считывает текущее время из счетчика и его статус.
- SFC 64 считывает системное время CPU . Системное время - это
автономный счетчик времени, который увеличивается каждые 10 ms ( для
S7-300) или 1 ms (S7-400). Максимальное значение счетчика - 2147483647
ms, после которого счет снова начинается с 0.

Siemens AG ST-7PRO2
Training Center 4-3 Системные функции
Обзор системных функций (часть 2)
Функцион. группа Функция Блок S7- S7-
300 400
Передача наборов Запись динамических параметров SFC 55 X X
данных Запись фиксированных параметров SFC 56 X X
Параметризация модулей SFC 57 X X
Запись набора данных SFC 58 X X
Чтение набора данных SFC 59 X X

Прерывания по Установка прерывания SFC 28 X1) X


времени Отмена прерывания SFC 29 X1) X
Активация прерывания SFC 30 X1) X
Опрос SFC 31 X1) X
Прерывания с Запуск SFC 32 X1) X
задержкой Отмена SFC 33 X1) X
Опрос SFC 34 X1) X
Синхронные Маскирование ошибок SFC 36 X X
ошибки Демаскирование SFC 37 X X
Чтение регистра состояний SFC 38 X X
Ошибки Блокировка новых прерываний SFC 39 X X
прерываний и Разрешение новых прерываний SFC 40 X X
асинхронные Задержка обр-ки новых прерываний. SFC 41 X X
ошибки Разреш. прерываний с выс. приоритетом SFC 42 X X
1) не для CPU 312IFM

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: prog3_4R.4

Передача Имеется область системных данных, которая может считываться, а также


наборов данных и записываться для параметрирования модулей. Эта область содержит
наборы данных (записи), которые нумеруются от 0 до 255, и которые
содержат данные-параметры и диагностические данные. Например,
- SFC 55 передает новые параметры адресуемому модулю. Область SDB ,
находящаяся CPU, и связанная с этим модулем не переписывается.
- SFC 56 передает параметры (набор данных RECNUM) из в
адресуемый модуль.
- SFC 57 передает все наборы данных из SDB в модуль.
- SFC 58 передает набор данных RECORD в модуль.
- SFC 59 считывает набор данных RECORD в модуль.
Прерывания Имеются блоки, которые используются для процессов, управляемых по
по времени времени (OB 10 - ОВ17). Параметры этих блоков могут быть заданы в
STEP 7 или с помощью системных функций в прикладной программе.
- SFC 28 устанавливает новую дату и время для запуска ОВ.
- SFC 29 стирает дату и время запуска OB (с 10 по 17).
- SFC 30 разрешает прерывание OB в установленное время.
- SFC 31 считывает информацию о статусе OB (загружен, активирован, ...)
Прерывания Прерывания с задержкой (OB 20 до 27) вызываются спустя время после
по задержке того как событие произошло. С помощью SFC 32 Вы определяете время
задержки и номер ОВ прерывания. С помощью SFC 33 Вы можете
отменить прерывание с задержкой. SFC 34 считывает статус ОВ.
Синхронные С помощью этих Вы можете маскировать синхронные ошибки. Так что, OB
ошибки ошибки не вызывается или ,напротив, демаскируется. Считывая регистр
статуса (SFC38), Вы можете определить были ли ошибки и их тип.
Прерывания и Эти SFC Вы используете для разрешения или блокировки прерываний,
асинхронные или ОВ асинхронных ошибок, или задержки прерываний, имеющих более
ошибки высокий приоритет.

Siemens AG ST-7PRO2
Training Center 4-4 Системные функции
Обзор системных функций (часть 3)
Функц. группа Функция Блок S7- S7-
300 400
Системная Чтение стартовой информации SFC 6 - X
диагностика Чтение состояния системы SFC 51 X X
Запись в диагностический буфер SFC 52 X X
Отображение Актуализация области PII SFC 26 - X
процесса для Актуализация области PIQ SFC 27 - X
области I/O Установка битового массива SFC 79 - X
Очистка битового массива SFC 80 - X
Адресация Определение логического адреса SFC 5 - X
модулей Определение слота SFC 49 X X
Определение всех логич. адресов SFC 50 X X
Децентрализо- Прерывание от процесса SFC 7 1) 1)
ванная Чтение данных диагностики SFC 13 1) 1)
периферия Чтение данных SFC 14 1) 1)
Запись данных SFC 15 1)
Передача Передача GD пакета SFC 60 - X
глобальных Прием GD пакета SFC 61 - X
данных

1) только для CPU с DP -интерфейсом, как например, CPU 315-2 DP

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: prog3_4R.5

Системная - SFC 6 читает стартовую информацию OB, вызванного последним и


диагностика не закончившим свою обработку, и текущего ОВ.
- SFC 51 считывает часть списка состояний системы, который содержит:
системные данные, данные диагностики, диагностический буфер.
- SFC 52 записывает сообщение в диагностический буфер.
Отображение - SFC 26 актуализирует всю или часть таблицы отображения входов.
процесса - SFC 27 передает всю или часть таблицы отображения выходов на
выходные модули.
- SFC 79/80 служат для установки/сброса битового массива в I или Q
области, но только при 1-м значении функции Master Control Relay.
Адресация - SFC 5 определяет логический адрес по расположению модуля ( по
модулей географическому адресу).
- SFC 49 определяет географический адрес по логическому адресу
модуля.
- SFC 50 определяет все логические адреса модуля.
Децентрализован- - SFC 7 запускает процесс прерываний (ОВ40) на станции-мастере от
ная периферия интеллектуальной станции -slave (CPU 315-2DP).
- SFC 13 считывает данные диагностики от DP slave.
- SFC 14 считывает консистентные данные (информация неделимая,
как одно целое) из DP slave.
- SFC 15 записывает консистентные данные в DP slave.
Передача Глобальные данные передаются циклически (например, каждый 8-ой
глобальных цикл) без использования SFC. С помощью SFC 60 и SFC 61 в
данных программе пользователя может запускаться процедуры приема и
передачи GD-пакета. Использование этих функций связано, в основном,
с необходимостью обеспечить консистентность передаваемых данных.

Siemens AG ST-7PRO2
Training Center 4-5 Системные функции
Обзор системных функций (часть 4)
Функц. группа Функция Блок S7- S7-
300 400
Обмен данными Опрос состояния SFC 62 - X
через SFB, Передача без координации SFB 8 - X
конфигурируемые Прием без координации SFB 9 - X
соединения Передача блока SFB 12 - X
Прием блока SFB 13 - X
Чтение данных из удаленного CPU SFB 14 - X
Запись данных в удаленный CPU SFB 15 - X
Передача данных на принтер SFB 16 - X
Выполнение полного рестарта SFB 19 - X
Перевод в стоп удаленный CPU SFB 20 - X
Выполнение повторного пуска SFB 21 - X
Опрос состояния удаленного CPU SFB 22 - X
Прием состояния удаленного CPU SFB 23 - X
Обмен данными Расширенная передача данных SFC 65 1) 1)
через SFC, не- Расширенный прием данных SFC 66 1) 1)
конфигурируемые Расширенный прием данных SFC 67 1) 1)
соединения Расширенная запись данных SFC 68 1) 1)
Отмена расширенных соединений SFC 69 1) 1)
Внутренний прем данных SFC 72 1) 1)
Внутренняя запись данных SFC 73 1) 1)
Отмена внутренних соединений SFC 74 1) 1)
1) только для новых CPU

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: prog3_4R.6

Обмен данными SFB обеспечивают обмен данными и управление программами.


через SFB В зависимости от того, где вызываются SFB, у одного или у двоих
участников по коммуникации, различают односторонюю или двусторонюю
коммуникацию.
- SFC 62 определяет состояние SFB по его экземпляру и состояние
соответствующего соединения.
- SFB 8 посылает данные удаленному партнеру без координации.
- SFB 9 является дополнением к SFB 8 (прием данных).
- SFB 12 посылает данные (до 64 KByte)удаленному партнеру с
подтверждением.
- SFB 13 принимает данные удаленного партнера с подтверждением.
- SFB 14 читает данные удаленного CPU (односторонняя коммуникация).
- SFB 15 записывает данные на удаленный (односторонний обмен).
- SFB 16 посылает данные с форматированием удаленному принтеру.
- SFB 19 запускает комплексный рестарт на удаленном CPU.
- SFB 20 переводит удаленный в STOP.
- SFB 21 выполняет рестарт на удаленном CPU .
- SFB 22 опрашивает состояние удаленного CPU(режим работы, признак
ошибки).
- SFB 23 принимает статус состояния удаленного CPU.
Обмен данными Для этой коммуникации, также рассматриваемую в качестве основной,
через SFC имеются следующие различия по сравнению с коммуникацией через SFB:
- Также возможны для S7-300
- Не требуется конфигурирования соединения
- Не требуется связанных блоков данных
- Максимальная длина данных 76 байт
- Активная конфигурация соединения
- Коммуникация по MPI или K шине

Siemens AG ST-7PRO2
Training Center 4-6 Системные функции
Обзор системных функций (часть 5)
Функц. группа Функция Блок S7- S7-
300 400
Встроенное Непрерывное регулирование SFB 41 3) -
регулирование Шаговое регулирование SFB 42 3) -
Формы импульсов SFB 43 3) -
Гибкая Вызов ассемблерного блока SFC 63 1) -
технология
Интегрирован- Высокоскоростной счетчик SFB 29 2) -
ные функции Частотомер SFB 30 2) -
A/B счетчик SFB 38 3) -
Позиционирование SFB 39 3) -
IEC - таймер и Генерирование импульса SFB 3 x x
IEC счетчик Задержка включения SFB 4 x x
Задержка выключения SFB 5 x x
Прямой счет SFB 0 x x
Обратный счет SFB 1 x x
Прямой и обратный счет (реверс) SFB 2 x x
Управление Сообщения без индикации квитирования SFB 36 - x
сообщениями Сообщения с индикацией квитирования SFB 33 - x
Сообщения с 8 сигналами SFB 35 - x
Сообщения без сопровождающих сигналов SFB 34 - x
Передача архивных данных SFB 37 - x
Блокировка сообщений SFC 10 - x
Разрешение сообщений SFC 9 - x
1) только для CPU 614 2) только для CPU 312 IFM 3) только для CPU 314IFM

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: prog3_4R.7

Встроенное Эти блоки будут интегрированы в последующие версии CPU.


регулирование
Гибкая технология Для CPU 614 (S7-300) отдельные блоки могут быть созданы на языке
ассемблера (или на языке “С”, а затем транслированы). Системная
функция SFC 63 запускает такие блоки.
Интегрированные Эти блоки имеются только у CPU 312 IFM (S7-300).
функции Описание этих системных функций находится в руководстве
Интегрированные функции.
- SFB 29 подсчитывает импульсы на встроенных входах CPU.
- SFB 30 измеряет частоту сигнала на встроенных входах.
IEC таймер Эти блоки реализуют функции времени и счетчика в соответствии со
IEC счетчик стандартом IEC 1131-3. Остающиеся в языке STEP 7 таймерные функции и
функции счета реализуются также , как и для SIMATIC S5, по причине
совместимости. Таймеры и счетчики стандарта IEC большим диапазоном
значений.
Сообщения, Эти блоки служат для создания системных сообщений, например для
зависимые контроля системы.
от блоков Необходимой предпосылкой является то, что хотя бы одно дисплейное
устройство (OP) зарегистрировано. Применяется концепция
централизованного квитирования. Это означает, что если Вы подтвердили
сообщение на устройстве индикации, то ответ посылается в CPU,
порождающее сообщение. Оттуда информация посылается по всем
зарегистрированным абонентам. Сообщения запускаются по изменению
фронта сигнала на входе.

Siemens AG ST-7PRO2
Training Center 4-7 Системные функции
Вызов системной функции
Вызов в STL Вызов в LAD

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: prog3_4R.8

Введение Когда системная функция вызывается, то она автоматически копируется в


существующую программу пользователя.
Кроме того, все системные функции хранятся в стандартной библиотеке
STDLIB30, в программе BUILTIN S7. Вы можете также скопировать
системные функции оттуда. Имеется также символьный лист для этой
библиотеки (с английскими обозначениями). Вы можете скопировать
символы блоков, которые Вы используете в свой символьный список.
Вызов в STL После того, как Вы ввели вызов функции CALL SFC , отображается
список параметров блока, и Вы можете установить параметры для блока.
Если Вы не знаете, как определяются параметры блока, используйте
Online помощь.
Вызов в LAD/SFC Выберите место в сегменте и вставьте системную функцию, которую Вы
желаете, через меню Insert --> LAD element --> SFC или SFB blocks. По
сравнению с STL, имеются параметры EN (для условного вызова) и
ENO для дальнейших соединений в лестничной диаграмме.

Siemens AG ST-7PRO2
Training Center 4-8 Системные функции
Оценка сообщений об ошибке

‰ Бит результата BR | BIE =0 при ошибочной обработке блока и


=1 для исправной обработки.
€ Опрос признака BR на STL - языке : A BR | A BIE
€ Опрос признака на LAD - языке с помощью выходного параметра
ENO
‰ Большинство системных функций имеют выходной параметр
RET_VAL (возвращаемое значение), который хранит код ошибки
€ Возвращаемое значение имеет тип integer
€ Ошибка присутствует, если знаковый разряд =1 (отрицат. число)
€ Для кода ошибки имеется различие в следующем:
ƒ Общий код ошибки для всех системных функций
ƒ Специфический код ошибки, который связан только с конкретной
системной функцией
€ Коды ошибок приведены в шестнадцатиричном формате в
руководстве “Системные и стандартные функции”.

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: prog3_4R.9

Примечание До оценки выходных параметров, Вы должны проверить не произошла


ли ошибка в течение обработки блока.
В случае ошибки, Вы не можете оценить выходные параметры!
Двоичный С помощью признака BR (IEC) или| BIE (SIMATIC) , в котором
результат фиксируется результат логической операции (RLO), Вы получаете
информацию о правильном или ошибочном процессе обработки.
Возвращаемое Код ошибки в возвращаемом значении строится следующим образом:
значение
15 8 7 0
1

Число результата (код ошибки)

Если 0, тогда специфический код ошибки


Если > 0, тогда общий код ошибки. В этом случае, этот код равен
номеру параметра, который вызвал ошибку.

Бит знака =1, тогда ошибка!

Siemens AG ST-7PRO2
Training Center 4-9 Системные функции
Использование блокового параметра ANY
‰ Все ячейки области памяти, даже области данных, могут быть
определены с помощью параметра ANY.
‰ Этот параметрический тип часто используется системными
функциями .
‰ Формат для ANY-параметра при вызовах системной функции :
€ P#Операнд тип данных длина или глобальные данные
€ Примеры
ƒ P#M10.0 WORD 5 (5 слов меркерной памяти, начиная с MB 10)
ƒ P# I5.0 BYTE 6 (6 байт входов, начиная с IB 5)
ƒ P#DB5.DBX16.0 BYTE 20 (20 байт из DB 5, начиная с DBB 16)
ƒ OW2 (глобальные данные: выходное слово 2)
ƒ P#M20.1 BOOL 5 (5 меркерных бит, начиная с M 20.1)
€ Примечания
ƒ Адрес бита всегда должен быть 0 (за исключением типа данных
BOOL).
ƒ Глобальные данные, как например, IW 4 могут быть определены
прямо ( без указателя).
ƒ Возможны все элементарные и комплексные типы данных.

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: prog3_4R.10

Введение Тип данных ANY разрешается использовать для параметров блока.


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

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


системным функциям , Вы определяете, какие текущие параметры
будут им переданы. Глобальные данные, как например, MB 14, могут
быть определены непосредственно, а STEP 7 преобразует их в
формат указателя.
Для формата указателя ( pointer ) имейте в виду, что должен быть
вставлен пробел между битовым адресом и типом данных и между
типом данных и фактором повторения.

Siemens AG ST-7PRO2
Training Center 4 - 10 Системные функции
Пример системной функции

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: prog3_4R.11

Введение На слайде показан вызов системной функции SFC 1 (READ_CLK),


которая считывает дату и время из CPU.
Параметры Системная функция имеет следующие выходные параметры:
- CDT, тип данных DT (DATE_AND_TIME) для приема даты и
времени
- RET_VAL, тип данных INT -возвращаемое значение (код ошибки)
Установки Так как тип данных DT имеет длину 8 байт, то только данные из блока
параметров данных или локальные данные могут быть использованы в качестве
области памяти. В примере текущая дата и время во временной
переменной, имеющей тип DATE_AND_TIME. Если необходимо выделить
текущее время, у Вас есть две возможности:
- Абсолютная адресация к L-стеку, например L LB 3, когда Вы
читаете час. При этом должно быть принято во внимание представление
в памяти типа данных DATE_AND_TIME .

Byte 0
Год Месяц
Byte 2 День Час
Byte 4 Минуты Секунды
Byte 6 мсек День нед.
- Вызвать функцию FC 8 из библиотеки STLIB30\IEC, которая
выделяет время из этой переменной.
В примере возвращаемое значение сохраняется в меркерном слове MW6
. Код, не равный 0, означает ошибку выполнения SFC0.

Siemens AG ST-7PRO2
Training Center 4 - 11 Системные функции
Упражнение 4.1: Создание DB с атрибутом Unlinked

Выполни упражнение 4.1.

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: prog3_4R.12

Siemens AG ST-7PRO2
Training Center 4 - 12 Системные функции
Упражнение 4.2: Тестирование блока данных
(только для S7-400)

Выполни упражнение 4.2.

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: prog3_4R.13

Siemens AG ST-7PRO2
Training Center 4 - 13 Системные функции
Упражнение 4.3: Генерация блока DB

Выполни упражнение 4.3.

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: prog3_4R.14

Siemens AG ST-7PRO2
Training Center 4 - 14 Системные функции
Упражнение 4.4: Копирование DB из загрузочной
памяти в рабочую память

Выполни упражнение 4.4.

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: prog3_4R.15

Siemens AG ST-7PRO2
Training Center 4 - 15 Системные функции
Упражнение 4.5: Запись сообщений в
диагностический буфер

Выполни упражнение 4.5.

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: prog3_4R.16

Siemens AG ST-7PRO2
Training Center 4 - 16 Системные функции
Упражнение 4.6: Удаление DB с помощью SFC 21
(FILL)

Выполни упражнение 4.6.

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: prog3_4R.17

Siemens AG ST-7PRO2
Training Center 4 - 17 Системные функции
Упражнение 4.7: Считывание времени и даты с
помощью SFC 1 (READ_CLK)

Выполни упражнение 4.7.

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information
and Training Center
Siemens AG 1997. All rights reserved. File No.: prog3_4R.18

Siemens AG ST-7PRO2
Training Center 4 - 18 Системные функции
Использование библиотек

FC 100 FC 101 FC 102 FC 103

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: pro3_5R.1

Содержание: Страница

• Конфигурация и содержимое стандартной библиотеки............................................... 2


• Обзор функций IEC (Часть 1)...............................................................…………………..3
• Обзор функций IEC (Часть 2)..............................................................………………….. 4
• Обзор библиотеки FBLIB2 (Часть 1)..............................................................…………... 5
• Обзор библиотеки FBLIB2 (Часть 2)..............................................................………...… 6
• Функции S5/S7 ............................................................................................……………… 7
• Системные функции..........................................................................................…....…… 8
• Пример для использования функций IEC……………..................................... …………. 9
• Создание Ваших собственных библиотек..........................................................…....…. 10
• Заметки о библиотеках..........................................................................……..…....…….. 11
• Упражнение 5.1: Масштабирование аналоговой величины.......................................... 12
• Упражнение 5.2: Изменение времени CPU на стандартное время............................. 13

Siemens AG ST-7PRO2
Training Center 5-1 Использование библиотек
Конфигурация и содержимое стандартной
библиотеки

BIBL_T1D

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: pro3_5R.2

Введение Библиотеки служат для хранения многократно используемых программных


компонентов SIMATIC S7. Библиотека состоит из одной или нескольких
программ S7. STEP 7 содержит стандартные библиотеки stlib(V2) для
версии 2 и stlib30 для версии 3.Программные блоки (FC, FB, OB, DB) не
могут передаваться из библиотеки на CPU и тестироваться. Это означает,
что сначала Вы должны перенести блоки в проект.
Открытие Используйте пункт меню File --> Open --> Library. Вы не можете
библиотеки использовать кнопку “Open” на панели инструментов. Затем выберите
нужную Вам библиотеку на диалоговом экране.
Стандартная Стандартная библиотека stdlibs поставляется вместе с программным
библиотека обеспечением STEP. Библиотека храниться на жёстком диске, а именно:
\step7_v2\s7libs\stdlibs. Стандартная библиотека stlib30 содержит
следующие программы S7:
-stdobs со всеми доступными организационными блоками
-iec содержит блоки для функций IEC, как например обработка типа
данных DATE_AND_TIME, операции над строками, и т.д.
-fblib1 со стандартными блоками, необходимыми для преобразования
программ S5 в программы S7
-fblib2 с обычно используемыми стандартными функциями, такими как
масштабирование аналоговых величин
-builtin содержит все системные функции S7-300/400
- PID Control с функциональными блоками для PID-регулирования
-NET DP с функциями для распределенных I/O и для соединений FDL
Замечания Дополнительные библиотеки создаются во время инсталляции
опциональных программных пакетов. Описание программ PID и FBLIB2 S7
располагаются: Task bar --> SIMATIC--> S7 manuals --> PID Control or
Standard Functions, Part 2.

Siemens AG ST-7PRO2
Training Center 5-2 Использование библиотек
Обзор функций IEC (Часть 1)
Блок Символ Серия Описание
FC 3 D_TOD_DT Convert Объединение DATE и TIME_OF_DAY в DT
FC 6 DT_DATE Convert Извлечение DATE из DT
FC 7 DT_DAY Convert Извлечение дня недели из DT
FC 8 DT_TOD Convert Извлечение TIME_OF_DAY из DT
FC 33 S5TI_TIM Convert Преобразование S5TIME в TIME
FC 40 TIM_S5TI Convert Преобразование TIME в S5TIME
FC 16 I_STRNG Convert Преобразование INT в STRING
FC 5 DI_STRNG Convert Преобразование DINT в STRING
FC 30 R_STRNG Convert Преобразование REAL в STRING
FC 38 STRNG_I Convert Преобразование STRING в INT
FC 37 STRNG_DI Convert Преобразование STRING в DINT
FC 39 STRNG_R Convert Преобразование STRING в REAL
FC 9 EQ_DT DT Сравнение DT на равенство
FC 12 GE_DT DT Сравнение DT на больше чем или равно
FC 14 GT_DT DT Сравнение DT на больше чем
FC 18 LE_DT DT Сравнение DT на меньше чем или равно
FC 23 LT_DT DT Сравнение DT на меньше чем
FC 28 NE_DT DT Сравнение DT на не равно
FC 10 EQ_STRNG String Сравнение STRING на равенство
FC 13 GE_STRNG String Сравнение STRING на больше чем или равно
FC 15 GT_STRNG String Сравнение STRING на больше чем
FC 19 LE_STRNG String Сравнение STRING на меньше чем или равно
FC 24 LT_STRNG String Сравнение STRING на меньше чем
FC 29 NE_STRNG String Сравнение STRING на не равно BIBL_T1D

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: pro3_5R.3

Введение Функции IEC делают доступными блоки для обработки форматов


данных, например, таких как DATE_AND_TIME и STRING. Поскольку
эти типы данных больше 32 бит, они не могут загружаться в ACCU и
не могут быть в дальнейшем отредактированы.
Эти типы данных соответствуют стандарту IEC 1131, согласно
которому был разработан язык программирования STEP 7.
Преобразование Блоки FC 3,6,7,8 из группы преобразования служат для обработки
типов данных DATE и TIME_OF_DAY. Это создаёт возможность
связывать типы данных друг с другом или выделять части из них.
Блоки FC 33/44 передают различные типы данных S5TIME и TIME
друг другу. S5TIME имеет то же значение времени как и в SIMATIC S5,
вплоть до максимума, составляющего 2 часа, 46 минут, 30 секунд,
тогда как значение времени TIME (IEC) разрешает максимальный
диапазон вплоть до 24 дней, 20 часов, 31 минут и 23 секунд.
Блоки FC 16/5/30/38/37/39 преобразуют целые и действительные
числа в символьную строку и наоборот.
DT Эти блоки сравнивают две переменные типа данных DATE_AND_TIME
для =, >. >=, >, >=, <>.
Строка (String) При помощи этих блоков Вы можете сравнивать две переменные
строчного типа данных друг с другом.

Siemens AG ST-7PRO2
Training Center 5-3 Использование библиотек
Обзор функций IEC (Часть 2)
Блок Символ Серия Описание

FC 21 LEN String Длина переменной STRING


FC 20 LEFT String Левая часть переменной STRING
FC 32 RIGHT String Правая часть переменной STRING
FC 26 MID String Средняя часть переменной STRING
FC 2 CONCAT String Объединение двух переменных STRING
FC 17 INSERT String Вставка в переменную STRING
FC 4 DELETE String Удаление из переменной STRING
FC 31 REPLACE String Замена в переменной STRING
FC 11 FIND String Поиск в переменной STRING
FC 1 AD_DT_TM Floating Point Math Прибавление интервала времени
FC 35 SB_DT_TM Floating Point Math Вычитание интервала времени
FC 34 SB_DT_DT Floating Point Math Вычитание двух точек времени
FC 22 LIMIT Floating Point Math Ограничитель
FC 25 MAX Floating Point Math Максимальный выбор
FC 27 MIN Floating Point Math Минимальный выбор
FC 36 SEL Floating Point Math Двоичный выбор

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: pro3_5R.4

Строка(String) Блоки этой группы служат для редактирования переменных


типа данных STRING.
- FC 21 возвращает текущую длину символьной строки.
- FC 20 возвращает первую часть символьной строки.
- FC 32 возвращает последний символ символьной строки.
- FC 26 возвращает среднюю часть символьной строки.
- FC 2 объединяет две строковые переменные в одну.
- FC 17 включает символьную строку в определённую позицию.
- FC 4 удаляет символьную строку из определённой позиции.
- FC 31 заменяет символьную строку в определенной позиции.
- FC 11 ищет положение символьной строки в переменной string.
Математика - FC1 прибавляет интервал времени (формат time) к точке
с плавающей точкой времени (DATE_AND_TIME)
(Floating Point Math) - FC 35 вычитает интервал времени (формат time) из точки
времени (DATE_AND_TIME)
- FC 34 вычитает две точки времени (DATE_AND_TIME)
- FC 22 ограничивает величину переменной (INT или REAL)
до параметризированного предельного значения.
- FC 25 ищет наибольшую величину из трёх переменных.
- FC 27 ищет наименьшую величину из трёх переменных.
- FC 36 выбирает одну переменную из двух переменных в
зависимости от ключа.

Siemens AG ST-7PRO2
Training Center 5-4 Использование библиотек
Обзор библиотеки FBLIB2 (Часть 1)
Блок Символ Описание

FC 80 TONR Запуск таймера с задержкой включения.


FC 81 IBLKMOV Косвенный перенос области данных.
FC 82 RSET Очистка области меркеров или области I/O.
FC 83 SET Установка области меркеров или области I/O.
FC 84 ATT Ввод значения в таблицу.
FC 85 FIFO Вывод первой табличной величины.
FC 86 TBL_FIND Поиск значения в таблице.
FC 87 LIFO Вывод последней табличной величины.
FC 88 TBL Выполнение табличной операции.
FC 89 TBL_WRD Копирование значения из таблицы.
FC 90 WSR Сохранение данных в сдвиговом регистре.
FC 91 WRD_TBL Логическое объединение с элементом таблицы и его сохранение.
FC 92 SHRB Сдвиг бита в сдвиговом регистре.
FC 93 SEG Создание битового образца для для 7-сегментного дисплея.
FC 94 ATH Преобразование ASCII - кода в шестнадцатеричное число.
FC 95 HTA Преобразование шестнадцатеричного числа в ASCII- код.
FC 96 ENCO Установка определённого бита в слове.
FC 97 DECO Считывание номера бита наименьшего значащего разряда.
FC 98 BCDCPL Создание десятичного дополнения.
FC 99 BITSUM Вычисление числа установленных битов.

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: pro3_5R.5

FC 80 Запуская функцию времени как таймер с задержкой включения (TONR)


начинается отсчет времени до тех пор, пока текущая величина времени
(ET) не станет такой же, как заданное значение (PV) или не превысит его.
Поскольку функция TONR для накопления значения времени использует
время цикла последнего OB, Вы можете использовать эту функцию
только для OB, которые постоянно повторяются, например, OB1 или
циклические OB.
FC 81 При помощи функции косвенного переноса области данных (IBLKMOV,
Вы можете переносить области данных, состоящих из байт, слов, целых
чисел (16 бит), удвоенных слов или целых чисел (32 бита) из источника в
приемник. Указатели S_DATA и D_DATA определяют начальные адреса
источника и приемника. Так как переносимые данные передаются
косвенным путём, поэтому функция называется функцией косвенного
переноса.
FC 82/83 Устанавливают состояния битов в заданной области (I,Q,M,D) в ”1” (FC
83) или в "0" (FC 82), если бит MCR равен “1.” Если бит MCR равен ”0”,
то состояние битов в этой области не изменяется.
FC 84-FC92 Связаны с табличными функциями, например, для осуществления
функций FIFO. Значения имеют формат “word” и количество (длина)
регулируется.
FC 93-FC 99 Эта группа делает доступными различные преобразовательные функции.

Siemens AG ST-7PRO2
Training Center 5-5 Использование библиотек
Обзор библиотеки FBLIB2 (Часть 2)
Блок Символ Описание

FC 100 RSETI Очистка области ввода.


FC 101 SETI Установка области ввода.
FC 102 DEV Среднеквадратичное отклонение
FC 103 CDT Коррелированные таблицы данных
FC 104 TBL_TBL Операции над логическими таблицами
FC 105 SCALE Масштабирование значения
FC 106 UNSCALE Немасштабированная величина
FB 80 LEAD_LAG Алгоритм опережения/задержки
FB 81 DCAT Дискретное управляющее прерывание
FB 82 MCAT Прерывание управления двигателем
FB 83 IMC Сравнение индексов матриц
FB 84 SMC Матричное сканирование
FB 85 DRUM DRUM (процессор последовательности)
FB 86 PACK Сбор/распределение табличных данных

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: pro3_5R.6

FC 100-FC 101 Функция FC100 (RSETI) сбрасывает назначенный битовый массив в


области периферии (Р-область) в ”0” , а FC 101 (SETI), соответственно,
устанавливает его в "1” , если бит MCR равен ”1”. Если бит MCR
равен ”0” , то состояния байтов в этой области не изменяется.
FC 102 Функция среднеквадратичного отклонения (DEV) вычисляет
среднеквадратичное отклонение для группы величин, хранящихся в
таблице (TBL). Результат записывается в OUT . Среднеквадратичное
отклонение вычисляется согласно следующей формуле:

(N * Qusum) - sum2
N * (N - 1) среднеквадратичное отклонение =
и: sum = сумме значений в TBL , N = количеству значений в TBL
Qusum = корню квадратному из суммы всех значений в TBL
FC 103 Функция сравнивает коррелированные таблицы данных (CDT) на входе
(IN) с уже существующей таблицей, содержащей входные значения ,
на 2-м входе (IN_TBL) и ищется первое значение, которое больше
входного значения или равно ему. При помощи индекса
обнаруженного значения, величина копируется в соответствующее
значение выходной величины (OUT) таблицы выходных значений
(OUT_TBL).
FC 104-FC 105 Служит для масштабирования аналоговой величины для аналогового
входа или аналогового выхода.
FB 80- FB 86 Ссылайтесь на электронное руководство.

Siemens AG ST-7PRO2
Training Center 5-6 Использование библиотек
Функции S5/S7
Программа S5 Программа S7

JU FB 240
COD:B4 CALL FC81
Преобразование S5/S7
BCD: MW 114 BCD: MW114
SBCD: M 0.0 SBCD: M0.0
DUAL: MW 116 DUAL: MW 116

BIBL_T1D

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: pro3_5R.7

Введение Библиотека состоит из стандартных блоков S7, необходимых для


преобразования программ S5. Это означает, что, если FB 240 является
стандартным блоком, представленным в программе S5, то блок FC 81 в
библиотеке заменяет стандартный блок FB 240.
Поскольку преобразователь только переносит блок вызова FC 81, Вы
должны скопировать вызванный блок из библиотеки в Вашу
S7 -программу.
Содержимое Библиотечные блоки разделяются на следующие функции:
библиотеки - Арифметика с плавающей точкой, например, сложение и вычитание
- Сигнальные функции, например, удвоение частоты начальный сигнала
- Встроенные функции, как например, кодовый преобразователь BCD -
Dual (двоично-десятичный в двоичный)
-Основные логические функции, например, LIFO
Руководство В общих деталях блоки описаны в Руководстве по преобразованию
программ для STEP 5 .
Online-помощь В редакторе программ вызовите Help --> Help topics --> References -->
Additional reference aids --> Help with S5/S7 functions.
Примечание Признаки слова состояния также используются для этих блоков, что было
типично для SIMATIC S5.

Siemens AG ST-7PRO2
Training Center 5-7 Использование библиотек
Системные функции

BIBL_T1D

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: pro3_5R.8

Введение Вы видите содержимое библиотеки builtin выше на слайде.


Содержание ее связано с системными функциями SFC/SFB, которые
хранятся в операционной системе CPU.
Итак, Вы можете создать Вашу offline-программу ( не перемещая
блоки из CPU на жёсткий диск), используя для этого блоки из
библиотеки.

Siemens AG ST-7PRO2
Training Center 5-8 Использование библиотек
Пример для использования функций IEC

BIBL_T1D

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: pro3_5R.9

Пример Пример для использования системной функции показан на слайде выше.


Срок последнего запуска был определён. Если запуск был выполнен
11.11.1997, блок должен быть закрыт.
Описание Дата и время хранятся в начальной информации (L -стек) вызываемых
организационных блоков. Для OB 100 это переменная
OB100_DATE_TIME. Функция FC6 ( IEC) преобразует информацию из
переменной типа DT.
Описание параметров блока:
IN: Символьная переменная типа DT
RET_VAL: Выходное значение для даты, как с целое число (количество
дней, начинаемых с 1.1.1990)

Затем в программе дата сравнивается с 11.11.1997, и блок закрывается


при равенстве.

Siemens AG ST-7PRO2
Training Center 5-9 Использование библиотек
Создание Ваших собственных библиотек

BIBL_T1D

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: pro3_5R.10

Функционирование Для создания новой библиотеки действуйте как описано ниже:


- Выберете меню File --> New --> Library .
- Установите на экране директорию и имя библиотеки.
- Используя правую кнопку мыши вставьте в библиотеку новый
объект S7-программу : Isert new object --> S7 programm
- Теперь Вы можете вставить или скопировать блок в программу
пользователя как обычно.

Siemens AG ST-7PRO2
Training Center 5 - 10 Использование библиотек
Заметки о библиотеках

Библиотеки полезны для часто используемых блоков или


исходных программ.
Файловая структура для библиотек такая же как для проектов,
за исключением HW- станции.
Библиотека не может иметь такое же имя, какое имеют
существующие проекты или библиотеки.
Блоки не могут передаваться из библиотеки в CPU напрямую, а
лишь через использование в проекте.
Библиотеки могут быть архивированы.

BIBL_T1D

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: pro3_5R.11

Правила Слайд показывает Вам наиболее важные правила , которые Вы


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

(Смотрите Системное программное обеспечение для S7-300/400 и


Руководство по системным и стандартным функциям.)

Siemens AG ST-7PRO2
Training Center 5 - 11 Использование библиотек
Упражнение 5.1: Масштабирование аналоговой
величины

Выполните упражнение 5.1.

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: pro3_5R.12

Siemens AG ST-7PRO2
Training Center 5 - 12 Использование библиотек
Упражнение 5.2: Изменение времени CPU на
стандартное время

Выполните упражнение 5.2.

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: pro3_5R.13

Siemens AG ST-7PRO2
Training Center 5 - 13 Использование библиотек
Управление данными в программе пользователя.

UEB_UPP

Knowledge for Automation


SIMATIC S7 Date: 14/12/97
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: Pro3_6R.1

Содержание: Страница

• Область данных в SIMATIC S7………......................................................................... 2


• Блоки данных............................................................……...............................…........... 3
• Элементарные типы данных........................................................................................ 4
• Одномерные, комплексные типы данных...................………….................................. 5
• Объединение структуры и массива.............................................................................. 6
• Многомерные, комплексные типы данных ……...............................…..……............... 7
• Структура и массив в FC/FB...............…......……...............................................…… 8
• Обращение к структурам и массивам в FC/FB..................................................……. 10
• Представление данных в DB..................................................................................…. 11
• Доступ к данным в DB...................................................................................………... 12
• Вычисление информации о DB в программе…...…...................................................13
• Создание DB в режиме исходного текста.................................................................. 14
• Упражнение 6.1: Использование структур и массивов в блоке данных.................... 15

Siemens AG ST-7PRO2
Training Center 6-1 Управление данными
Области данных в SIMATIC S7

Память меркеров

Отображение входов/выходов

Локальные данные

Блоки данных

- экземпляр блока данных

- глобальные блоки данных

- нелинкуемые блоки данных (только в загрузочной памяти)

Аккумуляторы , регистры, слово состояния

Knowledge for Automation


SIMATIC S7 Date: 14/12/97
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: Pro3_6R.2

Память Пользовательская программа использует эту область данных.


меркеров: Операционная система изменяет ее только при таких событиях, как полная
перезагрузка.
Отображение Операционная система влияет на эту область данных. Текущие
входов: фактические значения для байтов входных сигналов передаются в эту
область в начале OB1.
Отображение Пользовательская программа изменяет эту область данных. Текущие
выходов: значения из этой области передаются на модули DO в конце OB1.
Локальные Блоки программы используют эту область данных. Эта область данных
данные: доступна только во время выполнения этих блоков.
После выхода из этих блоков, содержимое области данных не определено.
Блоки данных: Блоки данных содержат области данных которые могут содержать уже
определённые данные, на которые может влиять только программа
пользователя.
Программа пользователя не может непосредственно обращаться к данным
блоков DB с атрибутом UNLINKED (они хранятся только в загрузочной
памяти). С помощью SFC20 эти блоки данных должны быть сначала
скопированы в существующую область данных в рабочей памяти.
Аккумуляторы, Программа пользователя и операционная система используют эти
Регистры, области данных для активного управления данными.
Слово состояния:

Siemens AG ST-7PRO2
Training Center 6-2 Управление данными
Блоки данных

Global
GlobalDB
DB Local
LocalDB
DB
(Глобальные)
(Глобальные) (Локальные)
(Локальные)

Write-protected
Write-protected
Unlinked
UnlinkedDB
DB DB
DB
(Нелинкуемые)
(Нелинкуемые) (Защищённые
(Защищённыеот от
записи)
записи)

Knowledge for Automation


SIMATIC S7 Date: 14/12/97
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: Pro3_6R.3

Глобальные DB Символическое обращение к элементам данных возможно из комплектных


программ пользователя. Пользователь индивидуально описывает структуры
данных для глобальных блоков данных. Структура данных не зависит от
программных блоков. Глобальных блоки данных загружаются в рабочую
память S7-CPU (исключение: нелинкуемые DB).
Если новый блок данных формируется с SFC22, то этот блок данных
является глобальным блоком данных.
Локальные DB Символьное обращение к элементам данных возможно только из связанных
с ними FB или SFB. Пользователь отдельно не может изменить структуру
блока данных, потому что структура данных передаётся из раздела
описания FB к экземпляру DB при создании DB.
Связанные блоки данных ( экземпляры) загружаются в рабочую память S7-
CPU.
Нелинкуемые DB Атрибут блока UNLINKED определяется в исходном тексте блоков данных (в
текстовом формате ) и используeтся для переноса стандартных данных.
Нелинкуемые блоки данных являются глобальными DB и система загружает
их только в загрузочную память CPU. Если стандартные данные
несвязанных блоков данных нуждаются в рабочей памяти CPU, тогда
пользовательская программа должна сначала перенести требуемую
информацию с помощью SFC20 (блок переноса) в память для хранения
данных, выделенную для этих целей (такую же как для глобального DB).
Защищeнные Программа может защищать блоки данных от стирания. Блок должен
от записи иметь атрибут READ_ONLY в исходном тексте программы на STL.
DB Эта информация должна быть представлена в отдельной строке с
описанием переменных.

Siemens AG ST-7PRO2
Training Center 6-3 Управление данными
Элементарные типы данных.

Используй
правую
кнопку мыши
для выбора.

Knowledge for Automation


SIMATIC S7 Date: 14/12/97
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: Pro3_6R.4

Блоки данных: Структура данных в блоке данных описывается в описательной части


между ключевыми словами STRUCT и END_STRUCT.

Элементарный Этот тип данных используется для определения отдельных,


тип данных: единичных данных. Этот тип данных также используется для точного
определения данных внутри сложного типа данных.

Доступ к данным: Внутри FB может быть символьный доступ к данным связанного


блока данных. Символьным может быть только полный доступ (имя
DB . имя данных) к глобальным данным. В других случаях может
быть только абсолютный доступ к данным.

Siemens AG ST-7PRO2
Training Center 6-4 Управление данными
Одномерные , сложные типы данных

STRING[n] for n=1..254

Knowledge for Automation


SIMATIC S7 Date: 14/12/97
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: Pro3_6R.5

Описание: Комплексные типы данных содержат элементарные типы данных или


другие комплексные типы данных. Посредством комплексных типов
данных, сложные структуры данных могут использоваться в программе при
помощи обычных инструкций.
Имя: STRUCT....END_STRUCT
Желаемые типы данных должны быть описаны между двух ключевых слов.
Имя (указатель) назначается структуре в разделе описания. Для
символической выборки определяется только имя структуры.
Имя : ARRAY[n..m]
Массив содержит m-n+1 элементов данных. Имя (указатель)
присваивается типу array в разделе описания. Когда используется редактор
STL, слово “of” не используется.
Имя: STRING[n]:
Тип данных состоит из n байт, хранимых ASCII-код. STRING[n]
предполагает, что n=1..254
Тип данных : DATE_AND_TIME:

Siemens AG ST-7PRO2
Training Center 6-5 Управление данными
Объединение структуры и массива

Пример: Структура - Массив - Структура -Массив

Knowledge for Automation


SIMATIC S7 Date: 14/12/97
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: Pro3_6R.6

Вложенность: Комплексные и элементарные типы данных могут вкладываться


друг в друга.

Siemens AG ST-7PRO2
Training Center 6-6 Управление данными
Многомерные, сложные типы данных.

Расположение ‰ ‰ ‰ ‰ ‰
конвейера 1
Расположение ‰ ‰ ‰ ‰ ‰
конвейера 2

Расположение ‰ ‰ ‰ ‰ ‰
конвейера 3
Заполненные позиции + 10 измеренных значений
в каждой позиции

Knowledge for Automation


SIMATIC S7 Date: 14/12/97
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: Pro3_6R.7

Массивы: Массивы могут быть 6-мерными.


Пример для 4-х мерных:
RACK: 5 колонок , 10 столбцов , 5 уровней , 3 подуровня

результат: RACK: ARRAY[1..5,1..10,1..5,1..3] of INT; (в исходном


тексте)
или в редакторе STL/LAD

Структуры: Структуры могут быть вложенными до восьми уровней.


Типа данных structure должна содержать хотя бы два компонента
после ключевого слова STRUCT. Один компонент структуры типа
данных считается только как один компонент. Типа данных structure
заканчивается ключевым словом END_STRUCT.

Siemens AG ST-7PRO2
Training Center 6-7 Управление данными
Структура и массив в FC/FB

Параметр/Тип переменной FB FC

Параметр
x x
Временная переменная
x x
Статистическая переменная
x -

Knowledge for Automation


SIMATIC S7 Date: 14/12/97
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: Pro3_6R.8

FB: Данные сохраняются в связанных DB. Следовательно, когда


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

FC: Когда вызывается FC, все параметры должны обеспечиваться


текущими значениями. STEP 7 создаёт указатели для текущих
значений. Для описания констант STEP 7 использует локальные
данные как буфер.

Во время вызова блока задание параметров, имеющих комплексный


тип данных, должно быть в символьном виде. Необходимо
существование соответствующего описания в области данных CPU,
такого как глобальный блок данных.

Siemens AG ST-7PRO2
Training Center 6-8 Управление данными
Обращение к структуре и массиву в FC/FB

Knowledge for Automation


SIMATIC S7 Date: 14/12/97
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: Pro3_6R.9

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


осуществляется преимущественно только символьно .

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

Siemens AG ST-7PRO2
Training Center 6-9 Управление данными
Структуры и массивы в DB

Knowledge for Automation


SIMATIC S7 Date: 14/12/97
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: Pro3_6R.10

Раздел описаний: Структура данных DB может быть отображена на дисплее кратко и ясно
в разделе описаний. STEP 7 вычисляет абсолютные адреса байтов и
вводит их в первую колонку (“Adresse”) таблицы.
Обозначение для данных вносится в поле “Name” (максимум 24 знака).
Тип данных вносится в поле “Type” .
Начальное значение может быть присвоено данным в поле “Initial value”.
Например, для типа данных ARRAY[n..m] это вводится как 10(5).
Количество элементов вводится перед круглыми скобки, а значение
указывается в круглых скобках. Назначенные значения для отдельных
элементов не присутствуют в описании.

Siemens AG ST-7PRO2
Training Center 6 - 10 Управление данными
Представление данных в DB

Knowledge for Automation


SIMATIC S7 Date: 14/12/97
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: Pro3_6R.11

На этом дисплее элементы данных представлены подробным


списком, отражающем все отдельные элементы блока данных.
Каждый элемент данных получает однозначный присвоенный ему
адрес и однозначное, полное символьное имя. Элемент требуемых
данных может быть адресован в символьной адресации по его имени.
Текущее значение здесь может быть присвоено отдельным элементам
(столбец - “current value” - текущее значение).

Siemens AG ST-7PRO2
Training Center 6 - 11 Управление данными
Обращение к данным в DB

абсолютно: L DBn.DBWm, где n= номер DB и m=номер байта

если DBn был уже открыт : L DBWm


L DBBm
L DBDm

косвенно: OPN DB[MW2]


L DBW[AR1,P#0.0]

символьно: L "Motor".speed , если motor - имя DB в таблице символов


L "Motor".RACK[1].row[1].column[1].level[2]

Knowledge for Automation


SIMATIC S7 Date: 14/12/97
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: Pro3_6R.12

Комментарии: Доступ к полной структуре (например, копирование) может быть


только символьным.
Символьное описание не возможно в STL.
Для обеспечения параметров значениями из блока данных, требуется
описание полного адреса в символьной или абсолютной форме.
Пример:
абсолютная форма
CALL FB 2
Quantity: DB5.DBB4

или символьная форма


CALL fill
Quantity: container.sort1
где имя DB container должен быть представлено в
символьной таблице.

Обозначения для вложенных типов данных разделяются друг от


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

Siemens AG ST-7PRO2
Training Center 6 - 12 Управление данными
Вычисление информации о DB

Регистр DB (DB1 register) Регистр DI (DB2 register)

до DB no. : 123 DI no. : 24

TDB

после DB no. : 24 DI no. : 123

L DBNO --> в ACCU 1: 24 L DINO --> в ACCU1: 123

L DBLG ---> in ACCU1: L DILG ---> in ACCU1:


Количество байтов данных из DB 24 Количество байтов данных из DI 123

Knowledge for Automation


SIMATIC S7 Date: 14/12/97
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: Pro3_6R.13

Регистр блока данных:


Эти регистры содержат текущие достоверные номера открытых блоков
данных. Два блока данных могут быть открыты одновременно : один
глобальный блок данных и один экземпляр. Ввод текущего номера DB в
регистры (n) осуществляется с помощью команд OPN DBn или OPN Dln.
TDB: Эта команда воздействует на регистры блоков данных. ACCU1 не
изменяется.
L DBLG, L DILG: Эти команды считывают длину данных в байтах у текущих открытых
блоков данных.
L DBNO, L DINO: Эти команды считывают номер текущих открытых блоков данных.

Примечание: Регистры блоков данных изменяются во время команды CALL FBn, DBm.
Следовательно, необходимо открывать глобальный блок данных опять
при помощи команды OPN DB, например, после команды CALL FBn, DBM
или перед использованием глобального блока данных. Вам следует
избегать использования команды OPN DI внутри FB. Если вызов DI внутри
программы FB необходим, то содержимое регистра DI должно быть
буферизировано:
L DINO
T MWxxx
......…инструкции с OPN DI bbb, и т.д.
OPN DI[MWxxx]

Siemens AG ST-7PRO2
Training Center 6 - 13 Управление данными
Создание DВ в режиме исходного текста
Исходный
файл

Компилирование

Просмотр данных
в редакторе STL

Knowledge for Automation


SIMATIC S7 Date: 14/12/97
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: Pro3_6R.14

Главное: Когда DB вводится в исходный текст программы, то редактор STL


обеспечивает ввод в неё с помощью доступного шаблона DB. Этот
шаблон включается в исходную программу следующим образом:
INSERT --> BLOCK TEMPLATE -> DB
Следующее должно вставляться в шаблон как блок информации :
номер DB (>0), название, автор, группа, имя, версия.
Структура данных для блока данных должна располагаться между
ключевыми словами STRUCT и END_STRUCT :
Обозначение: тип данных: =начальное значение
Обозначение =Имя(максимум 24 знака)
Тип данных = Элементарный, комплексный, пользовательский
и смешанный.
Начальное значение =является необязательным и передается как
фактическое значение при создании DB..
Пользовательский тип данных UDT: Структура данных для пользовательского типа
данных UDTn должна располагаться между ключевыми
словами TYPE и END_TYPE.
Назначение UDT в DB делает структуру
данных в DB активной. Изменения
возможны только в UDT. UDT может быть
интегрирован как тип данных на уровне
описания DB.

Siemens AG ST-7PRO2
Training Center 6 - 14 Управление данными
Упражнение 6.1: Использование структур и
массивов в блоке данных
Выполните упражнение 6.1.

Knowledge for Automation


SIMATIC S7 Date: 14/12/97
Information and
Training Center
Siemens AG 1997. All rights reserved. File No.: Pro3_6R.15

Упражнение 6.1: Создание блока данных с вложенными типами данных и


практическая обработка этих типов данных в программе.

z См. главу 8 (16 бит-SM) или 9 (32 бит-SM): Задания к упражнениям.

Siemens AG ST-7PRO2
Training Center 6 - 15 Управление данными
Конфигурирование гомогенных соединений

SIMATIC S7 Date: 01/12/98


File No. PRO3_7R. 1
Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved.

Содержание: Страница
• Соединения с SIMATIC…………………………………………………………………….……… 2
• Утилиты коммуникаций для SIMATIC…………………………………………………..……….. 3
• Методы коммуникаций для однородных соединений………………………………………… 4
• Количественная оценка коммуникаций для S7-CPU…………………………………………. 5
• Глобальные данные, общие сведения…………………………………………………………… 6
• Глобальные данные, конфигурирование………………………………………………………… 7
• Глобальные данные, конфигурирование………………………………………………………… 8
• Глобальные данные, таблица Global Data ……………………………………………………… 9
• Глобальные данные, коэффициент передачи и статус ……………………………………… 10
• Глобальные данные, передача по событиям…………………………………………………… 11
• Глобальные данные, тестирование сообщений…………………………………………….…. 12
• SFC коммуникации, общие сведения…………………………………………………………….. 13
• SFC коммуникации, обзор блоков……………………………………………………………..…. 14
• SFC коммуникации, блок X_SEND………………………………………………………………. 15
• SFC коммуникации, блок X_RCV………………………………………………………………….. 16
• SFB коммуникации, общие сведения…………………………………………………………….. 17
• SFB коммуникации, обзор блоков SFB…………………………………………………………… 18
• SFB коммуникации для односторонней связи………………………………………………….. 19
• SFB коммуникации с двусторонней связью………………………………………………………20
• SFB коммуникации, таблица соединений……………………………………………………….. 21
• SFB коммуникации, SFB 19: START………………………………………………………………. 22
• SFB коммуникации, SFB 20: STOP……………………………………………………………….. 23
• SFB коммуникации, инициализация в OB100 …………………………………………………. 24
• Демонстрация: упражнение 7.1: коммуникации с блоками SFB “START/STOP” ……….. 25
• SFB коммуникации, SFC 62: CONTROL ………………………………………………………... 26
• SFB коммуникации, SFB 14: GET………………………………………………………………….27
• SFB коммуникации, SFB 15: PUT…………………………………………………………………. 28
• Демонстрация упражнения 7.2: коммуникации с блоками SFB "GET/PUT ” …………….. 29
• SFB коммуникации, SFB 8: USEND………………………………………………………………. 30
• SFB коммуникации, SFB 9: URCV…………………………………………………………………. 31
• SFB коммуникации, SFB 12: BSEND…………………………………………………………….. 32
• SFB коммуникации, SFB 13: BRCV ………………………………………………………………. 33
• Демонстрация упр. 7.3 для 2-х S7-400: коммуникации через SFB "BSEND/BRCV " …… 34

Siemens AG ST-7PRO2
Training Center 7- 1 Конфигурирование однородных
коммуникаций
Соединения с SIMATIC

SIMATIC C7/OP SIMATIC S7-400 SIMATIC M7-400

PG 720

Точка к точке
PtP- сеть

MPI сеть
PROFIBUS DP/FMS (SINEC L2)
Industrial Ethernet (SINEC H1)

Разнообразные
-SINUMERIK SIMATIC S5 SIMATIC S7-300 SIMATIC M7-300 Промышленные/
-RCM стандартные PC
-TI 505
-Другие производители
PLC

SIMATIC S7 Date: 01/12/98


File No. PRO3_7R. 2
Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved.

MPI Это многоточечный интерфейс, имеющийся в SIMATIC S7/M7. Интерфейс


был задуман для нижнего уровня и стал элементом сетевого
взаимодействия для новых CPU. Максимально возможно 32 узла (в
зависимости от CPU) . Типичное время реакции для 4-х узлов - 200 ms.
PROFIBUS DP/FMS: PROCESS FIELD BUS DP (распределенные I/O ) соответствует стандарту
DIN 19245, Часть 1+3. Это быстрая сеть для небольшого количества данных
для дискретных цифровых устройств и аналоговых полевых устройств с
временем реакции менее чем 10 ms. Максимум возможно 64 слэйва (slave) в
сети Profibus. Самое малое время реакции: 1ms для 12 Mбод или 5ms для
1.5 Mбод для небольшого количества данных. Количество данных
пользователя <=244 байт на узел для CP 443-5.
PROCESS FIELD BUS FMS (FIELD MESSAGE SYSTEM) - система сообщений
для полевых устройств - соответствует стандарту DIN 19245, Часть 1+ 2.
Это быстрая ячеистая сеть (сеть с активными узлами) до 10 активных
участников. Среднее количество данных <= 244 байт на один узел.
Среднее время реакции 60 ms для 1.5 MБод.
Industrial Ethernet: Это ячеистая сеть соответствует стандарту IEEE 802.3 для PG,
COMPUTERS, PC, и PLC для обмена большим количеством данных и для
более чем 1000 активных участников.
PtP соединение с ASCII драйверами, 3964(R), RK512
- Point-to-point связь с ASCII драйверами делает возможным подключение к
считывателям штрих-кода и дисплеям с простой структурой телеграмм.
- Процедура 3964R делает возможной связь двух программируемых
контроллеров, однако, она требует вычисления длины телеграмм, например,
для повышения безопасности программы пользователя.
- Компоновщик RK512 делает возможной связь двух программируемых
логических контроллеров и предлагает высокую надежность данных
посредством квитирования телеграмм и контроля областей данных у
партнера.
- Драйверы принтера и другие драйверы (в разработке).
Siemens AG ST-7PRO2
Training Center 7- 2 Конфигурирование однородных
коммуникаций
Утилиты коммуникаций для SIMATIC

Функции для коммуникаций с S7


(S7 функции)

Утилиты FDL (SDA)


ISO transport FMS
GD
ISO-on-TCP DP

Industrial
Подсеть Profibus MPI
Ethernet

SIMATIC S7 Date: 01/12/98


File No. PRO3_7R. 3
Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved.

Утилиты Утилиты коммуникаций связаны с функциями для коммуникаций, имеющих


определенные рабочие характеристики, такие как обмениваемые данные,
устройства управления и наблюдения, загружаемые программы. Утилиты
коммуникаций для SIMATIC S7 доступны через программный интерфейс, как,
например, системные функции.
S7 функции S7 функции являются утилитами для коммуникаций между S7/M7-CPU, OP и
PC. S7 функции уже вседа интегрированы в контроллерах SIMATIC. Эти
функции не зависят от подсети и могут поэтому использоваться во всех
сетях.
ISO Transport Служит для надежной передачи данных между SIMATIC S5 и S7.
Используется для передачи среднего объма данных (до 240 байт).
ISO-on-TCP Служит для надежной передачи среднего объема данных между SIMATIC S7
и PC или производителями других систем через сети с протоколом TCP/IP.
FDL (SDA) Служит для надежной передачи среднего объема данных между SIMATIC S7
и S5. Соответствует уровню 2 Fieldbus Data Link (FDL) для Profibus.
FMS Fieldbus Message Specification (FMS) - служит для передачи
структурированных данных (FMS переменных). Утилиты FMS соответствуют
стандарту EN 50170 Vol.2 и позволяют реализовать открытые коммуникации
с децентрализованной периферией и с полевыми устройствами.
DP Эти утилиты позволяют реализовать коммуникации с децентрализованной
периферией, которая адресуется из программы управления также, как и
центральные устройства ввода-вывода.
MPI Эти утилиты коммуникаций интегрированы в операционную систему CPU
для циклического обмена данными между CPU через MPI интерфейс.

Siemens AG ST-7PRO2
Training Center 7- 3 Конфигурирование однородных
коммуникаций
Методы коммуникаций для однородных соединений
Глобальные данные
Глобальные данные

Циклически или по событиям


операцион. операцион.
операцион. операцион.
система система CPU
системаCPU
CPU через MPI система CPU

Неконфигурируемые соединения Конфигурируемые


Конфигурируемыесоединения
соединения
Неконфигурируемые соединения

Управляемые Управляемые
события через события через
SFC
SFC SFC SFB SFB
SFC SFB SFB
MPI или K шину MPI, Profibus
или Industrial
Ethernet

SIMATIC S7 Date: 01/12/98


File No. PRO3_7R. 4
Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved.

Global Data Эта коммуникация делает возможным циклический обмен данными


между
(Глобальные CPU через MPI интерфейс и без участия программы . Обмен данными
данные) проводится в точке контроля цикла, вместе с обновлением таблицы
отображения входов. Для S7-400 можно также использовать SFC-
функции для управления обменом данных. Глобальными данными
являются входы, выходы, меркеры, таймеры, счетчики и области блоков
данных. Данные для передачи не программируются, а конфигурируются в
таблице глобальных данных. Коммуникация глобальных данных не
возможна, если они не связаны с конкретными CPU.
Неконфигурируемые При этой коммуникации ( для всех CPU S7-300/400) данные могут
соединения передаваться через MPI сеть или внутри станции через K шину.
через SFC Системные блоки (SFC), такие как X_SEND вызываются в программе
пользователя на передающей стороне, а X_RCV - на приемной стороне.
Максимальное количество данных пользователя - 76 байт.
Когда системные функции вызываются, соединение с партнером по
коммуникации динамически конфигурируется. При этом количество
доступных соединений зависит от типа CPU.
Конфигурируемые Вы можете использовать эту коммуникацию для CPU S7-400. Данные
соединения ( максимум 64 Кбайт) могут передаваться через различные сети (MPI,
через SFB Profibus, и Industrial Ethernet). Для этой цели используются системные
функции (SFB). Системные функции позволяют проводить
коммуникации с подтверждением. Данные могут быть также прочитаны
или записаны и для CPU S7-300 (блоки PUT/GET). Разрешается не
только передача данных, но и функции управления (старт, стоп)
партнером по коммуникации.
Для коммуникаций требуется конфигурирование - через таблицу
соединений (connection table). Эти соединения конфигурируются во
время полного рестарта и, как правило, существуют постоянно. При этом
количество доступных соединений зависит от типа CPU.

Siemens AG ST-7PRO2
Training Center 7- 4 Конфигурирование однородных
коммуникаций
Количественная оценка коммуникаций для S7-CPU

S7 Количество Системные Краткое описание


соединений функции
модули (гомогенные S7)
CPU 313, max. 4 для SFB SFC блоки Все SFC=76 байт данных пользователя
314, 315 max. 8 (4 для CPU 313) GET/PUT/START/STOP GET = 222 байт данных пользователя
для SFC поддерживаются PUT = 212 байт данных пользователя
операционной STOP/START = утилиты сервера
системой.
CPU412 max. 8 для SFB SFC блоки All SFC=76 байт данных пользователя
max. 6 для SFC SFB блоки GET = 462 байт данных пользователя
PUT = 452 байт данных пользователя
USEND/URCV= 454 байт данных польз.
BSEND/BRCV=64 Кбайт данных польз.
CPU413 max. 16 для SFB ---- || ---- ---- || ----
max. 14 для SFC
CPU414 max. 32 для SFB ---- || ---- ---- || ----
max. 30 для SFC
CPU416 max. 64 для SFB ---- || ---- ---- || ----
max. 62 для SFC
PROFIBUS max. 32 (S7-400) Коммутатор
CP сообщений
ETHERNET max. 48 (S7-400) Коммутатор
CP сообщений

SIMATIC S7 Date: 01/12/98


File No. PRO3_7R. 5
Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved.

Внимание !!! Для S7 коммуникаций PG и OP/TD (устройство программирования и


панель оператора), одно S7-гомогенное соединение (активное
соединение) резервируются для S7/M7 CPU.
Если S7-гомогенное (однородное) соединение конфигурируется через
PROFIBUS CP или Industrial Ethernet CP, информация о
конфигурированиии необязательна для CP. Коммуникационный
процессор (CP) делает эти утилиты доступными для выполнения S7-
коммуникаций.

Программируемый логический контроллер S7-300


S7-300 не поддерживает всех клиентских функций. Операционная система
S7 CPU поддерживает только серверные функции, которые посылает
S7-400, такие как START, STOP, GET и PUT.
Данные пользователя
Максимальный размер пользовательских данных, который может быть
передан через блоки SFB для S7-гомогенных соединений, зависит от
участвующих в обмене партнеров. Для SFB - коммуникаций между S7-
300 и S7-400 , CPU S7-300 определяет максимальный размер данных
пользователя.

Siemens AG ST-7PRO2
Training Center 7- 5 Конфигурирование однородных
коммуникаций
Глобальные данные, общие сведения
S7-400 M7-400

S7-300 CPU CPU

CPU K BUS ( 10.5 Mбод) K BUS (serial 10.5 Mbaud)


K BUS = MPI-Bus ( 187.5 Kбод)

MPI сеть

OP
M7-300
CPU
K BUS = MPI-Bus (187.5 Kбод)

SIMATIC S7 Date: 01/12/98


File No. PRO3_7R. 6
Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved.

Введение Multi-Point Interface (MPI) - многоточечный интерфейс - представляет в


технике S7 интерфейс с PG (устройством программирования).
Каждому MPI узелу требуется отличный от других MPI- номер, от 0 до 126
(PG = 0, OP/TD = 1, CPU = 2 устанавливаются по умолчанию). С помощью
этого интерфейса возможны различные коммуникации между
подключенными узлами.
MPI интерфейс был сконструирован как интерфейс с PG и, поэтому, не
заменяет интерфейсы PROFIBUS и Industrial Ethernet.
MPI шина внутри S7-300 продолжается в виде K шины. Каждый модуль S7-
300, являющийся узлом K шины, должен иметь свой MPI номер (адрес).
Для S7-400, точки между MPI-шиной (187.5KБод) и K шиной
(последовательная внутренняя магистраль 10.5MБод) физически
изолированы.
Каждый модуль S7-400 , являющийся узлом K шины, не требует своего MPI
адреса (однако логический адрес требуется).

Возможности по связи
Особенное преимущество заключается в том, что пользователь, с помощью
PC/PG, может идентифицироватьвсе узлы, подключенные к MPI сети , а
также использовать все “online - функции ” с CPU. Пользователь может
также выполнить коммуникации для небольшого объема данных (GD и S7
функции)через MPI сеть.

Свойства Наиболее важные характеристики MPI интерфейса:


z физика RS 485
z скорость передачи 187.5 Кбод
z Расстояние до 50 м (между первым и последним узлом), а с репитерами
1000 м (между двумя репитерами).
z Аппаратные средства (кабель и разъемы) от PROFIBUS

Siemens AG ST-7PRO2
Training Center 7- 6 Конфигурирование однородных
коммуникаций
Глобальные данные, конфигурирование

‰ HW -станция для каждого CPU работает в сети


‰ HW -станция для каждого CPU работает в сети
€ Создается в SIMATIC Manager
€ Создается в SIMATIC Manager

‰ Конфигурирование данных (установка MPI-адреса)


‰ Конфигурирование данных (установка MPI-адреса)
€ Создается в утилите HW:Konfig
€ Создается в утилите HW:Konfig

‰ Таблица глобальных данных


‰ Таблица глобальных данных
€ Создаетя в утилите Define Global Data
€ Создаетя в утилите Define Global Data

KOMM_T1D

SIMATIC S7 Date: 01/12/98


File No. PRO3_7R. 7
Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved.

Создание Для каждого CPU в проекте пользователя должна быть создана станция,
HW Станции работающая в сети. Программные файлы расположены в том же самом
проекте. Вы можете использовать SIMATIC Manager для создания
программных файлов.

MPI адрес Вы должны использовать утилиту HW:Config, чтобы установить адрес MPI
узла для каждого CPU, работающего в сети. Каждый узел получает
различный адрес. Перед подключением CPU к кабелю Profibus, Вы должны
передать конфигурацию с измененным MPI адресом на CPU.

Системный Утилита “Global Data Table” ( таблица глобальных данных) используется для
блок данных выполнения обмена глобальными данными GD. Система автоматически
сгенерирует системный блок данных для каждой программы пользователя из
таблицы данных с помощью этой утилиты. Утилита осуществляет передачу
этих системных блоков данных по действующим CPU.

Siemens AG ST-7PRO2
Training Center 7- 7 Конфигурирование однородных
коммуникаций
Глобальные данные, конфигурирование

SIMATIC S7 Date: 01/12/98


File No. PRO3_7R. 8
Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved.

HW Config После того, как Вы создали в SIMATIC Manager станцию (S7 Station), Вы
вызываете утилиту HW Config и открываете все станции последовательно.
MPI адрес В списке блоков выполните установку параметров MPI интерфейса.
Например, дважды кликните мышью на строку CPU в утилите HW Config.
Установите пункт “Networked” и введите различный MPI адрес для каждого
узла.
Вы можете использовать “Properties” для установки высшего адреса -
“Highest MPI address.” “Highest MPI address” должен быть одинаковым для
всех узлов.

Пожалуйста, заметьте, что все узлы должны иметь одинаковый высший


адрес узла , и, что каждый CPU должен иметь различный MPI адрес.

Создание SDB Сохраните установки параметров вашего CPU ( сохраняется в виде блока
SDB) на жесткий диск и загрузите их в CPU ("Destination system ==> Load").

Конфигурирование Передача конфигурации производится индивидуально для каждого


сети действующего узла ( метод точка к точке).
Затем используйте кабель Profibus для подключения к действующим MPI
узлам.

После этого возможно установление on-line соединения со всеми CPU !

Siemens AG ST-7PRO2
Training Center 7- 8 Конфигурирование однородных
коммуникаций
Глобальные данные, таблица Global Data

Фактор повторения
Фактор повторения

SIMATIC S7 Date: 01/12/98


File No. PRO3_7R. 9
Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved.

Определение Используйте утилиту “Define Global Data” для создания таблицы глобальных
глобальных данных. В ней Вы определяете, какие CPU отправляют и принимают
данных данные, и какие данные должны быть переданы (PII, PIQ, DB, M, и L).
Сначала Вы должны выбрать HW - станцию для соответствующего CPU.
Выберите раздел меню Destination system --> Select CPU.
Затем введите в ячейках таблицы данные для передачи от вашего CPU -
источника данных (в строке только одно CPU является отправителем
данных).
GD- данные делятся на GD -циклы и GD -пакеты.
Когда таблица откомпилирована, то генерируется блоки SDB для каждого
CPU.
Когда блоков SDB загружены в CPU, то уже с момента перехода STOP/RUN
(рестарта) начинается коммуникация по глобальным данным.
Фактор повторения В примере на рисунке выше, Вы можете видеть, что 22 байта, начиная с
байта данных № 10, должны быть переданы в блок DB 2. Фактор
повторения не может быть больше, чем максимально возможное число для
данных пользователя.
GD циклы GD 1.1.1 max. n байт пользователя, передаваемых в GD пакете
GD 1.3.1 max. n байт пользователя, принимаемых в GD пакете
GD m.3.1 (N и m зависят от особенностей CPU)

№ GD пакета
№ GD цикла
Ограничения для GD коммуникаций ! ! !

S7-300 CPU max. 4 GD цикла на GD цикл - max. 22 байта данных пользователя (8


байт консистентных данных , т.е. прост. типы бит, байт, слово и
двойное слово)
S7-400 CPU max. 16 GD цикла на GD цикл - max. 54 байта данных пользователя (8
консистентных байт) (16 x 32 = 512 байт консистентных данных)

Siemens AG ST-7PRO2
Training Center 7- 9 Конфигурирование однородных
коммуникаций
Глобальные данные, коэффициент передачи и
статус

Статус
Статус

Коэффициент передачи
Коэффициент передачи

SIMATIC S7 Date: 01/12/98


File No. PRO3_7R. 10
Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved.

Reduction Ratio Вы используете коэффициент передачи для определения частоты


(Коэффициент передачи пакетов данных. Для коэффициента 8, передача производится
передачи) каждый 8-ой цикл. Этот коэффициент может быть в диапазоне 1-255 ( в
зависимости от CPU). Для ввода коэффициента передачи, выберите
раздел меню View --> Reduction ratio.
Статус Если была ошибка передачи, то сообщение об ошибке вводится в
ячейку статуса. Двойное слово, например MD , должно быть определено
для этого как операнд. Одно двойное слово может быть связано с
пакетом данных. Ввод ячейки-статуса может быть проведен в строке
GDS для каждого CPU.
Для ввода статуса , выберите раздел меню View --> Status.
Примечание После ввода коэффициента передачи или статуса, Вы должны
выполнить компиляцию снова, а затем загрузить таблицу в CPU.

Siemens AG ST-7PRO2
Training Center 7 - 10 Конфигурирование однородных
коммуникаций
Глобальные данные, передача по событиям

SIMATIC S7 Date: 01/12/98


File No. PRO3_7R. 11
Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved.

Пересылка пакетов глобальных данных по управляемым событиям (только для S7-400)

Вы можете передать и принять пакеты данных по определенным событиям с


помощью блоков SFC60 " GD_SND " и SFC61 " GD_RCV ".
Для обмена глобальными данными только по событиям, Вы можете определить
коэффициент передачи равным 0. Пользователь применять циклический обмен
или управляемый обмен каждый по отдельности или комбинируя их.

SFC60 "GD_SND" SFC60 собирает данные из GD пакета и посылает их по установленному


маршруту. SFC60 может быть вызвана в любом месте прикладной программы.
SFC60 имеет параметры CIRCLE_ID (номер цикла, в котором находится
передаваемый пакет) и BLOCK_ID (номер пакета в выбранном GD цикле).

SFC61 "GD_RCV" SFC61 выбираются данные от из посылаемых GD- пакетов, а затем вводятся в
сконфигурированную область. SFC61 может быть вызвана в любом месте
прикладной программы. Аналогично SFC60, SFC61 имеет параметры
CIRCLE_ID и BLOCK_ID.
Для обеспечения непротиворечивости данных, все прерывания должны быть
запрещены перед вызовом блоков SFC60/61.
Пример:
:
CALL SFC 39 // Запрет прерываний (от асинхронных прерываний)
CALL SFC 41 // Задержка прерываний ( от высокоприоритетных ОВ )
CALL SFC 60/61 // Передача/прием GD
CALL SFC 42 // Разблокировка высокоприоритетных прерываний
CALL SFC 40 // Разрешение прерываний

Siemens AG ST-7PRO2
Training Center 7 - 11 Конфигурирование однородных
коммуникаций
Глобальные данные, тестирование сообщений

MD 120
MB 120 MB 121 MB 122 MB 123
7 6 5 4 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0

Ошибка длины
диапазона в
отправителе
DB в отправителе не
существует
GD пакет потерян
Синтаксическая ошибка в GD
GD-объект отсутствует в GD пакете

Длины для GD-объектов в отправителе


и получателе различны.
Ошибка длины диапазона в получателе
DB в приемнике не существует

Приемник получил новые данные Отправитель выполнил рестарт

SIMATIC S7 Date: 01/12/98


File No. PRO3_7R. 12
Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved.

Отображение Вы можете определить двойное слово статуса передачи в CPU для


статуса каждого GD пакета. Это слово имеет в таблице глобальных данных
идентификатор “GDS”.

Оценка Если Вы связываете слово статуса (GDS) в CPU с операндом такого же


статуса формата (например MD 120), Вы можете оценить статус в прикладной
программе или на вашем PG.

Формат статуса GD статус формируется и контролируется на битовом уровне. Значение


отдельных битов отображается на слайде выше. Биты сохраняют свою
установку до тех пор, пока прикладная программа или PG не сбросит их.

Неиспользуемые биты не имеют постоянных значений.

GD статус занимает двойное слово. MD 120 был использован как пример.

Общий статус STEP 7 устанавливает общий статус (GST) для всех GD пакетов.

Общий статус также представляется двойным словом с таким же форматом,


как статус пакета (GDS) и формируется по логической операции OR от всех
слов статуса.

Siemens AG ST-7PRO2
Training Center 7 - 12 Конфигурирование однородных
коммуникаций
SFC коммуникации, общие сведения
‰ Обмен данными через MPI сеть или внутри станции
‰ Данных пользователя до 76 байт
‰ Не требуется конфигурирования соединений по сравнению с
коммуникациями через SFB
‰ Соединение с участником конфигурируется и разрывается
динамически
‰ Могут быть использованы для всех CPU S7-300/400
‰ Переменные в S7-200 могут также читаться и записываться
(X_PUT, X_GET).
‰ Коммуникации участников могут быть описаны в другом S7 проекте.
‰ Описание блоков SFC имеется в руководстве “Системные и
стандартные функции” и в on-line помощи.
‰ Блоки, имеющие вызовы SFC блоков, не могут быть удалены или
изменены в режиме RUN , так как все предусмотренные
коммуникации не могли бы дальше быть возможными.

SIMATIC S7 Date: 01/12/98


File No. PRO3_7R. 13
Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved.

Введение Вы можете выполнить обмен данными между S7 CPU и дополнительно


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

Данные пользователя 76 байт - максимальный размер пользовательских данных, который


может быть передан.
Соединение Соединение с партнерами конфигурируется во время выполнения SFC. В
зависимости от установленного параметра CONT, соединение сохраняется
или разрывается. Уже существующие соединения, использующие
коммуникации через SFB не могут быть использованы. Если активный CPU
переходит в состояние STOP во время передачи данных, то существующее
соединение разрывается.

Программирование Вы должны выполнять все корректировки программ, которые влияют на SFC -


коммуникации только в состоянии STOP. Затем Вы должны выполнить
комплексный рестарт.
Если Вы не обращаете внимания на эти указания, то исходные соединения
могут оставаться ранее назначенными, а CPU может перейти в
неопределенное состояние.

Siemens AG ST-7PRO2
Training Center 7 - 13 Конфигурирование однородных
коммуникаций
SFC коммуникации, обзор блоков

SFC ИМЯ Краткое описание

SFC 65 X_SEND Блок передачи для отправки данных в блок


X_RCV (клиента)

SFC 66 X_RCV Блок приема для приема данных из блока


X_SEND

SFC 67 X_GET Чтение данных от удаленного PLC.

SFC 68 X_PUT Запись данных на удаленный PLC.

SFC 69 X_ABORT Прерывание существующего соединения.

SFC 72 I_GET Чтение данных от участника на вашу станцию.

SFC 73 I_PUT Запись данных на участника с вашей станции.

SFC 74 I-ABORT Прерывание соединения с участником в вашей


станции.

SIMATIC S7 Date: 01/12/98


File No. PRO3_7R. 14
Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved.

Siemens AG ST-7PRO2
Training Center 7 - 14 Конфигурирование однородных
коммуникаций
SFC коммуникации, блок X_SEND

STL представление LAD/SFC представление


С примером передачи параметров

CALL SFC 65 SFC65 (X_SEND)


REQ:= M4.0//условие REQ RET_VAL
CONT:= FALSE//разрыв соединения CONT BUSY
DEST_ID:= W#16#4/MPI_адрес
REQ_ID:= DW#16#1//идентификатор DEST_ID
SD:= P#M20.0 BYTE 10
REQ_ID
RET_VAL:= MW40//код ошибки
BUSY:= M 4.1//активность передачи SD

SIMATIC S7 Date: 01/12/98


File No. PRO3_7R. 15
Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved.

Parameters for the SFC 65 X_SEND

Параметр Вид Тип Описание


REQ INPUT BOOL Активация передачи для “1“.
(I,O,M,D,L
constant)
CONT INPUT WORD CONT=0 разрыв соединения
(I,O,M,D,L
CONT=1 соединение остается
constant)
DEST_ID INPUT WORD MPI адрес для партнера
(I,O,M,D,L
constant)
REQ_ID INPUT DWORD Требуемый идентификатор ID
(I,O,M,D,L, для идентификации данных
constant) партнера
SD INPUT ANY Указание на область передачи
(I,O,M,D)
RET_VAL OUTPUT INT Возвращаемое значение с кодом
(I,O,M,D,L) ошибки
BUSY OUTPUT BOOL BUSY=1 передача проводится
(I,O,M,D)
BUSY=0 передача завершилась

Siemens AG ST-7PRO2
Training Center 7 - 15 Конфигурирование однородных
коммуникаций
SFC коммуникации, блок X_RCV

STL представление LAD/SFC представление


С примером передачи параметров
CALL SFC 66
EN_DT:= TRUE//условие приема данных SFC66 (X_RSV)
RET_VAL:= MW 50//код ошибки EN_DT RET_VAL
REQ_ID:= MD52//идентификатор REQ_ID
NDA := M40.0//индикатор приема
RD:= P#M20.0 BYTE 10 NDA

RD

SIMATIC S7 Date: 01/12/98


File No. PRO3_7R. 16
Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved.

Parameters for the X_RCV SFC 66

Параметр Вид Тип Описание


EN_DT INPUT BOOL EN_DT=0 проверка приема (присутствия
(I,O,M,D,L, блока данных)
constant) EN_DT=1 копирование данных в память

RET_VAL OUTPUT INT Возвращаемое значение с кодом ошибки


(I,O,M,D,L)

REQ_ID OUTPUT DWORD Идентификатор для X_SEND SFC 66,


(I,O,M,D,L,) который передается в списке данных на
первом месте.

NDA OUTPUT BOOL NDA=0 блок не существует


(I,O,M,D,L) NDA=1 наименьший блок обнаружен (для
EN_DT=0) или блок данных скопирован в
память (EN_DT=1)
RD OUTPUT ANY Указание на область приема данных
(I,O,M,D)

Siemens AG ST-7PRO2
Training Center 7 - 16 Конфигурирование однородных
коммуникаций
SFB коммуникации, общие сведения
‰ SFB действительны для всех S7-400 CPU
‰ Объем данных пользователя до 64KБайт
‰ Коммуникация через MPI, Profibus или Industrial Ethernet
‰ Коммуникационные утилиты для управления (stop, start) партнером
‰ Передача данных с логическим подтверждением приема
‰ Конфигурирование сообщений через таблицу соединений
‰ Соединения конфигурируются во время комплексного рестарта и
обычно существуют постоянно, даже для состояния STOP
‰ Различные запросы могут быть обработаны через одно соединение
‰ Данные для S7-300 могут записываться и читаться (GET/PUT).
‰ Руководство “Стандартные и системные функции” и встроенная
online помощь содержит расширенное описание.
‰ Проект-образец ( COM_SFB) поставляется вместе со STEP 7.

SIMATIC S7 Date: 01/12/98


File No. PRO3_7R. 17
Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved.

Общие SFB блоки доступны для всех S7-400-CPU и обслуживают обмен данными с
сведения S7/M7-300/400-CPU. До 64 Kбайт данных может быть передан с помощью
этих блоков по различным сетям (MPI, Profibus, Industrial Ethernet).
Данные Размер данных пользователя зависит от используемого блока и от партнера
по
пользователя коммуникации :
- PUT/GET 160 байт для S7-300 и 400 байт для S7-400/M7
- USEND/UREC до 440 байт
- BSEND/BRCV до 64 Kбайт
Классы функций Блоки SFB коммуникаций могут быть разделены на 4 класса:
- Функции приема и передачи
- Функции управления
- Функции наблюдения
- Функции опроса
Соединение Для этой коммуникации требуется конфигурирование соединений. Одно
соединение на партнера по связи и тип соединения, как , например,
одностороннее (one-sided), указывается в таблице соединений.

Siemens AG ST-7PRO2
Training Center 7 - 17 Конфигурирование однородных
коммуникаций
SFB коммуникации, обзор блоков SFB
SFB/SFC ИМЯ Тип Краткое описание
коммуникации
SFB 8 USEND Двусторонняя Блок передачи данных на блок клиента URCV
SFB 9 URCV Двусторонняя Блок приема данных от блока клиента USEND
SFB 12 BSEND Двусторонняя Блок передачи данных большого объема (до 64 Кб)
на блок клиента BRCV
SFB 13 BRCV Двусторонняя Блок приема данных большого объема (до 64 Кб )
SFB 14 GET Двусторонняя Чтение данных от контроллера (PLC)
SFB 15 PUT Односторонняя Запись данных на PLC
SFB 16 PRINT Односторонняя Передача данных на удаленный принтер
SFB 19 START Односторонняя Выполнение комплексного рестарта у партнера
SFB 20 STOP Односторонняя Перевод партнера в состояние STOP
SFB 21 RESUME Односторонняя Выполнение рестарта у партнера
SFB 22 STATUS Односторонняя Определение статуса партнера
(RUN,STOP,рестарт)
SFB 23 USTATUS Односторонняя Прием статуса сообщений от партнера
SFC 62 CONTROL --- Определение внутреннего статуса для S7
соединения + SFB

SIMATIC S7 Date: 01/12/98


File No. PRO3_7R. 18
Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved.

SFB S7- 400 SFB для S7 коммуникаций интегрированы в операционную систему CPU в
виде системных функциональных блоков (SFB). Все блоки представленные
на слайде выше SFB блоки имеются в операционной системы CPU S7-400.
Для интегрирования этих блоков в прикладную программу, пользователь
может воспользоваться стандартной библиотекой "STDLIB30» и папкой S7
program “Builtin”.
SFB S7 - 300 Современные S7-300 содержат системные функциональные блоки для SFB
коммуникаций. Однако, операционная система поддерживает односторонние
S7 коммуникации в качестве сервера (SERVER).

SFB для обмена данными


SFB для обмена данными между двумя партнерами по коммуникации
(S7/M7-CPU и S7-CP ).
- GET, PUT,
- USEND/URCV
- BSEND/BRCV

SFB для управления программой


SFB для управления программой служат для управления и оценки состояния
работы партнера или соединения.
- START/STOP
- RESUME
- STATUS
- USTATUS
- CONTROL

Siemens AG ST-7PRO2
Training Center 7 - 18 Конфигурирование однородных
коммуникаций
SFB коммуникации для односторонней связи

S7-4 00 PROFIBUS
Industrial
Ethernet

CPU 1 CP CP S7-300 Industrial


PROFIBUS Ethernet
CPU 2 CP CP

MPI NETWORK 1 S7 гомогенная связь

PROFIBUS NETWORK S7 гомогенная связь


Industrial Ethernet NETWORK S7 гомогенная связь

1
CPU
операционная
SFB система
(GET/PUT
STOP/START)

SIMATIC S7 Date: 01/12/98


File No. PRO3_7R. 19
Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved.

SFB Специальные S7 блоки из группы SFB образуют интерфейс с прикладной


программой в SIMATIC S7. SFB соответствуют стандарту ISO/IEC 1131-5 и
предлагают пользователю унифицированный интерфейс для всех
открытых протоколов.
С этими SFB блоками массивы блоков данных могут быть переданы между
узлами MPI , PROFIBUS -сети или между узлами сети Industrial Ethernet.
Для обеспечения коммуникаций все соединения должны быть
отконфигурированы. Номера соединений назначаются для каждого узла, и
данные передаются в среду с указанием идентификационного номера через
блоковый параметр "ID".
S7 гомогенные соединения
Так как SFB обеспечивают коммуникацию между S7 CPU, то S7
гомогенные соединения также вызываются при активных соединениях , а,
следовательно , должны быть созданы (подготовлены каналы данных или
отправитель и приемник). Номер соединения зависит от соответствующего
CPU. S7 гомогенные соединения могут быть сконфигурированы для сети
MPI, Industrial Ethernet или PROFIBUS.
Односторонние S7 гомогенные соединения
Односторонние соединения требуют конфигурирования параметров
(ресурсов) соединения только в локальном узле. (См. количественную
оценку коммуникаций и ресурсы для CPU -5
Для односторонних S7 гомогенных коммуникаций клиент всегда берет на
себя конфигурирование соединения. Пользователь не думает о
конфигурировании соединения (конфигурирование соединения =
инициализации ).
Для односторонних S7 гомогенных коммуникаций могут быть использованы
только следующие блоки SFB:
- STOP
- START
- GET
- PUT
Siemens AG ST-7PRO2
Training Center 7 - 19 Конфигурирование однородных
коммуникаций
SFB коммуникации с двусторонней связью

S7- 400 PROFIBUS Industrial


Ethernet
S7- 400 PROFIBUS Industrial
Ethernet

CPU 1 CP CP CPU 2 CP CP

2 2
MPI NETWORK S7 гомогенная связь

PROFIBUS NETWORK
Industrial Ethernet NETWORK

2 2
CFB CFB
- USEND - URCV
- URDV - USEND
- BSEND - BRCV
- BRCV - BSEND

SIMATIC S7 Date: 01/12/98


File No. PRO3_7R. 20
Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved.

Двусторонние S7 гомогенные соединения


Двусторонние соединения требуют ресурсов связи в каждом из участвующих
узлов.
S7 гомогенные соединения конфигурируются через коммуникационные
процессоры Industrial Ethernet CP или PROFIBUS CP, но не требуется
конфигурирование информации на CP. CP делает это соединение
доступным для проведения S7 коммуникаций.

SFB BSEND=Отправитель (клиент) ==> BRCV получатель (сервер)


USEND= Отправитель (клиент) ==> URCV получатель (сервер)
должны всегда использоваться как блоковые пары, а двусторонние S7
гомогенные соединения назначаются для каждого узла. Для двусторонних S7
гомогенных соединений пользователь может определить, какие партнеры
являются важными для конфигурирования соединения. Конфигурирование
соединения неразличимо для пользователя.

Siemens AG ST-7PRO2
Training Center 7 - 20 Конфигурирование однородных
коммуникаций
SFB коммуникации, таблица соединений

SIMATIC S7 Date: 01/12/98


File No. PRO3_7R. 21
Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved.

Действия - Откройте Ваш проект в SIMATIC Manager.


- Активируйте CPU в проекте. (Объект “Connections” -таблица соединений -
появляется в правом окне)
- Дважды кликните мышью на объекте для открытия таблица соединений .
- Установите первую HW станцию в окне “Station” .
- Активируйте строку в таблице . Используйте правую кнопку мыши для
создания нового соединения.
- Откомпилируйте таблицу соединений.
- Загрузите таблицу соединений во все узлы.

S7 гомогенные соединения (также активные соединения)


используйте этот тип, если хотите соединить два модуля SIMATIC S7/M7
каждый друг с другом.
- MPI (S7-400,M7)
- PROFIBUS
- Industrial Ethernet

Фиксированные, конфигурируемые, действующие свойства (свойства соединения)


При активации, соединения в сети динамически конфигурируются и
разрываются. Таким образом, сеть нагружается только тогда, когда это
необходимо. При деактивации соединение конфигурируется во время
рестарта и сохраняется до тех пор, пока система снова не остановится.
Конфигурирование активных соединений (свойства соединения)
Вы можете решить, какие два узла являются инструментом для
конфигурирования связи. Замечание: каждое конфигурирование соединения
немного нагружает цикл. При активировании локальный S7 CPU несет
ответственность за конфигурирование связи.
Отправление сообщений о состоянии работы (свойства соединения)
При активации локальный узел посылает партнерам сообщения о состоянии
работы (STOP,START, HALT,.....) или с помощью SFB 23:USTATUS
опрашивает состояние партнера.

Siemens AG ST-7PRO2
Training Center 7 - 21 Конфигурирование однородных
коммуникаций
SFB коммуникации, SFB 19: START

STL представление LAD/SFC представление


С примером передачи параметров

CALL START, I_START (связанный DB) DB19(связанный DB)


SFB19 (START)
REQ:=M 1.0 //Фронт запуска EN ENO
ID:=W#16#1 //№ соединения. REQ DONE
PI_NAME:=P#M200.0 Byte 9 //* ID ERROR
ARG:= PI_NAME STATUS
IO_STATE:= ARG
DONE:=M 1.6 IO_STATE
ERROR:=M 1.7
STATUS:=MW 2

* Определение области памяти для начальной записи : 'P_PROGRAM''

SIMATIC S7 Date: 01/12/98


File No. PRO3_7R. 22
Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved.

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


При положительном фронте на входе параметра REQ запускается полный рестарт в
указанном PLC.
- CPU партнера должно быть в состоянии STOP.
– Переключатель работы CPU должен быть в положении RUN или RUN-P.

Параметр Вид Тип Описание

REQ INPUT BOOL При положительном фронте


активируется рестарт на устройстве с
адресом ID .

ID INPUT WORD Номер соединения, согласно


(I,Q;M,D,L, таблице соединений .
constant)

PI_NAME IN_OUT ANY Указатель на область памяти, в


которой представлено имя
программы для старта ( в ASCII
коде). Для S7 должно быть имя
P_PROGRAM.

ARG IN_OUT ANY Аргумент выполнения (в данный


момент несущественный)

IO_STATE IN_OUT ANY Аргумент выполнения (в данный


момент несущественный)

DONE OUTPUT BOOL Положительный фронт = функция


выполнена

ERROR OUTPUT BOOL Положительный фронт = ошибка

STATUS OUTPUT WORD Содержит подробный код ошибки или


предупреждения (десятичный)

Siemens AG ST-7PRO2
Training Center 7 - 22 Конфигурирование однородных
коммуникаций
SFB коммуникации, SFB 20: STOP

STL представление LAD/SFC представление


С примером передачи параметров

CALL STOP, I_STOP(связанный DB) DB20 (связанный DB)


SFB20(STOP)
REQ:=M 1.0 // Фронт запуска EN ENO
ID:=W#16#1 //№ соединения REQ DONE
PI_NAME:=P#M200.0 Byte 9 ID ERROR
IO_STATE:= PI_NAME STATUS
DONE:=M 1.6 IO_STATE
ERROR:=M 1.7
STATUS:=MW 2

SIMATIC S7 Date: 01/12/98


File No. PRO3_7R. 23
Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved.

Системный функциональный блок STOP


Положительный фронт на входе параметра REQ переводит удаленное устройство (PLC) в
состояние STOP.
- CPU партнера должно быть в состоянии RUN, HALT или START-UP.

Параметр Вид Тип Описание

REQ INPUT BOOL При положительном фронте


устройство с идентификатором ID
переводится в состояние a STOP

ID INPUT WORD Номер соединения, указанный в


(I,O;M,D,L, таблице соединений
constant)

PI_NAME IN_OUT ANY Указатель на область памяти, в


которой находится имя
останавливаемой программы (в ASCII
коде). Для S7 должно быть имя
P_PROGRAM.

IO_STATE IN_OUT BYTE Аргумент выполнения (в данный


момент несущественный)

DONE OUTPUT BOOL Положительный фронт = функция


выполнена

ERROR OUTPUT BOOL Положительный фронт = ошибка

STATUS OUTPUT WORD Содержит подробный код ошибки или


предупреждения (десятичный)

Siemens AG ST-7PRO2
Training Center 7 - 23 Конфигурирование однородных
коммуникаций
SFB коммуникации, инициализация в OB100

SIMATIC S7 Date: 01/12/98


File No. PRO3_7R. 24
Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved.

Предпосылки для запуска SFB


- Системы автоматизации должны быть работать в сети .
- Физическая связь (посредством кабеля) должна быть установлена.
- Оnline- соединение должно существовать (тест с помощью режима “Accessible
Nodes” в SIMATIC Manager).
- Сконфигурированные S7соединения (S7 гомогенные соединения через MPI,
PROFIBUS и Industrial Ethernet) должны быть загружены в модули.

Инициализация SFB в OB100


Каждый SFB, который участвует в коммуникациях, должен быть инициализирован в
комплексном рестарте в организационном блоке OB100 соответствующего CPU
( состояние INIT).
SFB вызываются в OB100 абсолютно инструкцией CALL SFBxx,Dbyy.
Следующие параметры должны быть заданы:
- REQ (Условие передачи) с RLO = 0 (одно и двустороннее)
- ID (Номер соединения) (одно и двустороннее)
- PI_NAME (Указатель строки 'P_PROGRAM') (одно и двустороннее)
- R_ID (Номер блоковой пары ) (только двустороннее)
- SD_1 (Указатель на начало отправляемых данных ) (только двустороннее)

- RD_1 (Указатель на начало области приема) (только двустороннее)


- LEN (Длина данных) (только двустороннее)

Полный сброс CPU


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

Siemens AG ST-7PRO2
Training Center 7 - 24 Конфигурирование однородных
коммуникаций
Демонстрация: упражнение 7.1
коммуникации с блоками SFB “START/STOP”
S7 программа в AS1-400 S7 соединение AS2- 300

OB 1
FC 10 "STOP"
UC FC 10 CALL SFB20,DB20 AS1- 400
ID:=1
.
.
. Local ID no. Односторонняя
1 S7 гомогенное
UC FC 20 CALL SFB 19,DB19 FC 20 "START" соединение
ID:=1
.
.
.
.

SIMATIC S7 Date: 01/12/98


File No. PRO3_7R. 25
Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved.

Упражнение 7.1: См. главу 8 (16-бит SM) или главу 9 (32-бит SM).

Siemens AG ST-7PRO2
Training Center 7 - 25 Конфигурирование однородных
коммуникаций
SFB коммуникации, SFC 62: CONTROL

STL представление LAD представление


С примером передачи параметров

CALL "CONTROL" SFC 62 (CONTROL)


EN_R:=M 1.0 //Старт EN ENO
I_DB:=W#16#F //№ связанногоDB EN_R RET_VAL
OFFSET:=W#16#0 I_DB ERROR
RET_VAL:=MW200 //Ошибка OFFSET STATUS
ERROR:=M 1.6 //Ошибка-признак(Bool) IO_STATE I_TYP
STATUS:=MW100 //Отображение статуса I_STATE
I_TYP:=MB 2 //SFB-TYP I_CONN
I_STATE:=MB 3 //SFB состояние I_STATUS
I_CONN:=M 4.0 //Состояние связи
I_STATUS:=MW102 //Статус SFB

SIMATIC S7 Date: 01/12/98


File No. PRO3_7R. 26
Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved.

Системная функция CONTROL


Вы определяете состояние SFB или состояние назначенного соединения.

Параметр Вид Тип Описание

EN_R INPUT BOOL Параметр управления для


разрешения функции

I_DB INPUT BLOCK_DB Номер экземпляра DB


(I,O;M,D,L,
constant)

OFFSET INPUT WORD Смещение адреса для


(I,O;M,D,L, мультиэкземплярного DB, начиная с
constant) первого байта
(если нет мульэкземпляра = 0)

RET_VAL OUTPUT INT 8000H – ошибка для SFC62


(I,O;M,D,L)

ERROR OUTPUT BOOL RLO = 1 ошибка выполнения SFC62


(I,O;M,D,L)

STATUS OUTPUT WORD Отображение ошибки SFC 62


(I,O;M,D,L)

I_TYP OUTPUT BYTE Идентификатор типа блока SFB


(I,O;M,D,L)

I_STATE OUTPUT BYTE Идентификатор текущего состояния


(I,O;M,D,L) графа выполнения SFB

I_CONN OUTPUT BOOL Статус соответствующего соединения


(I,O;M,D,L) 0 = соединение разорвано
1 = соединение существует

I_STATUS OUTPUT WORD Ошибка ли SFB STATUS


(I,O;M,D,L)

Siemens AG ST-7PRO2
Training Center 7 - 26 Конфигурирование однородных
коммуникаций
SFB коммуникации, SFB 14: GET

STL представление LAD представление


С примером передачи параметров

CALL GET, I_GET(связанный DB) DB14 (связанный DB)

REQ:=#START_EDGE SFB14 (GET)


EN ENO
ID:=W#16#1 //№ соединения.
REQ NDR
NDR:=#WITHOUT_ERR_IO_GET ID
ERROR:=#ERR_GET ERROR
STATUS:=#ERR_DIS_G ADDR_1 STATUS
ADDR_1:=P#I 0.0 BYTE 1 ADDR_2
ADDR_2:=P#I 4.0 BYTE 2 ADDR_3
ADDR_3:= ADDR_4
ADDR_4:= RD_1
RD_1:=P#A 4.0 BYTE 1 RD_2
RD_2:=P#A 0.0 BYTE 2 RD_3
RD_3 RD_4
RD_4

SIMATIC S7 Date: 01/12/98


File No. PRO3_7R. 27
Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved.

Системный функциональный блок GET


Чтение данных из удаленного PLC

Параметр Вид Тип Описание

REQ INPUT BOOL Активация передачи при положительном


(I,O,M,D,L фронте сигнала.
constant)

ID INPUT WORD Номер соединения, указанный в таблице


(I,O,M,D,L соединений.
constant)

ADDR_1 IN_OUT ANY Указатели на области CPU, которые


(I,O,M,D) должны считываться.
...
ADDR_4

RD_1 IN_OUT ANY Указатели на области вашего CPU, в


(I,O,M,D) которые должны записываться
... прочитанные значения.
RD_4 (область данных удаленного CPU ADDR_1
==> RD_1-область данных вашего CPU)

NDR OUTPUT BOOL Положительный фронт (импульс)


(I,O,M,D,L) сигнализирует в прикладной программе,
что новые данные приняты. “Данные
переданы от удаленного CPU без ошибок.”

ERROR OUTPUT BOOL Положительный фронт сигнализирует об


(I,O,M,D,L) ошибке (импульс).

STATUS OUTPUT WORD Содержит подробный код ошибки или


(I,O,M,D,L) предупреждения (десятичный код).

Siemens AG ST-7PRO2
Training Center 7 - 27 Конфигурирование однородных
коммуникаций
SFB коммуникации, SFB 15: PUT

STL представление LAD представление


С примером передачи параметров

CALL PUT, I_PUT(связанный DB) DB15 (связанный DB)

REQ:=#START_EDGE SFB15 (PUT)


EN ENO
ID:=W#16#1 //№ соединения
REQ DONE
DONE:=#WITHOUT_ERR_IO_GET ID
ERROR:=#ERR_GET ERROR
STATUS:=#ERR_DIS_G ADDR_1 STATUS
ADDR_1:=P#O 12.0 BYTE 2 ADDR_2
ADDR_2:= ADDR_3
ADDR_3:= ADDR_4
ADDR_4:= SD_1
SD_1:=P#I 2.0 BYTE 2 SD_2
SD_2:= SD_3
SD_3:= SD_4
SD_4:=

SIMATIC S7 Date: 01/12/98


File No. PRO3_7R. 28
Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved.

Системный функциональный блок PUT


Запись данных на удаленный PLC

Параметр Вид Тип Описание

REQ INPUT BOOL Активация передачи при положительном


(I,O,M,D,L фронте сигнала.
constant)

ID INPUT WORD Номер соединения, указанный в таблице


(I,O,M,D,L соединений.
constant)

ADDR_1 IN_OUT ANY Указатели на области удаленного CPU, в


(I,O,M,D) которые должны записываться данные,
... посылаемые с вашего CPU.
ADDR_4

SD_1 IN_OUT ANY Указатели на области вашего CPU, из


(I,O,M,D) которых должны передаваться данные.
...
(область данных вашего CPU SD_1==>
SD_4 ADDR_1 -область данных удаленного CPU)

DONE OUTPUT BOOL Положительный фронт (импульс)


(I,O,M,D,L) сигнализирует в прикладной программе,
что передача выполнена без ошибок.

ERROR OUTPUT BOOL Положительный фронт сигнализирует об


(I,O,M,D,L) ошибке (импульс).

STATUS OUTPUT WORD Содержит подробный код ошибки или


(I,O,M,D,L) предупреждения (десятичный код).

Siemens AG ST-7PRO2
Training Center 7 - 28 Конфигурирование однородных
коммуникаций
Демонстрация упражнения 7.2
коммуникации с блоками SFB "GET/PUT"

S7 программа в AS1-400
AS1- 400 AS2- 300
OB 1

FC 10 "STOP" QB 4 IB 0
UC FC 10 CALL SFB20,DB20
UC FC 20 ID:=1
.
. GET
. QW 0 IW 4
CALL SFB 19,DB19 FC 20 "START"
ID:=1
.
.
.
IW 2 OW 12
.
PUT
UC FC30 FC 30"GET/PUT"
CALL SFB 14,DB14
ID:=1
.
.
CALL SFB15,DB15
ID:=1
.

SIMATIC S7 Date: 01/12/98


File No. PRO3_7R. 29
Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved.

Упражнение 7.2: См. главу 8 (16-бит SM) или главу 9 (32-бит SM).

Siemens AG ST-7PRO2
Training Center 7 - 29 Конфигурирование однородных
коммуникаций
SFB коммуникации, SFB 8: USEND

STL представление LAD представление


С примером передачи параметров

CALL USEND, I_USEND(связанный DB) DB 8 (связанный DB)

REQ:=#START_EDGE_US SFB 8 (USEND)


ID:=W#16#2 //№ соединения. EN ENO
REQ DONE
R_ID:=DW#16#B1 //Блоковая пара ID
DONE:=#WITHOUT_ERR_IO_USEND ERROR
ERROR:=#ERR_USEND R_ID STATUS
STATUS:=#ERR_DIS_USEND SD_1
SD_1 :=P#DB3.DBX0.0 BYTE 100 SD_2
SD_2 :=P#DB3.DBX100.0 BYTE 100 SD_3
SD_3 :=P#DB3.DBX200.0 BYTE 100 SD_4
SD_4 :=P#DB3.DBX300.0 BYTE 154

SIMATIC S7 Date: 01/12/98


File No. PRO3_7R. 30
Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved.

Системный функциональный блок USEND


Асинхронная (некоординированная ) передача данных для SFB (URCV)

Параметр Вид Тип Описание

REQ INPUT BOOL Активация передачи при положительном


(I,O,M,D,L фронте.
constant)

ID INPUT WORD Номер соединения для S7 гомогенной


(I,O,M,D,L связи (см. таблицу соединений)
constant)

R_ID INPUT DWORD Параметр должен быть одинаковым для


(I,O,M,D,L двух SFB (USEND и URCV).
constant) Назначение для блоковой пары

DONE OUTPUT BOOL Положительный фронт (импульс)


(I,O,M,D,L) сигнализирует в программе пользователя:
передача выполнена без ошибок.

ERROR OUTPUT BOOL Положительный фронт = ошибка (импульс)


(I,O,M,D,L)

STATUS OUTPUT BOOL Отображение статуса, если ERROR = 1


(I,O,M,D,L)

SD_1 IN_OUT ANY Указатель на область данных вашего CPU,


(I,O,M,D) из которой данные передаются в
... соответствующую область RD на
SD_4 удаленный CPU. (SD_i и RD_i должны
соответствовать по номеру, длине и типам
данных.)

Siemens AG ST-7PRO2
Training Center 7 - 30 Конфигурирование однородных
коммуникаций
SFB коммуникации, SFB 9: URCV
STL представление LAD представление
С примером передачи параметров

CALL URCV, I_URC (связанный DB)


DB 9 (связанный DB)
EN_R:=#START_EDGE_UR
ID:=W#16#2 //S7 соединение
SFB 9 (USEND)
EN ENO
R_ID:=DW#16#B1 //блоковая пара REQ NDR
NDR:=#WITHOUT_ERR_IO_URCV ID ERROR
ERROR:=#ERR_URCV R_ID STATUS
STATUS:=#ERROR_DIS_URCV RD_1
RD_1:=P#DB3.DBX0.0BYTE 100 RD_2
RD_2:=P#DB3.DBX100.0BYTE 100 RD_3
RD_3:=P#DB3.DBX200.0 BYTE 100 RD_4
RD_4:=P#DB3.DBX300.0 BYTE 154

SIMATIC S7 Date: 01/12/98


File No. PRO3_7R. 31
Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved.

Системный функциональный блок URCV


Асинхронный (некоординированный ) прием данных от SFB (USEND)

Параметр Вид Тип Описание

EN_R INPUT BOOL Для RLO = 1 принимаемые данные


(I,O,M,D,L копируются в заданную область данных.
constant)

ID INPUT WORD Номер соединения для S7 гомогенной


(I,O,M,D,L связи (см. таблицу соединений)
constant)

R_ID INPUT DWORD Параметр должен быть одинаковым для


(I,O,M,D,L двух SFB (USEND и URCV).
constant) Назначение для блоковой пары

NDR OUTPUT BOOL Положительный фронт (импульс)


(I,O,M,D,L) сигнализирует в программе пользователя:
новые данные приняты.

ERROR OUTPUT BOOL Положительный фронт = ошибка (импульс)


(I,O,M,D,L)

STATUS OUTPUT BOOL Отображение статуса, если ERROR = 1


(I,O,M,D,L)

RD_1 IN_OUT ANY Указатель на область данных CPU, в


(I,O,M,D) которую записываются принимаемые
... данные. (SD_i и RD_i должны
RD_4 соответствовать по номеру, длине и типам
данных.)

Siemens AG ST-7PRO2
Training Center 7 - 31 Конфигурирование однородных
коммуникаций
SFB коммуникации, SFB 12: BSEND

STL представление LAD представление


С примером передачи параметров

CALL BSEND, I_BSEND(связанный DB) DB 12 (связанный DB)

REQ:=#START_EDGE_BSEND SFB 12 (BSEND)


EN ENO
R:=#RESET_BSEND
REQ DONE
ID:=W#16#2 //S7 соединение R
R_ID:=DW#16#B2 //Блоковая пара ERROR
DONE:=#WITHOUT_ERR_IO_BSEND ID STATUS
ERROR:=#ERR_BSEND R_ID
STATUS:=#ERR_DIS_BSEND SD_1
SD_1:=P#DB1.DBX0.0 BYTE 2000 LEN
LEN:=#DATA_LENGTH

SIMATIC S7 Date: 01/12/98


File No. PRO3_7R. 32
Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved.

Системный функциональный блок BSEND


Посылает данные большого размера (до 64 Kbyte) для блока SFB BRCV удаленного CPU.
Передаваемые данные сегментируются и посылаются партнеру по отдельности .
Если партнер принял данные корректно и данные были записаны в корректной области
памяти, то отправитель получает подтверждение от приемника.

Параметр Вид Тип Описание

REQ INPUT BOOL Активация передачи при


(I,O,M,D,L constant) положительном фронте.

R INPUT BOOL Активация сброса BSEND в


(I,O,M,D,L начальное состояние - прерывание
constant) текущего задания - при
положительном фронте.

ID INPUT WORD Номер соединения для S7


(I,O,M,D,L гомогенной связи (см. таблицу
constant) соединений)

R_ID INPUT DWORD Параметр должен быть


(I,O,M,D,L) идентичным для обоих SFB
(BSEND и BRCV).

SD_1 IN_OUT ANY Данные для передачи, длина в


(I,O,M,D,L) указателе any не обрабатываются

LEN IN_OUT WORD Длина передаваемого блока данных


(I,O,M,D,L) в байтах

DONE OUTPUT BOOL Процесс передачи завершен без


(I,O,M,D,L) ошибок ( при положительном
фронте сигнала).

ERROR OUTPUT BOOL Положительный фронт


(I,O,M,D,L) сигнализирует об ошибке (импульс)

STATUS OUTPUT WORD Содержит подробный код ошибки


(I,O,M,D,L) ли предупреждения

Siemens AG ST-7PRO2
Training Center 7 - 32 Конфигурирование однородных
коммуникаций
SFB коммуникации, SFB 13: BRCV

STL представление LAD представление


С примером передачи параметров

CALL BRCV, I_BRCV(связанный DB) DB 13 (связанный DB)


SFB 13 (BRCV)
EN_R:=#RLO_1 EN ENO
ID:=W#16#2 //S7соединение,2-сторон. EN_R NDR
R_ID:=DW#16#B2 //Блоковая пара ID ERROR
NDR:=#DATA_REC_BRCV R_ID STATUS
ERROR:=#ERR_BRCV RD_1
STATUS:=#ERR_DIS_BRCV
RD_1:=P#DB2.DBX0.0 BYTE 2000 LEN
LEN:=#DATA_LENGth

SIMATIC S7 Date: 01/12/98


File No. PRO3_7R. 33
Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved.

Системный функциональный блок BRCV


Прием большого объема данных (до 64 Kbyte) от партнера.
После приема каждого сегмента партнеру посылается подтверждение.

Параметр Вид Тип Описание

EN_R INPUT BOOL RLO = 1 SFB готов к приему


(I,O,M,D,L RLO = 0 процедура отменена
constant)

ID INPUT WORD Номер соединения для S7


(I,O,M,D,L гомогенной связи (см. таблицу
constant) соединений)

R_ID INPUT DWORD Параметр должен быть одинаковым


(I,O,M,D,L для обоих SFB (BSEND и BRCV).
constant) Назначение для блоковой пары.

RD_1 IN_OUT ANY Указатель на область приема. Длина


определяется максимальной длиной
принимаемого блока.

LEN IN_OUT WORD Длина принятых до сих пор данных в


байтах

NDR OUTPUT BOOL Положительный фронт сигнализирует


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

ERROR OUTPUT BOOL Положительный фронт сигнализирует


об ошибке (pulse).

STATUS OUTPUT WORD Содержит подробный код ошибки или


предупреждение

Siemens AG ST-7PRO2
Training Center 7 - 33 Конфигурирование однородных
коммуникаций
Демонстрация упражнения 7.3 для 2-х S7-400:
коммуникации через блоки SFB "BSEND/BRCV"

AS1- 400 AS3- 400

OB1 OB1
L
PEW512 UC FC10
OPN DB1 DB 1 DB 2 UC FC20

BSEND "B1" T DBW0


UC FC10 UC FC40 BRCV "B1"
UC FC20 .
UC FC30 .
UC FC40 OPN DB2
. L DBW0
OPN DB2 T OW6
L DBW0
T OW6
.
DB 2 DB 2
BRCV "B2" . BSEND "B2"

"B1","B2" -Параметр R_ID - назначение для блоковой пары

SIMATIC S7 Date: 01/12/98


File No. PRO3_7R. 34
Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved.

Упражнение 7.3 См. главу 8 (16-бит SM) или главу 9 (32-бит SM).
Это упражнение может быть выполнено только, если доступны два
контроллера S7-400. Если это невозможно, Вы можете обсудить упражнение
теоретически и и привести обоснованные решения.

Siemens AG ST-7PRO2
Training Center 7 - 34 Конфигурирование однородных
коммуникаций
Адаптация программы к апаратным средствам

SIMATIC S7 Date: 04.11.2005


Version: A3.1
Wissen fьr Automatisierung
Informations-
File.No: Pro2_11R.1 und Trainings-Center
Siemens AG 1995. All rights reserved.

Содержание: Страница

• Введение ….………………………………………………………………………………… 2
• Перемонтаж через SIMATIC Manager…………….................................................… 3
• Обзор: перемонтаж через исходную программу…………………………………...… 4
• Создание исходной программы из существующей программы S7..……..........… 5
• Создание исходной программы ........................……..........................................….. 6
• Список символов: адаптация абсолютных адресов……...................................…. 7
• Результат перемонтажа.........................................................................…............… 8
• Упражнение 11.1: Перемонтаж....................................................................…......… 9
• Изменение сканирования.................................................................................…..... 10
• Упражнение 11.2:. Изменение сканирования....................................................…... 11

Siemens AG ST-7PRO2
Training Center 8-1 Адаптация программы к аппаратуре
Введение
Фронтальный коннектор
Сигнальный модуль «старая» программа

A I 16.7
.
.
.
.
AN I16.7

Дефектный канал
I 16.7 «новая» программа
Свободный канал
I 17.0
A I 17.0
.
.
.
.
AN I17.0

SIMATIC S7 Date: 04.11.2005


Version: A3.1
Wissen fьr Automatisierung
Informations-
File.No: Pro2_11R.2 und Trainings-Center
Siemens AG 1995. All rights reserved.

Случай на практике Вы определили дефектный канал (I 16.7 или I 8.7) на входном модуле.
Не все входы назначены в этом модуле, поэтому Вы можете
подсоединить датчик к свободному каналу. После перемонтажа,
программа должна адаптироваться к новому фактору. Это означает,
что всюду, где при опросах был запрограммирован вход I 16.7 (I 8.7),
должна быть проведена замена на вход I 17.0 (I 9.0).

Перемонтаж Существует два способа перемонтажа программы пользователя


(адаптации к новым адресам):
- Перемонтаж через SIMATIC Manager, посредством выдачи старых
и новых адресов. Этот метод не требует списка символов.
- Перемонтаж через исходную программу. Здесь требуется список
символов.

Примечание Когда перемонтаж происходит через SIMATIC Manager, защищенные


блоки также изменяются.

Siemens AG ST-7PRO2
Training Center 8-2 Адаптация программы к аппаратуре
Перемонтаж через SIMATIC Manager

SIMATIC S7 Date: 04.11.2005


Version: A3.1
Wissen fьr Automatisierung
Informations-
File.No: Pro2_11R.3 und Trainings-Center
Siemens AG 1995. All rights reserved.

Введение В существующей программе пользователя старые адреса (напр., Q4.4)


во всех блоках заменяются новыми адресами (напр., Q 8.4).
Эта функция используется, например, при внесении изменений в
конфигурацию аппаратных средств.
Выполнение - В SIMATIC Manager выберите объект "Blocks"
- Активизируйте пункт меню Options --> Rewire
- Вводите старые и новые адреса в экране Rewire
- Подтвердите посредством "O.K."
- Если требуется, откройте протокол с результатом перемонтажа
(см. изображение)

Siemens AG ST-7PRO2
Training Center 8-3 Адаптация программы к аппаратуре
Обзор: перемонтаж через исходную программу
Программа Step7 с сим- Источник с символьной Программа Step7 с сим-
вольной адресацией в адресацией в контейнере вольной адресацией в
контейнере <Blocks> "Sources" S7 программы контейнере <Blocks>
ORGANIZATION_BLOCK Cycle
CYCLE ----- CYCLE
-----
A Start ----- A Start
A Startadvanced BEGIN A Startadvanced
S Startstored A Start; S Startstored
A Startadvanced;
A Stop S Startstored; A Stop
R Startstored A Stop; R Startstored
R Startstored;
- -- -
END_ORGANIZATION_BLOCK
- -
- -

CYCLE = OB1 CYCLE = OB1


Start = I 0.0 Изменение абсолютных Start = I 20.0
Stop = I 0.1 адресов в символьной Stop = I 20.1
Startstored = M 1.0 таблице Startstored = M 19.0
Startadv. = M 1.1 Startadv. = M 19.1

SIMATIC S7 Date: 04.11.2005


Version: A3.1
Wissen fьr Automatisierung
Informations-
File.No: Pro2_11R.4 und Trainings-Center
Siemens AG 1995. All rights reserved.

Заметки Этот перемонтаж работает для тех блоков с прямой и символьной


адресацией, которые не защищены.
Предпосылки Все входы, выходы, меркеры, таймеры, счетчики и блоки, которые
подлежат перемонтажу существуют в списке символов.
Предостережение Защищённые блоки, которые не сохранены в операционной системе
CPU, не должны компилироваться в исходном тексте. Если это
всё-таки случилось, то защищенные блоки должны быть
перекопированы в контейнер программы после того, как перемонтаж
завершен.

Siemens AG ST-7PRO2
Training Center 8-4 Адаптация программы к аппаратуре
Создание исходной программы из
существующей программы S7

SIMATIC S7 Date: 04.11.2005


Version: A3.1
Wissen fьr Automatisierung
Informations-
File.No: Pro2_11R.5 und Trainings-Center
Siemens AG 1995. All rights reserved.

Предпосылки - Системная программа сделана из незащищённых блоков.


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

Процедура Откройте блок из программы в S7для перемонтажа.


Выберите пункт меню OPTIONS-->CUSTOMIZE-->View --> SYMBOLIC
REPRESENTATION.
Выберите пункт меню FILE --> GENERATE SOURCE FILE.
В появляющемся окне, в строке “Object Name:” (“ Имя Объекта: ” )
запишите название для источника, который будет создан (название -
по выбору пользователя), и подтвердите название посредством OK.
В следующем окне "Select STEP 7 Blocks" выберите программные
блоки для перемонтажа, один за другим, в окне "Unselected Blocks".
Перенесите эти блоки в окно “Selected Blocks”, активируя элемент
(кнопку) " - > ". Не выбирайте защищённые блоки. Подтвердите выбор
всех желаемых блоков, посредством нажатия OK. Затем начините
компиляцию блоков в исходный текст. Компилируемые блоки затем Вы
найдете в исходном файле, с предварительно выбранным названием,
который находится в исходном контейнере “SO” в S7 программе.

Примечание Пошаговая компиляция программы не эффективна.

Siemens AG ST-7PRO2
Training Center 8-5 Адаптация программы к аппаратуре
Создание исходной программы

SIMATIC S7 Date: 04.11.2005


Version: A3.1
Wissen fьr Automatisierung
Informations-
File.No: Pro2_11R.6 und Trainings-Center
Siemens AG 1995. All rights reserved.

Исходная программа
Созданный исходный файл содержит все компилируемые блоки в
ASCII - коде. Если запланированы изменения в этом файле,
пожалуйста, удостоверитесь, что редактор для файлов-источников
не содержит никаких тестовые программ. В течение процедуры
трансляции, распознаются и сообщаются все ошибочные строки.

Перемонтаж Никакие изменения не должны происходить в исходном файле для


перемонтажа и имеющим адреса, которые существуют в глобальной
таблице символов.

Siemens AG ST-7PRO2
Training Center 8-6 Адаптация программы к аппаратуре
Список символов: адаптация абсолютных
адресов

до после

SIMATIC S7 Date: 04.11.2005


Version: A3.1
Wissen fьr Automatisierung
Informations-
File.No: Pro2_11R.7 und Trainings-Center
Siemens AG 1995. All rights reserved.

Адаптация адресв Перед адаптацией адресов в программе, пожалуйста, измените


только абсолютные адреса в символьной таблице.
Изменение в символьном названии требует адаптации в исходном
файле.

Siemens AG ST-7PRO2
Training Center 8-7 Адаптация программы к аппаратуре
Результат перемонтажа

OB 1 «старый» OB 1 «новый»

SIMATIC S7 Date: 04.11.2005


Version: A3.1
Wissen fьr Automatisierung
Informations-
File.No: Pro2_11R.8 und Trainings-Center
Siemens AG 1995. All rights reserved.

Перемонтаж Откройте исходный файл.


Начните перемонтаж, путём нажатия кнопки или, выбирая
меню FILE --> Compile.
Если Вы не изменили исходный файл, и никакие ошибочные
изменения не были проведены в таблице символов, то компилятор
после компиляции сообщит “0 errors” (“0 ошибок”).
Результат После перемонтажа, просматривая программу в символьном
представлении, Вы не заметите различий между тем, что было и что
стало. Однако, дезактивируя символьное представление, Вы
сможете проверить результат перемонтажа.
Примечание Иногда необходимо, после перемонтажа и переключения на
контейнер программы < Blocks >, обновить отображение блоков при
помощи клавиши F5.

Siemens AG ST-7PRO2
Training Center 8-8 Адаптация программы к аппаратуре
Упражнение 11.1: Перемонтаж

Выполните упражнение 11.1

SIMATIC S7 Date: 04.11.2005


Version: A3.1
Wissen fьr Automatisierung
Informations-
File.No: Pro2_11R.9 und Trainings-Center
Siemens AG 1995. All rights reserved.

Вы найдете описание упражнения в главе 16.

Siemens AG ST-7PRO2
Training Center 8-9 Адаптация программы к аппаратуре
Изменение сканирования

Двойное
нажатие

SIMATIC S7 Date: 04.11.2005


Version: A3.1
Wissen fьr Automatisierung
Informations-
File.No: Pro2_11R.10 und Trainings-Center
Siemens AG 1995. All rights reserved.

Причина Поиск неисправностей показывает, например, что неисправен меркер


или выход в отдельных местах программы. Чтобы устранить
проблему, Вы сначала должны найти эти места. Использование
перекрестных ссылок хорошо подходит для этого.
Перекрестные ссылки
В простых случаях достаточно, если Вы делаете двойное назначение
на меркеры, выходы, … в списке перекрестных ссылок. Дважды
нажимая на переменной в списке перекрестных ссылок, Вы можете
непосредственно переходить в цепочку связанного блока.
Изменение В блоке Вы теперь можете проводить желательную доработку
программы. После доработки, сохраните блок в проекте, и перенесите
блок в S7 CPU.
Поиск / замена В пункте меню EDIT также предлагается функция SEARCH/REPLACE
(ПОИСК/ПЕРЕМЕЩЕНИЕ). Эта функция подходит для замены
существующих комбинаций символов в одном блоке на новые
символьные комбинации.
Если существующая символьная комбинация должна быть
заменена на новую символьную комбинацию во всей программе , то
Вам следует это делать через формат исходного текста:
Generate Source File => Edit Source File => Compile.

Siemens AG ST-7PRO2
Training Center 8 - 10 Адаптация программы к аппаратуре
Упражнение 11.2: Изменение сканирования

Выполните упражнение 11.2

SIMATIC S7 Date: 04.11.2005


Version: A3.1
Wissen fьr Automatisierung
Informations-
File.No: Pro2_11R.11 und Trainings-Center
Siemens AG 1995. All rights reserved.

Вы найдете описание упражнения в главе 16.

Siemens AG ST-7PRO2
Training Center 8 - 11 Адаптация программы к аппаратуре
Расширенные тестовые возможности

SIEMENS

PG 740

SIMATIC S7 Date: 04.11.2005


Version: A3.1
Wissen fьr Automatisierung
Informations-
File.No: Pro2_12R.1 und Trainings-Center
Siemens AG 1995. All rights reserved.

Содержание: Страница

• Текущий контроль и изменение переменных с точками вызова ………...............… 2


• Установка точки вызова ………………………………………...................................….3
• Использование точек вызова для статуса программы …………….............…......… 4
• Статус программы и статус переменных ……………………..................................... 5
• Упражнение 12.1: Обработка точек вызова ………........................................ .......…6
• Упражнение 12.2: Расширение статуса программы ....................................... ...…. 7

Siemens AG ST-7PRO2
Training Center 9-1 Расширенные тестовые возможности
Текущий контроль и изменение переменных с
точками вызова
Чтение таблицы отображения входов

Точка вызова
«Начало цикла сканирования»

Вызывающая точка
«Переход в STOP»
Циклическая обработка программы

Точка вызова
«Конец цикла сканирования»

Передача на выходы таблицы отображения PIQ

SIMATIC S7 Date: 04.11.2005


Version: A3.1
Wissen fьr Automatisierung
Informations-
File.No: Pro2_12R.2 und Trainings-Center
Siemens AG 1995. All rights reserved.

Введение Для контроля и изменения переменных Вы можете выбирать точки


вызова относительно выполнения программы. С ними Вы можете,
например, достигать управления выходами, независящими от
выполнения программы (имитация режима “force”).
Начало цикла сканирования
Эта точка вызова применяется для контроля переменных и для
поддержания принудительного управления входами.

Конец цикла сканирования


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

Siemens AG ST-7PRO2
Training Center 9-2 Расширенные тестовые возможности
Установка точки вызова

TEST_T1D

SIMATIC S7 Date: 04.11.2005


Version: A3.1
Wissen fьr Automatisierung
Informations-
File.No: Pro2_12R.3 und Trainings-Center
Siemens AG 1995. All rights reserved.

Определение вызова
Из меню Variable , выберите пункт "Trigger ". Сразу откроется
окно диалога.
Точка вызова Вы можете выбирать между тремя пунктами:

– Начало цикла сканирования (до OB 1)

– Конец цикла сканирования (после OB 1)

– Переход RUN > STOP (интересна тем ,что если CPU


остановился, то из-за ошибки).
Условие вызова Выбирая установку “once” (однажды) состояние отображается
только один раз при выборе состояния. Если Вы захотите снова
увидеть текущее состояние, то будете должны выбрать пункт
меню Variable-->Update Monitor Values.
При установке “every cycle” (каждый цикл ”) состояния
переменных постоянно обновляются.

Siemens AG ST-7PRO2
Training Center 9-3 Расширенные тестовые возможности
Использование точек вызова для программы

TEST_T3D

SIMATIC S7 Date: 04.11.2005


Version: A3.1
Wissen fьr Automatisierung
Informations-
File.No: Pro2_12R.4 und Trainings-Center
Siemens AG 1995. All rights reserved.

Точки вызова После выбора пункта меню Debug --> Call Environment , появляется
диалоговый блок (см. слайд). Здесь Вы имеете возможность ввода
пути вызова. Это полезно, если блок вызывается в программе
несколько раз , и Вы хотите контролировать только один вызов.
Вы можете точно также определять блоки данных, как условие
вызова.
Запись статуса блока начинается, если указанный DB был открыт.

Путь вызова В примере, FC 1 вызывается три раза (см. структуру программы).


Чтобы, контролировать специально только один вызов, точно
определите последние три блока, перед “статусным” блоком.
Предпосылкой в этом случае является то, что вызов происходит в
различных блоках. Чтобы контролировать третий вызов, введите в
пример блок FC 30.

Открытие блоков данных


В примере, FB 1 вызывается несколько раз в одном и том же блоке
FC 40. В этом примере, путь вызова не может использоваться для
тестирования. Вызов через открытые блоки данных - единственное
средство. До тех пор пока FB использует экземпляр DB, - это может
использоваться в поле DB2-NUMBER как условие вызова. В
вышеупомянутом примере, DB1 используется в первом обращении,
DB 2 в втором и DB 3 в третьем. Чтобы контролировать второе
обращение, должно быть введено DB 2.

Siemens AG ST-7PRO2
Training Center 9-4 Расширенные тестовые возможности
Статус программы и статус переменных

TEST_T3D

SIMATIC S7 Date: 04.11.2005


Version: A3.1
Wissen fьr Automatisierung
Informations-
File.No: Pro2_12R.5 und Trainings-Center
Siemens AG 1995. All rights reserved.

Статус переменной
В течение устранения неисправностей это может быть
необходимо для Вас, чтобы контролировать или модифицировать
переменные, в дополнение к состоянию программы.
Выберите пункт меню PLC --> Monitor/Modify Variables. Установите
два окна так, чтобы Вы имели обзор их обоих.

Siemens AG ST-7PRO2
Training Center 9-5 Расширенные тестовые возможности
Упражнение 12.1: Обработка точек вызова

Выполните упражнение 12.1

SIMATIC S7 Date: 04.11.2005


Version: A3.1
Wissen fьr Automatisierung
Informations-
File.No: Pro2_12R.6 und Trainings-Center
Siemens AG 1995. All rights reserved.

Вы найдёте описание упражнения в главе 16.

Siemens AG ST-7PRO2
Training Center 9-6 Расширенные тестовые возможности
Упражнение 12.2: Расширение статуса
программы

Выполните упражнение 12.2

SIMATIC S7 Date: 04.11.2005


Version: A3.1
Wissen fьr Automatisierung
Informations-
File.No: Pro2_12R.7 und Trainings-Center
Siemens AG 1995. All rights reserved.

Вы найдёте описание упражнения в главе 16.

Siemens AG ST-7PRO2
Training Center 9-7 Расширенные тестовые возможности
Краткий обзор дополнительных пакетов
S7-GRAPH S7-HiGRAPH S7-SCL CFC
S7-GRAPH S7-HiGRAPH S7-SCL CFC

Init
0 Begin

// Example of a value assignment


Measured value:=0 ;

Motor steht // Example of a

1 // control instruction
IF E1.1 THEN
N:=0;
SUM:=0.0;
Hochfahren ELSIF START = TRUE THEN
N:=N+1;
SUM:=SUM + IN;
4 3 ELSE
OK:=FALSE;
END_IF;
Bremsen
// Example of a
// subroutine call-up
FB11.DB22(transfer:=10);
2 Motor lдuft

SIMATIC S7 Date: 04.11.2005


Version: A3.1
Wissen fьr Automatisierung
Informations-
und Trainings-Center
Siemens AG 1995. All rights reserved. File No.: Pro2_15R.1

Содержание: Страница

• Дополнительное программное обеспечение ……………………………………..… 2


• Пример программы в SCL......................................................................………..…3
• Пример программы в S7 Graph ..................…………............................…………..4
• Пример программы в S7 Higraph…………….........................................………..…5
• Пример программы CFC.........................................................................…………. 6
• Идентификация языка программирования блоков .......................………….....… 7
• Замечания по корректировке программы...............................…………………..… 8
• Упражнение 15.1: Определение языка создания блока.......................……….…9
• S7-PLCSim...........................................................................................………......… 10
• S7-PDIAG...............................................................................................………....… 11
• TeleService...............................................................................................………..…12

Siemens AG ST-7PRO2
Training Center 10 - 1 Обзор дополнительных пакетов
1
Дополнительное программное обеспечение

Технолого-
ориентированные
пакеты программного
обеспечения CFC для
S7/M7

Языки
программи- S7-SCL S7-GRAPH S7 HiGraph
рования

Основное программное обеспечение STEP 7


с программными языками LAD, FBD и STL

SIMATIC S7 Date: 04.11.2005


Version: A3.1
Wissen fьr Automatisierung
Informations-
und Trainings-Center
Siemens AG 1995. All rights reserved. File No.: Pro2_15R.2

Основное программное обеспечение


С основным программным обеспечением Вы можете создавать
ваши программы в контактном плане, в виде функциональной блок-
схемы или в виде списк операторов.
Следующие языки программирования доступны как дополнительное
программное обеспечение. С их помощью можно создать
индивидуальные блоки или полные программы. Все языки
программирования могут использоваться для компонентов
программы в программе пользователя.
S7-SCL SCL - паскалеобразный, высокоуровневый язык согласно
DIN EN 6.1131-3. Он помогает, если нужно создать сложные
блоки, типа вычислений формул или обработки данных. Этот язык
идеален для техников и инженеров, знающих языки высокого
уровня.
S7-GRAPH Этот язык программирования подходит для описания управляемых
процессов с последовательными состояниями системы, которые
представляются как последовательные шаги в графической форме.
S7-HiGraph Разрешает графическое описание последовательных и непоследо-
вательных процессов. Основное преимущество в том, что
технологи могут понимать отображение программы.
CFC Непрерывные функциональные карты для S7 или M7 могут быть
сгенерированы на языке программирования CFC (Continuous
Function Chart). Отображение подобно функциональной блок-схеме.
Доступна библиотека с откомпилированными блоками, которые
могут быть соединены друг с другом. Пользователь может также
создавать блоки самостоятельно в SCL или C ++.

Siemens AG ST-7PRO2
Training Center 10 - 2 Обзор дополнительных пакетов
2
Пример программы в SCL

SIMATIC S7 Date: 04.11.2005


Version: A3.1
Wissen fьr Automatisierung
Informations-
und Trainings-Center
Siemens AG 1995. All rights reserved. File No.: Pro2_15R.3

Введение Экран, показанный на слайде выше, показывает Вам пример


программы в SCL. Программа создана в исходном языке и
компилируется на выполнимые блоки в последовательности,
согласно описанию.
Как и для языка программирования высокого уровня, используются
ключевые слова, такие как function (функция) и end function (конец
функции). В отличие от программирования на STL, могут
использоваться математические формулы или структуры
программы, типа IF THEN ELSE. Следовательно, этот язык
программирования подходит, например, для сложных вычислений.

Siemens AG ST-7PRO2
Training Center 10 - 3 Обзор дополнительных пакетов
3
Пример программы в S7 Graph

Действие

Переход

SIMATIC S7 Date: 04.11.2005


Version: A3.1
Wissen fьr Automatisierung
Informations-
und Trainings-Center
Siemens AG 1995. All rights reserved. File No.: Pro2_15R.4

Введение На слайде выше показывается часть последовательности


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

Siemens AG ST-7PRO2
Training Center 10 - 4 Обзор дополнительных пакетов
4
Пример программы в S7 Higraph

SIMATIC S7 Date: 04.11.2005


Version: A3.1
Wissen fьr Automatisierung
Informations-
und Trainings-Center
Siemens AG 1995. All rights reserved. File No.: Pro2_15R.5

Введение На слайде, изображённом выше, показываются состояния графа


для контроллера парковки в гараже. Окружности представляют
состояния машины, а стрелки представляют переходы для
состояний.
В отличие от метода программирования на S7-GRAPH,
непоследовательные процессы могут также отображаться.
Возможно любое количество переходов между состояниями.

Siemens AG ST-7PRO2
Training Center 10 - 5 Обзор дополнительных пакетов
5
Пример программы в CFC

SIMATIC S7 Date: 04.11.2005


Version: A3.1
Wissen fьr Automatisierung
Informations-
und Trainings-Center
Siemens AG 1995. All rights reserved. File No.: Pro2_15R.6

Введение Пакет программ CFC делает возможным иметь технологически -


ориентированное и функционально - ориентированное
конфигурирование SIMATIC S7 и M7.
Предварительно откомпилированные блоки размещаются,
параметрируются и включаются в функциональные блоки
диаграмм для решения различных задач.
“ Внутренняя жизнь ” блоков программируется в SCL для SIMATIC
S7 и в C++ для SIMATIC M7.
На слайде, показанном выше, приведена CFC-диаграмма с
соединенными блоками. После графического ввода, выполняемые
блоки генерируются в последовательности трансляции.

Siemens AG ST-7PRO2
Training Center 10 - 6 Обзор дополнительных пакетов
6
Идентификация языка программирования блоков

Свойство
блокового
объекта

Блок, созданный
дополнительным ПО

SIMATIC S7 Date: 04.11.2005


Version: A3.1
Wissen fьr Automatisierung
Informations-
und Trainings-Center
Siemens AG 1995. All rights reserved. File No.: Pro2_15R.7

Введение SIMATIC Manager обеспечивает Вас необходимой информацией


для идентификации языка программирования, используемого при
создании блока.
Процедура В SIMATIC Manager откройте объект “Blocks” из S7 -программы и
переключитесь на режим “Details” в окне обзора “View.” Блоки
указываются списком с дополнительной информацией. Столбец
комментария показывает Вам язык программирования,
используемый при создании блока.
Вы можете также использовать следующее для отображения
свойств блока:
- Используйте правую кнопку мыши на блоке.
- Выберите пункт меню “Object properties” (свойства объекта).
- Язык генерации отображается на экране “Properties” в правой,
верхней части экрана.

Siemens AG ST-7PRO2
Training Center 10 - 7 Обзор дополнительных пакетов
7
Замечания по корректировке программы

‰ Поинтересуйтесь об используемом программном языке.


‰ Если инсталлировано функциональное ПО, то при открытии
блока вызывается актуальный инструмент
‰ Если функциональное ПО не инсталлировано, и Вы
открываете блок, который был создан с помощью
дополнительного пакета, то блок отобразится в STL.
‰ Изменения программы, например, для блоков GRAPH 7, могут
выполняться только при помощи дополнительного ПО.

Предупреждение, когда корректируемые блоки не


созданы в STL, FBD или LAD.

SIMATIC S7 Date: 04.11.2005


Version: A3.1
Wissen fьr Automatisierung
Informations-
und Trainings-Center
Siemens AG 1995. All rights reserved. File No.: Pro2_15R.8

Примечания Пожалуйста учтите примечания на слайде, изображённом выше.


Предупреждение Ни при каких обстоятельствах Вы не должны изменять блок,
созданный с дополнительным программным обеспечением, в
программном редакторе LAD/FBD/STL. Если же Вы это делаете, то
возврат компилированного блока к первоначальному виду
больше не возможен.

Siemens AG ST-7PRO2
Training Center 10 - 8 Обзор дополнительных пакетов
8
Упражнение 15.1: Определение языка создания
блока
Выполните упражнение 15.1.

SIMATIC S7 Date: 04.11.2005


Version: A3.1
Wissen fьr Automatisierung
Informations-
und Trainings-Center
Siemens AG 1995. All rights reserved. File No.: Pro2_15R.9

Описание упражнения находится в разделе 16.

Siemens AG ST-7PRO2
Training Center 10 - 9 Обзор дополнительных пакетов
9
S7- PLCSim

SIMATIC S7 Date: 04.11.2005


Version: A3.1
Wissen fьr Automatisierung
Informations-
und Trainings-Center
Siemens AG 1995. All rights reserved. File No.: Pro2_15R.10

S7 - PLCSIM Инженерный инструмент (дополнительный пакет) SIMATIC S7-PLCSIM


делает возможным автономное тестирование (off-line) программы на
устройстве программирования. Поддерживаются все языки
программирования STEP7 (STL, LAD, FBD, S7-Graph, S7-HiGraph, S7-SCL
и CFC).
Программное обеспечение S7-PLCSim разрешает пользователю
проверку функционирования программы для PLC на PC/PG,
независящую от наличия необходимых аппаратных средств.
Помимо различных возможностей отладки, пользователю предлагается
интерфейс пользователя, который, кроме окна состояния S7, имеет
дополнительные средства для изменения и контроля сигналов.

С помощью S7 - PLCSIM, ошибки могут быть обнаружены и удалены на


ранней стадии разработки. Готовность PLC -системы в значительной
степени увеличивается, а ценовые издержки уменьшаются.

Siemens AG ST-7PRO2
Training Center 10 - 10 Обзор дополнительных пакетов
10
S7-PDIAG (Процесс диагностики)

Простое и быстрое планирование системы

LAD, FBD, STL • Неявное диагностическое планирование


LAD, FBD, STL
проекта
• Нет резервного планирования проекта
• Однородное планирование проекта
• Проектирование широкой однородной
S7- Graph S7 - PDIAG базы данных

SIMATIC STEP 7 SIMATIC S7/ C7 SIMATIC HMI

SIMATIC S7 Date: 04.11.2005


Version: A3.1
Wissen fьr Automatisierung
Informations-
und Trainings-Center
Siemens AG 1995. All rights reserved. File No.: Pro2_15R.11

S7 - PDIAG Функциональный пакет SIMATIC S7-PDIAG это концепция контроля,


при которой на ранней стадии возможно определение ошибки, их
диагностика. S7 - PDIAG встраивается непосредственно в языки
STL, LAD и FBD делает интегрированную конфигурацию процесса
диагностики для этих языков.
Во время создания программы, могут формироваться ошибки,
связанные с адресацией. Также через S7-PDIAG осуществляется
генерация контроля логики для PLC -систем.

Siemens AG ST-7PRO2
Training Center 10 - 11 Обзор дополнительных пакетов
11
TeleService

On-line соединение TeleService с SIMATIC S7/C7 или M7.

Установка со стороны
системы
S7/C7 или M7
CPU I/O ... CPU

Центр
контроля со Адаптер PC
STEP7
и TeleService

Модем Установка Шина MPI


PG/PC модема

Телефонная
PG/PC
сеть

SIMATIC S7 Date: 04.11.2005


Version: A3.1
Wissen fьr Automatisierung
Informations-
und Trainings-Center
Siemens AG 1995. All rights reserved. File No.: Pro2_15R.12

TeleService Используя SIMATIC TeleService, соединенные установки и системы


могут контролироваться и управляться через телефонную сеть.
Возможность удаленного доступа к PLC- системам повышает
эффективность работы и вместе с этим рентабельность системы.
Расширение MPI интерфейса осуществляется через телефонные
сети, кроме анализа ошибок и поиск неисправностей, также
проводятся действия по обновлению ПО. В похожем подходе в S7,
центральная система управляет распределенными системами.
Допускается использование модемов, доступных на рынке.
Назначение параметров связи происходит через пакет SIMATIC
TeleService. Конфигурирование модемного соединения
производится путем системного управления телефонными
номерами, как в телефонной книге.

Siemens AG ST-7PRO2
Training Center 10 - 12 Обзор дополнительных пакетов
12
Упражнения с 16-битными I/O

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_8R.1

Содержание: Страница
• Упражнение 2.1: Переход после вычитания.............................…...……...............……...... 2
• Упражнение 2.2: Переход после умножения.........................................……...........…….... 3
• Упражнение 2.3: Переход по списку..............................................................…................. 4
• Упражнение 2.4: Функции обмена ACCU.........................................................……….....…5
• Упражнение 2.5: Обмен данными в ACCU1.................................................................…… 6
• Упражнение 2.6: Создание дополнений...............................................................…………. 7
• Упражнение 2.7: Использование комплексных параметров блока................................... 8
• Упражнение 3.1: Цикл программы с косвенной адресацией через память….………….. 9
• Упражнение 3.2: Обращения к регистрам адреса...................................…......………….. 10
• Упражнение 3.3: Зонная регистровая косвенная адресация.................…………………. 11
• Упражнение 3.4: Межзонная регистровая косвенная адресация................….…………. 12
• Упражнение 3.4.1 Дополнительные задания для упражнения 3.4.................................... 13
• Упражнение 4.1: Создание DB атрибутом Unlinked...........................................………….. 14
• Упражнение 4.2: Тестирование блока данных (только для S7-400)............................... 15
• Упражнение 4.3: Создание DB............................................................................…………. 16
• Упражнение 4.4: Копирование DB из загрузочной памяти в рабочую память.............… 17
• Упражнение 4.5: Запись сообщения в диагностический буфер....................................… 18
• Упражнение 4.6: Заполнение DB через SFC 21 (FILL)........................................……...... 19
• Упражнение 4.7: Считывание времени через SFC 1 (READ_CLK).............. …….…...….. 20
• Упражнение 5.1: Масштабирование аналогового значения.............................................. 21
• Упражнение 5.2: Установка часов CPU в стандартном времени...................................... 22
• Упражнение 6.1: Использование структур/массивов в блоке данных.................……..... 23
• Упражнение 7.1: Связь через SFB “START/STOP “................................………………….. 24
• Упражнение 7.2: Связь через SFB “GET/PUT”.................................………………............. 25
• Упражнение 7.3: Связь через SFB "BSEND/BRCV".............................………………......... 26

Siemens AG ST-7PRO2
Training Center 11 - 1 16-Bit Упражнения
Упражнение 2.1: Переход после вычитания
Функция:

Декадный переключатель
Входное слово 0
IW4 1 2 3 4
IW 0 в формате BCD
Преобразование в Преобразование в
double integer double integer

-D

Положительный результат (>=0)

Запишите значение
[JM метка ] Отрицательный входного слова IW0
результат на дисплей

Очистка дисплея QW 12

QW 12
UEB_UPP

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_8R.2

Цель упражнения: Научиться использовать операцию перехода, зависимую от условия.

Описание Создайте проект PROG3 и затем создайте S7 программу с именем


задания: EXERCISE.
Создайте FC101 с функциональными возможностями, описанными
выше на картинке. Используйте битово-зависимые переходы для
реализации обработки.
Используйте команду BTD для перевода числа из BCD формата в
формат double integer.
Программа OB121 с NOP 0 необходима для маскирования ошибок
преобразования во время задания числа.
Вызовите FC101 из OB1 и загрузите программу (OB1,ОВ121 и FC101) в
S7-CPU.
Протестируйте программу.

Siemens AG ST-7PRO2
Training Center 11 - 2 16-Bit Упражнения
Упражнение 2.2: Переход после умножения
Функция:

Декадный переключатель
Входное слово 0 IW0
IW4 1 2 3 4
Преобразование из BCD
в double integer
Преобразование в
double integer

*I

Нет переполнения
Преобразование в BCD.

Запишите результат
[JO Метка] Переполнение на дисплей.
OW12
Очистите дисплей
OW12

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_8R.3

Цель упражнения: Научиться использовать бито-зависимые переходы.


Описание задания: Создайте FC102 с функциональными возможностями описанными
выше на слайде. Используйте битово-зависимые переходы для
реализации обработки.
Используйте команду BTD для перевода числа из BCD формата в формат double integer и
используйте команду DTB для обратного перевода двоичного целого
числа double integer в BCD-код.
Вызовите FC102 из OB1 и загрузите программу (OB1 и FC102) в S7-
CPU.
Протестируйте программу.

Siemens AG ST-7PRO2
Training Center 11 - 3 16-Bit Упражнения
Упражнение 2.3: Переход по списку
Функция:
Декадный переключатель IW 4 ---> преобразование из BCD в
формат double integer

1 [JL] метка

1
Включение мотора вправо (Q20.5=1, Q20.6=0)
2
Включение мотора влево(Q20.6=1, Q20.5=0)
3
Мотор выключить
4
Сирену включить (Q20.7=1)
5
Сирену выключить (Q20.7=0)

Метка: переход через список переходов

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_8R.4

Цель задания: Научиться использовать переходы по списку.

Описание задания: Создайте FC103 с функциональными возможностями, описанными выше.


Используйте только абсолютные переходы для выполнения переходов
по списку.
Используйте команду BTD для перевода числа из BCD формата в
формат double integer.
Вызовите FC103 из OB1 и загрузите программу (OB1 и FC103) в S7-
CPU.
Протестируйте программу.

Siemens AG ST-7PRO2
Training Center 11 - 4 16-Bit Упражнения
Упражнение 2.4: Функции обмена ACCU

Копирование из ACCU1 в ACCU2

Пример: Формирование целого числа при возведении целого в квадрат


IB 4

1 2

Загрузка BCD -> Integer


Результат

ACCU1 ACCU1
Умножьте
Скопируйте посредством PUSH

ACCU2

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_8R.5

Цель упражнения: Ознакомиться с функциями обмена ACCU.


Быстрое вычисление показателей степеней для целых чисел
отображается в примере как прикладная возможность.
Описание задания: Создайте FC106.
Считайте левом байте декадного переключателя (IB4) и преобразуйте
BCD-код в целое двоичное число (команда BTI). Создайте посредством
считывания числа его значение в 6-ой степени:
Скопируйте содержимое ACCU1 в ACCU2 при помощи команды PUSH.
Перемножьте ACCU1 с ACCU2 (создание квадрата).
Скопируйте содержимое ACCU1 в ACCU2 при помощи команды PUSH.
Перемножьте ACCU1 с ACCU2 (создание 4-ой степени числа).
Умножьте ACCU1 на ACCU2.
Шестая степень величины из IB4 сейчас находится в ACCU1.
Отобразите результат на цифровом дисплее.
Вызовите FC106 из OB1 и загрузите программу в S7-CPU.
Протестируйте программу.

Примечание: Для того, чтобы значение не становилось слишком большим,


используйте только правую декаду IB4.

Siemens AG ST-7PRO2
Training Center 11 - 5 16-Bit Упражнения
Упражнение 2.5: Обмен данными в ACCU1

0 1 2 3
ACCU1 - L

CAW

2 3 0 1 ACCU1 - L

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_8R.6

Цель упражнения: Ознакомиться с функцией обмена байтами в пределах ACCU1.


Прикладная возможность: адаптация к записям для I/O.

Описание задания: Создайте FC107:


Загрузите значение декадного переключателя (IW4) в ACCU1.

Поменяйте байты друг с другом с помощью команды CAW в ACCU1- L.

Отобразите содержимое ACCU1 на семисегментном дисплее (QW12).

Вызовите FC107 из OB1 и загрузите программу в S7-CPU.


Протестируйте программу.

Siemens AG ST-7PRO2
Training Center 11 - 6 16-Bit Упражнения
Упражнение 2.6: Создание дополнений

Бит 31
Бит 0

1 0 0 . . . . . . . . . . . . . . . 0 1 0

Создание одного из дополнений: INVD

Бит 31
Бит 0

0 1 1 . . . . . . . . . . . . . . . 1 0 1

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_8R.7

Цель упражнения: Научиться создавать дополнения в SIMATIC S7

Описание задания: Создайте FC108.

Считайте значение декадного переключателя (IW4) в ACCU1.


Создайте одно из дополнений из величины в ACCU1.
Отобразите результат на семисегментном дисплее (QW12).

Вызовите FC108 из OB1 и загрузите программу в S7-CPU.


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

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


или выходных инвертированных сигналов.

Siemens AG ST-7PRO2
Training Center 11 - 7 16-Bit Упражнения
Упражнение 2.7: Использование комплексных
параметров блока

Описание структуры для входных параметров

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_8R.8

Цель упражнения: Научиться поддерживать комплексные параметры.

Описание задания: Создайте FC109 с разделом описания, как показано выше.


Создайте такую же структуру как и FC 109 в описании локальной
области данных в OB1.
Откройте OB1 и запишите значения в переменные структуры из
локальной области данных.
Используйте входы I0.0 и I0.1 для сигналов start и stop.
Используйте декадный переключатель IW4 для величины количества
символов.
Перенесите количество символов на дисплей в FC109. Вы управляете
конвейером (Q20.5) с помощью сигналов start и stop.
Вызовите FC109 из OB1 и обеспечьте параметры структурой из OB1.
Используйте дисплей QW12 для отображения параметра и Q20.5 для
конвейера.
Протестируйте блоки.

Замечание: Передача структуры как параметра должна быть в символьном


виде.

Siemens AG ST-7PRO2
Training Center 11 - 8 16-Bit Упражнения
Упражнение 3.1: Цикл программы с косвенной
адресацией через память
Адрес L- стека , байты

0 1 Tank[1]
2 2 Tank[2]
MD 50

са
д ре -
а -
ль
Значение ате ке -
аз те -
Ук L- с
в

16 9 Tank[9]
18 10
Tank[10]
20 0 Tank[11]

и т.д.

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_8R.9

Цель упражнения: Используя практический пример, узнайте, как использовать косвенную


адресацию в цикле программы.

Описание задания: Косвенная адресация к памяти используется для программирования


циклов. Значения от 1 до 10 записаны в десяти последовательно
расположенных ячейках памяти.
Создайте FC21.

Определите массив с двадцатью словами под именем “Tank” в


разделе описания FC21.

Предварительно настройте элементы массива с Tank[1] до Tank [10]


на значения от 1 до 10.

Используйте программный цикл и используйте MD50 для косвенной


адресации к массиву.

Вызовите FC21 из OB1 и протестируйте программу.

Siemens AG ST-7PRO2
Training Center 11 - 9 16-Bit Упражнения
Упражнение 3.2: Обращение к регистрам адреса

Левый декадный переключатель (IB4)

1 2
Адрес байта Правый декадный переключатель (IB5)
BCD -> INT
Преобразование в формат: pointer 1 2
Адрес бита

AR 1
Спрячьте левую декаду
маскируйте
+ левую декаду

AR 1/AR2

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_8R.10

Цель упражнения: Здесь вы узнаете как записывать, изменять, и считывать регистры


адреса в S7-CPU.

Описание задания: Создайте адрес-указатель, как отображено выше на слайде.


Используйте значения из декадного переключателя.

a) Внутренняя (зонная) адресация через AR1 в сегменте 1

b) Межзонная адресация для области входов через AR2 в


сегменте 2

Создайте FC22 и вызовите FC22 из OB1.

Загрузите программу в S7-CPU и протестируйте её с помощью


режима статуса блока. Активизируйте отображение регистров адреса
AR1 и AR2 для наблюдения за состоянием регистров.

Siemens AG ST-7PRO2
Training Center 11 - 10 16-Bit Упражнения
Упражнение 3.3: Зонная регистровая
Управление конвейером косвенная адресация
I0.0 Запуск (нормально-откр. контакт)
I0.1 Остановка (нормально-закр. контакт)

Позиция 1 Позиция 2 Позиция 3

Датчик Датчик Датчик


бутылки бутылки бутылки
I16.5 I16.6 I16.7

Q 20.5 лента конвейера вперед

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_8R.11

Цель упражнения: Научиться использовать зонную регистровую косвенную адресацию.

Описание задания: Создайте FC23 и осуществите следующие функции.

Конвейер должен начать движение с кнопки «Запуск».

Используйте правый декадный переключатель (IB5) для выбора станции


заполнения.

Поместите “бутылку ” на конвейер.

Когда “бутылка” достигает выбранной станции, конвейер должен


остановиться на три секунды.

Затем конвейер должен продолжать двигаться. Вы используете кнопку


«Остановка» (конвейер моментально останавливается).

Вы используете зонную регистровую косвенную адресацию (A


I[AR1,P#0.0]) для выбора станции.
Вызовите блок из OB1 и загрузите программу в S7-CPU.
Протестируйте программу.

Примечание: Металлический ролик, представленный в модели как “бутылка”, будет


использоваться далее.

Siemens AG ST-7PRO2
Training Center 11 - 11 16-Bit Упражнения
Упражнение 3.4: Межзонная регистровая
косвенная адресация
Управление конвейером
I0.0 Запуск (нормально-откр. контакт)
I0.1 Остановка (нормально-закр. контакт)

Позиция 1 Позиция 2 Позиция 3

Датчик Датчик Датчик


бутылки бутылки бутылки
I16.5 I16.6 I16.7

Q 20.5 лента конвейера вперед

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_8R.12

Цель упражнения: Научиться использовать межзонную регистровую косвенную адресацию.

Описание задания: Создайте FC24 и осуществите следующую функцию, подобную в


предыдущем упражнении.
Поместите “бутылку” на конвейер. Конвейер должен стартовать с кнопки
пуска. С помощью правого декадного переключателя, сначала выберите
позицию заполнения. Когда “бутылка” достигнет выбранной позиции,
конвейер должен остановиться в течении трёх секунд. Затем конвейер
должен продолжать двигаться дальше . Вы используете кнопку
остановки для моментальной остановки конвейера.
Используйте межзонную регистровую косвенную адресацию
(A [AR1,P#0.0]) для выбора станции.
Вызовите FC24 из OB1 и загрузите программу в S7-CPU.
Протестируйте программу.

Примечание: Металлический ролик , представленный в модели как “бутылка”, будет


использоваться далее.

Siemens AG ST-7PRO2
Training Center 11 - 12 16-Bit Упражнения
Упражнение 3.4.1: Дополнительные задания
для упражнения 3.4
Управление конвейером
I0.0 Запуск (нормально-откр. контакт)
I0.1 Остановка (нормально-закр. контакт)

Позиция 1 Позиция 2 Позиция 3

Датчик Датчик Датчик


бутылки бутылки бутылки
I16.5 I16.6 I16.7

Q 20.5 лента конвейера вперед

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_8R.13

Цель упражнения: Научиться использовать межзонную регистровую косвенную


адресацию.
Научиться осуществлять доступ чтения к локальным данным
вызывающего блока.

Описание задания: Подобно предыдущему упражнению.


Вызовите блок FC24 вместо OB1 из FC124. FC124 вызывается из
OB1.
Загрузите предварительно отобранную станцию для заполнения в
локальные данные FC124 с именем "fill."
Из FC24 выполните доступ к этим локальным данным с помощью
межзонной регистровой косвенной адресации.
Используйте идентификатор области W#16#87.

Вызовите блок FC124 из OB1 и загрузите всю программу в S7-CPU.


Протестируйте программу.

Siemens AG ST-7PRO2
Training Center 11 - 13 16-Bit Упражнения
Упражнение 4.1: Создание DB с атрибутом Unlinked
Исходный файл Загрузочная память

data_block db20
unlinked Компиляция Передача
struct
recipe1:array[1..20] of int; DB 20
end_struct DB 20
begin
recipe1[1]:=1;
.
.
end_data_block

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_8R.14

Цель упражнения: Научиться создавать блок данных с атрибутом UNLINKED.

Описание задания Поскольку рабочая память имеет только ограниченный (обычно


слишком малый ) размер, несколько блоков данных с различными
значениями рецептов хранятся только в загрузочной памяти. Только
рабочий DB, в котором хранится текущее значение рецептов ,
представлен в рабочей памяти. Для изменения рецепта требуемые
значения копируются из загрузочной памяти в рабочую память.
Вы используете атрибут ”UNLINKED” для того, чтобы блоки данных
хранились только в загрузочной памяти.
Выполнение - Скопируйте нелинкуемый исходный файл в свой собственный
проект из проекта PROG3_BA из S7 программы Chap_4_5 Exercises .
- Откройте исходную программу и проверьте есть ли там атрибут
” UNLINKED” .
- Откомпилируйте исходную программу.
- Перенесите блок данных DB 20 в CPU.
- Определите, что происходит в программе пользователя, когда Вы
используете L DB20.DBW0 для доступа в DB 20.

Результат
:................................................................................................

Siemens AG ST-7PRO2
Training Center 11 - 14 16-Bit Упражнения
Упражнение 4.2: Тестирование блока памяти
(только для S7-400)

Параметр Атрибут Тип данных Область памяти Описание

DB_NUMBER INPUT W ORD I,OA, M, D, L, constant Номер проверяемого DB


RET_VAL OUTPUT INT I,OA, M, D, L Информация об ошибке
DB_LENGTH OUTPUT W ORD I,OA, M, D, L Количество байт, которые
содержит выбранный DB
W RITE_PROT OUTPUT BOOL I, O, M, D, L Информация о признаке
защиты DB от записи
( 1- блок защищен)

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_8R.15

Цель упражнения: Научиться определять атрибуты блоков для DB в программе с помощью


инструкций и SFC.

Описание задания Так как Вы не можете использовать SIMATIC Manager для того, чтобы
определить хранится ли DB только в загрузочной памяти, Вы должны
определить это с помощью системной функции SFC 24 (TEST_DB) .
Выходной параметр RET_VAL предусматривает следующие
идентификаторы:
w#16# 0000 ошибок нет
w#16# 80A1 некорректное число в параметре DB_NUMBER (0 или >
максимального числа DB )
w#16# 80B1 DB отсутствует в CPU
w#16# 80B2 DB был создан с атрибутом ”UNLINKED”
(находится только в загрузочной памяти)
Выполнение Создайте блок FC 42, который определяет: находится ли DB 20 только в
загрузочной памяти. Если да, то это должно быть отображено на выходе
O 0.1.
Пожалуйста, протестируйте блок если Вы практикуетесь с устройством S7-
400.
Примечание Системная функция SFC 24 существует только для S7-400!

Siemens AG ST-7PRO2
Training Center 11 - 15 16-Bit Упражнения
Упражнение 4.3: Создание DB

Параметр Атрибут Тип данных Область памяти Описание

LOW_LIMIT INPUT WORD I,OA, M, D, L, constant Наименьший номер DB


UP_LIMIT INPUT WORD I,OA, M, D, L, constant Наибольший номер DB
COUNT INPUT WORD I, O, M, D, L, constant Количество байт в блоке
RET_VAL OUTPUT INT I,O, M, D, L Код ошибки для SFC
DB_NUMBER OUTPUT WORD I, O, M, D, L Номер созданного DB (лежит
между LOW_LIMIT и UP_LIMIT)

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_8R.16

Цель упражнения: Узнать, как устанавливать в программе новый DB.

Описание задания Во время запуска DB 10 должен быть создан в рабочей памяти. Значения
рецептов копируются позже из загрузочной памяти в этот DB.

Выполнение - Создайте программу для создания DB 10 длинной в 20 слов в OB 100.


- Протестируйте Вашу программу.

Примечание Системная функция SFC 22 обеспечивает сообщение ошибки через


параметр RET_VAL:
w#16# 0000 нет ошибок
w#16# 8091 превышена допустимая величина вложения
w#16# 8092 сжатие является в данный момент активным
w#16# 80A1 некорректный номер DB
w#16# 80A2 некорректная длина
w#16# 80B1 нет доступного номера DB (DB уже существует)
w#16# 80B2 не достаточно ячеек памяти
w#16# 80B3 не достаточно памяти (требуется сжатие)

Siemens AG ST-7PRO2
Training Center 11 - 16 16-Bit Упражнения
Упражнение 4.4: Копирование DB из загрузочной
памяти в рабочую память

Параметр Атрибут Тип данных Область памяти Описание

SRCBLK INPUT ANY I, O, M, D, L Область памяти для копирования


(=исходному массиву). Исходный
массив может представлять не
последовательные блоки в загрузочной
памяти( блок DB должен быть
откомпилирован со словом UNLINKED)
RET_VAL OUTPUT INT I, O, M, D, L Код ошибки для SFC
DSTBLK OUTPUT ANY I, O, M, D, L Область памяти в которую копируется
блок

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_8R.17

Цель упражнения: Научиться использовать системную функцию переноса блока.

Описание задания Из блока данных DB 20 значения (DW0-DW38) должны быть скопированы в


DB 10 (DW0-DW38) рабочей памяти. Копирование происходит один раз
после появления на входе I1.0 фронта импульса.

Выполнение - Создайте блок FC 44, который копирует значения из DB 20 в DB 10


для фронта импульсов на входе I1.0.
- Протестируйте программу.

Siemens AG ST-7PRO2
Training Center 11 - 17 16-Bit Упражнения
Упражнение 4.5: Запись сообщения в
диагностический буфер

Параметр Атрибут Тип данных Область памяти Описание

SEND INPUT BOOL I, O, M, D, L, constant Разрешение посылки пользователя во


все зарегистрированные узлы
EVENTN INPUT W ORD I, O, M, D, L, constant Номер или тип события ( идентификатор
события)
INFO1 INPUT ANY I, O, M, D, L Дополнительная информация 1 (слово)
INFO2 INPUT ANY I, O, M, D, L Дополнительная информация 2 (слово)
RET_VAL OUTPUT INT I, O, M, D, L Код ошибки для SFC

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_8R.18

Цель упражнения: Научиться программировать входные сообщения в диагностический буфер.


Описание задания Для системной ошибки (смоделированной через фронт импульсов I 1.2),
должен быть выполнен пользовательский вход в диагностический буфер.
Сообщение об обнаружении ошибки должно быть также передано на PG
( программатор).
Выполнение - Создайте блок FC 45, который вводит сообщение о неисправностях в
диагностический буфер.
- Разрешите сообщения от CPU в SIMATIC Manager.
- Протестируйте программу.
Примечание Используйте следующие параметры для SFC 52:
EVENTN W#16# 9B0A (ошибка конечного состояния, ожидаемое
событие поступление, внешняя ошибка,
вход пользователя в буфер ошибок)
INFO1 W#16# 8 (например предел числа переключений)
INFO2 DW#16# 1 (например предел типа переключений)

Событие с номером 9 (Event ID=9) означает доступ для пользователя.


(Смотрите руководство ”Системные и стандартные функции”).
Коды ошибок - 8083 Недопустимый тип данных INFO1
- 8084 Недопустимый тип данных INFO2
- 8085 Недопустимый код EVENTN
- 8086 Недопустимая длина INFO1
- 8087 Недопустимая длина INFO2
- 8091 Узел не зарегистрирован
- 8092 Пересылка в данный момент невозможна (буфер пересылки
заполнен)

Siemens AG ST-7PRO2
Training Center 11 - 18 16-Bit Упражнения
Упражнение 4.6: Заполнение DB с SFC 21 (FILL)

Параметр Атрибут Тип данных Область памяти Описание

BVAL INPUT ANY I, O, M, D, L Массив -источник


RET_VAL OUTPUT INT I, O, M, D, L Код ошибки для SFC
BLK OUTPUT ANY I, O, M, D, L Массив -приемник

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_8R.19

Цель упражнения: Научиться использовать системные функции.

Описание задания Блок данных DB10 должен быть удален при возникновении фронта
импульсов на входе I1.1.
Выполнение - Создайте блок FC 46 который полностью удалит DB 10 при
возникновении фронта импульсов на входе I1.1 (с помощью системной
функцией SFC 23).
- Протестируйте программу.

На слайде предлагается выполнить заполнение блока данных с


помощью SFC 21 !

Siemens AG ST-7PRO2
Training Center 11 - 19 16-Bit Упражнения
Упражнение 4.7: Считывание времени с помощью SFC 1
(READ_CLK)

Параметр Атрибут Тип данных Область памяти Описание

CDT OUTPUT DATE_AND_TIME (DT) D, L Выход для текущего времени и


даты

RET_VAL OUTPUT INT I, O, M, D, L Код ошибки для SFC

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_8R.20

Цель упражнения: Научиться оперировать системным временем.

Описание задания При помощи системной функции SFC 1 дата и время должны
считываться из CPU. Часы и минуты должны быть отображены на
цифровом дисплее (QW 12).
Выполнение - Создайте блок FC 47, который считывает дату и время (системной
функцией SFC 1) и отображает время (часы, минуты) на
цифровом дисплее.
- Проверьте, правильно ли установлены часы в CPU.
- Протестируйте программу.

Siemens AG ST-7PRO2
Training Center 11 - 20 16-Bit Упражнения
Упражнение 5.1: Масштабирование аналогового
значения
Аналоговое значение канала 0

U
10V

0V
0 10000 Физическая
величина

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_8R.21

Цель упражнения: Научиться использовать блок FC 105 из библиотеки FBLIB2.


Описание задания Аналоговое значение (от 0 до 10V) из канала 0 аналогового модуля
должно быть преобразовано в физическую переменную между 0 и
10000. Используйте FC 105 из библиотеки STLIB30 и S7- программы
FBLIB2. Масштабированное значение должно быть отображено на
цифровом дисплее.
Выполнение - Проверьте параметр, установленный для аналогового модуля.
Диапазон измерения для канала 0 должен быть установлен от 0 до
10V.
- Создайте блок FC 51 согласно описанию задания.
- Вызовите FC 51 из OB 35.
- Перенесите блоки.
- Протестируйте программу.

Siemens AG ST-7PRO2
Training Center 11 - 21 16-Bit Упражнения
Упражнение 5.2: Установка часов CPU в
стандартном времени
Начальная информация OB 1

OB1_DATE_TIME Запуск по фронту


FC 12 FC 35

DT1 RET_VAL EN ENO

OB1_DATE
DT2 _TIME T RET_VAL
стандартное
времени Часы D
Переключатель
времени

SFC 0

EN RET_VAL

PDT

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_8R.22

Цель упражнения: Научиться устанавливать время с помощью функции IEC.

Описание задания Установка часов CPU должна быть произведена с летнего времени на
стандартное время 10.26.1997, а именно 2:00 до полудня.
Переменная OB1_DATE_TIME вычисляется для идентификации
правильной точки времени. Функция FC 12 IEC сравнивает две
переменные типа DT для равенства. RET_VAL посылает сигнал “1”
для равенства. . При достижении точки времени происходит
вычитание одного часа при помощи функции FC 35. Время в CPU
устанавливается опять с новой точкой времени посредством
системной функции SFC 0.
Выполнение - Скопируйте блоки FC 35, FC 10, FC 12 из библиотеки stdlib30
S7- программы IEC в свой проект PROG3.
- Скопируйте DB 12 из проекта PROG3_BA S7- программу
Chap_4_5_exercises в свой проект.
- Присвойте имя переменной времени в DB 12.
- Введите точку времени, в которую датчик времени должен
изменяться в DB 12 на стандартные значение времени.
- Создайте программу для изменения времени в OB 1.
- Перенесите блоки DB 12, FC 35, FC 12 и OB 1 и протестируйте
программу.
Примечание Используйте помощь для ознакомления с необходимыми функциями.

Siemens AG ST-7PRO2
Training Center 11 - 22 16-Bit Упражнения
Упражнение 6.1: Использование
структур/массивов в блоке данных
Блок 1 Блок 2 Блок 3

Отделение 1 16#ABCD Отделен. 1


Отделен. 1
16#ABCD
2 2 2
3 16#ABCD 3 3

: 1 до 100 : :
99 16#ABCD 99 99
100 16#ABCD 100 100

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_8R.23

Цель упражнения: Научиться оперировать со сложными структурами данных.

Описание задания: Создайте блок данных DB 61 для управления складом. На складе


имеется три блока со 100 отделениями в каждом.
Присвойте отделениям в 1-ом блоке значение W#16#ABCD. Вначале
отделения в других блоках должны быть пустыми.
После того, как DB был создан, он должен быть загружен в S7 CPU.

Переместите информацию из 1-го блока во 2-ой блок в программе STEP7


(FC 61). Для запуска действия используйте фронт импульсов на входе I
1.4. Затем удалите информацию в 1-ом блоке при помощи SFC 21.
Затем перенесите информацию из 1-го отделения 2-го блока в
отделение 99 3-го блока и из 2-го отделения 2-го блока в 100-е
отделение 3-го блока.

Протестируйте программу функционально при помощи считывания DB.

Siemens AG ST-7PRO2
Training Center 11 - 23 16-Bit Упражнения
Упражнение 7.1: Связь через SFB "START/STOP"
Программа S7 в AS1-400 Соединения в S7 AS2- 300

OB 1
FC 10 "STOP"
AC FC 10 CALL SFB20,DB20 AS1- 400
ID:=W#16#1
.
.
. Local ID no. Односторонняя
1 однородная S7 связь
AC FC 20 CALL SFB 19,DB19 FC 20 "START"
ID:=W#16#1
.
. MPI=3
.
.

MPI=2

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_8R.24

Упражнение 7.1

Шаг Процедура Комментарий


1 Создайте новый проект “SFB-Comm”
2 -Создайте две HW - станции:
AS1-400 и AS2-300.
-Используйте сеть MPI для HW - станций.
-Проверьте оnline-связь с помощью режима
“Accessible nodes.”
-Переименуйте CPU на CPU413-AS1
и CPU314-AS2
3 -Создайте S7 гомогенное соединение от
CPU413-AS1 к CPU314-AS2.
-Загрузите таблицу соединений в S7-400.

4 - Создайте OB100 в S7 программе для


AS1-400.
- Запишите OB100 как описано в главе 7.
5 -Создайте блок FC10 “SFB_STOP“ и вызовите - Стартовое событие I 0.0
SFB “STOP”.
-Создайте блок FC20 “SFB_START” и вызовите - Стартовое событие I 0.1
SFB “START”.

Siemens AG ST-7PRO2
Training Center 11 - 24 16-Bit Упражнения
Упражнение 7.2: Связь через SFB "GET/PUT"

Программа S7 в AS1-400
AS1- 400 AS2- 300
OB 1

FC 10 "STOP" QB 4 IB 0
AC FC 10 CALL SFB20,DB20
AC FC 20 ID:=W#16#1
.
. GET
. OW 0 IW 4
CALL SFB 19,DB19 FC 20 "START"
ID:=W#16#1
.
.
.
IW 2 OW 12
.
PUT
UC FC30 FC 30 "GET/PUT"
CALL SFB 14,DB14
ID:=W#16#1
.
.
CALL SFB 15;DB15
ID:=W#16#1
.

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_8R.25

Упражнение 7.2

Ш аг П р о ц е д ур а
1 В ы п о л н и т е п ун кт ы 1 , 2 , и 3 в уп р а ж н е н и и 7 .1 , е с л и В ы н е д е л а л и
уп р а ж н е н и е 7 .1 .
2 - Р а с ш и р ь т е O B 1 0 0 в уп р а ж н е н и и 7 .1 в ы з о в а м и д л я
и н и ц и а л и з а ц и и ф ун кц и й “G E T “ и “P U T ”.
3 -С о з д а й т е б л о к F C 3 0 “S F B _ G E T /P U T “ и в ы з о в и т е в н е м S F B “G E T “
(S F B 1 4 ).
-З а д а й т е п а р а м е т р ы д л я S F B 1 4 .
-В хо д I 0 .2 и л и п е р е кл ю ч а ю щ и й с я м е р ке р д о л ж н ы ф о р м и р о в а т ь
п о л о ж и т е л ь н ы й и м п ул ь с н а в хо д н о м п а р а м е т р е R E Q .
4 - П р о ч и т а й т е IB 0 и з с т а н ц и и A S 2 -3 0 0 и р а з м е с т и т е IB 0 в с в о е й
с т а н ц и и A S 1 -4 0 0 в Q B 4 .
- Е с л и и м е е т с я о ш и б ка с в я з и , п е р е д а й т е е е ко д в Q W 2 .
- Т а кж е п р о ч и т а й т е IW 4 и з с т а н ц и и A S 2 -3 0 0 и р а з м е с т и т е IW 4 в
с т а н ц и и A S 2 -4 0 0 а Q W 0 .
5 -В ы з о в и т е S F B 1 5 “P U T ” и з F C 3 0 .
-З а д а й т е д л я S F B п а р а м е т р ы , т а к ч т о б ы I 0 .3 и л и
п е р е кл ю ч а ю щ и й с я м е р ке р п е р е д а в а л п о л о ж и т е л ь н ы й ф р о н т .
П е р е д а й т е IW 2 и з A S 1 -4 0 0 н а Q W 1 2 п а р т н е р а A S 2 -3 0 0 .

Siemens AG ST-7PRO2
Training Center 11 - 25 16-Bit Упражнения
Упражнение 7.3: Связь с через
SFB "BSEND/BRCV"
AS1- 400 AS3- 400

OB1 OB1
L PIW512
OPN DB1 AC FC10
T DBW0 DB 1 DB 2 AC FC20

BSEND "B1"
AC FC10
AC FC20 AC FC40 BRCV "B1"
AC FC30 .
AC FC40 .
. OPN DB2
OPN DB2 L DBW0
L DBW0 T OW6
T OW6
. DB 2 DB 2
.
BRCV "B2" BSEND "B2"

"B1","B2" - Параметры R_ID - задают блоковую пару

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_8R.26

Упражнение 7.3

Шаг Процедура
1 Расширьте проект “SFB Comm” станцией S7 400: AS3 - 400.
- Сеть для двух S7-400 через MPI.
2 -Создайте двустороннюю гомогенную S7 -связь между AS1-400 и
AS3-400.
- Загрузите таблицу соединений во все CPU.
3 -Инициализируйте блоки SFB “BSEND/BRCV” в OB100 для AS1-400 и
AS3-400.
-Создайте DB1“SEND_DB” и DB2 “RCV_DB” (2 Kбайт длина) в AS1-400 и nd
AS3-400 с помощью PG или системной SFC 22 в OB100.
4 -Создайте FC40 в обеих станциях S7 и с помощью “ BSEND“ <==> “BRCV“
выполните SFB - коммуникацию в соответствии с диаграммой,
приведенной выше..
- Запустите процедуру передачи с циклической установкой на входе
параметра REQ переключающего меркера.
5 - Вызовите FC 40 в AS1-400 и AS3-400.
- Пошлите PIW 512 (аналоговый канал 1)из AS1-400 к AS3-400 и обратно
снова на AS1-400.
- Загрузите принимаемое значение PIW 512 из AS1-400 в дисплеи QW6 на
каждой станции S7-400.

Siemens AG ST-7PRO2
Training Center 11 - 26 16-Bit Упражнения
Упражнения с 32-битными I/O

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_9R.1

Содержание: Страница
• Упражнение 2.1: Переход после вычитания.............................…...……...............……...... 2
• Упражнение 2.2: Переход после умножения.........................................……...........…….... 3
• Упражнение 2.3: Переход по списку..............................................................…................. 4
• Упражнение 2.4: Функции обмена ACCU.........................................................……….....… 5
• Упражнение 2.5: Обмен данными в ACCU1.................................................................…… 6
• Упражнение 2.6: Создание дополнений...............................................................…………. 7
• Упражнение 2.7: Использование комплексных параметров блока................................... 8
• Упражнение 3.1: Цикл программы с косвенной адресацией через память….………….. 9
• Упражнение 3.2: Обращения к регистрам адреса...................................…......………….. 10
• Упражнение 3.3: Зонная регистровая косвенная адресация.................…………………. 11
• Упражнение 3.4: Межзонная регистровая косвенная адресация................….…………. 12
• Упражнение 3.4.1 Дополнительные задания для упражнения 3.4.................................... 13
• Упражнение 4.1: Создание DB атрибутом Unlinked...........................................………….. 14
• Упражнение 4.2: Тестирование блока данных (только для S7-400)............................…. 15
• Упражнение 4.3: Создание DB............................................................................…………. 16
• Упражнение 4.4: Копирование DB из загрузочной памяти в рабочую память.............… 17
• Упражнение 4.5: Запись сообщения в диагностический буфер....................................… 18
• Упражнение 4.6: Заполнение DB через SFC 21 (FILL)........................................……...... 19
• Упражнение 4.7: Считывание времени через SFC 1 (READ_CLK).............. …….…...….. 20
• Упражнение 5.1: Масштабирование аналогового значения.............................................. 21
• Упражнение 5.2: Установка часов CPU в стандартном времени...................................... 22
• Упражнение 6.1: Использование структур/массивов в блоке данных.................……..... 23
• Упражнение 7.1: Связь через SFB “START/STOP “................................………………….. 24
• Упражнение 7.2: Связь через SFB “GET/PUT”.................................………………............. 25
• Упражнение 7.3: Связь через SFB "BSEND/BRCV".............................………………......... 26

Siemens AG ST-7PRO2
Training Center 12 - 1 32-Bit Упражнения
Упражнение 2.1: Переход после вычитания
Функция:

Декадный переключатель
Входное слово 0
IW2 1 2 3 4
IW 0 в формате BCD
Преобразование в Преобразование в
double integer double integer

-D

Положительный результат (>=0)

Запишите значение
[JM метка ] Отрицательный входного слова IW0
результат на дисплей

Очистка дисплея QW 6

QW 6
UEB_UPP

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_9R.2

Цель упражнения: Научиться использовать операцию перехода, зависимую от условия.

Описание Создайте проект PROG3 и затем создайте S7 программу с именем


задания: EXERCISE.
Создайте FC101 с функциональными возможностями, описанными
выше на картинке. Используйте битово-зависимые переходы для
реализации обработки.
Используйте команду BTD для перевода числа из BCD формата в
формат double integer.
Программа OB121 с NOP 0 необходима для маскирования ошибок
преобразования во время задания числа.
Вызовите FC101 из OB1 и загрузите программу (OB1,ОВ121 и FC101) в
S7-CPU.
Протестируйте программу.

Siemens AG ST-7PRO2
Training Center 12 - 2 32-Bit Упражнения
Упражнение 2.2: Переход после умножения
Функция:

Декадный переключатель
Входное слово 0 IW0
IW2 1 2 3 4
Преобразование из BCD
в double integer
Преобразование в
double integer

*I

Нет переполнения
Преобразование в BCD.

Запишите результат
[JO Метка] Переполнение на дисплей.
OW6
Очистите дисплей
OW6

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_9R.3

Цель упражнения: Научиться использовать бито-зависимые переходы.


Описание задания: Создайте FC102 с функциональными возможностями описанными
выше на слайде. Используйте битово-зависимые переходы для
реализации обработки.
Используйте команду BTD для перевода числа из BCD формата в формат double integer и
используйте команду DTB для обратного перевода двоичного целого
числа double integer в BCD-код.
Вызовите FC102 из OB1 и загрузите программу (OB1 и FC102) в S7-
CPU.
Протестируйте программу.

Siemens AG ST-7PRO2
Training Center 12 - 3 32-Bit Упражнения
Упражнение 2.3: Переход по списку
Функция:
Декадный переключатель IW 4 ---> преобразование из BCD в
формат double integer

1 [JL] метка

1
Включение мотора вправо (Q8.5=1, Q8.6=0)
2
Включение мотора влево(Q8.6=1, Q8.5=0)
3
Мотор выключить
4
Сирену включить (Q8.7=1)
5
Сирену выключить (Q8.7=0)

Метка: переход через список переходов

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_9R.4

Цель задания: Научиться использовать переходы по списку.

Описание задания: Создайте FC103 с функциональными возможностями, описанными выше.


Используйте только абсолютные переходы для выполнения переходов
по списку.
Используйте команду BTD для перевода числа из BCD формата в
формат double integer.
Вызовите FC103 из OB1 и загрузите программу (OB1 и FC103) в S7-
CPU.
Протестируйте программу.

Siemens AG ST-7PRO2
Training Center 12 - 4 32-Bit Упражнения
Упражнение 2.4: Функции обмена ACCU

Копирование из ACCU1 в ACCU2

Пример: Формирование целого числа при возведении целого в квадрат


IB 2

1 2

Загрузка BCD -> Integer


Результат

ACCU1 ACCU1
Умножьте
Скопируйте посредством PUSH

ACCU2

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_9R.5

Цель упражнения: Ознакомиться с функциями обмена ACCU.


Быстрое вычисление показателей степеней для целых чисел
отображается в примере как прикладная возможность.
Описание задания: Создайте FC106.
Считайте левом байте декадного переключателя (IB2) и преобразуйте
BCD-код в целое двоичное число (команда BTI). Создайте посредством
считывания числа его значение в 6-ой степени:
Скопируйте содержимое ACCU1 в ACCU2 при помощи команды PUSH.
Перемножьте ACCU1 с ACCU2 (создание квадрата).
Скопируйте содержимое ACCU1 в ACCU2 при помощи команды PUSH.
Перемножьте ACCU1 с ACCU2 (создание 4-ой степени числа).
Умножьте ACCU1 на ACCU2.
Шестая степень величины из IB2 сейчас находится в ACCU1.
Отобразите результат на цифровом дисплее.
Вызовите FC106 из OB1 и загрузите программу в S7-CPU.
Протестируйте программу.

Примечание: Для того, чтобы значение не становилось слишком большим,


используйте только правую декаду IB2.

Siemens AG ST-7PRO2
Training Center 12 - 5 32-Bit Упражнения
Упражнение 2.5: Обмен данными в ACCU1

0 1 2 3
ACCU1 - L

CAW

2 3 0 1 ACCU1 - L

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_9R.6

Цель упражнения: Ознакомиться с функцией обмена байтами в пределах ACCU1.


Прикладная возможность: адаптация к записям для I/O.

Описание задания: Создайте FC107:


Загрузите значение декадного переключателя (IW2) в ACCU1.

Поменяйте байты друг с другом с помощью команды CAW в ACCU1- L.

Отобразите содержимое ACCU1 на семисегментном дисплее (QW6).

Вызовите FC107 из OB1 и загрузите программу в S7-CPU.


Протестируйте программу.

Siemens AG ST-7PRO2
Training Center 12 - 6 32-Bit Упражнения
Упражнение 2.6: Создание дополнений

Бит 31
Бит 0

1 0 0 . . . . . . . . . . . . . . . 0 1 0

Создание одного из дополнений: INVD

Бит 31
Бит 0

0 1 1 . . . . . . . . . . . . . . . 1 0 1

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_9R.7

Цель упражнения: Научиться создавать дополнения в SIMATIC S7

Описание задания: Создайте FC108.

Считайте значение декадного переключателя (IW2) в ACCU1.


Создайте одно из дополнений из величины в ACCU1.
Отобразите результат на семисегментном дисплее (QW6).

Вызовите FC108 из OB1 и загрузите программу в S7-CPU.


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

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


или выходных инвертированных сигналов.

Siemens AG ST-7PRO2
Training Center 12 - 7 32-Bit Упражнения
Упражнение 2.7: Использование комплексных
параметров блока

Описание структуры для входных параметров

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_9R.8

Цель упражнения: Научиться поддерживать комплексные параметры.

Описание задания: Создайте FC109 с разделом описания, как показано выше.


Создайте такую же структуру как и FC 109 в описании локальной
области данных в OB1.
Откройте OB1 и запишите значения в переменные структуры из
локальной области данных.
Используйте входы I0.0 и I0.1 для сигналов start и stop.
Используйте декадный переключатель IW2 для величины количества
символов.
Перенесите количество символов на дисплей в FC109. Вы управляете
конвейером (Q8.5) с помощью сигналов start и stop.
Вызовите FC109 из OB1 и обеспечьте параметры структурой из OB1.
Используйте дисплей QW6 для отображения параметра и Q8.5 для
конвейера.
Протестируйте блоки.

Замечание: Передача структуры как параметра должна быть в символьном


виде.

Siemens AG ST-7PRO2
Training Center 12 - 8 32-Bit Упражнения
Упражнение 3.1: Цикл программы с косвенной
адресацией через память
Адрес L- стека , байты

0 1 Tank[1]
2 2 Tank[2]
MD 50

са
д ре -
а -
ль
Значение ате ке -
аз те -
Ук L- с
в

16 9 Tank[9]
18 10
Tank[10]
20 0 Tank[11]

и т.д.

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_9R.9

Цель упражнения: Используя практический пример, узнайте, как использовать косвенную


адресацию в цикле программы.

Описание задания: Косвенная адресация к памяти используется для программирования


циклов. Значения от 1 до 10 записаны в десяти последовательно
расположенных ячейках памяти.
Создайте FC21.

Определите массив с двадцатью словами под именем “Tank” в


разделе описания FC21.

Предварительно настройте элементы массива с Tank[1] до Tank [10]


на значения от 1 до 10.

Используйте программный цикл и используйте MD50 для косвенной


адресации к массиву.

Вызовите FC21 из OB1 и протестируйте программу.

Siemens AG ST-7PRO2
Training Center 12 - 9 32-Bit Упражнения
Упражнение 3.2: Обращение к регистрам адреса

Левый декадный переключатель (IB2)

1 2
Адрес байта Правый декадный переключатель (IB3)
BCD -> INT
Преобразование в формат: pointer 1 2
Адрес бита

AR 1
Спрячьте левую декаду
маскируйте
+ левую декаду

AR 1/AR2

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_9R.10

Цель упражнения: Здесь вы узнаете как записывать, изменять, и считывать регистры


адреса в S7-CPU.

Описание задания: Создайте адрес-указатель, как отображено выше на слайде.


Используйте значения из декадного переключателя.

a) Внутренняя (зонная) адресация через AR1 в сегменте 1

b) Межзонная адресация для области входов через AR2 в


сегменте 2

Создайте FC22 и вызовите FC22 из OB1.

Загрузите программу в S7-CPU и протестируйте её с помощью


режима статуса блока. Активизируйте отображение регистров адреса
AR1 и AR2 для наблюдения за состоянием регистров.

Siemens AG ST-7PRO2
Training Center 12 - 10 32-Bit Упражнения
Упражнение 3.3: Зонная регистровая
Управление конвейером косвенная адресация
I0.0 Запуск (нормально-откр. контакт)
I0.1 Остановка (нормально-закр. контакт)

Позиция 1 Позиция 2 Позиция 3

Датчик Датчик Датчик


бутылки бутылки бутылки
I8.5 I8.6 I8.7

Q 8.5 лента конвейера вперед

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_9R.11

Цель упражнения: Научиться использовать зонную регистровую косвенную адресацию.

Описание задания: Создайте FC23 и осуществите следующие функции.

Конвейер должен начать движение с кнопки «Запуск».

Используйте правый декадный переключатель (IB3) для выбора станции


заполнения.

Поместите “бутылку ” на конвейер.

Когда “бутылка” достигает выбранной станции, конвейер должен


остановиться на три секунды.

Затем конвейер должен продолжать двигаться. Вы используете кнопку


«Остановка» (конвейер моментально останавливается).

Вы используете зонную регистровую косвенную адресацию


(A I[AR1,P#0.0]) для выбора станции.
Вызовите блок из OB1 и загрузите программу в S7-CPU.
Протестируйте программу.

Примечание: Металлический ролик, представленный в модели как “бутылка”, будет


использоваться далее.

Siemens AG ST-7PRO2
Training Center 12 - 11 32-Bit Упражнения
Упражнение 3.4: Межзонная регистровая
косвенная адресация
Управление конвейером
I0.0 Запуск (нормально-откр. контакт)
I0.1 Остановка (нормально-закр. контакт)

Позиция 1 Позиция 2 Позиция 3

Датчик Датчик Датчик


бутылки бутылки бутылки
I8.5 I8.6 I8.7

Q 8.5 лента конвейера вперед

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_9R.12

Цель упражнения: Научиться использовать межзонную регистровую косвенную


адресацию.

Описание задания: Создайте FC24 и осуществите следующую функцию, подобную в


предыдущем упражнении.
Поместите “бутылку” на конвейер. Конвейер должен стартовать с
кнопки пуска. С помощью правого декадного переключателя, сначала
выберите позицию заполнения. Когда “бутылка” достигнет выбранной
позиции, конвейер должен остановиться в течении трёх секунд. Затем
конвейер должен продолжать двигаться дальше . Вы используете
кнопку остановки для моментальной остановки конвейера.
Используйте межзонную регистровую косвенную адресацию
(A [AR1,P#0.0]) для выбора станции.
Вызовите FC24 из OB1 и загрузите программу в S7-CPU.
Протестируйте программу.

Примечание: Металлический ролик , представленный в модели как “бутылка”,


будет использоваться далее.

Siemens AG ST-7PRO2
Training Center 12 - 12 32-Bit Упражнения
Упражнение 3.4.1: Дополнительные задания
для упражнения 3.4
Управление конвейером
I0.0 Запуск (нормально-откр. контакт)
I0.1 Остановка (нормально-закр. контакт)

Позиция 1 Позиция 2 Позиция 3

Датчик Датчик Датчик


бутылки бутылки бутылки
I8.5 I8.6 I8.7

Q 8.5 лента конвейера вперед

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_9R.13

Цель упражнения: Научиться использовать межзонную регистровую косвенную


адресацию.
Научиться осуществлять доступ чтения к локальным данным
вызывающего блока.

Описание задания: Подобно предыдущему упражнению.


Вызовите блок FC24 вместо OB1 из FC124. FC124 вызывается из
OB1.
Загрузите предварительно отобранную станцию для заполнения в
локальные данные FC124 с именем "fill."
Из FC24 выполните доступ к этим локальным данным с помощью
межзонной регистровой косвенной адресации.
Используйте идентификатор области W#16#87.

Вызовите блок FC124 из OB1 и загрузите всю программу в S7-CPU.


Протестируйте программу.

Siemens AG ST-7PRO2
Training Center 12 - 13 32-Bit Упражнения
Упражнение 4.1: Создание DB с атрибутом Unlinked
Исходный файл Загрузочная память

data_block db20
unlinked Компиляция Передача
struct
recipe1:array[1..20] of int; DB 20
end_struct DB 20
begin
recipe1[1]:=1;
.
.
end_data_block

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_9R.14

Цель упражнения: Научиться создавать блок данных с атрибутом UNLINKED.

Описание задания Поскольку рабочая память имеет только ограниченный (обычно


слишком малый ) размер, несколько блоков данных с различными
значениями рецептов хранятся только в загрузочной памяти. Только
рабочий DB, в котором хранится текущее значение рецептов ,
представлен в рабочей памяти. Для изменения рецепта требуемые
значения копируются из загрузочной памяти в рабочую память.
Вы используете атрибут ”UNLINKED” для того, чтобы блоки данных
хранились только в загрузочной памяти.
Выполнение - Скопируйте нелинкуемый исходный файл в свой собственный
проект из проекта PROG3_BA из S7 программы Chap_4_5 Exercises .
- Откройте исходную программу и проверьте есть ли там атрибут
” UNLINKED” .
- Откомпилируйте исходную программу.
- Перенесите блок данных DB 20 в CPU.
- Определите, что происходит в программе пользователя, когда Вы
используете L DB20.DBW0 для доступа в DB 20.

Результат :................................................................................................

Siemens AG ST-7PRO2
Training Center 12 - 14 32-Bit Упражнения
Упражнение 4.2: Тестирование блока памяти
(только для S7-400)

Параметр Атрибут Тип данных Область памяти Описание

DB_NUMBER INPUT W ORD I,OA, M, D, L, constant Номер проверяемого DB


RET_VAL OUTPUT INT I,OA, M, D, L Информация об ошибке
DB_LENGTH OUTPUT W ORD I,OA, M, D, L Количество байт, которые
содержит выбранный DB
W RITE_PROT OUTPUT BOOL I, O, M, D, L Информация о признаке
защиты DB от записи
( 1- блок защищен)

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_9R.15

Цель упражнения: Научиться определять атрибуты блоков для DB в программе с помощью


инструкций и SFC.

Описание задания Так как Вы не можете использовать SIMATIC Manager для того, чтобы
определить хранится ли DB только в загрузочной памяти, Вы должны
определить это с помощью системной функции SFC 24 (TEST_DB) .
Выходной параметр RET_VAL предусматривает следующие
идентификаторы:
w#16# 0000 ошибок нет
w#16# 80A1 некорректное число в параметре DB_NUMBER (0 или >
максимального числа DB )
w#16# 80B1 DB отсутствует в CPU
w#16# 80B2 DB был создан с атрибутом ”UNLINKED”
(находится только в загрузочной памяти)
Выполнение Создайте блок FC 42, который определяет: находится ли DB 20 только в
загрузочной памяти. Если да, то это должно быть отображено на
выходе O 0.1.
Пожалуйста, протестируйте блок если Вы практикуетесь с устройством
S7-400.
Примечание Системная функция SFC 24 существует только для S7-400!

Siemens AG ST-7PRO2
Training Center 12 - 15 32-Bit Упражнения
Упражнение 4.3: Создание DB

Параметр Атрибут Тип данных Область памяти Описание

LOW_LIMIT INPUT WORD I,OA, M, D, L, constant Наименьший номер DB


UP_LIMIT INPUT WORD I,OA, M, D, L, constant Наибольший номер DB
COUNT INPUT WORD I, O, M, D, L, constant Количество байт в блоке
RET_VAL OUTPUT INT I,O, M, D, L Код ошибки для SFC
DB_NUMBER OUTPUT WORD I, O, M, D, L Номер созданного DB (лежит
между LOW_LIMIT и UP_LIMIT)

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_9R.16

Цель упражнения: Узнать, как устанавливать в программе новый DB.

Описание задания Во время запуска DB 10 должен быть создан в рабочей памяти. Значения
рецептов копируются позже из загрузочной памяти в этот DB.
Выполнение - Создайте программу для создания DB 10 длинной в 20 слов в OB 100.
- Протестируйте Вашу программу.

Примечание Системная функция SFC 22 обеспечивает сообщение ошибки через


параметр RET_VAL:
w#16# 0000 нет ошибок
w#16# 8091 превышена допустимая величина вложения
w#16# 8092 сжатие является в данный момент активным
w#16# 80A1 некорректный номер DB
w#16# 80A2 некорректная длина
w#16# 80B1 нет доступного номера DB (DB уже существует)
w#16# 80B2 не достаточно ячеек памяти
w#16# 80B3 не достаточно памяти (требуется сжатие)

Siemens AG ST-7PRO2
Training Center 12 - 16 32-Bit Упражнения
Упражнение 4.4: Копирование DB из загрузочной
памяти в рабочую память

Параметр Атрибут Тип данных Область памяти Описание

SRCBLK INPUT ANY I, O, M, D, L Область памяти для копирования


(=исходному массиву). Исходный
массив может представлять не
последовательные блоки в загрузочной
памяти( блок DB должен быть
откомпилирован со словом UNLINKED)
RET_VAL OUTPUT INT I, O, M, D, L Код ошибки для SFC
DSTBLK OUTPUT ANY I, O, M, D, L Область памяти в которую копируется
блок

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_9R.17

Цель упражнения: Научиться использовать системную функцию переноса блока.

Описание задания Из блока данных DB 20 значения (DW0-DW38) должны быть скопированы в


DB 10 (DW0-DW38) рабочей памяти. Копирование происходит один раз
после появления на входе I1.0 фронта импульса.

Выполнение - Создайте блок FC 44, который копирует значения из DB 20 в DB 10


для фронта импульсов на входе I1.0.
- Протестируйте программу.

Siemens AG ST-7PRO2
Training Center 12 - 17 32-Bit Упражнения
Упражнение 4.5: Запись сообщения в
диагностический буфер

Параметр Атрибут Тип данных Область памяти Описание

SEND INPUT BOOL I, O, M, D, L, constant Разрешение посылки пользователя во


все зарегистрированные узлы
EVENTN INPUT W ORD I, O, M, D, L, constant Номер или тип события ( идентификатор
события)
INFO1 INPUT ANY I, O, M, D, L Дополнительная информация 1 (слово)
INFO2 INPUT ANY I, O, M, D, L Дополнительная информация 2 (слово)
RET_VAL OUTPUT INT I, O, M, D, L Код ошибки для SFC

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_9R.18

Цель упражнения: Научиться программировать входные сообщения в диагностический буфер.


Описание задания Для системной ошибки (смоделированной через фронт импульсов I 1.2),
должен быть выполнен пользовательский вход в диагностический буфер.
Сообщение об обнаружении ошибки должно быть также передано на PG
( программатор).
Выполнение - Создайте блок FC 45, который вводит сообщение о неисправностях в
диагностический буфер.
- Разрешите сообщения от CPU в SIMATIC Manager.
- Протестируйте программу.
Примечание Используйте следующие параметры для SFC 52:
EVENTN W#16# 9B0A (ошибка конечного состояния, ожидаемое
событие поступление, внешняя ошибка,
вход пользователя в буфер ошибок)
INFO1 W#16# 8 (например предел числа переключений)
INFO2 DW#16# 1 (например предел типа переключений)

Событие с номером 9 (Event ID=9) означает доступ для пользователя.


(Смотрите руководство ”Системные и стандартные функции”).
Коды ошибок - 8083 Недопустимый тип данных INFO1
- 8084 Недопустимый тип данных INFO2
- 8085 Недопустимый код EVENTN
- 8086 Недопустимая длина INFO1
- 8087 Недопустимая длина INFO2
- 8091 Узел не зарегистрирован
- 8092 Пересылка в данный момент невозможна (буфер пересылки
заполнен)

Siemens AG ST-7PRO2
Training Center 12 - 18 32-Bit Упражнения
Упражнение 4.6: Заполнение DB с SFC 21 (FILL)

Параметр Атрибут Тип данных Область памяти Описание

BVAL INPUT ANY I, O, M, D, L Массив -источник


RET_VAL OUTPUT INT I, O, M, D, L Код ошибки для SFC
BLK OUTPUT ANY I, O, M, D, L Массив -приемник

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_9R.19

Цель упражнения: Научиться использовать системные функции.

Описание задания Блок данных DB10 должен быть удален при возникновении фронта
импульсов на входе I1.1.
Выполнение - Создайте блок FC 46 который полностью удалит DB 10 при
возникновении фронта импульсов на входе I1.1 (с помощью системной
функцией SFC 23).
- Протестируйте программу.

На слайде предлагается выполнить заполнение блока данных с


помощью SFC 21 !

Siemens AG ST-7PRO2
Training Center 12 - 19 32-Bit Упражнения
Упражнение 4.7: Считывание времени с помощью SFC 1
(READ_CLK)

Параметр Атрибут Тип данных Область памяти Описание

CDT OUTPUT DATE_AND_TIME (DT) D, L Выход для текущего времени и


даты

RET_VAL OUTPUT INT I, O, M, D, L Код ошибки для SFC

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_9R.20

Цель упражнения: Научиться оперировать системным временем.

Описание задания При помощи системной функции SFC 1 дата и время должны считываться
из CPU. Часы и минуты должны быть отображены на цифровом дисплее
(QW 6).
Выполнение - Создайте блок FC 47, который считывает дату и время (системной
функцией SFC 1) и отображает время (часы, минуты) на цифровом
дисплее.
- Проверьте, правильно ли установлены часы в CPU.
- Протестируйте программу.

Siemens AG ST-7PRO2
Training Center 12 - 20 32-Bit Упражнения
Упражнение 5.1: Масштабирование аналогового
значения
Аналоговое значение канала 0

U
10V

0V
0 10000 Физическая
величина

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_9R.21

Цель упражнения: Научиться использовать блок FC 105 из библиотеки FBLIB2.


Описание задания Аналоговое значение (от 0 до 10V) из канала 0 аналогового модуля
должно быть преобразовано в физическую переменную между 0 и
10000. Используйте FC 105 из библиотеки STLIB30 и S7- программы
FBLIB2. Масштабированное значение должно быть отображено на
цифровом дисплее.
Выполнение - Проверьте параметр, установленный для аналогового модуля.
Диапазон измерения для канала 0 должен быть установлен от 0 до
10V.
- Создайте блок FC 51 согласно описанию задания.
- Вызовите FC 51 из OB 35.
- Перенесите блоки.
- Протестируйте программу.

Siemens AG ST-7PRO2
Training Center 12 - 21 32-Bit Упражнения
Упражнение 5.2: Установка часов CPU в
стандартном времени
Начальная информация OB 1

OB1_DATE_TIME Запуск по фронту


FC 12 FC 35

DT1 RET_VAL EN ENO

OB1_DATE
DT2 _TIME T RET_VAL
стандартное
времени Часы D
Переключатель
времени

SFC 0

EN RET_VAL

PDT

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_9R.22

Цель упражнения: Научиться устанавливать время с помощью функции IEC.

Описание задания Установка часов CPU должна быть произведена с летнего времени на
стандартное время 10.26.1997, а именно 2:00 до полудня. Переменная
OB1_DATE_TIME вычисляется для идентификации правильной точки
времени. Функция FC 12 IEC сравнивает две переменные типа DT для
равенства. RET_VAL посылает сигнал “1” для равенства. . При
достижении точки времени происходит вычитание одного часа при помощи
функции FC 35. Время в CPU устанавливается опять с новой точкой
времени посредством системной функции SFC 0.
Выполнение - Скопируйте блоки FC 35, FC 10, FC 12 из библиотеки stdlib30
S7- программы IEC в свой проект PROG3.
- Скопируйте DB 12 из проекта PROG3_BA S7- программу
Chap_4_5_exercises в свой проект.
- Присвойте имя переменной времени в DB 12.
- Введите точку времени, в которую датчик времени должен
изменяться в DB 12 на стандартные значение времени.
- Создайте программу для изменения времени в OB 1.
- Перенесите блоки DB 12, FC 35, FC 12 и OB 1 и протестируйте
программу.
Примечание Используйте помощь для ознакомления с необходимыми функциями.

Siemens AG ST-7PRO2
Training Center 12 - 22 32-Bit Упражнения
Упражнение 6.1: Использование
структур/массивов в блоке данных
Блок 1 Блок 2 Блок 3

Отделение 1 16#ABCD Отделен. 1


Отделен. 1
16#ABCD
2 2 2
3 16#ABCD 3 3

: 1 до 100 : :
99 16#ABCD 99 99
100 16#ABCD 100 100

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_9R.23

Цель упражнения: Научиться оперировать со сложными структурами данных.

Описание задания: Создайте блок данных DB 61 для управления складом. На складе имеется
три блока со 100 отделениями в каждом.
Присвойте отделениям в 1-ом блоке значение W#16#ABCD. Вначале
отделения в других блоках должны быть пустыми.
После того, как DB был создан, он должен быть загружен в S7 CPU.

Переместите информацию из 1-го блока во 2-ой блок в программе STEP7


(FC 61). Для запуска действия используйте фронт импульсов на входе I
1.4. Затем удалите информацию в 1-ом блоке при помощи SFC 21.
Затем перенесите информацию из 1-го отделения 2-го блока в отделение
99 3-го блока и из 2-го отделения 2-го блока в 100-е отделение 3-го
блока.

Протестируйте программу функционально при помощи считывания DB.

Siemens AG ST-7PRO2
Training Center 12 - 23 32-Bit Упражнения
Упражнение 7.1: Связь через SFB "START/STOP"
Программа S7 в AS1-400 Соединения в S7 AS2- 300

OB 1
FC 10 "STOP"
AC FC 10 CALL SFB20,DB20 AS1- 400
ID:=W#16#1
.
.
. Local ID no. Односторонняя
1 однородная S7 связь
AC FC 20 CALL SFB 19,DB19 FC 20 "START"
ID:=W#16#1
.
. MPI=3
.
.

MPI=2

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_9R.24

Упражнение 7.1

Шаг Процедура Комментарий


1 Создайте новый проект “SFB-Comm”
2 -Создайте две HW - станции:
AS1-400 и AS2-300.
-Используйте сеть MPI для HW - станций.
-Проверьте оnline-связь с помощью режима
“Accessible nodes.”
-Переименуйте CPU на CPU413-AS1
и CPU314-AS2
3 -Создайте S7 гомогенное соединение от
CPU413-AS1 к CPU314-AS2.
-Загрузите таблицу соединений в S7-400.

4 - Создайте OB100 в S7 программе для


AS1-400.
- Запишите OB100 как описано в главе 7.
5 -Создайте блок FC10 “SFB_STOP“ и вызовите - Стартовое событие I 0.0
SFB “STOP”.
-Создайте блок FC20 “SFB_START” и вызовите - Стартовое событие I 0.1
SFB “START”.

Siemens AG ST-7PRO2
Training Center 12 - 24 32-Bit Упражнения
Упражнение 7.2: Связь через SFB "GET/PUT"

Программа S7 в AS1-400
AS1- 400 AS2- 300
OB 1

FC 10 "STOP" QB 4 IB 0
AC FC 10 CALL SFB20,DB20
AC FC 20 ID:=W#16#1
.
. GET
. OW 0 IW 2
CALL SFB 19,DB19 FC 20 "START"
ID:=W#16#1
.
.
.
IW 2 OW 6
.
PUT
UC FC30 FC 30 "GET/PUT"
CALL SFB 14,DB14
ID:=W#16#1
.
.
CALL SFB 15;DB15
ID:=W#16#1
.

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_9R.25

Упражнение 7.2

Ш аг П р о ц е д ур а
1 В ы п о л н и т е п ун кты 1 , 2 , и 3 в уп р а ж н е н и и 7 .1 , е с л и В ы н е д е л а л и
уп р а ж н е н и е 7 .1 .
2 - Р а с ш и р ь т е O B 1 0 0 в уп р а ж н е н и и 7 .1 в ы зо в а м и д л я
и н и ц и а л и з а ц и и ф ун кц и й “G E T “ и “P U T ”.
3 -С о з д а й т е б л о к F C 3 0 “S F B _ G E T /P U T “ и в ы зо в и те в н е м S F B
“G E T “ (S F B 1 4 ).
-З а д а й те п а р а м е тр ы д л я S F B 1 4 .
-В хо д I 0 .2 и л и п е р е кл ю ч а ю щ и й с я м е р ке р д о л ж н ы ф о р м и р о в а т ь
п о л о ж и т е л ь н ы й и м п ул ь с н а в хо д н о м п а р а м е тр е R E Q .
4 - П р о ч и т а й те IB 0 и з с та н ц и и A S 2 -3 0 0 и р а з м е с т и те IB 0 в с в о е й
с та н ц и и A S 1 -4 0 0 в Q B 4 .
- Е с л и и м е е т с я о ш и б ка с в я з и , п е р е д а й те е е ко д в Q W 2 .
- Т а кж е п р о ч и т а й т е IW 4 и з с т а н ц и и A S 2 -3 0 0 и р а з м е с ти т е IW 2 в
с та н ц и и A S 2 -4 0 0 а Q W 0 .
5 -В ы з о в и т е S F B 1 5 “P U T ” и з F C 3 0 .
-З а д а й те д л я S F B п а р а м е т р ы , т а к ч т о б ы I 0 .3 и л и
п е р е кл ю ч а ю щ и й с я м е р ке р п е р е д а в а л п о л о ж и т е л ь н ы й ф р о н т.
П е р е д а й т е IW 2 и з A S 1 -4 0 0 н а Q W 1 2 п а р тн е р а A S 2 -3 0 0 .

Siemens AG ST-7PRO2
Training Center 12 - 25 32-Bit Упражнения
Упражнение 7.3: Связь с через
SFB "BSEND/BRCV"
AS1- 400 AS3- 400

OB1 OB1
L PIW512
OPN DB1 AC FC10
T DBW0 DB 1 DB 2 AC FC20

BSEND "B1"
AC FC10
AC FC20 AC FC40 BRCV "B1"
AC FC30 .
AC FC40 .
. OPN DB2
OPN DB2 L DBW0
L DBW0 T OW6
T OW6
. DB 2 DB 2
.
BRCV "B2" BSEND "B2"

"B1","B2" - Параметры R_ID - задают блоковую пару

SIMATIC S7 Date: 14/12/97


Knowledge for Automation
Information and
Training Center
Siemens AG 1997. All rights reserved. File.No.: Pro3_9R.26

Упражнение 7.3

Шаг Процедура
1 Расширьте проект “SFB Comm” станцией S7 400: AS3 - 400.
- Сеть для двух S7-400 через MPI.
2 -Создайте двустороннюю гомогенную S7 -связь между AS1-400 и
AS3-400.
- Загрузите таблицу соединений во все CPU.
3 -Инициализируйте блоки SFB “BSEND/BRCV” в OB100 для AS1-400 и
AS3-400.
-Создайте DB1“SEND_DB” и DB2 “RCV_DB” (2 Kбайт длина) в AS1-400 и nd
AS3-400 с помощью PG или системной SFC 22 в OB100.
4 -Создайте FC40 в обеих станциях S7 и с помощью “ BSEND“ <==> “BRCV“
выполните SFB - коммуникацию в соответствии с диаграммой,
приведенной выше..
- Запустите процедуру передачи с циклической установкой на входе
параметра REQ переключающего меркера.
5 - Вызовите FC 40 в AS1-400 и AS3-400.
- Пошлите PIW 512 (аналоговый канал 1)из AS1-400 к AS3-400 и обратно
снова на AS1-400.
- Загрузите принимаемое значение PIW 512 из AS1-400 в дисплеи QW6 на
каждой станции S7-400.

Siemens AG ST-7PRO2
Training Center 12 - 26 32-Bit Упражнения

Вам также может понравиться