Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Обработка арифметической функции
Представление данных Арифметический блочный элемент (в примере: сложение в соответствии с 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.
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 не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |