0

Различные возможности установки битов или байтов в S-200

Данная программа описывает различные возможности занесения в области памяти определенных значений или очистки определенных областей памяти.

В этом примере применения рассмотрены:

Различные возможности установки битов или байтов в S 200, image002

Рисунок  SEQ Рисунок * ARABIC 1 Структура программы

Описание программы вкл. листинг

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

Используются команды:

FILL Устанавливает один или несколько битов

FOR… NEXT Цикл FOR…NEXT R Сбрасывает один или несколько битов

Размер программы составляет 55 слов.

Основная программа

// TITEL=FORNEXT

// Основная программа содержит вызовы подпрограмм 0, 1 и 2.

LD SM0.0 // Всегда в единице

CALL 0 // Вызов подпрограммы 0

// (FILL)

CALL 1 // Вызов подпрограммы 1

// (FOR…NEXT)

CALL 2 // Вызов подпрограммы 2

// (Reset)

MEND // Конец основной программы

Различные возможности установки битов или байтов в S 200, image004

Подпрограммы

// Подпрограмма 0 копирует значение слова VW200 в слово VW204 и в 6 последующих слов памяти (до VW216), если установлен вход E0.0.

SBR 0 // Подпрограмма 0

LD E0.0 // Чтение входа E0.0

MOVW 16#ABC3,VW200 Запись 16-рич.значения

// ABC3 в VW200

FILL VW200,VW204,7 Копирование значения слова VW200 в слово VW204 и шесть последующих слов памяти (до VW216)

RET // Конец подпрограммы 0

Различные возможности установки битов или байтов в S 200, image006

Подпрограмма 1 копирует следующие друг за другом числа в переменную область памяти, если установлен вход E0.1. Число выполняемых циклов определяется номерами первого (в VW10) и последнего цикла (в VW0). Текущее значение выполненных циклов находится в слове памяти VW20. Первое число, с которого надо начинать счет, загружается в аккумулятор AC0. Первый адрес, под которым надо запоминать значение,заносится в аккумулятор AC1, действующий в качестве указателя. Затем начинается выполнение циклов. К начальному значению AC0 за один цикл прибавляется 4, указатель AC1 увеличивается на следующее слово памяти, пока не будет обработан последний цикл.

SBR 1 // Подпрограмма 1

LD E0.1 // Чтение входа E0.1

MOVW 10,VW0 // Номер последнего цикла в VW0

MOVW 0,VW10// Номер первого цикла в VW10

MOVW 0,VW20// Текущий номер цикла в VW20 (счетчик)

MOVW 50,AC0// Начальное значение счета в аккумулятор 0

MOVD &VB100,AC1// аккумулятор 1 (указатель памяти) указывает на байт памяти VB100

FOR VW20,VW10,VW0 / Начало цикла

MOVW AC0,*AC1// Сохранить текущее значение счетчика по текущ. адресам памяти

INCD AC1 // Инкрементировать указатель памяти на 1 байт

INCD AC1 // Инкрементировать указатель памяти на 1 байт

+I 4,AC0 // Прибавить 4 к текущ. значению счетчика

NEXT // Конец цикла

RET // Конец подпрограммы 1

Различные возможности установки битов или байтов в S 200, image008

// Подпрограмма 2 сбрасывает биты памяти с V100.0 до V121.7 и с V204.0 до 217.7, если установлен вход E0.2.

SBR 2 // Подпрограмма 2

LD E0.2 // Установка входа E0.2

R V100.0,176// Сброс битов с V100.0 до 121.7

R V204.0,112// Сброс битов с V204.0 до 217.7

RET // Конец подпрограммы 2

Различные возможности установки битов или байтов в S 200, image010

Раздел: Siemens PLC, Программы ПЛК Метки: , , ,

Оставить комментарий

Отправить сообщение

CoDeSys GSM/GPRS модем Lectus OPC MasterSCADA Modbus MX110 Omron OPC-сервер owen owen logic PLC Configuration PROFIBUS s-200 SCADA scada системы siemens siemens plc SIMATIC Simplight SMS step7 TRACE MODE Динамизация ИП-320 МЭК 1131–3 ОВЕН ОВЕН ПЛК ОВЕН ПЧВ ПЛК ПЛК ОВЕН ПР 110 Панель оператора Программируемое реле Частотный преобразователь библиотека в CoDeSys визуализация диспетчеризация конфигурация панели программирование ПЛК серия NS сименс плк частотник частотное управление язык CFC язык ST
.