0

Работа с аналоговыми потенциометрами S7-200

Этот пример поясняет применение аналоговых потенциометров SIMATIC CPU 214. Положение аналоговых потенциометров преобразуется в цифровое значение между 0 и 255 и заносится в два байта специальных, причем SMB28 содержит значения потенциометра 1, а SMB29 значение потенциометра 2.

Метод 1:

В качестве первого варианта рассмотрим применение аналогового потенциометра 0 для точной установки таймера. Грубая или предварительная установка (здесь 200мс) производится в программе. Потенциометр может быть при этом использован для дальнейшей установки нужного значения до ,примерно, 1,48 секунды. После каждого цикла таймера будут выполнятся операции подпрограммы 1: Значение потенциометра 0, содержащееся в SMB28, будет загружено в AC1, разделено пополам и прибавлено к 200мс-предустановке. В основной программе число циклов таймера в AC2 будет увеличено на 1 и индицировано на выходном байте AB0.

Метод 2:

Второй метод позволяет сложить и усреднить в AC3 значения потенциометра 1 в 100 следующих друг за другом циклах программы. В первом цикле запоминаются нижнее граничное в VW14 и верхнее граничное в VW16 значения. Если усредненное значение ниже нижней границы или выше верхней границы, то это значение заносится в VW12 и копируется в VW14, VW16 и VW18. Новые верхняя и нижняя границы задаются прибавлением или вычитанием 3мс к усредненному значению. Среднее значение потенциометра, сохраненное в VW18, будет передано в основную программу в таймер T34. Здесь считаются циклы таймера и индицируются затем на выходном байте AB1. Этот метод создает путем фильтрации значений потенциометра относительно постоянную установку таймера от 0 до 2,55 секунд.

Метод 3:

Метод 3 это прямая загрузка значения потенциометра в качестве предустановки для таймера T35. Здесь число циклов таймера будет индицироваться на выходном байте AB0. Установка таймера может быть изменена в любом цикле.

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

Работа с аналоговыми потенциометрами S7 200, image0029

Работа с аналоговыми потенциометрами S7 200, image00410

Работа с аналоговыми потенциометрами S7 200, image0068

Работа с аналоговыми потенциометрами S7 200, image0088

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

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

// Уменьшение значения потенциометра 0 включая сложение с предустановленным значением.

Работа с аналоговыми потенциометрами S7 200, image0107

SBR 1

LD T33 // После выполнения цикла таймера

MOVW 0, AC1 // аккумулятор AC1 сбрасывается

MOVB SMB28, AC1 // и значение потенциометра 0 копируется в AC1

MOVW 2, VW60

DIV VW60, AC1 // Принятое значение потенциометра делится пополам

+I 20, AC1 // и прибавляется смещение 200 мс

MOVW AC1, VW0 // Значение AC1 копируется в VW0

Работа с аналоговыми потенциометрами S7 200, image0125

RET // Возврат в основную программу

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

// Определение среднего значения потенциометра 1 по 100 циклам программы

Работа с аналоговыми потенциометрами S7 200, image0143

SBR 2

LD SM0.0 // В каждом цикле

INCW VW10 // счетчик циклов увеличивается на 1

MOVB SMB29, AC0 // Значение потенциометра 1 заносится в AC0

+I AC0, AC3 // Прибавляется к общему значению в AC3

Работа с аналоговыми потенциометрами S7 200, image0162

LDW= VW10,100 // После 100 циклов

MOVW 100, VW50

DIV VW50, AC3 // Значение для образования среднего значения делится на 100

MOVW AC3, VW12 // Среднее значение заносится в VW12

MOVW 0, VW10 // Сброс счетчика циклов

MOVD 0, AC3 // Сброс памяти общего значения

= M0.0

Работа с аналоговыми потенциометрами S7 200, image0183

LD M0.0

LDW<= VW12, VW14 // и новое среднее значение вне поля допуска

OW>= VW12, VW16

ALD

FILL VW12, VW14, 3 // Новое среднее значение копируется в VW14, VW16 и VW18

-I 3, VW14 // Установка новой нижней границы (Среднее значение — 3мс)

+I 3, VW16 // Установка новой верхней границы (Среднее значение + 3мс)

Работа с аналоговыми потенциометрами S7 200, image0202

RET // Возврат в основную программу

Для того чтобы преобразовать TOOLITE2 AWL в S7-Micro/DOS AWL:

• Установите ‘K’ перед каждым числом, не являющимся 16-ричной константой (напр. 4 → K4)

• Замените ‘16#’ → ‘KH’ для всех 16-ричных констант (напр. 16#FF → KHFF)

• Поставьте запятые для смены полей. Используйте клавиши перемещения или клавишу TAB для перехода от поля к полю.

• Для преобразования программы S7-Micro/DOS AWL в KOP-форму нужно начинать каждый сегмент словом ‘NETWORK’ и номером. Каждый сегмент в этом примере имеет свой номер на диаграмме KOP. Используйте NWENFG в меню редактора для ввода нового сегмента. Команды MEND, RET, RETI, LBL, SBR и INT требуют отдельных сегментов.

Раздел: 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
.