ファンクション

入力

出力

SR

S1=bit，R=bit

Q=bit

RS

S=bit，R1=bit

Q=bit

SEMA

CLAIM=bit
RELEASE=bit

Q=bit

R_TRIG

CLK=bit

Q=bit

F_TRIG

CLK=bit

Q=bit

CU=bit（カウント）
CTU

R=bit（リセット）
PV=INT（上限値）

説

明

セット優先フリップフロップ，自己保持代替可能
リセット優先フリップフロップ，自己保持代替
可能
多重アクセス禁止用セマフォ
CLAIM優先立ち上がりエッジ（Rising Edge），
リレー -(P)- と同じ立ち下がりエッジ（Falling Edge），
リレー -(N)- と同じ
アップカウンタ，R入力でカウント＝０，Q=bit（カウント終了）
CV=INT

CU入力でカウント，カウント＝PVでカウント終了→Q=ON
CVはカウントモニタ用CTU_DINT
CTU_LINT

CTUのバリュエーション,32bitINT,64bitINT,符号CTU_UDINT

なし32bitINT,符号なし64bitINT

CTU_ULINT
CD=bit（カウント）CTDLD=bit（ロード）
PV=INT（上限値）

Q=bit（カウント終了）
CV=INT

CTD_DINT

CD入力でカウントダウン，カウント＝０でカウント終了→Q=ON，CVはカウント・モニタ用
CTDのバリュエーション，32ビット整数，64

CTD_LINT

ビット整数，符号なし32ビット整数，符号なし

CTD_UDINT

64ビット整数

CTD_ULINT

CU=bit（アップカウント）
CD=bit（ダウンカウント）
CTUD

ダウンカウンタ，LD入力でカウント=PV，

R=bit（カウント=0）
LD=bit
PV=INT（上限値）

QU=bit（アップカウント終了） アップダウン・カウンタ，CUでアップカウン
QD=bitト，CDでダウンカウント，（ダウンカウント終了） Rでカウント＝０，LDでカウント＝上限値
CV=INT

CTD_DINT
CTD_LINT

CTDのバリュエーション,32bitINT,64bitINT,符号CTD_UDINT

なし32bitINT,符号なし64bitINT

CTD_ULINT

TPTON

タイマ（パルス），INの立ち上がりからPTの時

IN=bit

Q=bit

PT=TIME

ET=TIME

IN=bit

Q=bit

PT=TIME

ET=TIME

IN=bit

Q=bitにQがON，その後INの立ち下がりからPT時間経

PT=TIME

ET=TIME

過後QがOFFする．INがPTより早くONに戻ると間だけQがON，INはQより⾧くても短くてもQの⾧さには無関係，ETは経過時間モニタ用
タイマ（ONディレイ）INの立ち上がりからPT時間経過後にQがONする，その後INがONの間QはON，INがPTより早くOFFするとQはONしない
タイマ（OFFディレイ）INの立ち上がりと同時

TOFF

QはOFFしない（a）スタンダード・ファンクション・ブロック（Standard Function Block）

ファンクション

入力

出力

RTC

説

明

時刻の読み出し（ダミー関数）

INTEGRAL

積分値

DERIVATIVE

微分値

省略

PID

PID制御関数RAMP

RAMP関数HYSTERYSYS

実数ヒステリシス（b）追加ファンクションAdditional Function Block）

ファンクション

入力

出力

説

明

変換ファンクションは次のスタイル
NN_TO_MM （NNとMMはデータ・タイプ）

省略

例：INT_TO_REAL（数が多いので詳細省略）
エディタのヘルプ，データ・タイプ表を参照（c）変換（Type Conversion）

ファンクション

入力

出力

ABS

IN=ANY_NUM

OUT=ANY_NUM

絶対値

SQRT

IN=ANY_NUM

OUT=ANY_NUM

平方根

LN

IN=ANY_NUM

OUT=ANY_NUM

自然対数

LOG

IN=ANY_NUM

OUT=ANY_NUM

常用対数

EXP

IN=ANY_NUM

OUT=ANY_NUM

指数

SIN

IN=ANY_NUM

OUT=ANY_NUM

三角関数

COS

IN=ANY_NUM

OUT=ANY_NUM

三角関数

TAN

IN=ANY_NUM

OUT=ANY_NUM

三角関数

ASIN

IN=ANY_NUM

OUT=ANY_NUM

逆三角関数

ACOS

IN=ANY_NUM

OUT=ANY_NUM

逆三角関数

ATAN

IN=ANY_NUM

OUT=ANY_NUM

逆三角関数説明説

明（d）数値処理（Numerical）

ファンクション

入力

出力

N1=ANY_NUM
ADD

N2=ANY_NUM

OUT=ANY_NUM

加算：OUT=N1+N2+…+Nｎ

OUT=ANY_NUM

乗算 ：OUT=N1＊N2＊…＊Nn

OUT=ANY_NUM

減算：OUT=N1－N2

OUT=ANY_NUM

除算 ：OUT=N1/N2

OUT=ANY_INT

剰余 ：OUT=N1%N2

OUT=ANY_REAL

指数：OUT=N1^N2

OUT=ANY_NUM

代入：OUT=N1

Nn＝ANY_NUM
N1=ANY_NUM
MUL

N2=ANY_NUM
Nn＝ANY_NUM

SUB

DIV

MOD

EXPT
MOVE

N1=ANY_NUM
N2=ANY_NUM
N1=ANY_NUM
N2=ANY_NUM
N1=ANY_INT
N2=ANY_INT
N1=ANY_REAL
N2=ANY_INT
Ｎ1=ANY_NUM（e）演算処理（Arithmetic）

