Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Обработка арифметической функции




Представление данных

Арифметический блочный элемент

(в примере: сложение в соответствии с INT)

Кроме разрешающего входа (enableinput) EN и разрешающего выхода (enableoutput) ENO блочный элемент арифметической функции имеет два входа IN1 и IN2 и выход OUT. В блочном элементе идентифицируется арифметическое действие (ADD_I, например, означает сложение чисел типа INT).

Комбинируемые значения подаются на входы IN1 и IN2, результат вычисления находится на выходе OUT. Входы и выход могут иметь различные типы данных в зависимости от арифметической функции. К примеру, в случае арифметической функции ADD_R (сложение чисел типа REAL) входы и выход отнесены к типу REAL. Используемые переменные должны быть того же типа данных, что и входы или выход. Если для операндов используют абсолютные адреса, то размеры операндов должны соответствовать типам данных. Для типа данных INT, например, можно применить операнд размером в слово.

Арифметическая функция выполняется, если на разрешающем входе EN имеется «1». Если во время вычисления возникает ошибка, то разрешающий выход устанавливается в «0»; в противном случае он устанавливается в «1». Если выполнение функции не разрешено (EN = «0»), то вычисление не производится, и ENO также обнуляется.

Если главное реле управления (MCR) активировано, то выход OUT устанавливается в нуль, когда арифметическая функция обрабатывается (EN = «1»). MCR не влияет на выход ENO.

ЕСЛИ EN == “1” или не используется

ТО

ИНАЧЕ

OUT := IN1 Cfct IN2

 

 

ENO := “0”

ЕСЛИ возникла ошибка

ТО ИНАЧЕ
ENO := “0” ENO := “1”

Cfct – арифметическая функция

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

Выход за пределы диапазона (переполнение) в вычислениях с типами INT и DINT;

Исчезновение значащих разрядов и переполнение в вычислениях с типом REAL;

Недействительное (недопустимое) число REAL в вычислениях с типом REAL.

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

Вычисление в соответствии с INT

Значение слова памяти (меркеров) MW 100 делится на 250; целочисленный результат сохраняется в слове памяти (меркеров) MW 102.

Вычисление в соответствии с DINT 

Значения переменных «CalcVal1» и «CalcVal2» складываются, результат сохраняется в переменной «CalcRes». Все переменные находятся в блоке данных «Global_DB».

Вычисление в соответствии с REAL

Переменная #Act_value умножается на переменную #Factor, результат пересылается в переменную #Indicator.










Последнее изменение этой страницы: 2018-04-12; просмотров: 503.

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