WWW.DISS.SELUK.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА
(Авторефераты, диссертации, методички, учебные программы, монографии)

 

Pages:     | 1 | 2 || 4 | 5 |   ...   | 12 |

«Автоматизация посредством STEP 7 с использованием STL и SCL и программируемых контроллеров SIMATIC S7-300/400 (Automating with STEP 7 in STL and SCL by Hans Berger) Перевод по изданию 2-му, исправленному 2001 SIMATIC ...»

-- [ Страница 3 ] --

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

2.5.7 Ссылки (Reference Data) В добавление к собственно программе утилита SIMATIC Manager предоставляет Вам ссылки (Reference Data), которые Вы можете использовать как основу для корректировки или тестирования программы.

Ссылочные данные содержат:

• Cross references (Перекрестные ссылки) • Reserved locations (Зарезервированные области: I, Q, M, T, C) • Program structure (Структура программы) • Unused symbols (Неиспользуемые символы) • Addresses without symbols (Адреса без символов) Для генерации ссылочных данных выберите объект Blocks (Блоки) и затем опции меню: Options -> Reference Data -> Display (Опции -> Ссылочные данные -> Отобразить). Представление ссылочных данных может изменяться в соответствии с рабочим окном с помощью опций: View -> Filter… (Вид -> Фильтр…); Вы можете сохранять установки для последующих сессий редактирования с помощью опций: Save as Standard (Сохранить как стандарт). Вы можете выводить на экран одновременно несколько списков.

C помощью опций меню: Options -> Customize (Опции -> Установки пользователя) в редакторе программы на вкладке "Create Blocks" ("Создать блоки") Вы можете включить или отменить обновление ссылочных данных при компиляции исходного файла программы или при сохранении инкрементно введенного блока.

Примечание: ссылки доступны только при автономной (offline) обработке данных; "автономные" (offline) ссылочные данные могут отображаться даже, если функция вызывается в блоке, открытом интерактивно (online).

2. Программное обеспечение STEP Перекрестные ссылки (Cross references) Список перекрестных ссылок показывает использование адресов и блоков в программе пользователя. В него входят абсолютные адреса, символьные (если есть), в блок в котором есть обращение к адресу, как используется адрес (для записи или для чтения) и зависящая от языка программирования информация. Для STL-программы столбец, зависящий от языка программирования, содержит информацию о сети, в которой адрес используется; для SCL-программы - содержит номер строки и столбца.

Щелкните на заголовке столбца для сортировки таблицы по содержанию Если адрес выбран, Вы с помощью выбора опций меню: Edit -> Go To -> Line (Правка -> Перейти -> На строку) можете запустить редактор программ, и при этом будет отображен фрагмент программы с выбранным адресом.