ファンクション
ADD_TIME

ADD_TOD入
N1=TIME

N1=TIME_OF_DAY
N2_TIMEADD_DT

N1=DATE_TIME

N2=TIME

N1=DATE
N2=DATE
N1=TIME_OF_DATE_TOD

N2=TIME_OF_DATESUB_TOD

N1=TIME_OF_DATE_TIME

N2=TIME

SUB_DT

N1=DATE_TIME

N2=TIMEDIVTIME

OUT=TIME_OF_DAY

OUT=N1+N2

OUT=N1＋N2
時間の乗算
OUT=N1＊N2
日付と日付の減算
OUT=N1－N2
時刻から時刻を減算（結果は時間）

OUT=TIMEOUT=N1－N２

OUT=TIME_OF_DATE

時刻から時間を減算
OUT=N1－N2
日付から時間を減算
OUT=N1－N2
時間を数で除算

OUT=TIME

N2＝ANY_NUM

時刻と時間の加算

日付と時間の加算

OUT=DATE

N1=TIME明

OUT=N1＋N2

OUT=DATE

SUB_TOD

説
時間同士の加算OUT=TIME

N2=ANY_NUM

_DATE

力

OUT=DATE

N1=TIME

SUB_DATE

出OUT=TIME

N2=TIME_TIME

MULTIME力

OUT=N1/N2（f）時間演算（Time）

ファンクション
SHL

SHR

ROR

ROL

入力

IN=ANY_BIT

出力

IN=ANY_BITOUT = IN<<N
右シフト

OUT=ANY_BIT

N=ANY_INT
IN=ANY_BITOUT = IN>>N
右ローテートOUT=ANY_BIT

N=ANY_INT
IN=ANY_BIT

右シフト＋最下位ビットを最上位ビットへ
左ローテートOUT=ANY_BIT

N=ANY_INT明左シフト

OUT=ANY_BITN=ANY_INT

説

左シフト＋最上位ビットを最下位ビットへ（g）シフト関数（Bit Shift）

ファンクション

入力

出

N1=ANY_BIT
AND

N2=ANY_BIT

OUT=ANY_BIT

Nn=ANY_BIT
N1=ANY_BIT
OR

N2=ANY_BIT

OUT=ANY_BIT

Nn=ANY_BIT
N1=ANY_BIT
XOR

N2=ANY_BIT

OUT=ANY_BIT

Nn=ANY_BIT
NOT

IN=ANY_BIT

OUT=ANY_BIT

力説

明

論理積
OUT=N1 AND N2 AND …AND Nn

論理和
OUT=N1 OR N2 OR…OR Nn
排他的論理和OUT=N1 XOR N2 XOR…XOR Nn
否定
OUT＝NOT（IN）（h）ビット演算（Bit Wise）…XOR以外はラダー回路で代替したほうが簡単

ファンクション

入力

出力

G=bit
SEL

OUT=ANYOUT=N0 if G=0
OUT=N1 if G=1

N1=ANY
N2=ANY

最大値

OUT=ANY

OUT＝Max of (N1,N2…Nn)

Nn=ANY
N1=ANYMIN

N2=ANY

最小値

OUT=ANY

OUT＝Min of (N1,N2…Nn)

Nn=ANY
MN=ANYLIMIT

IN=ANY

幅制限

OUT=ANYMN≦OUT≦MAX

MX=ANY
K=ANY_INT
MUX

明

二者選択

N0=ANY
N1=ANY

MAX説

マルチプレックス

N0=ANYOUT=N0 if K=0

OUT=ANY

N1=ANYOUT=N1 if K=1

Nn=ANYOUT=Nn if K=n（i）選択（Selection）

ファンクション

入力

出力

N1=ANYGT

N2=ANYOUT=ON if (N1＞N2＞…＞Nn)

N1=ANY
N2=ANY≧（Greater or Equal）

OUT=bitOUT=ON if (N1≧N2≧…≧Nn)

Nn=ANYEQ

N1=ANY＝（EQual）

OUT=bit

N2=ANYOUT＝ON if (N1=N2)

N1=ANYLT

N2=ANY＜（Lower Than）

OUT=bitOUT＝ON if (N1＜N2＜…＜Nn)

Nn=ANY
N1=ANYLE

N2=ANY≦（Lower or Equal）

OUT=bitOUT＝ON if (N1≦N2≦…≦Nn)

Nn=ANYNE

N1=ANY≠（Not Equal）

OUT=bit

N2=ANY明＞（Greater Than）

OUT=bit

Nn=ANYGE

説

OUT＝ON if (N1≠N2)（j）比較（Comparison）

ファンクション

入力

出力

説

LEN

文字列の⾧さLEFT

左文字列の切り出し

RIGHT

右文字列の切り出しMID

中間文字の切り出し

CONTACT
CONTACT_DATE_TOD

省略

省略

文字列の結合日付時刻の文字列を取得

INSERT

文字列の挿入

DELETE

文字列の削除REPLACE

文字列の置き換え

FIND

文字列の検索（k）文字列（Character String）

明

内表 記
ANY_BITLWORD，DWORD，WORD，BYTE，BOOL

容

ANY_INT

LINT，DINT，INT，SINT，ULINT，UDINT，UINT，USINT

ANY_REALLREAL，REAL

ANY_NUM

ANY_INT，ANY_REAL

ANY

全て（l）ファンクションで表記されている数の種類