Главная страница
Навигация по странице:

  • ADRINST

  • BITADR

  • Справка. Справочник по операторам и компонентам библиотек. Обзор Приведенные ниже таблицы кратко представляют операторы


    Скачать 21 Kb.
    НазваниеСправочник по операторам и компонентам библиотек. Обзор Приведенные ниже таблицы кратко представляют операторы
    Дата21.02.2021
    Размер21 Kb.
    Формат файлаdocx
    Имя файлаСправка.docx
    ТипСправочник
    #178145

    Краткий справочник по операторам и компонентам библиотек. Обзор

    Приведенные ниже таблицы кратко представляют операторы CoDeSys и компоненты библиотек Standard.lib и Util.lib. Даны нотации для языков ST и IL. Для IL указаны допустимые модификаторы.

    Обратите внимание, что для IL инструкций первый операнд должен быть загружен заранее (например, командой LD). Непосредственно в строке за  "IL" командой вводятся второй и последующие (если они есть) операнды.

     Столбец "Мод." содержит допустимые  IL модификаторы:

    C

    Команда выполняется только в случае, если результат предыдущей операции TRUE.

    N

    для JMPC, CALC, RETC: Команда выполняется только в случае, если результат предыдущей операции FALSE.

    N

    прочие: отрицание операнда (не аккумулятора)

    (

    Скобки: операторы, заключенные в скобки, выполняются в первую очередь, затем продолжается обычный порядок выполнения.

    Детальные описания даны в соответствующих разделах.

     

    Операторы CoDeSys:

     

    ST

    LD

    Мод.

    Описание

    '

     

     

    Разграничение строк (т.е. 'string1')

    ..
    [ ]

     

     

    Задание индексов массива (т.е. ARRAY[0..3] OF INT)

    :

     

     

    Разделитель операнда и типа при объявлении (т.е. var1 : INT;)

    ;

     

     

    Конец инструкции (т.е. a:=var1;)

    ^

     

     

    Обращение через указатель (т.е. pointer1^)

     

    LD var1

    N

    Загрузить значение var1 а аккумулятор

    :=

    ST var1

    N

    Записать в var1 значение аккумулятора

     

    S boolvar

     

    Установка логического операнда boolvar в TRUE, если  значение аккумулятора TRUE

     

    R boolvar

     

    Сброс логического операнда boolvar в FALSE, если  значение аккумулятора TRUE

     

    JMP label

    CN

    Переход на метку label




    CAL prog1

    CN

    Вызов программы prog1



    CAL inst1

    CN

    Вызов экземпляра функционального блока inst1

    (vx, vy,..)

    vx, vy

    CN

    Вызов функции fctname передача параметров vx, vy

    RETURN

    RET

    CN

    Leave POU and go back to caller

     

    (

     

    Результат вычислений в скобках используется как операнд.

     

    )

     

    Заканчивает вычисление в скобках.

    AND

    AND

    N,(

    Битовое AND

    OR

    OR

    N,(

    Битовое OR

    XOR

    XOR

    N,(

    Битовое исключающее OR

    NOT

    NOT

     

    Битовое NOT

    +

    ADD

    (

    Сложение

    -

    SUB

    (

    Вычитание

    *

    MUL

    (

    Умножение

    /

    DIV

    (

    Деление

    >

    GT

    (

    Больше, чем

    >=

    GE

    (

    Больше или равно

    =

    EQ

    (

    Равно

    <>

    NE

    (

    Неравно

    <=

    LE

    (

    Меньше или равно

    <

    LT

    (

    Меньше, чем

    MOD(in)

    MOD

     

    Остаток целочисленного деления

    INDEXOF(in)

    INDEXOF

     

    Внутренний индекс POU in; [INT]

    SIZEOF(in)

    SIZEOF

     

    Число байт, занимаемых in

    SHL(K,in)

    SHL

     

    Поразрядный сдвиг влево на K бит

    SHR(K,in)

    SHR

     

    Поразрядный сдвиг вправо на K бит

    ROL(K,in)

    ROL

     

    Циклический сдвиг влево на K бит

    ROR(K,in)

    ROR

     

    Циклический сдвиг вправо на K бит

    SEL(G,in0,in1)

    SEL

     

    Мультиплексор на 2 входа in0 (при G FALSE) и  in1 (при G TRUE)

    MAX(in0,in1)

    MAX

     

    Возвращает наибольшее из 2х значений in0 и in1

    MIN(in0,in1)

     

    MIN

     

    Возвращает наименьшее из 2х значений in0 и in1

    LIMIT(MIN,in,Max)

    LIMIT

     

    Ограничивает значение in в пределах от MIN до MAX

    MUX(K,in0,...in_n)

    MUX

     

    Мультиплексор выбирает K-тое значение из группы (от in0 до In_n)

    ADR(in)

    ADR

     

    Адрес операнда в [DWORD]

    ADRINST(in)  

    ADRINST

     

    Адрес экземпляра функционального блока, из которого вызывается ADRINST.

    BITADR(in)

    BITADR

     

    Битовое смещение операнда в [DWORD]

    BOOL_TO_(in)

    BOOL_TO_

     

    Преобразование типа из логического

    _TO_BOOL(in)

    _TO_BOOL

     

    Преобразование типа в логический

    INT_TO_(in)

    INT_TO_

     

    Преобразование значения операнда типа INT в другой базовый тип

    REAL_TO_(in)

    REAL_TO_

     

    Преобразование значения операнда типа REAL в другой базовый тип

    LREAL_TO_(in)

    LREAL_TO_

     

    Преобразование значения операнда типа LREAL в другой базовый тип

    TIME_TO_(in)

    TIME_TO_

     

    Преобразование значения операнда типа TIME в другой базовый тип

    TOD_TO_(in)

    TOD_TO__

     

    Преобразование значения операнда типа TOD в другой базовый тип

    DATE_TO_(in)

    DATE_TO_

     

    Преобразование значения операнда типа DATE в другой базовый тип

    DT_TO_(in)

    DT_TO_

     

    Преобразование значения операнда типа DT в другой базовый тип

    STRING_TO_(in)

    STRING_TO_

     

    Преобразование текста строки операнда в другой базовый тип. Строка должна содержать соответствующий текст

    TRUNC(in)

    TRUNC

     

    Преобразование из REAL в INT

    ABS(in)

    ABS

     

    Абсолютное значение in

    SQRT(in)

    SQRT

     

    Квадратный корень из in

    LN(in)

    LN

     

    Натуральный логарифм из in

    LOG(in)

    LOG

     

    Десятичный логарифм из in

    EXP(in)

    EXP

     

    E в степени in

    SIN(in)

    SIN

     

    Синус in

    COS(in)

    COS

     

    Косинус in

    TAN(in)

    TAN

     

    Тангенс in

    ASIN(in)

    ASIN

     

    Арксинус in

    ACOS(in)

    ACOS

     

    Арккосинус in

    ATAN(in)

    ATAN

     

    Арктангенс in

    EXPT(in,expt)

    EXPT expt

     

    Возведение в степень expt

     

     

    Компоненты Standard.lib:

     

    ST

    LD

    Описание

    LEN(in)

    LEN

    Длина строки in

    LEFT(str,size)

    LEFT

    Левая значимая часть строки str из size символов

    RIGHT(str,size)

    RIGHT

    Правая значимая часть строки str из size символов

    MID(str,size,pos)

    MID

    Часть строки str с позиции pos из size символов

    CONCAT('str1','str2')

    CONCAT 'str2'

    Конкатенация (склеивание) 2х строк

    INSERT('str1','str2',pos)

    INSERT 'str2',p

    Вставить строку str1 в str2 с позиции pos

    DELETE('str1',len,pos)

    DELETE len,pos

    Удалить часть строки, len символов, с позиции pos

    REPLACE('str1','str2',len,pos)

    REPLACE 'str2',len,pos

    Заменить часть строки str1 с позиции pos на len символов из str2

    FIND('str1','str2')

    FIND 'str2'

    Поиск подстроки str2 в str1

    SR

    SR

    FB: Переключатель с доминантой включения

    RS

    RS

    FB: Переключатель с доминантой выключения

    SEMA

    SEMA

    FB: Семафор (interruptable)

    R_TRIG

    R_TRIG

    FB: детектор переднего фронта импульса

    F_TRIG

    F_TRIG

    FB: детектор заднего фронта импульса

    CTU

    CTU

    FB: Инкрементный счетчик

    CTD

    CTD

    FB: Декрементный счетчик

    CTUD

    CTUD

    FB: Реверсивный счетчик

    TP

    TP

    FB: Триггер

    TON

    TON

    FB: Таймер включения

    TOF

    TOF

    FB: Таймер выключения

    RTC

    RTC

    FB: Часы

     

     

    Компоненты Util.lib:

     

    BCD_TO_INT

    Преобразование значения операнда BCD в INT

    INT_TO_BCD

    Преобразование байта INT в BCD

    EXTRACT(in,n)

    Определяет значение n-го бита DWORD, результат типа BOOL

    PACK

    Упаковка значений 8 бит в байт

    PUTBIT

    Присвоить значение определенному биту в DWORD

    UNPACK

    Распаковка байта в 8 логических переменных

    DERIVATIVE

    Производная

    INTEGRAL

    Интеграл

    LIN_TRAFO

    Преобразование REAL значений

    STATISTICS_INT

    STATISTICS_INT Макс., Мин., Среднее значения в INT формате

    STATISTICS_REAL

    Макс., Мин., Среднее значения в REAL формате

    VARIANCE

    Дисперсия

    PD

    ПД регулятор

    PID

    ПИД регулятор

    BLINK

    Генератор импульсов

    FREQ_MEASURE

    Частотомер

    GEN

    Функциональный генератор

    CHARCURVE

    Интерполятор

    RAMP_INT

    Ограничитель скорости изменения сигнала (INT)

    RAMP_REAL

    Ограничитель скорости изменения сигнала (REAL)

    HYSTERESIS

    Гистерезис

    LIMITALARM

    Компаратор


    написать администратору сайта