Список перекрестных ссылок можно просматривать с использованием фильтра (опции: View -> Filter… (Вид -> Фильтр…) для получения информации по интересующим адресам (например, проверить использование меркеров). Если дважды щелкнуть на адресе, будет в редакторе открыт блок на строке, в которой данный адрес используется. STEP 7 всякий раз при открытии списка перекрестных ссылок использует сохраненную (как "Standard") настройку фильтра.

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

Назначения (Assignments) Список ссылок на I/Q/M показывает, какие биты в адресных областях I, Q и M имеют назначения в программе. В каждой строке показывается побитно один байт. Также указывается тип доступа (побайтный, пословный или двухсловный). Список ссылок на T/C показывает таймеры и счетчики, использованные в программе. В строке показываются по десять таймеров Польза от применения: список ссылок показывает, были ли определенные адресные области назначены (заняты) или какие адреса остаются все еще Структура программы (Program structure) пользовательской программе. Блоки вызова ("starting blocks") в иерархии вызовов выбираются с помощью настроек фильтров. Вы можете выбирать из "Древовидная" структура (tree structure) показывает все уровни вложения в системе вызовов блоков. Пользователь может изменять отображение уровней вложения, используя элементы управления в структуре - квадраты со значками "+" и "-". Требования, предъявляемые к временным локальным данным ("temporary local data"), показаны в целом для цепочки ("path") вызовов. Щелкните правой кнопкой мыши в поле разворачивающегося меню для открытия соответствующего блока, перейдите к месту вызова или к экрану с дополнительной информацией по блоку.

Структура "Родитель-потомок" (Parent-child structure) показывает 2 уровня с одним вызываемым блоком, а также информацию, зависящую от языка.

Автоматизация посредством STEP с использованием STL и SCL Польза от применения: структура программы показывает, какие блоки используются, все ли запрограммированные блоки вызываются, какие требования предъявляются к временным локальным данным, удовлетворяют ли локальные данные определенным требованиям для приоритетного класса (для организационного блока).

Неиспользуемые символы (Unused symbols) Данный список показывает все адреса, имеющие назначения в таблице символов, но не используются в программе. Список показывает символ, адрес, тип данных и комментарий из таблицы символов.

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



Адреса без символов (Addresses without symbols) Список показывает все используемые в программе адреса, которые не имеют символов. Список показывает сами адреса, и как часто они используются.

Польза от применения: список позволяет определить, не используются ли отдельные адреса по невнимательности, (по случайности или по ошибке).

2.5.8 Многоязыковая поддержка комментариев и отображаемых Утилита SIMATIC Manager позволяет пользователю управлять несколькими версиями языка для комментариев и отображаемых текстов.

Выбор языка для комментариев и отображаемых текстов определяет язык текстов, вводимых пользователем. Язык сессии, заданный, например, для меню, сообщений об ошибках, устанавливается вместе с STEP 7 и выбирается с помощью утилиты SIMATIC Manager в опциях меню: Options -> Customize (Опции -> Установки пользователя) на вкладке "Language" ("Язык"). Здесь же Вы можете задать мнемоники, т.е. язык операторов и операндов, используемый в STEP 7. Все три установки не зависят друг от Общая процедура Допустим, Вы ввели тексты на языке оригинала, (например, на английском языке), и Вам необходимо получить версию Вашей программы на немецком языке. Чтобы сделать это, экспортируйте требуемые тексты или типы текстов.

Например, экспортируемый файл является *.csy файлом, который Вы можете редактировать с помощью Microsoft Excel. Вы можете ввести перевод (translation) для каждого текста и затем импортировать законченную таблицу трансляции (translation table) обратно в Ваш проект. Теперь Вы можете переключать языки текстов (сообщений) в проекте. У Вас есть возможность использовать для этого несколько языков.

Экспорт и импорт текстов (Exporting and importing texts) С помощью утилиты SIMATIC Manager выберите объект, содержащий комментарии, которые необходимо перевести (транслировать), например, таблицу символов, каталог блоков (block container), несколько блоков или отдельный блок. Выберите опции меню: Options -> Manage Multilingual Text -> Export (Опции -> Многоязыковая поддержка текста -> Экспорт).

2. Программное обеспечение STEP В появившемся окне диалога введите местоположение экспортируемого файла (storage location) и язык, на который требуется транслировать текст (target language). Выберите типы текстов (Text type), которые Вы хотите транслировать (Таблица 2.2).

Типы транслируемых текстов (Text type) (извлечение) Text type (Типы текста) Meaning (Значение) Для каждого типа текста генерируется отдельный файл, например, для комментариев из таблицы символов – файл SymbolComment.csv.

Существующие экспортированные файлы могут быть расширены.

Откройте экспортированный(ые) файл(ы) в диалоговом окне Microsoft Excel с помощью опций меню: File -> Open (Файл -> Открыть) (Не открывать двойным щелчком на файле). Экспортированные тексты отображаются в первом столбце, и Вы можете ввести перевод данных текстов (транслировать) во втором столбце.

Вы можете вернуть переведенные тексты обратно в проект посредством опций меню: Options -> Manage Multilingual Text -> Import (Опции -> Многоязыковая поддержка текста -> Импорт). Файл протокола (log-файл) содержит информацию об импортированных текстах и о любых ошибках, Примечание: Имя импортированного файла не может быть изменено, так как есть прямая связь между именем и типом текста (Text type), который Выбор и удаление языка Вы можете переключать отображаемые тексты на любой инсталлированный в системе язык с помощью утилиты SIMATIC Manager в опциях меню: Options -> Manage Multilingual Text -> Change Language (Опции -> Многоязыковая поддержка текста -> Сменить язык). Процедура смены языка выполняется для объектов (блоков, таблицы символов), для которых соответствующие тексты были импортированы. Информация об этом содержится в файле Автоматизация посредством STEP с использованием STL и SCL Вы можете также удалить любой инсталлированный в системе язык с помощью утилиты SIMATIC Manager в опциях меню: Options -> Manage Multilingual Text -> Delete Language (Опции -> Многоязыковая поддержка 2.6 Интерактивный режим (Online Mode) Пользователь создает конфигурацию оборудования и пользовательскую программу, в основном опираясь на технические средства “engineering system” (ES). S7-программа сохраняется автономно (offline) на жестком диске в текстовой форме, а также в скомпилированном виде.

Для переноса программы в CPU Вы должны соединить программатор PG с CPU, после чего - установить интерактивное ("online") соединение. Вы можете использовать это соединение для определения рабочего состояния CPU и назначенных (assigned) модулей, т.е. Вы можете реализовать функции 2.6.1 Подключение к PLC (Connection a PLC) Соединение MPI-интерфейса программатора PG и MPI-интерфейса CPU является аппаратным требованием для интерактивного (online) соединения.

Такое соединение является единственным, если CPU является единственным подключенным программируемым модулем. Если существует несколько CPU в MPI-подсети, то каждому CPU должен быть назначен уникальный номер узла (MPI-адрес). Вы должны установить MPI-адрес при инициализации CPU. Перед связыванием всех CPU в единую подсеть подключите программатор только к одному CPU и перешлите туда объект System Data (Системные данные) из автономного каталога Blocks (Блоки) или непосредственно из утилиты конфигурирования Hardware Configuration с помощью опций меню: PLC -> Download (PLC -> Загрузить). При этом CPU получит свой собственный специальный MPI-адрес ("naming" - наименование) вместе с другими характеристиками.

MPI-адрес CPU в MPI-сети может быть изменен в любое время с помощью пересылки записи данных с новыми параметрами, содержащими новый MPIадрес в CPU.

Будьте внимательны: изменение MPI-адреса имеет мгновенный эффект.

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

MPI-параметры остаются в CPU даже после сброса памяти. Таким образом, CPU может быть адресован даже после сброса памяти.

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

2. Программное обеспечение STEP Если в PG не установлено соответствующего проекта, Вы должны установить соединение с CPU с помощью опций меню: PLC -> Display Accessible Nodes (PLC -> Отобразить доступные узлы). При этом будет показано окно проекта (project) со структурой:

"Accessible Nodes" - "Module (MPI=n)" - "Online User Program (Blocks)" ["Доступные узлы" - "Модуль (MPI=n)" - "Интерактивная программа При выборе объекта Module Вы можете использовать интерактивные (online) функции, такие как изменение рабочего состояния (operational status) и проверка состояния модулей (module status). Если выбрать объект Blocks (Блоки), то будут отображаться блоки, находящиеся в пользовательской памяти в CPU. При этом Вы можете редактировать (изменять, удалять, вставлять) отдельные блоки.

Вы можете считать системные данные из подключенного CPU с целью, скажем, последующей работы с существующей конфигурацией в отсутствие соответствующего проекта в системе управления данными PG (data Для этого создайте новый проект в SIMATIC Manager, выберите проект, затем - опции меню: PLC -> Upload Station (PLC -> Считать конфигурацию станции). После определения требуемого CPU в появившемся окне диалога интерактивные (online) системные данные записываются на жесткий диск.

Если программа не зависит от CPU, Вы должны включить окно проекта для интерактивного (online) режима. Если в MPI-подсети имеется несколько CPU и они доступны, то выбрав интерактивную (online) S7-программу и опции меню: Edit -> Object Properties (Правка -> Свойства объекта), задайте номера монтажных стоек и слотов установки CPU в таблице адресации модулей "Addresses Module".

Если Вы выбрали S7-программу в окне проекта для интерактивного (online) режима, то Вам будут доступны все интерактивные (online) функции для подключенного CPU. Blocks (Блоки) показывает блоки, размещенные в пользовательской памяти CPU. Если блоки в автономной (offline) программе соответствуют блокам в интерактивной (online) программе, то Вы можете редактировать блоки в пользовательской памяти, используя информацию системы управления данными программатора PG (символьные адреса, Если Вы переключаете программу, предназначенную для CPU, в интерактивный (online) режим, Вы можете делать изменения в программе только, если Вы открыли независимую от CPU программу. Вдобавок, теперь Вы можете конфигурировать SIMATIC-станцию, т.е. установить параметры CPU, а также адресовать и параметризировать модули.

2.6.2 Защита программы пользователя Для соответствующим образом оснащенных CPU доступ к программе пользователя может быть защищен паролем. Каждый, кто знает пароль, имеет неограниченный доступ к пользовательской программе. Для тех, кто не знает пароля, Вы можете установить три уровня (степени) защиты. Установка уровней защиты производится на вкладке "Protection" ("Защита") в соответствующем окне утилиты для конфигурирования оборудования Hardware Configuration при параметризации CPU.

Автоматизация посредством STEP с использованием STL и SCL Уровень защиты 1: блокировка положения переключателя (Protection level 1: keylock switch position) Данный уровень защиты устанавливается по умолчанию (если не введен пароль). В этом случае программа пользователя защищена блокировкой функций переключателя режимов на передней панели CPU. В положениях RUN-P и STOP Вы имеете неограниченный доступ к программе пользователя;

в позиции RUN возможен доступ в режиме "только чтение" с использованием программатора PG. Для этой позиции Вы можете также удалять блокировку, так чтобы режим не мог быть в дальнейшем изменен с помощью Вы можете обходить защиту посредством блокировки положения RUN, выбрав опцию, "Can be revoked with password" ("Может быть отменено при вводе пароля"), например, если CPU и его заблокированный переключатель режима находятся далеко или в трудно доступном месте.

Уровень защиты 2: защита от записи (Protection level 2: write protection) Данный уровень защиты обеспечивает доступ к программе пользователя только в режиме чтения вне зависимости от положения переключателя Уровень защиты 3: защита в режиме чтения и записи (Protection level 3: read/write protection) Данный уровень защиты полностью блокирует доступ к программе пользователя вне зависимости от положения переключателя режимов.

Защита паролем (Password protection) Если Вы выбираете уровни защиты 2 или 3 или уровень защиты 1 с опцией "Can be revoked with password" ("Может быть отменено при вводе пароля"), то Вам будет предложено определить пароль. Пароль может иметь размер до При попытке получить доступ к программе пользователя, защищенной паролем, пользователю будет предложено ввести пароль. Если необходимо получить доступ к защищенному паролем CPU, пользователь также может ввести пароль посредством опций меню: PLC -> Access Rights (PLC -> Права доступа). Необходимо сначала выбрать CPU или S7-программу.

В диалоговом окне "Enter Password" ("Введите пароль") Вы можете выбрать опцию "Use password for other protected modules" ("Использовать пароль для других защищенных модулей") для предоставления доступа ко всем защищенным модулям с одинаковым паролем.

При этом доступ с паролем авторизации ("Password access autorization") остается в силе до тех пор, пока последнее приложение системы S7 не будет Каждый, кто знает пароль, имеет неограниченный доступ к пользовательской программе в CPU независимо от установленного уровня защиты и от блокировки переключателя режимов.

2. Программное обеспечение STEP 2.6.3 Информация о CPU (CPU Information) При интерактивном (online) режиме Вам доступна представленная ниже информация, касающаяся CPU. Команды меню выводятся на экран, если Вы выбираете какой-либо модуль (в интерактивном [online] режиме и без проекта) или S7-программу (в интерактивном [online] окне проекта).

• PLC -> Diagnose Hardware (PLC -> Диагностика оборудования) (см. раздел 2.7.1 "Диагностика оборудования" ) • PLC -> Module Information (PLC -> Информация о модуле) Общая информация (такая, например, как версия), диагностический буфер, память (текущее распределение [map] рабочей памяти [work memory] и загрузочной памяти [load memory], сжатие [compression]), время цикла [cycle time] (длина последнего цикла, длина самого длинного и длина самого короткого цикла программы), система времени (внутренние часы CPU, синхронизация времени, счетчик рабочего времени), рабочие характеристики (конфигурация памяти, размеры адресных областей, число доступных блоков, SFC и SFB), коммуникации (скорость передачи данных и коммуникационные соединения), стеки в режиме STOP (B-стек, I-стек и Lстек) в таблице адресации модулей "Addresses Module".

• PLC -> Operating Mode (PLC -> Рабочий режим) Отображение рабочего режима (например, RUN или STOP), изменение • PLC -> Clear/Reset (PLC -> Очистка/Сброс) • PLC -> Set Date and Time (PLC -> Установить дату и время) Установка внутренних часов CPU.

• PLC -> CPU Messages (PLC -> Сообщения CPU) Сообщения об асинхронных системных ошибках и сообщения, определяемые пользователем, генерируются в программе с помощью SFC • PLC -> Display Force Values, (PLC -> Отобразить форсированные PLC -> Monitor/Modify Variables, (PLC -> Мониторинг/модификация (см. раздел 2.7.3 "Мониторинг/модификация переменных" и раздел 2.7. "Форсирование переменных").

2.6.4 Загрузка пользовательской программы в CPU При пересылке в CPU Вашей пользовательской программы (а именно, скомпилированных блоков и данных конфигурации) она загружается в загрузочную (load) память CPU. Физически загрузочная (load) память может быть построена на элементах RAM или флэш EPROM, она может быть встроенной в CPU или быть в виде отдельного модуля.

Автоматизация посредством STEP с использованием STL и SCL Если модуль памяти типа флэш EPROM, то он может быть использован как перемещаемый носитель информации: данные на него могут быть записаны с помощью программатора PG, после чего этот модуль может быть вставлен в CPU, находящийся в выключенном состоянии. После включения питания и последующего сброса памяти соответствующие данные из модуля памяти пересылаются в рабочую (work) память CPU. Некоторые типы CPU позволяют перезаписывать вставленные в них модули флэш EPROM-памяти, но при этом перезаписывается только программа в целом.

Если загрузочная (load) память имеет тип RAM, то перенос целиком программы пользователя в CPU осуществляется следующим образом: CPU переводится в состояние STOP, затем выполняется сброс памяти и конфигурационные данные. Программа в RAM-памяти стирается при сбросе памяти или если отключается резервная батарея питания (backup battery).

Если Вы хотите изменить только данные конфигурации (свойства CPU, сконфигурированные соединения, GD-коммуникации, параметры модулей и т.п.), то Вам нужно загрузить в CPU только объект System data (Системные данные). Для этого выберите объект и перешлите его с помощью опций меню: PLC -> Download (PLC -> Загрузить). Параметры CPU вступают в силу немедленно; параметры для остальных модулей пересылаются в эти модули во время запуска (startup).

Нужно иметь в виду, что в PLC полная конфигурация загружается с объектом System data (Системные данные). Если Вы используете опции меню: PLC -> Download (PLC -> Загрузить) в приложении, например, в GD-коммуникациях, то только отредактированные в приложении данные будут пересланы в PLC.

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

PLC -> Save Project on Memory Card (PLC -> Сохранить проект в модуле памяти) (см. раздел 2.2.2 "Управление, перекомпоновка и архивация").

Проект, находящийся в заархивированном состоянии, не может быть отредактирован непосредственно ни с помощью программатора PG, ни в 2.6.5 Работа с блоками (Block Handling) Перенос блоков Если загрузочная (load) память имеет тип RAM, то Вы можете не только переносить программу целиком в интерактивном режиме (online), но также изменять, удалять или перезагружать отдельные блоки.

Вы можете пересылать отдельные блоки в CPU, выбрав их в "автономном" (offline) окне с последующим использованием опций меню: PLC -> Download (PLC -> Загрузить). Открыв одновременно "интерактивное" (online) и "автономное" (offline) окна, Вы можете с помощью манипулятора "мышь" перетаскивать блоки из одного окна в другое (метод "drag-n-drop").

Особое внимание необходимо при пересылке отдельных блоков во время рабочего режима. Если блоки, которые не доступны в памяти CPU, вызываются внутри блока, Вы должны сначала загрузить блоки "нижнего уровня". Это также касается блоков данных, адреса которых используются в загружаемом блоке. Вы должны загрузить блок "высшего уровня" последним.

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

2. Программное обеспечение STEP Утилита SIMATIC Manager позволяет Вам также пересылать отдельные блоки или программу в целом из "автономного" (offline) каталога "Blocks" ("Блоки") в CPU на языке SCL. Обратный перенос из CPU на жесткий диск скомпилированных блоков не имеет никакого смысла, так как они не могут быть напрямую отредактированы в редакторе SCL-программ. Вы можете редактировать только исходную SCL-программу и после этого вновь из нее создавать скомпилированные блоки.

Изменение блоков в интерактивном (online) режиме Вы можете инкрементно редактировать на языке STL блоки программы пользователя в интерактивном (online) режиме (то есть в CPU), точно таким же образом, как и программу в автономном (offline) режиме. Однако, если "интерактивная" и "автономная" программы пользователя отличаются друг от друга, то это может привести к тому, что редактор не сможет отобразить дополнительную информацию из "автономной" базы данных; при этом эти данные (символьные идентификаторы, метки перехода, комментарии, пользовательские типы данных) могут быть потеряны.

Блоки, которые необходимо изменять в интерактивном режиме, лучше хранить автономно (offline) на жестком диске для того, чтобы избежать потери консистентности данных (например, конфликт "несовпадение временных меток" ["time stamp conflict"], когда интерфейс вызываемого блока отстает от Удаление блоков Если загрузочная (load) память построена исключительно на RAM элементах, то блоки можно изменять или удалять.

Если пользовательская программа расположена в модуле памяти типа флэш EPROM, то блоки могут также быть изменены или удалены при условии, что доступный объем дополнительной RAM-памяти достаточен. Блоки в модуле памяти типа флэш EPROM выделяются как "invalid" ("неправильные"). Тем не менее, после сброса памяти или после включения питания без резервной батареи блоки вновь пересылаются из загрузочной (load) памяти на модуле Сжатие (compressing) Если Вы загружаете новый или измененный блок в CPU, CPU помещает блок в загрузочную (load) память и передает релевантные данные в рабочую (work) память. Если в рабочей (work) памяти уже находится блок с таким же номером, то этот "старый блок" объявляется неправильным (invalid) (пользователю предлагается это подтвердить), и после этого новый блок добавляется в "конец" занятой области памяти (после последней записи).

Если даже блок удален, он помечается как неправильный (invalid), но в действительности из памяти не удаляется.

Это приводит к разрывам (gap) в непрерывном занятом пространстве памяти и уменьшает общий объем доступной памяти. Эти разрывы могут быть заполнены только при использовании функции сжатия Compress. При использовании этой функции в режиме RUN блоки, выполняющиеся в текущий момент, не могут быть перемещены; только в режиме STOP Вы можете эффективно ликвидировать разрывы в непрерывном занятом Автоматизация посредством STEP с использованием STL и SCL Текущее состояние загрузки памяти может быть отображено в процентах с помощью опций меню: PLC -> Module Information (PLC -> Информация о модуле) на вкладке "Memory" ("Память"). В появившемся диалоговом окне Вы С помощью SFC 25 COMPRESS Вы можете запрограммировать запуск функции сжатия, управляемый событием.

Блоки данных в интерактивном (online) и автономном (offline) режимах Адресам данных в блоке данных могут быть назначены начальные значения (initial value) и фактические значения (actual value) (см. раздел 3. "Программирование блоков данных"). Если блок данных загружен в CPU, то начальные (initial) значения пересылаются в загрузочную (load) память, а фактические значения (actual) пересылаются в рабочую (work) память.

Каждое изменение значения в соответствии с адресацией данных в программе предопределяет изменение соответствующего фактического Если Вы выгружаете блок данных из CPU, значения данных блока берутся из рабочей (work) памяти, в которой хранятся все фактические (actual) значения данных. Вы можете наблюдать фактические (actual) значения данных во время их считывания с помощью опций меню: View -> Data View (Вид -> Вид данных). Если Вы модифицируете фактические (actual) значения данных в блоке данных, а затем вновь записываете блок в CPU, то модифицированные значения поступают в рабочую (work) память.

Если в качестве загрузочной (load) используется модуль памяти типа флэш EPROM, то блоки из модуля памяти переносятся в рабочую (work) память после сброса памяти CPU. При этом блок памяти сохраняет первоначально запрограммированные в нем значения данных. То же самое происходит при включении питания при отключенной резервной батарее. Для S7-300 Вы можете предотвратить загрузку первоначальных значений данных, если Вы объявите эти области данных реманентными (retentive) Блок данных, созданный с активированным свойством "UNLINKED" ("несвязанный"), не переносится в рабочую (work) память; он остается в загрузочной (load) памяти. Блок данных с активированным свойством "UNLINKED" ("несвязанный") может быть считан только с помощью функции 2.7 Тестирование программы После выполнения соединения с CPU и загрузки пользовательской программы Вы можете тестировать (отлаживать) программу в целом или по частям, отдельными блоками. Необходимо инициализировать переменные значениями, определенными, например, с помощью модулей симулятора, и оценить информацию отклика, полученного программой в виде значений данных. Если в результате ошибки CPU переходит в состояние STOP, Вы можете использовать, в частности, информацию о CPU.

Большие программы обычно отлаживаются по частям. Если Вам, например, необходимо отлаживать один блок, то загрузите этот блок в CPU и вызовите его в организационном блоке OB1. Если блок OB1 построен таким образом, что программа может быть отлажена фрагмент за фрагментом от начала до конца, то Вы можете выбирать для отладки отдельные блоки или фрагменты программы, используя функции перехода, чтобы миновать разделы, 2. Программное обеспечение STEP С помощью опционного (поставляемого по отдельному заказу) программного обеспечения PLCSIM, Вы можете моделировать CPU в программаторе PG и таким образом отлаживать Вашу программу без дополнительного 2.7.1 Диагностика оборудования В случае отказа Вы можете считать диагностическую информацию из отказавших модулей с помощью функции диагностики оборудования "Diagnose Hardware". Для этого Вам сначала необходимо подключить программатор PG к MPI-шине и запустить утилиту SIMATIC Manager.

Если проект, связанный с конфигурацией установки, доступен в базе данных программатора PG, то откройте интерактивное (online) окно проекта с помощью опций меню: View -> Online (Вид - Интерактивный режим). В противном случае выберите опции: PLC -> Display Accessible Nodes (PLC Отобразить доступные узлы) и затем выберите CPU.

Теперь Вы можете получить краткий обзор сбойных модулей с помощью опций: PLC -> Diagnose Hardware (PLC - Диагностика оборудования) (по умолчанию). Утилита конфигурирования оборудования Hardware Configuration поддерживает функцию детальной диагностической информации о модулях при интерактивном режиме; этот режим устанавливается в утилите SIMATIC Manager на вкладке "View" ("Вид") при выборе опций меню: Options -> Customize (Опции -> Установки пользователя).

Вы можете получить информацию о состоянии (status) и рабочем состоянии (operating state) модулей, доступных в интерактивном режиме, в форме отображения проекта (project view - отображение станций проекта, сообщающих об ошибках), в форме отображения станции (station view отображение модулей станции, сообщающих об ошибках) и в форме отображения модуля (module view - отображение соответствующей диагностической информации).

2.7.2 Определение причины перехода в состояние STOP Если CPU переходит в состояние STOP из-за ошибки, первое, что нужно сделать для определения причины перехода в это состояние, - это вывести для чтения содержимое диагностического буфера. CPU вводит в диагностический буфер все сообщения, в том числе, сообщение о причине перехода в состояние STOP и сообщения об ошибках, которые привели к программатор PG в интерактивный (online) режим, выберите S7-программу и активируйте вкладку Diagnostics Buffer (Диагностический буфер) с помощью опций меню: PLC -> Module Information (PLC -> Информация о модуле).

Последнее событие из буфера (первое событие имеет номер 1) и есть причина перехода CPU в состояние STOP, например, "STOP because programming error OB not loaded" ("Состояние STOP из-за ошибки программы блок ОВ не загружен").

Автоматизация посредством STEP с использованием STL и SCL Ошибка, которая привела к переходу CPU в состояние STOP, описана в предыдущем сообщении, например: "FC not loaded" ("FC не загружен").

Щелчком на номере сообщения Вы можете вывести на экран дополнительный комментарий в следующем нижнем поле экрана. Если сообщение касается ошибок программирования в блоке, Вы сможете открыть и отредактировать тот блок, нажав кнопку "Open Block" ("Открыть блок").

Если, например, причиной перехода CPU в состояние STOP является ошибка программирования, Вы можете установить "обстоятельства окружения" фрагмента программы, содержащего ошибку, с помощью вкладки "Stacks" ("Стеки"). Когда Вы откроете вкладку "Stacks" ("Стеки"), Вы увидите B-стек (block stack - стек блоков), который показывает расположение вызова всех незавершенных блоков вплоть до блока, в котором находится точка прерывания. Используя кнопку "I stack", Вы получите данные стека прерываний (interrupt stack), показывающего содержание регистров CPU (аккумуляторов, адресного регистра, регистра блока данных, слово состояния) в точке прерывания в тот момент, когда произошла ошибка.

Используя кнопку "L stack" (local data stack - стек локальных данных), Вы получите доступ к локальным данным блока, который можно выбрать в окне B-стека. Перейти к окну B-стека можно с помощью щелчка манипулятора "мышь" на соответствующей кнопке.

2.7.3 Мониторинг и модификация переменных (Monitoring and Modifying Variables) Есть замечательное средство для отладки пользовательской программы функция для мониторинга и модификации переменных (Monitoring and Modifying of Variables), использующая VAT-таблицу (таблицу размещения переменных). Состояния сигналов или значения переменных простых типов данных могут быть отображены с помощью этого средства. При наличии доступа к пользовательской программе Вы можете также модифицировать переменные, т.е. изменять состояния сигналов или назначать новые Предупреждение: Вы должны избегать опасных состояний в Вашей установке, могущих возникать при изменении значений переменных!

Создание таблицы переменных Для того, чтобы использовать функцию для мониторинга и модификации переменных (Monitoring and Modifying of Variables), Вы должны создать VATтаблицу (таблицу размещения переменных), содержащую переменные и форматы соответствующих данных. Вы можете генерировать до 255 таблиц переменных (VAT1 … VAT255) и назначить им имена в таблице символов (Symbol Table). Максимальный размер VAT-таблицы составляет 1024 строки с содержанием до 255 символов (см. рис. 2.11).

пользовательскую программу Blocks (Блоки), а затем опции меню: PLC -> Monitor/Modify Variables (PLC -> Мониторинг/модификация переменных).

Вы можете определять переменные с помощью абсолютной или символьной адресации и выбрать для них тип данных (формат отображения переменной).

2. Программное обеспечение STEP Для изменения выберите строки, затем: View -> Display Format (Вид -> Отобразить формат), или просто щелкните правой кнопкой мыши на заголовке столбца "Display Format" ("Отобразить формат").

Рис. 2.11 Пример таблицы переменных (Variable Table) Используйте строки комментариев для разделения таблицы на отдельные секции и придания отдельным частям таблицы заголовков. Вы можете также определять вид таблицы, а именно, какие столбцы должны быть отображены.

В любое время Вы можете изменить переменные или формат их отображения, добавить или удалить строки таблицы. Таблица переменных должна быть сохранена в каталоге объекта Blocks (Блоки) с помощью опций:

Table -> Save (Таблица -> Сохранить).

Установление интерактивного (online) соединения Для работы с VAT-таблицей, которая была создана автономно (offline), переключите ее в интерактивный режим с помощью опций меню: PLC -> Connect To … (PLC -> Подключить к …). Вы должны переключать в интерактивный режим каждую таблицу отдельно, а после работы с таблицей отключать это соединение с помощью опций: PLC -> Disconnect (PLC -> Условия запуска (Trigger conditions) В таблице переменных выберите опции меню: Variable -> Trigger (Переменная -> Запуск) для установки точки запуска (trigger point) и условий запуска (trigger conditions) отдельно для функций мониторинга и модификации. Точка запуска (trigger point) - это такая точка, в которой CPU считывает значения из системной памяти или записывает значения в системную память.

Автоматизация посредством STEP с использованием STL и SCL Вы должны определить, будет ли считывание или запись происходить один раз или будет периодическим.

Если для функции мониторинга и модификации имеются одинаковые условия запуска, то функция мониторинга будет выполняться до функции модификации. Если Вы выбрали для функции модификации точку запуска "Start of cycle" ("Начало цикла"), то переменные будут модифицированы после обновления отображения входов процесса и перед вызовом блока OB 1. Если Вы выбрали для функции мониторинга точку запуска "End of cycle" ("Конец цикла"), то состояния переменных будут выведены после завершения OB1 и перед установкой выходов в соответствии с отображением выходов Мониторинг переменных (Monitoring of Variables) Для выбора функции мониторинга используйте опции меню: Variable -> Monitor (Переменная -> Мониторинг). Переменные из VAT-таблицы обновляются в соответствии с определенными условиями запуска.

Постоянный мониторинг позволит Вам следить за изменениями значений переменных на экране. Значения отображаются в формате данных, который Вы задаете в столбце Display Format (Формат отображения). Закончить непрерывный процесс мониторинга позволяет кнопка Esc.

Использование опций: Variable -> Update Monitor Values (Переменная -> Обновить отслеживаемые значения) позволяет однократно обновить наблюдаемые переменные, причем это обновление происходит мгновенно и не зависит от заданных условий запуска.

Модификации переменных (Modifying of Variables) Для выбора функции модификации переменных (для пересылки в CPU измененных значений переменных) в соответствии с заданными условиями запуска используйте опции меню: Variable -> Modify (Переменная -> Модификация). Вводите модифицированные значения только в те строки VAT-таблицы, в которых содержатся переменные, которые нужно изменить.

Вы можете распространить комментарий на значение ("закомментировать" значение переменной) с помощью символов "//" или с помощью опций:

Variable -> Modify Value Valid (Переменная -> Модификация значения разрешена); такие значения не берутся в расчет при модификации переменных. Значения отображаются в формате данных, который Вы задаете в столбце Display Format (Формат отображения). Закончить непрерывный процесс модификации можно с помощью кнопки Esc.

Использование опций: Variable -> Activate Modify Values (Переменная -> модифицировать переменные, причем это происходит мгновенно и не зависит от заданных условий запуска.

2.7.4 Форсирование переменных (Forcing Variables) Отдельные типы CPU позволяют использовать особую функцию форсирование переменных (Forcing Variables), заключающуюся в том, что Вы с ее помощью можете задавать фиксированные значения некоторым 2. Программное обеспечение STEP При этом пользовательская программа не сможет изменить эти значения.

Форсирование разрешено для любого режима CPU и выполняется немедленно после запуска функции.

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

Отправной точкой для форсирования переменных является VAT-таблица. Вы должны создать VAT-таблицу, после этого - задать адреса, для которых требуется форсирование значений. Затем необходимо установить соединение с CPU. Вы можете открыть окно, содержащее форсируемые значения, выбрав опции меню: Variable -> Display Force Values (Переменная Отобразить форсированные значения).

Если форсированные значения уже активны в CPU, это отображается в окне функции форсирования (force window) с помощью выделенного шрифта. Вы можете теперь перенести некоторые или все адреса из таблицы переменных в окно функции форсирования или внести в этом окне новые адреса. После определения переменных для форсирования значений Вы должны сохранить содержание окна функции форсирования с помощью опций меню: Table -> Save As (Таблица -> Сохранить как).

Функция форсирования значений может быть использована для следующих • Входы I (отображение процесса) • Выходы Q (отображение процесса) Вы можете запустить функцию форсирования с помощью опций меню:

Variable -> Force (Переменная -> Активировать форсирование значений).

CPU использует форсированные значения для заданных переменных и не разрешает в дальнейшем изменять значения этих переменных.

Пока активна функция форсирования:

• Все попытки чтения по адресу форсированной переменной из пользовательской программы (например, load [загрузить]) и из системной программы (например, обновление образа процесса) всегда оканчиваются • В S7-400 все попытки записи по адресу форсированной переменной из пользовательской программы (например, transfer [переслать]) и из системной программы (например, посредством SFC) всегда оканчиваются без результата: изменения переменной запрещены. В S7-300 из пользовательской программы можно изменить ранее форсированное Автоматизация посредством STEP с использованием STL и SCL Функция форсирования переменных в S7-300 соответствует функции модификации в циклическом режиме: после обновления отображения входов процесса CPU перезаписывает входы форсированными значениями; перед установкой выходов процесса в соответствии с отображением выходов процесса CPU перезаписывает последние форсированными значениями.

Примечание: функция форсирования не завершается с закрытием окна функции форсирования, таблицы переменных или при разрыве связи с CPU!

Остановить работу функции форсирования переменных можно, если только Вы используете опции меню: Variable -> Delete Force (Переменные -> Отменить функцию форсирования).

Функция форсирования также может быть остановлена, если выполнить сброс памяти или выключить (перевключить) питание, при условии, что CPU не имеет резервной батареи питания.

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

Функция форсирования имеет стабильный эффект только для изменения I/O в CPU. Если после перезапуска форсированные PI и PQ больше не назначаются (например, в результате новой параметризации), то эти PI и PQ не поддерживают форсированные значения.

Обработка ошибок Если при считывании оказывается, что "ширина доступа" (access width) больше, чем размер форсируемых данных (например, форсируется байт [byte] в слове [word]), то не форсируемая часть значения адреса считывается как обычно. Если при этом происходит ошибка синхронизации (ошибка доступа или ошибка длины данных [access or area length error]), то программой пользователя или CPU фиксируется "ошибка вставки значения" ["error substitute value"] или же CPU переходит в состояние STOP.

Если при записи оказывается, что "ширина доступа" (access width) больше, чем размер форсируемых данных (например, форсируется байт [byte] в слове [word]), то не форсируемая часть значения адреса записывается как обычно.

При подобной ошибке доступа при записи форсированный компонент адреса остается неизменным, то есть защита от записи (write protection) не отменяется ошибкой синхронизации (synchronization error).

Считывание (loading) форсированных периферийных выходов дает в результате форсированные значения. Если "ширина доступа" (access width) соответствует размеру форсируемых данных, входные модули, которые вставляются в стойку взамен отказавших или для расширения, могут получить форсированные значения.

Вход I в образе процесса, связанный с форсированным периферийным входом PI, не форсируется; заранее он не определен и может быть переопределен. При обновлении образа процесса данный вход получает форсированное значение периферийного входа.

При форсировании периферийных выходов PQ связанный выход Q в образе процесса не обновляется и не форсируется (форсирование действует только "внешне" ["externally"] на выходы модуля). Значения выходов сохраняются и могут быть перезаписаны; считывание с выходов показывает записанные значения (не форсированные значения). Если выходной модуль форсирован, 2. Программное обеспечение STEP и если потом этот модуль отказал или удален, то он будет вновь принимать форсированные значения, когда он будет вновь включен в стойку в работоспособном состоянии.

Выходные модули выводят состояние сигнала "0" или предустановленное значение (substitute value) по OD сигналу (блокировка выходных модулей в режимах STOP [стоп], HOLD [пауза] и RESTART [перезапуск]) - даже если периферийные выходы форсированы (исключение составляют аналоговые модули без распознавания сигнала OD, которые продолжают выдавать на выход форсированное значение сигнала). Если сигнал OD выключен, функция форсирования вновь продолжает действовать.

Если в режиме STOP активирована функция Enable PQ (Разблокировать PQ), то форсированные значения также имеют эффект в режиме STOP (благодаря деактивации OD-сигнала). Кода действие функции Enable PQ (Разблокировать PQ) прекращается, модули вновь переходят в безопасное ("safe") состояние (состояние сигнала "0" или предустановленное значение [substitute value]); при этом форсированное значение выхода вновь становится действительным при переходе в режим RUN.

2.7.5 Разблокировка периферийных выходов (функция Enable peripheral outputs) В режиме STOP выходные модули обычно заблокированы OD-сигналом. С помощью функции "Enable peripheral outputs" ("Разблокировка периферийных выходов") Вы можете деактивировать OD-сигнал, таким образом, Вы сможете модифицировать сигналы выходных модулей даже в случае, если CPU находится в режиме STOP. Модификация сигналов производится с помощью таблицы переменных. Модифицируются только назначенные CPU периферийные выходы. Возможное применение для этого: тестирование монтажа выходов в STOP-режиме без пользовательской программы.

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

Создайте таблицу переменных и введите в нее периферийные выходы (PQ), теперь модифицируйте значения переменных. Переключите таблицу переменных в интерактивный (online) режим с помощью опций меню: PLC -> Connect To (…, и остановите CPU, если необходимо, например, с помощью опций меню: PLC -> Operating Mode, затем выберите "STOP".

Вы можете деактивировать OD-сигнал с помощью опций меню: Variable -> Enable Peripheral Outputs (Переменные -> Разблокировка периферийных предустановленное значение (substitute value), или форсированное значение (force value). Вы можете модифицировать периферийные выходы с помощью опций меню: Variable -> Activate Modify Values (Переменные -> Активировать изменение выходов). Вы можете изменить значения для модификации значений переменных и вновь после этого активизировать функцию Вы можете деактивировать функцию модификации периферийных выходов с помощью опций меню: Variable -> Enable Peripheral Outputs (Переменные -> Разблокировка периферийных выходов) или с помощью кнопки ESC.

Автоматизация посредством STEP с использованием STL и SCL При этом вновь активируется OD-сигнал, и выходы модуля принимают состояние сигнала "0", или предустановленное значение (substitute value), или форсированное значение (force value) сбрасывается.

Если режим STOP деактивируется в то время, пока активна функция "Enable peripheral outputs" ("Разблокировка периферийных выходов"), все периферийные входы сбрасываются, OD-сигнал активируется при переходе к режиму перезапуска (RESTART), а затем вновь активируется при переходе к 2.7.6 Функция "Program Status" ("Состояние программы") для STL С помощью функции "Program Status" ("Состояние программы") программный редактор обеспечивает дополнительные возможности для тестирования пользовательской программы. С помощью этой функции редактор отображает последовательно для каждой строки программы состояние выбранного Вами регистра. Настройка отображаемых данных выполняется на вкладке "STL" после выбора опций меню: Options -> Customize (Опции -> Установки пользователя) ("Standard" ["Стандарт"] предполагает отображение аккумулятора 1 или значений таймера или счетчика).

Для отладки блок программы помещается в пользовательскую память (user memory) CPU, вызывается и обрабатывается в редакторе. Откройте этот блок, например, с помощью двойного щелчка кнопки манипулятора "мышь" на блоке в интерактивном (online) окне SIMATIC Manager. Редактор запускается и отображает программу, содержащуюся в блоке.

Выберите подсеть, которую необходимо отладить. С помощью опций меню:

Debug -> Monitor (Отладка -> Мониторинг) активируйте функцию Program Status (Состояние программы). Теперь Вы можете наблюдать состояния адресов, результат логической операции и назначения регистров. С помощью опций меню: Debug -> Monitor (Отладка -> Мониторинг) Вы можете также деактивировать функцию Program Status (Состояние программы).

С помощью опций меню: Debug -> Call Environment (Отладка -> "Обстоятельства вызова") Вы можете задать условия запуска функции.

Такие установки Вам потребуются, если блок, который Вы отлаживаете, вызывается более чем один раз в Вашей программе. Вы можете инициировать запись состояний (status recording), или определив порядок вызовов, или сделав его зависимым от открытого блока данных. Если блок вызывается только один раз, то выберите "No Condition" ("Нет условий").

Вы можете модифицировать переменные, используя функцию Program Status (Состояние программы). Выберите адрес данных, которые должны быть модифицированы, затем выберите опции: Debug -> Modify Address (Отладка -> Модифицировать адрес).

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

"debug mode" (режим отладки) и "process mode" (режим обработки процесса).

Первый из указанных режимов (режим "debug mode" [режим отладки]) позволяет использовать все функции отладки без ограничения. Этот режим выбирается, например, для отладки блоков без подключения к системе, так как отдельные функции отладки сильно увеличивают время выполнения цикла сканирования программы.

2. Программное обеспечение STEP В режиме "process mode" (режим обработки процесса) необходимо стремиться минимизировать удлинение цикла сканирования из-за функций отладки, поэтому здесь накладываются определенные ограничения, например, на программные циклы (не все проходы циклов программы отображаются). Отдельные CPU позволяют установку рабочего режима на вкладке "Protection" ("Защитный режим") при параметризации CPU. Если при параметризации CPU был установлен "debug mode" (режим отладки), то Вы сможете изменить режим работы только во время повторной процедуры параметризации. Другими словами, режим может быть изменен в диалоговом окне. Установка рабочего режима отображается с помощью опций: Debug -> Operation (Отладка -> Работа).

Функции отладки Breakpoints (точки прерывания), Single-step Mode (пошаговый режим) Для блоков, написанных на языке STL, некоторые CPU позволяют выполнять отладку программы оператор за оператором в пошаговом режиме "Single-step mode". CPU находится в режиме HOLD; в целях безопасности периферийные выходы заблокированы. Используя точки прерывания (breakpoints), Вы можете остановить программу в любой момент и отлаживать в пошаговом Должен быть установлен режим "debug mode" (режим отладки). Если при параметризации CPU был установлен "debug mode" (режим отладки), то Вы можете изменить режим работы только во время повторной процедуры параметризации. Другими словами, режим может быть изменен в диалоговом Для установки точки прерывания (breakpoint) установите курсор в строке с нужным оператором и выберите опции: Debug -> Set Breakpoint (Отладка -> Установка точки прерывания). Для отладки выберите опции меню: Debug -> Breakpoints Active (Отладка -> Активировать точки прерывания); эта команда вызовет перенос точек прерывания в CPU и активирует их. CPU необходимо перезапустить, в процессе обработки программы CPU при достижении точки прерывания переходит в состояние паузы HOLD. При этом в специальном окне будет отображено текущее содержание регистра.

Теперь Вы можете запустить программу для выполнения в построчном (в пошаговом) режиме, выбрав опции меню: Debug -> Execute Next Statement (Отладка -> Выполнить следующий оператор). При этом выполнение программы будет прерываться на каждом операторе, и при этом будет отображаться текущее содержание регистра. Если в текущем операторе производится вызов блока, Вы можете продолжить пошаговую обработку программы в этом блоке, если выберете опции: Debug -> Execute Call (Отладка -> Выполнять вызов).

С помощью опций меню: Debug -> Resume (Отладка -> Продолжить) программа выполняется с нормальной скоростью, пока не встретит следующую точку прерывания.

Блоки, содержащие точки прерывания, не могут быть изменены или перезагружены в интерактивном режиме (online). Все точки прерывания сначала должны быть удалены. Также все точки прерывания должны быть удалены при выходе из режима отладки с точками прерывания. С помощью опций меню: Debug -> Resume (Отладка -> Продолжить) CPU снова Автоматизация посредством STEP с использованием STL и SCL 2.7.7 Отладка SCL-программ Если необходимо отладить SCL-программу, Вы должны скомпилировать ее с опцией "Create debug info" ("Создать отладочную информацию"). Вы можете установить эту опцию на вкладке "Compiler" ("Компилятор") после выбора опций меню: Options -> Customize (Опции -> Установки пользователя) в редакторе SCL Editor. Далее выполняется компиляция при выборе команды "Create object code" ("Создать объектный код"), затем программа переносится в CPU по команде: PLC -> Download (PLC -> Загрузить).

Отладчик для SCL-программ является встроенным компонентом редактора Функция "Program Status" ("Состояние программы") для SCL С помощью этой функции отладки Вы можете отлаживать группы операторов, "ведя мониторинг области" ("monitor area") во время работы. Размер переменных "области мониторинга" зависит от используемых в программе операторов. Значения переменных в этой области обновляются и отображаются циклически.

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

Для того чтобы отладить SCL-программу, переключите CPU в RUN или RUNP режим и откройте исходный файл программы. Выберите рабочий режим:

Debug -> Operation -> Debug Operation (Отладка -> Работа -> Отладка).

Установите курсор на начало области, которую нужно отладить. Начните процесс отладки с помощью выбора опций меню: Debug -> Monitor (Отладка Мониторинг). Имена и значения переменных в области мониторинга отображаются построчно в правой части окна редактора.

Вы можете прервать процесс отладки, выбрав вновь опции меню: Debug -> Monitor (Отладка -> Мониторинг); при выборе опций меню: Debug -> End Debug (Отладка -> Конец отладки) процесс отладки завершается.

Функции отладки Breakpoints (точки прерывания), Single-step Mode (пошаговый режим) При отладке в пошаговом режиме "Single-step mode" Вы можете контролировать выполнение программы строка за строкой и при этом вести мониторинг значений переменных. Используя точки прерывания (breakpoints), Вы можете остановить программу в любой момент и отлаживать в пошаговом режиме (single-step) с этой точки программы.

Для отладки программы в пошаговом режиме (single-step) должны быть выполнены следующие требования: отлаживаемый блок не должен быть защищен, он должен быть открыт интерактивно (online) и не должен при этом модифицироваться в редакторе.

2. Программное обеспечение STEP Пошаговый режим (single-step) отладки работает только на тех CPU, которые обеспечивают поддержку этого режима. Должен быть установлен режим "debug mode" (режим отладки), а отладка с использованием функции Program Status (состояние программы) должна быть выключена. CPU переходит в режим HOLD в точке прерывания (breakpoint), и отладка в пошаговом режиме (step-by-step) возможна только в режиме HOLD.

Для отладки откройте исходный файл программы и определите точки прерывания (breakpoints) установкой курсора в строке с нужным оператором и выберите опции: Debug -> Set Breakpoint (Отладка -> Установка точки прерывания). Необходимо предотвратить возможность возникновения опасных состояний в установке при активации режима отладки. Для активации режима отладки выберите опции меню: Debug -> Breakpoints Active (Отладка -> Активировать точки прерывания). CPU необходимо перезапустить, при достижении точки прерывания в процессе обработки программы CPU переходит в состояние паузы HOLD (см. рис. 2.12).

Рис. 2.12 Отладка SCL-программы Теперь Вы можете запустить программу для выполнения в построчном (в пошаговом) режиме, выбрав опции меню: Debug -> Execute Next Statement (Отладка -> Выполнить следующий оператор). Выполнение программы будет прерываться на каждом операторе, и при этом значения переменных из текущего оператора отображаются в правой части окна редактора.

Отображение символьных имен может быть включено или выключено с помощью опций: View -> Symbolic Representation (Вид -> Символьное Автоматизация посредством STEP с использованием STL и SCL С помощью опций меню: Debug -> Resume (Отладка -> Продолжить) программа выполняется с нормальной скоростью, пока не встретит следующую точку прерывания. При выборе опций меню: Debug -> Execute to Selection (Отладка -> Выполнять до выбранного) программа выполняется до раздела, выбранного с помощью курсора.

Вы можете управлять точками прерывания в программе с помощью опций меню: Debug -> Edit Breakpoints (Отладка -> Редактировать точки прерывания). Вы можете также прервать процесс отладки программы с помощью повторного выбора опций меню: Debug -> Breakpoints Active (Отладка -> Активировать точки прерывания).

Опции: Debug -> End Debug (Отладка -> Завершение отладки) вызывают завершение процесса отладки.

Примечание: с помощью опций меню: Debug -> Execute Next Statement (Отладка -> Выполнить следующий оператор) и Debug -> Execute to Selection (Отладка -> Выполнять до выбранного) устанавливаются и активируются точки прерывания. Необходимо обеспечить, чтобы при задании точек прерывания не было превышения максимально возможного количества точек прерывания, которое зависит от типа применяемого CPU.

3 SIMATIC S7-программа В этой главе представлена структура пользовательской программы для CPU систем SIMATIC S7-300/400, начиная от различных приоритетных классов (определяющих характер выполнения программы) и отдельных частей программы (блоков) и заканчивая переменными и типами данных.

В данной главе основное внимание уделяется программированию блоков на языках STL и SCL. Типы данных подробно описаны в главе 24 "Типы Вы должны определить структуру пользовательской программы на этапе разработки, когда Вы согласовываете технологические и функциональные характеристики; это будет решающим фактором при создании программы, ее отладке и тестировании. Для получения оптимальной программы необходимо обратить особое внимание на ее структуру.

3.1 Обработка программы В целом программное обеспечение для CPU состоит из операционной системы (operating system) и пользовательской программы (user program).

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

Пользовательская программа (user program) - это совокупность всех инструкций и деклараций (в данном случае - программных элементов), для обработки сигналов, с помощью которых установка (процесс) регулируется в соответствии с определенной задачей управления.

3.1.1 Методы обработки программы Пользовательская программа может состоять из программных разделов, которые обрабатываются в CPU в зависимости от конкретного события.

Одним из таких событий может быть, например, запуск системы автоматического управления, прерывание или обнаружение программной ошибки (см. рис. 3.1). Программы, назначенные для обработки событий, разделяются по приоритетным классам (priority class), с помощью которых определяется порядок обработки отдельных разделов ("mutual interruptibility" - система взаимных прерываний) программы в случаях, когда происходит одновременно несколько событий.

Автоматизация посредством STEP с использованием STL и SCL Рис. 3.1 Методы обработки пользовательской программы Программа с наинизшим приоритетом является главной (main) программой, которая циклически обрабатывается CPU. События могут прерывать главную (main) программу в любой момент, после чего CPU выполнит связанную с прерыванием обслуживающую программу или программу обработки ошибок и затем вновь вернет управление в главную Специальный организационный блок (ОВ) соответствует каждому событию. Организационные блоки имеют приоритетные классы в пользовательской программе. Если происходит событие, CPU активизирует соответствующий ему организационный блок.

Организационный блок (ОВ) - это часть пользовательской программы, которую Вы сами можете написать.

Перед тем, как CPU начнет обработку главной программы, он выполняет программу запуска (startup routine). Эта программа может быть запущена такими событиями как включение питания, поворот переключателя режимов на передней панели CPU или с помощью программатора PG.

Обработка программы, следующая за выполнением программы запуска, в системе S7-300 всегда начинается с начала главной программы ("complete restart" - "полный перезапуск"), а в системе S7-400 может также использоваться режим, когда продолжается сканирование программы с точки, в которой оно было прервано ("warm restart" - "теплый перезапуск").

3. SIMATIC S7-программа Главная (main) программа располагается в организационном блоке ОВ 1, который используется практически во всех пользовательских программах.

Начало пользовательской программы соответствует первому сегменту в блоке ОВ 1. После завершения выполнения ОВ 1, что соответствует окончанию выполнения программы, CPU возвращает управление в операционную систему и после вызова различных функций операционной системы, таких как обновление отображений процесса, вновь вызывает События, которые могут вмешиваться в работу программы, - это прерывания и ошибки. Источником прерываний могут стать либо процесс (аппаратное прерывание), либо CPU (прерывания по времени ["watchdog", то есть таймерные], прерывания по времени суток ["time-of-day"] и т.д.) Что касается ошибок, то они подразделяются на синхронные и асинхронные. Асинхронные ошибки - это такие ошибки, которые не зависят от выполняемой программы, например, это может быть сбой питания на устройстве расширения или такое событие, как удаление Синхронные ошибки - это такие ошибки, которые возникают при выполнении программы, например, ошибка будет зафиксирована при попытке доступа к несуществующему адресу или ошибка может произойти при преобразовании типов данных. Типы и номера регистрируемых событий и соответствующих организационных блоков определяются типом CPU; не каждый CPU способен обрабатывать все события, 3.1.2 Классы приоритетов В таблице 3.1 показаны доступные в SIMATIC S7 организационные блоки с возможными для них классами приоритетов (приоритетными классами).

Таблица 3.1 Организационные блоки SIMATIC S Организационный OB свободного цикла Периодически вызывается операционной TOD прерывания В определенное время суток или через равные OB 10 … OB 17 промежутки времени (например, ежемесячно) С задержкой времени По истечении запрограммированного времени;

OB 20 … OB 23 управление из пользовательской программы Watchdog прерывания Регулярный вызов через запрограммированные OB 30 … OB 38 интервалы времени (например, каждые 100 мс) Прерывания процесса OB 40 … OB Мультипроцессорное прерывание OB Ошибки резервирования Асинхронные ошибки Фоновая обработка Продолжительность минимального цикла еще не 1) Автоматизация посредством STEP с использованием STL и SCL Таблица 3.1 Организационные блоки SIMATIC S7 (продолжение) Организационный Программа запуска OB 100, 101, Синхронные ошибки В случае ошибок, связанных с выполнением Приоритет ОВ, OB 121, OB 122 программы (например, ошибка I/O доступа) вызвавшего ошибку.

В некоторых классах приоритетов Вы можете изменять заданный приоритет при параметризации CPU. В таблице 3.1 для организационных блоков показаны возможные нижний и верхний приоритетные классы.

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

Программа запуска может быть в организационном блоке OB 100 (полный перезапуск) или в организационном блоке OB 101 (теплый перезапуск);

она имеет приоритетный класс 27. Асинхронные ошибки, происходящие в программе запуска, имеют приоритетный класс 28. Диагностические прерывания рассматриваются как асинхронные ошибки.

Вы должны определить, какие доступные приоритетные классы Вы будете использовать при параметризации CPU. Неиспользуемые приоритетные классы (организационные блоки) должны получить приоритет 0.

запрограммированы для всех используемых приоритетных классов; иначе CPU вызовет OB 85 ("Program Processing Error" - "Ошибка выполнения программы") или перейдет в режим STOP.

Для каждого выбранного приоритетного класса во области временных локальных данных (L-стек) должно быть достаточно места (более подробная информация находится в разделе 18.1.5 "Временные 3.1.3 Спецификации для обработки программы Операционная система CPU обычно использует параметры, принятые по умолчанию. Вы можете изменить эти установки при параметризации CPU с помощью утилиты конфигурирования оборудования Hardware Configuration для того, чтобы параметры системы удовлетворяли Вашим особым требованиям. Вы можете изменить эти параметры в любое время.

Каждый CPU имеет свой собственный особый набор параметров. В приведенном ниже списке представлен обзор всех параметров STEP 7 и их наиболее важные установки.

• Sturtup (параметры запуска) Характеристика типа запуска ("cold restart" ["холодный перезапуск"] / ("warm restart" ["теплый перезапуск"]); мониторинг сигналов "Ready" или параметризации модуля; максимальная продолжительность времени, которое может произойти до момента "теплого перезапуска".

3. SIMATIC S7-программа • Cycle/clock memory (цикл/тактовые меркеры) Включение/выключение циклического обновления отображения процесса; задание продолжительности периода мониторинга и минимальной продолжительности времени цикла; продолжительность времени цикла в процентах для коммуникаций; число тактовых меркеров; размер области отображения процесса.

• Retentive memory (реманентная память) Число реманентных меркеров, таймеров и счетчиков; определение реманентных областей для блоков данных.

Максимальное количество временных локальных данных в приоритетных классах (в организационных блоках); максимальный размер L-стека и число коммуникационных заданий.

Спецификация приоритета аппаратных прерываний, прерываний с задержкой (time-delay interrupts), асинхронных ошибок и (возможно в скором времени) коммуникационных прерываний.

• Time-of-day Interrupts (прерывания по времени суток) Спецификация приоритета, спецификация стартового времени и • Cyclic Interrupts (циклические прерывания) Спецификация приоритета, спецификация времени цикла и фазового • Diagnostics/Clock (диагностические прерывания/системные часы) Индикация причины перехода в состояние STOP; тип и интервал синхронизации времени; коэффициент коррекции.

• Protection (параметры доступа к программам) Спецификация уровня защиты, задание пароля.

• Multicomputing (параметры мультипроцессорного режима) • Integrated I/O (параметры встроенных I/O) Активация и параметризация встроенных I/O.

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

3.2 Блоки Чтобы сделать Вашу программу более легкой для чтения и понимания, Вы можете разбить ее на такое количество частей, какое Вы пожелаете.

Языки программирования STEP 7 поддерживают такой подход к программированию, обеспечивая Вас необходимыми функциями. Каждая такая часть программы должна быть самодостаточной (self-contained) и должна решать технологическую или функциональную задачу.

Рассматриваемые части программы называются "блоками" ("block"). Блок - это часть программы пользователя, характеризующаяся своими собственными функциями, структурой или функциональным назначением.

Автоматизация посредством STEP с использованием STL и SCL 3.2.1 Типы блоков (Block Types) Язык программирования: STL использует различные типы блоков для • User blocks (пользовательские блоки) Пользовательские блоки - это блоки, содержащие пользовательскую программу и пользовательские данные.

• System blocks (системные блоки) Системные блоки - это блоки, содержащие системную программу и • Standard blocks (стандартные блоки) Стандартные блоки - это готовые к использованию блоки, такие, например, как драйверы для функциональных блоков FM или коммуникационных процессоров CP.

Пользовательские блоки (User blocks) Для больших и сложных программ "структурирование" - подразделение программы на блоки рекомендуется и отчасти является необходимостью.

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

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

Главная программа находится в организационном блоке OB 1. Остальные организационные блоки имеют постоянные назначенные номера, основанные на событиях, для обработки которых они вызываются.

Функциональные блоки FB (Function blocks) Эти блоки являются частями программы, вызов которых может быть запрограммирован с помощью параметров блока. Они обладают областью памяти для переменных (variable memory), которая расположена в блоке данных. Этот блок данных постоянно назначен функциональному блоку, или, точнее, вызову функционального блока. Возможно даже назначение нескольких блоков данных (с одинаковой структурой данных, но содержащих разные значения) каждому вызову функционального блока. Такой постоянно назначенный блок данных называется экземплярным блоком данных (instance data block), а совокупность вызова функционального блока и экземплярного блока данных называется экземпляром вызова (call instance) или, для краткости, "экземпляром" ("instance"). Функциональные блоки могут также хранить свои переменные в экземплярном блоке данных вызывающего функционального блока;

тогда такой экземплярный блок данных называется "локальным экземпляром" ("local instance").

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

3. SIMATIC S7-программа Блоки данных DB (Data blocks) Эти блоки содержат данные Вашей программы. Программируя блоки данных, Вы определяете, в какой форме данные будут сохраняться (в котором блоке, в каком порядке и с каким типом данных). Существует два способа использования блоков данных: как блоки глобальных данных (global data blocks) и как экземплярные блоки данных (instance data blocks). Блоки глобальных данных в пользовательской программе являются, как говорится, "свободными" ("free") блоками данных и не назначаются кодовому блоку. Экземплярные блоки данных, однако, назначаются функциональному блоку и сохраняют часть локальных данных этого функционального блока.

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

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

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

Система STEP 7 самостоятельно генерирует эти блоки и управляет ими.

Тем не менее, Вы можете определять их содержимое, например, когда Вы конфигурируете станции. Как правило, системные блоки данных SDB размещаются в загрузочной (load) памяти. Пользователь не имеет Стандартные блоки (Standard blocks) В дополнение к функциям и функциональным блокам, которые Вы можете создавать самостоятельно, Вы можете использовать готовые для применения блоки, так называемые "стандартные блоки" ("Standard Эти блоки могут быть получены или на различных носителях, или могут быть в составе библиотек из комплекта поставки ПО STEP 7 (например, IEC-функции или функции для S5/S7 конвертирования).

В главе 33 "Библиотеки блоков" представлен обзор стандартных блоков из состава "библиотеки стандартных блоков" Standard Library.

Автоматизация посредством STEP с использованием STL и SCL 3.2.2 Структура блоков (Block Structure) На нижеприведенных рисунках представлены структуры блоков для случаев "инкрементного" программирования и программирования, ориентированного на создание исходных текстов программы:

Логический блок (logic block) ("инкрементное" программирование) Block header (заголовок блока) Declaration (раздел объявления) Program (программа) A Input1 //Limit switch responded (отклик конечного выключателя) = Output1 //Message to operator panel (сообщение на панель оператора) Блок данных (data block) ("инкрементное" программирование) Block header (заголовок блока) Declaration (раздел объявления) Рис. 3.2 Структура блока ("инкрементное" программирование) 3. SIMATIC S7-программа Логический блок (logic block) (программирование, ориентированное на создание исходных текстов программы) Блок данных (data block) (программирование, ориентированное на создание исходных текстов программы) DATA_BLOCK Address (Блок данных Адрес) Block header (заголовок блока)

STRUCT

Рис. 3.2 Структура блока (программирование, ориентированное на По существу кодовые блоки состоят из трех частей:

(характеристики) блока, такие как имя блока.

• Declaration section (раздел объявления), в котором декларируются (т.е.

определяются) локальные ("block-local" - "внутриблочные") переменные • Program section (раздел программы), который содержит саму программу Автоматизация посредством STEP с использованием STL и SCL Блоки данных имеют похожую структуру:

• Block header (заголовок блока), который содержит описание свойств • Declaration section (раздел объявления), в котором объявляются локальные ("внутриблочные") переменные; в этом случае с адресами данных указываются типы данных.

• Initialization section (раздел инициализации), в котором отдельным адресам данных назначаются начальные значения.

В случае "инкрементного" программирования раздел объявления переменных и раздел инициализации объединены. Вы определяете адреса данных, их типы данных в "declaration view" (вид "объявлений") и также Вы можете инициализировать каждый адрес данных отдельно в "data view" (вид "данных") (см. ниже).

3.2.3 Свойства блоков (Block Properties) Свойства блоков или атрибуты содержатся в заголовке блока. Вы можете увидеть и изменить атрибуты блока в редакторе с помощью опций меню:

File -> Properties (Файл -> Свойства) (см. рис. 3.3).

Рис. 3.3 Окно свойств блока ("Properties - Type block") 3. SIMATIC S7-программа На вкладке "General - Part 2" ("Общие - часть 2") показано распределение • Local Data (временные локальные данные - размещение стека • Load memory requirement (требования к загрузочной памяти).

• Work memory requirement (требования к рабочей памяти).

Атрибут "Know-how protection" ("защита технологии") используется для защиты блока. Если блок защищен с помощью установки этого атрибута, то программа из этого блока не может быть отображена, распечатана или изменена. В редакторе можно будет увидеть только заголовок блока и таблицу объявления переменных (declaration table) с параметрами блока.

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

Заголовок блока любого стандартного блока (standard block), который предоставляется фирмой Siemens, содержит атрибут "Standard Block".

Атрибут "DB is write-protected in the PLC" ("DB в PLC доступен только для чтения") используется только для блоков данных. Установка этого атрибута приведет к тому, что Вы сможете только считывать данные в Вашей программе. При попытке записи в защищенный блок данных выводится сообщение об ошибке. Такой вариант защиты (защита от записи) нельзя путать с защитой блока. Блок данных с защитой блока может быть считан и перезаписан в пользовательской программе, но его данные нельзя отобразить ни с помощью программатора PG, ни с помощью устройств наблюдения оператора.

Блок данных с установленным атрибутом "Unlinked" ("Неподключенный") будет находиться только в загрузочной (load) памяти; он не может быть запущен на выполнение ("non execution-relevant"). Вы не сможете записывать в блоки данных, находящиеся в загрузочной памяти, и Вы сможете считать данные этих блоков только с помощью системной Прочие спецификации вкладки "General - Part 2" ("Общие - часть 2") окна Атрибут Name (Имя) идентифицирует блок; это не то же самое, что и символьный адрес: разные блоки могут иметь одинаковое имя.

Атрибут Family (Семья - имя группы - второе имя) позволит Вам назначить общие характеристики для группы блоков. Идентификаторы блока Name (Имя) и Family (Семья - имя группы) отображаются при вставке блоков и при выборе блоков в диалоговом окне каталога элементов программы (program elements catalog).

Атрибут Author (Автор) идентифицирует создателя блока.

Атрибуты Name (Имя), Family (Семья - имя группы), Author (Автор) могут содержать до 8 символов (здесь могут применяться следующие символы:

буквы, цифры и знак подчеркивания).

Атрибут Version (Версия) вводится дважды двумя цифрами: от 0 до 15.

Автоматизация посредством STEP с использованием STL и SCL На вкладке "General - Part 1" ("Общие - часть 1") редактор записывает дату изменения блока в две отметки времени: для кодового блока и для интерфейса, т.е. для блока параметров и для статических локальных Примечание: надо отметить, что дата изменения интерфейса должна быть такой же или более ранней, нежели дата изменения программного кода вызывающего блока. Если это условие не выполняется, то при выводе на экран вызывающего блока редактор сигнализирует об ошибке "time stamp conflict" ("конфликт отметок времени").

Блоки могут быть созданы или скомпилированы в виде версии 1 или в виде версии 2. Это имеет практическое значение только для функциональных блоков. Если активировано свойство "multi-instance capability" ("несколько экземпляров DB для функционального блока"), что, кстати, является обычным случаем, то мы имеем дело с блоком версии 2.

Если свойство "multi-instance capability" выключено, то Вы не сможете вызвать этот блок как локальный экземпляр, также как Вы не сможете вызвать другой функциональный блок из этого блока как локальный экземпляр. Функциональный блок версии 1 имеет преимущество, заключающееся в ограничении использования экземпляра блока данных в случае косвенной адресации (имеет значение только при STLпрограммировании).

На вкладке "Calls" ("Вызовы") Вы увидите список всех блоков, вызываемых в данном блоке с отметками времени для кодовых блоков и На вкладке "Attributes" ("Атрибуты") показаны системные атрибуты блока.

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

Program length (Размер программы) Длина пользовательской программы содержится в свойствах (Properties) в автономном каталоге Blocks (Блоки). Для доступа к этим данным выберите Blocks (Блоки) и используйте опции: Edit -> Object Properties (Правка -> Свойства объекта). Теперь на вкладке "Blocks" ("Блоки") Вам доступна информация "Size in work memory" (Размер в рабочей памяти) и "Size in load memory" (Размер в загрузочной памяти).

Примечание: примите во внимание, что конфигурационные данные (системные блоки данных) не учитываются при указании размера программы в загрузочной (load) памяти. Открыв каталог Blocks (Блоки), Вы можете увидеть требования к загрузочной (load) памяти для системных данных в деталях (представленных в табличной форме). В строке состояния утилита SIMATIC Manager указывает суммарный объем памяти для всех блоков, которые Вы выберете с нажатой клавишей Ctrl.

С помощью программатора PG, подключенного интерактивно (online), при использовании утилиты SIMATIC Manager Вы можете найти текущие назначения памяти CPU на вкладке "Memory" ("Память"), используя опции меню: PLC -> Module Information (PLC -> Информация о модуле).

Контрольная сумма (Checksum) Редактор программы Program Editor генерирует контрольную сумму (Checksum) для всех блоков пользовательской программы и сохраняет ее в свойствах объекта каталога Blocks (Блоки). Идентичные программы имеют одинаковую контрольную сумму, контрольная сумма изменяется при любом изменении программы.

3. SIMATIC S7-программа Контрольная сумма также генерируется для системных данных. Для доступа к контрольным суммам при помощи утилиты SIMATIC Manager выберите каталог Blocks (Блоки) и используйте опции: Edit -> Object Properties (Правка -> Свойства объекта).

3.2.4 Интерфейс блоков (Block Interface) Таблица объявления переменных содержит интерфейс блока с остальной программой. Он состоит из параметров блока (входы, выходы и входные и выходные параметры), а также статических локальных данных (для функциональных блоков). Временные локальные данные не принадлежат интерфейсу блока. Интерфейс блока определяется в таблице объявления переменных, и эти переменные инициализируются при вызове блока (см.

главу 19. "Параметры блоков").

Редактор программ Program Editor проверяет, чтобы инициализация параметров вызываемого блока соответствовала интерфейсу вызываемого блока. Для этого редактор использует метки времени:

интерфейс вызываемого блока должен иметь более раннюю временную метку, чем код вызывающего блока, что означает, что последние изменения интерфейса должны быть выполнены раньше его объединения с блоком. Редактор программ Program Editor обновляет метку времени интерфейса при изменении числа параметров, или при изменении типа данных, или при изменении значений параметров, принимаемых по Конфликт временных меток (Time stamp conflict) Если интерфейс вызываемого блока имеет более позднюю временную метку, чем код вызывающего блока, возникает "конфликт временных меток" ("Time stamp conflict"). Так, Вы получите "конфликт временных меток" ("Time stamp conflict"), если вновь откроете уже скомпилированный блок. В этом случае редактор Program Editor выделит некорректный вызов блока красным цветом. Конфликт временных меток также возникнет, если Вы, например, измените интерфейсы блоков, которые уже вызывались в других блоках, или если Вы объедините блоки из разных программ в новую программу, или если Вы перекомпилируете раздел полной программы из исходного файла.

Тем не менее, конфликт интерфейса, в общем описываемый как "конфликт временных меток" ("Time stamp conflict"), может также иметь другие причины. Он может случиться, если вызванный или адресованный (referenced) блок имеет более позднюю временную метку (younger), чем вызывающий блок. Ниже представлены примеры возможных случаев "конфликта временных меток" ("Time stamp conflict"):

• Интерфейс вызываемого блока имеет более позднюю временную метку (younger), чем код вызываемого блока.

• Интерфейс инициализации не согласован с интерфейсом блока.

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

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

Автоматизация посредством STEP с использованием STL и SCL • Пользовательский тип данных UDT имеет более позднюю временную метку (younger), чем блок, переменные которого объявлены как UDT;

это может быть любой блок, включая блок данных или другой UDT.

Корректировка неправильных вызовов блока Редактор программ Program Editor обеспечивает возможность исправления некорректных вызовов блока или UDT-приложений при выборе команд меню: Edit -> Block Call -> Update (Правка -> Вызов блока Обновить). Для случая одинаковых имен, типов данных или местоположения редактор может найти правильные назначения в большинстве случаев. Если этого не произошло, то Вы должны выполнить корректировку вручную. В любом случае Вы должны проверить правильность выполненной корректировки.

Check Block Consistency (Проверка блока на консистентность) Редактор программ Program Editor лишь информирует о наличии "конфликта временных меток" ("Time stamp conflict"), если Вы открываете блок, содержащий этот самый "конфликт временных меток". Если необходимо проверить программу целиком, Вы можете использовать функцию проверки консистентности блока "Check Block Consistency". Эта функция снимает большинство конфликтов интерфейса и указывает на места в программе, требующие редактирования.

Для выполнения проверки на консистентность данных выберите каталог Blocks (Блоки) и затем опции меню: Edit -> Check Block Consistency (Правка -> Проверки консистентности блока). Редактор программ Program Editor генерирует данные, требующиеся для такой проверки, начиная с системы STEP 7 V5.0 SP3. Если пользовательская программа скомпилирована в системе STEP 7 более ранней версии или если программа содержит блоки, скомпилированные в системе STEP 7 более ранней версии (Вам необходимо будет проверить это, если соответствующая информация не отображается в окне функции "Check Block Consistency"), выбрав в этом окне: Program -> Compile (Программа Компилирование).

Редактор программ Program Editor отобразит процесс выполнения задачи и результат проверки на консистентность в окне результата ("1:Compile").

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

Отношения в случае вызванных или адресованных блоков отображаются в форме древовидной диаграммы (рис. 3.4).

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

"Дерево ссылок" (reference tree) представляет связи аналогично отображению структуры программы: слева расположены вызывающие блоки, а правее расположены вызванные ими блоки. Пример: экземпляр DB 20 / FB 20 вызван в OB 1, а локальные экземпляры FB 21 и FB "Дерево подчиненности" (dependency tree) представляет связи, начиная от всех вызванных или адресованных блоков. Эти блоки расположены в левом ряду, а правее расположены вызывающие их блоки. Пример: FB хранит свои данные в экземпляре DB 20 / FB 20, который вызывается в OB 1. Он также имеет свой собственный DB 29, и он вызывается как Для обоих представлений случай появления знака восклицания (!) будет означать необходимость исправления и компиляции соответствующего 3. SIMATIC S7-программа Рис. 3.4 Пример представления структуры отношений блоков по результатам проверки консистентности данных с помощью функции Check Если Вы выбрали блок в древовидной схеме или в открытом окне, Вы сможете отредактировать его, выбрав соответствующие опции меню: Edit -> Open Block (Правка -> Открыть блок), т.е. Вы можете исправить 3.3 Адресация переменных (Addressing Variables) При адресации переменных Вы можете выбирать способ адресации из двух основных вариантов: абсолютная адресация (absolute addressing) или символьная адресация (symbol addressing). При абсолютной адресации используются численные адреса, начиная с нулевого (0) адреса для каждой адресной области. При символьной адресации используются символьные (состоящие из букв и цифр) имена, которые Вы сами задаете в таблице символов (Symbol Table) для глобальных адресов или в разделе объявления переменных (declaration section) для внутриблочной адресации. Расширением абсолютной адресации является косвенная адресация (indirect addressing), при которой адреса (местоположение) в памяти высчитываются во время выполнения Автоматизация посредством STEP с использованием STL и SCL 3.3.1 Абсолютная адресация переменных Переменные простых типов могут быть адресованы с использованием абсолютной адресации (absolute addressing).

Абсолютные адреса входов и выходов рассчитываются, исходя из начального адреса модуля, который Вы установили или должны установить в таблице конфигурации (configuration table), и типа сигнала, подключаемого к модулю. Подключаться могут как дискретные, так и Рис. 3.5 Биты и байты в машинных словах и в двойном слове Дискретные (binary) сигналы Дискретный сигнал содержит один бит информации. Примерами дискретных сигналов являются входные сигналы от конечных выключателей, кнопок и т.п., которые поступают на дискретные входные модули, и выходные сигналы, управляющие лампами, контакторами и т.п., которые поступают на дискретные выходные модули.

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

Динамическому диапазону изменения ("information width" информационный диапазон") сигнала соответствует динамический диапазон изменения ("information width") переменной, в виде которой сигнал сохраняется и обрабатывается. Динамический диапазон изменения сигнала и интерпретация этого сигнала (например, относительное положение), взятые вместе, определяют тип данных (data tape) для соответствующей переменной.

Дискретные сигналы сохраняются в переменных типа BOOL (булева переменная), аналоговые сигналы - в переменных типа INT (целая Определяющим фактором для адресации переменной является ее тип, от которого зависит требуемая величина области памяти для размещения 3. SIMATIC S7-программа В системе STEP 7 существуют 4 типа данных для абсолютной адресации:

На переменные типа BOOL ссылка производится посредством идентификатора адреса, номера байта и отделенного десятичной точкой номера бита. Нумерация байтов начинается с нуля (0) в каждой адресной области. Верхнее предельное значение номера байта определяется типом CPU. Биты внутри байтов нумеруются от 0 до 7.

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

Переменные типа WORD состоят из двух байтов (слово). В качестве абсолютного адреса используется идентификатор адреса и номер младшего байта машинного слова, в котором содержится собственно значение переменной. Идентификатор адреса дополнен символом W.

Переменные типа DWORD состоят из четырех байтов (двойное слово). В качестве абсолютного адреса используется идентификатор адреса и номер младшего байта двойного слова, в котором содержится собственно значение переменной. Идентификатор адреса дополнен символом D.

QD 24 выходное двойное слово номер 24; содержит байты 24, 25, Адресация области данных в блоке данных.

Дополнительную информацию по адресации областей данных Вы найдете в разделе 18.2.2 "Адресация данных".

Автоматизация посредством STEP с использованием STL и SCL 3.3.2 Косвенная адресация Косвенная адресация (indirect addressing) позволяет рассчитывать адреса в области данных во время выполнения программы. Языки программирования STL и SCL используют различные методы для косвенной адресации. В STL различают следующие виды адресации:



Pages:     | 1 | 2 || 4 | 5 |   ...   | 12 |


Похожие работы:

«Министерство образования и науки Российской Федерации ПРОГРАММА-МИНИМУМ кандидатского экзамена по специальности 01.04.21 Лазерная физика по физико-математическим и техническим наукам Программа-минимум содержит 8 стр. 2007 2 Введение В основу настоящей программы положены следующие дисциплины: электродинамика, теория поля, квантовая электроника, оптика и спектроскопия. Программа разработана экспертным советом Высшей аттестационной комиссии по физике при участии Московского государственного...»

«Учреждение образования Международный государственный экологический университет имени А.Д. Сахарова УТВЕРЖДАЮ проректор по учебной работе МГЭУ им. А.Д. Сахарова О.И. Родькин Регистрационный № УД-_/р. НОРМАЛЬНАЯ АНАТОМИЯ Учебная программа учреждения высшего образования по учебной дисциплине для специальности: 1-80 02 01 Медико-биологическое дело Факультет экологической медицины Кафедра биологии человека и экологии Курс Семестр I, II Лекции 34 Экзамен II семестр Лабораторные занятия Всего...»

«Постановление Правительства Санкт-Петербурга от 20.07.2007 N 884О Концепции социальноэкономического развития Санкт-Петербурга до 2025 года Рассмотрев Концепцию социально-экономического развития Санкт-Петербурга до 2025 года, Правительство Санкт-Петербурга постановляет: 1. Утвердить Концепцию социально-экономического развития Санкт-Петербурга до 2025 года (далее Концепция) согласно приложению. 2. Исполнительным органам государственной власти Санкт-Петербурга учитывать положения Концепции при...»

«НЕКОММЕРЧЕСКОЕ ПАРТНЕРСТВО ОБЪЕДИНЕНИЕ ГЕНЕРАЛЬНЫХ ПОДРЯДЧИКОВ В СТРОИТЕЛЬСТВЕ УТВЕРЖДЕНО: Решением Общего собрания членов Некоммерческого партнерства Объединение генеральных подрядчиков в строительстве Протокол от 21 мая 2009 г. № 3 ПРАВИЛА ПРОФЕССИОНАЛЬНОГО ОБУЧЕНИЯ, АТТЕСТАЦИИ РАБОТНИКОВ ЧЛЕНОВ САМОРЕГУЛИРУЕМОЙ ОРГАНИЗАЦИИ НЕКОМЕРЧЕСКОГО ПАРТНЕРСТВА ОБЪЕДИНЕНИЕ ГЕНЕРАЛЬНЫХ ПОДРЯДЧИКОВ В СТРОИТЕЛЬСТВЕ Москва-2009 СОДЕРЖАНИЕ: ВВЕДЕНИЕ РАЗДЕЛ 1. ОБЩИЕ ПОЛОЖЕНИЯ РАЗДЕЛ 2. ОСНОВНЫЕ ТЕРМИНЫ,...»

«Описание основной образовательной программы послевузовского профессионального образования по специальности 08.00.05 Экономика и управление народным хозяйством (маркетинг) 1. Основная образовательная программа послевузовского профессионального образования (далее - ООП), реализуемая в Автономной некоммерческой организации высшего профессионального образования Белгородский университет кооперации, экономики и права (далее – БУКЭП) по специальности 08.00.05 Экономика и управление народным хозяйством...»

«Составители программы: В. П. Гриценко - доктор философских наук, профессор, заведующий кафедрой философии и политологии; Б.П. Борисов – доктор философских наук, профессор. В.Б. Храмов – доктор философских наук, профессор. А.Л. Зорин - доктор философских наук, профессор. РАЗДЕЛ 1. СОЦИАЛЬНАЯ ФИЛОСОФИЯ Тема 1. Предмет и структура социальной философии Теоретическая философия и социальная философия о сущности общества: сходства и различия. Общество как нерасчлененное целое и как дифференцированная...»

«ТАВРИЧЕСКИЙ НАЦИОНАЛЬНЫЙ УНИВЕРСИТЕТ имени В.И.ВЕРНАДСКОГО Утверждаю Председатель Приемной комиссии (подпись) _ 2014 года ПРОГРАММА вступительного испытания в аспирантуру по специальной дисциплине по направлению подготовки 01.00.00 МАТЕМАТИКА И МЕХАНИКА профили 01.01.01 Вещественный, комплексный и функциональный анализ 01.01.02 Дифференциальные уравнения, динамические системы и оптимальное управление 01.02.04 Механика деформируемого твердого тела Утверждено на заседании приёмной комиссии...»

«Информационная безопасность и информационные технологии ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ И ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ УДК 621.391 ХАРАКТЕРИСТИКИ КАЧЕСТВА ЗАЩИЩЁННЫХ РАСПРЕДЕЛЁННЫХ ИНФОРМАЦИОННЫХ СИСТЕМ НА БАЗЕ КОМПЛЕКСА ФПСУ-IP А.О. Куприянов, О.В. Чечуга, С.Ю. Борзенкова Приводятся результаты измерений и на их основе оценка степени влияния на характеристики производительности распределённых информационных сетей при применении в качестве средств защиты комплексов ФПСУ-IP. Результаты могут быть...»

«Федеральное государственное бюджетное образовательное учреяедение высшего профессионального образования РОССИЙСКАЯ АКАДЕМИЯ НАРОДНОГО ХОЗЯЙСТВА И ГОСУДАРСТВЕННОЙ СЛУЖБЫ ПРИ ПРЕЗИДЕНТЕ РОССИЙСКОЙ ФЕДЕРАЦИИ Воронежский филиал Кафедра региональных и международных отношений УТВЕРЖДАЮ Директор Воронежского филиала Российской академии народного хозяйства и государственной службы при Президенте Российской Федерации / д.т.н. Подвальный Е.С. Л GtMufl^ 2013 год РАБОЧАЯ УЧЕБНАЯ ПРОГРАММА по дисциплине...»

«ИНСТИТУТ США И КАНАДЫ РАН THE INSTITUTE OF THE USA AND CANADA STUDIES RUSSIAN ACADEMY OF SCIENCES Отдел внутриэкономических исследований The Department of Economics Работы Сектора энергетических исследований и экономических баз данных в 1995-2005 гг. Research works and publications at the Section of Energy Studies and Econometric Databases, 1995-2005 Справочно-библиографический указатель МОСКВА, 2006 =||= MOSCOW, 2006 ISBN 5-89587-041 © Институт США и Канады РАН, 2006 г. Аннотация Отчет о...»

«Битнер В.И. Лекции по дисциплине СЕТИ СЛЕДУЮЩЕГО ПОКОЛЕНИЯ (магистерская программа Телекоммуникационная информатика по направлению 210400.68 Телекоммуникации) 2008 Введение Переход к пакетным технологиям при модернизации и построении новых сетей связи общ его пользования (ССОП) стал настоятельно необходим. Традиционные операторы связи приступили к перестройке своих сетей с ориентацией на пакетную коммутацию и придание им свойств мультисервисности. Операторы заинтересованы в построении такой...»

«ПОЯСНИТЕЛЬНАЯ ЗАПИСКА К УЧЕБНОМУ ПЛАНУ СРЕДНЕЙ ОБЩЕОБРАЗОВАТЕЛЬНОЙ ШКОЛЫ № 57 г. МУРМАНСКА на 2011-2012 учебный год Учебный план на 2011-2012 учебный год составлен в соответствии с Региональным базисным учебным планом для общеобразовательных учреждений Мурманской области, утвержденным приказом комитета по образованию Мурманской области от 25.08.2011г. № 813/1 и с учетом Федерального базисного учебного плана, утвержденного приказом Министерства образования РФ №1312 от 09.03.2004г. и приказом...»

«Муниципальное бюджетное общеобразовательное учреждение Основная общеобразовательная школа с.Большое Чернянского района Белгородской области Согласовано Согласовано Рассмотрено Утверждаю Руководитель РМО Заместитель директора по УВР МБОУ на педагогическом совете Директор МБОУ ООШ ООШ с.Большое Протокол № от с.Большое 2013г. Мирошникова Е.Н. _Махиборода В.Н. Протокол № от Приказ №_ от Приказ № от _ 2013г. _ 2013 г. __ 2013 г. _ 2013 г. Рабочая программа по учебному предмету География учитель...»

«Главное управление образования Курганской области государственное автономное образовательное учреждение дополнительного профессионального образования Институт развития образования и социальных технологий (ГАОУ ДПО ИРОСТ) ПРИКАЗ 14 января 2014 года №5 Об утверждении Положения о программно-экспертном совете В соответствии с Федераль ным законом от 29.12.2012 № 273-ФЗ Об образовании в Российской Федерации, приказом Министерства образования и науки РФ от 01.07.2013 № 499 Об утверждении Порядка...»

«Согласовано Принята Утверждаю: с Советом ОУ решением педагогического Директор МБОУ СОШ № 58 _2013 совета МБОУ СОШ № 58 г _ В.В.Скакун Протокол № _ от _ 2013г. _ _ 2013 г. ОСНОВНАЯ ОБРАЗОВАТЕЛЬНАЯ ПРОГРАММА ОСНОВНОГО ОБЩЕГО ОБРАЗОВАНИЯ и СРЕДНЕГО ОБЩЕГО ОБРАЗОВАНИЯ Муниципального бюджетного общеобразовательного учреждения средней общеобразовательной школы № 58 на 2013-2014 учебный год Нижний Тагил СОДЕРЖАНИЕ I. Паспорт основной образовательной программы МБОУ СОШ № 58 на 2013-2014 учебный год II....»

«РАСПИСАНИЕ МЕРОПРИЯТИЙ КОНФЕРЕНЦИИ   ПЕРМСКИЙ ГОСУДАРСТВЕННЫЙ ГУМАНИТАРНОДата 15 мая 2014 г. ПЕДАГОГИЧЕСКИЙ УНИВЕРСИТЕТ Время 9.00-9.55 - регистрация 10.00-12.00 - пленарное заседание, ФАКУЛЬТЕТ ФИЗИЧЕСКОЙ КУЛЬТУРЫ 12.00-12.30 - кофе-брейк 12.30-14.45 - пленарное заседание 15.00-15.45 - обед Место 4 корпус ПГГПУ, ул. Пушкина, 42. Ауд. В-105 16.00 - семинар для тренеров (отдельный сертификат) Психофизиологическое ПРОГРАММА сопровождение квалифицированных спортсменов в процессе подготовки к...»

«ЗАПРОС НА ВЫРАЖЕНИЕ ЗАИНТЕРЕСОВАННОСТИ Название: Российский консультант по компоненту Стратегическая программа действий диагностический анализ текущего состояния и прогноза возможных изменений окружающей среды в Арктической зоне Российской Федерации Заинтересованные страны: Российская Федерация Индикативный бюджет: 1650 долларов США (включая все начисления) Продолжительность: 0,5 месяца Исходные данные 1. Глобальный экологический фонд (ГЭФ) через Программу по окружающей среде ООН финансирует...»

«Министерство образования Российской Федерации УТВЕРЖДАЮ: Заместитель Министра образования Российской Федерации В.Д.Шадриков _10 марта 2000 г. Регистрационный номер_26тех/дс_ ГОСУДАРСТВЕННЫЙ ОБРАЗОВАТЕЛЬНЫЙ СТАНДАРТ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ Направление подготовки дипломированного специалиста 651900 Автоматизация и управление Квалификация - инженер Вводится с момента утверждения Москва, 2000 г. 2 1. ОБЩАЯ ХАРАКТЕРИСТИКА НАПРАВЛЕНИЯ ПОДГОТОВКИ ДИПЛОМИРОВАННОГО СПЕЦИАЛИСТА...»

«Итоги реализации Программы Поддержка и развитие малого и среднего предпринимательства в муниципальном образовании Город Можга на 2010-2014 годы в 2010 - 2013 году. Малое и среднее предпринимательство стало неотъемлемой частью экономики города. Участвуя практически во всех видах экономической деятельности, субъекты малого и среднего предпринимательства способствуют насыщению потребительского рынка товарами и услугами, формированию конкурентной среды, созданию новых рабочих мест, обеспечивают...»

«Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Московский педагогический государственный университет (МПГУ) Биолого-химический факультет Программа собеседования для поступающих в магистратуру по направлению подготовки 020400.68 - Биология Магистерская программа: Экология Москва 2012 Программа устного собеседования по направлению подготовки магистра 020400.68 - Биология, магистерская программа Экология I. Пояснительная записка Программа...»






 
2014 www.av.disus.ru - «Бесплатная электронная библиотека - Авторефераты, Диссертации, Монографии, Программы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.