文書の過去の版を表示しています。
MP STUDIO 2 Phase 4 · ファンクション
ファンクションは、比較・演算・タイマー・カウンターのように複数のセルを占めるラダー命令です。ファンクションパネルから選んで挿入するか、ファンクションの挿入ウィンドウに命令を入力して挿入できます。
ファンクションブロックの左側の条件がONの間、ファンクションが実行され、ブロックの右側へ結果に応じた信号が伝わります。比較ファンクションは接点と同じように行の中に配置され、比較結果が真のときに導通します。
ファンクションパネル
記号レールのファンクションボタンを押すかAlt+2を押すと、ファンクションパネルが開きます。
- ① ファンクションを検索: 名前の一部を入力すると、一致するファンクションだけが表示されます。
- ② 分類の見出し: クリックすると、分類を展開または折りたたみます。分類ごとに色が異なり、右側の数字は分類内のファンクション数です。
- ③ ファンクションの行: ダブルクリックすると、カーソルのセルにファンクションが挿入されます。
- ④ Mark 一覧: プログラムのブックマークの一覧です。
ファンクションの挿入ウィンドウ
Ctrl+E、Ctrl+Enter、[のいずれかを押すか、編集 → ファンクションの挿入を選択すると、ファンクションの挿入ウィンドウが開きます。
- ① 命令に、ファンクション名と引数をスペースで区切って入力します。例:
MOVE D0 D1、ADD D0 20 D1、TON T0 1s - 名前を入力すると、② 引数の順序と説明(例:
[TON] [IN] [SV]、TON: On Delay Timer、動作条件、入力例)が表示されます。一致するファンクションがない場合は、一致する命令がありませんと表示されます。 - OKを押すか
Enterを押すと、カーソルのセルにファンクションが挿入されます。
引数の修正
- ファンクションの引数のセルを選択して
Enterを押すか、値を直接入力すると、その引数だけを修正できます。 - ファンクションの名前のセル(先頭)を選択して
Enterを押すと、ファンクションの修正ウィンドウが開きます。このウィンドウでは、命令全体を1行で修正できます。
引数に入力したアドレスが、そのファンクションの受け付けるデータ型(ビット・バイト・ワード・ダブルワード・実数)と合わない場合は、セルが赤く表示されます。セルにマウスポインターを合わせると、理由が表示されます。
タイマー
タイマーの設定値(SET VALUE)は10ms単位です。TON T0 100とTON T0 1sはどちらも1秒の設定で、ブロックには1Sと表示されます。
- ①
P0: タイマーの開始条件 - ②
TON T0 1s: 条件がONの間はT0の現在値が増え、設定値(1秒)に達するとT0がONになります。条件がOFFになると、現在値は0に戻ります。 - ③
T0接点:T0がONになると導通し、P33をONにします。 - ④
P33: タイマー出力
| ファンクション | 動作 |
|---|---|
| TON | On Delay Timer — 条件が設定時間以上ONのまま続くと、ONになります。条件がOFFになると、現在値が0になります。 |
| TOFF | Off Delay Timer — 条件がOFFになった後も、設定時間の間はONを保持します。 |
| TPL | Pulse Timer — 条件がONになると、設定時間の間ONになります。条件が先にOFFになると、一緒にOFFになります。 |
| TMON | Pulse Extended Timer — 条件がONになると、設定時間の間ONになります。途中で条件がOFFになっても、設定時間まではONを保持します。 |
| TMR | Accumulative Timer — 条件がONの時間を積算します。条件がOFFになっても現在値が残るため、リセットするには別のラングで消去する必要があります。 |
カウンター
CTUの引数は、COUNT(カウンターアドレス)、SET VALUE(設定値)、RESET(リセットビット)の順です。例: CTU C0 5 P2
- 左側の条件がOFFからONに変わるたびに、
C0の現在値が1ずつ増えます。 - 現在値が設定値以上になると、
C0がONになります。 - RESETに指定したビット(
P2)がONのとき、現在値が0になります。
CTD(DOWN Counter)の引数はCOUNT、SET VALUE、SETの順で、現在値が0になるとONになります。
比較と転送
比較ファンクション(==・>・U<など)は2つの値を比較し、真であれば導通します。たとえば>= D0 100は、D0が100以上のとき真になります(符号付き比較)。MOVE(ブロック名MOV)は、INの値をOUTへコピーします。
ファンクション一覧
ファンクションパネルの16の分類とファンクションは次のとおりです。かっこ内は引数の順序です。
| 分類 | ファンクション |
|---|---|
| Comparison | ==(等しい) · !=(異なる) · > · < · >= · ⇐ — 符号付き比較、U> · U< · U>= · U⇐ — 符号なし比較 (IN1, IN2) |
| Conversion | H2D(16進→10進) · D2H(10進→16進) · INV(1の補数) · NEG(2の補数) (IN, OUT) |
| Math | ADD · SUB · MUL (IN1, IN2, OUT) · DIV (IN1, IN2, OUT, REM) · INC · DEC (IN) · SCALE (IN, IN_MAX, IN_MIN, OUT, OUT_MAX, OUT_MIN) · FLOOR · SQRT (IN, OUT) |
| Counter | CTU (COUNT, SET VALUE, RESET) · CTD (COUNT, SET VALUE, SET) · CTUD (COUNT, CU, CD, SET VALUE, RESET) · HCNT (CHANNEL, OUT) · HRST (CH) · ENCODER (CHANNEL, OUT) · ENMOV (CHANNEL, IN) |
| Timer | TON · TOFF · TPL · TMON · TMR (TIMER, SET VALUE) |
| Logic Control | JMP · JMPN · LABEL (LABEL) · END |
| Word Logic | WAND · WOR · WXOR (IN1, IN2, OUT) · SHL · SHR (IN, N, OUT) · SWAP (IN, OUT) |
| Analog | ADC · ADC2(4~20mA) · DAC (CHANNEL, MAX VALUE, MIN VALUE, OUT) · AFILTER (IN, WEIGHT, OUT) · NTEMP · PTEMP (CHANNEL, OUT) · PWM (PORT, DUTY, WIDTH) · FPWM (PORT, FREQ) · FDPWM (PORT, FREQ, DUTY) · NPWM (PORT, FREQ, N) · POFF (PORT) · PSR (OUT) · PID (PV, SV, KP, KI, KD, OUT MAX, OUT MIN, MV) · PID_PWM (PORT, PV, SV, KP, KI, KD, MV) |
| MOVE | MOVE (IN, OUT) · GMOVE · FMOVE (IN, OUT, N) |
| Data Processing | MAX · MIN · SUM · AVE · MUX · ENCO · DECO (IN, OUT, N) |
| Program Control | MCS · MCSCLR (NUM) |
| Serialport | PUT (CHANNEL, DATA, LENGTH) · GET (CHANNEL, LENGTH, OUT) · PUT_LEN · GET_LEN (CHANNEL, OUT) · SERID (CHANNEL, ID) · SERRATE (CHANNEL, RATE) · MNET (CH) · MNET_READ (RATE, ADD) · MBTRIG (NO) |
| I2C | ISTA (ADDRESS, READ) · ISTP · IWR (DATA) · IRD (OUT, ACK) · ISR (OUT) · IBR (IN) |
| CLCD (Character LCD) | CINI (ADR, TYPE) · CLOC (ADR, X, Y) · CSTR (ADR, STRING) · CINT · CREAL (ADR, IN, DIGIT, ZERO, SIGN) · CHEX (ADR, IN, DIGIT, ZERO) · CCLS · CCON · CCOF (ADR) · CLON · CLOF · CPUT (ADR, ID, DEFINE) · CGET (ADR, ID) · CSCR (ADR, PAGE) |
| 7Segment | FINI (CLK, DIO) · FINT (IN, POSITION, LENGTH, DOT, ZERO, SIGN) · FDATA (DATA, POSITION) · FSCR (DSP, PAGE) |
| DS3231 (RTC) | DS3231_WR · DS3231_RD (YEAR, MONTH, DATE, DAY, HOUR, MINUTE, SECOND) |
アナログ・パルス・温度のファンクションは、その機能を持つ機種または拡張モジュールでのみ使用できます。チャンネル番号の範囲は、選択した機種に従います。
MBTRIGはModbus 機器テーブルで、CSCRはLCD 画面エディタで、FINI・FINT・FDATA・FSCRは7セグメント表示で詳しく説明します。




