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

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 Инструкции с аккумулятором, словом
состояния, арифметика, комплексные типы