Siemens — Доступ к данным S7–200

Основы ПЛК Глава 4 На рис. 4–10 показан пример нумерации входов и выходов для конкретной конфигурации аппаратуры. Пропуски в адресации (показаны серым курсивом) не могут использоваться вашей программой. Рис. 4–10. Пример адресов встроенных входов/выходов и входов/выходов модулей расширения (CPU 224XP) Косвенная адресация областей памяти S7–200 с помощью указателей Косвенная адресация использует указатель для доступа к данным в памяти. Указатели – это ячейки памяти, имеющие размер двойного слова, которые содержат адрес другой ячейки памяти. В качестве указателей можно использовать только ячейки памяти переменных и локальных данных или аккумуляторные регистры (AC1, AC2 или AC3).

Для создания указателя необходимо использовать команду "Переместить двойное слово". Эта команда передает адрес косвенно адресованной ячейки памяти в ячейку указателя. Указатели могут также передаваться в подпрограмму в качестве параметров. S7–200 дает возможность использования указателей для косвенной адресации следующих областей памяти: I, Q, V, M, S, AI, AQ, SM, T (только текущее значение) и C (только текущее значение). Косвенную адресацию нельзя использовать для обращения к отдельному биту или к областям памяти HC или L.

Если вы хотите косвенно обратиться к данным, расположенным по некоторому адресу в памяти, вы можете создать указатель на этот адрес, введя амперсанд (&) и соответствующий адрес. Входному операнду команды должен предшествовать амперсанд (&), чтобы указать на необходимость перемещения в ячейку, обозначенную в выходном операнде команды (указателе), адреса ячейки памяти, а не ее содержимого. Ввод астериска (*) перед операндом команды указывает, что этот операнд является указателем. Как показано на рис. 4–11, ввод *AC1 указывает, что AC1 является указателем на слово, на которое ссылается команда "Переместить слово" (MOVW).

В этом примере значения, хранящиеся в VB200 и VB201, перемещаются в аккумулятор AC0. AC1 Создает указатель перемещением адреса VB200 (адрес начального байта VW200) в АС1. V199 Адрес VW200 MOVD &VB200, AC1 V200 V201 1 2 3 4 V202 5 6 7 8 AC0 MOVW *AC1, AC0 Перемещает значение слова, указанного в АС1, в АС0. Рис. 4–11. Создание и использование указателя V203 33 CPU 224XP 4 вх. / 4 вых. 8 вх. 4 аналог. вх. 1 аналог. вых. 8 вых. 4 аналог. вх. 1 аналог. вых.

I0.0 Q0.0 I0.1 Q0.1 I0.2 Q0.2 I0.3 Q0.3 I0.4 Q0.4 I0.5 Q0.5 I0.6 Q0.6 I0.7 Q0.7 I1.0 Q1.0 I1.1 Q1.1 I1.2 Q1.2 I1.3 Q1.3 I1.4 Q1.4 I1.5 Q1.5 I1.6 Q1.6 I1.7 Q1.7 AIW0 AQW0 AIW2 AQW2 Встроенные вх/вых Модуль 0 Модуль 1 Модуль 2 Модуль 3 Модуль 4 I2.0 Q2.0 I3.0 AIW4 AQW4 Q3.0 AIW12 AQW8 I2.1 Q2.1 I3.1 AIW6 AQW6 Q3.1 AIW14 AQW10 I2.2 Q2.2 I3.2 AIW8 Q3.2 AIW16 I2.3 Q2.3 I3.3 AIW10 Q3.3 AIW18 I2.4 Q2.4 I3.4 Q3.4 I2.5 Q2.5 I3.5 Q3.5 I2.6 Q2.6 I3.6 Q3.6 I2.7 Q2.7 I3.7 Q3.7 Входы/выходы модулей расширения 1 2 3 4