P13_EPWT

EEPROM書き込み

P13命令は、データレジスタ(DT)に格納されているデータを、F-ROM/EEPROMに転送します。

パラメータ

入力

EN (BOOL)

ENがFALSEからTRUEになると、ファンクションが1度実行されます。

s1_Start (WORD, INT, UINT)

保存するデータを格納しているデータレジスタDTの先頭アドレス

s2_Number(DWORD, DINT, UDINT, DATE, TOD, DT)

書き込む必要があるブロックの数。ブロックサイズは、PLC機種によって64または2048データレジスタです(下表「PLC機種別情報」参照)。

d_Start(DWORD, DINT, UDINT, DATE, TOD, DT)

F-ROM/EEPROM先頭ブロックNo.

出力

ENO (BOOL)

ファンクション実行時、ENOはON (TRUE)になります。EN入力をカスケード接続するときに便利です。

解説

F-ROM/EEPROMは、通常の保持エリアとは異なります。保持エリアのデータはリアルタイムで格納されます。電源遮断時に保持データがEEPROMメモリに格納されます。P13_EPWT命令は、命令実行時にのみデータをF-ROM/EEPROMに格納します。書き込める回数には制限があります(下表参照)。P13_EPWT命令は、規定の回数を超えて実行しないようにしてください。

例えば、常時ONフラグR901A (0.1秒クロックパルスリレー)で"P13_EPWT"命令を実行すると、EEPROMは100,000×0.1秒=10,000秒 (2.8時間)後に書き込みできなくなります。但し、位置決めパラメータなど、頻繁に変更しないデータを保持したいときには便利です。

注記

2つの入力変数"s2_Number"、"d_Start"のいずれかには定数を割り付けてください。

PLC機種別情報

PLC機種

FP0 2,7k C10/C14/C16, FP-e

FP0 5k C32

FP0 10k T32CP

FP-Sigma, FP-X, FP0R

FP0H

ROM

EEPROM

EEPROM

EEPROM

F-ROM

F-ROM

ブロックサイズ(1ブロック)

64ワード (64x16ビット)

64ワード (64x16ビット)

64ワード (64x16ビット)

2048ワード (2048x16ビット)

2048ワード (2048x16ビット)

F-ROM/EEPROM先頭ブロックNo.

0~9

0~95

0~255

0~15

0~31

実行毎の読み出し /書き込みブロック数

1~2

1~8

1~255

1 (書き込み)

1~16 (読み出し)

1 (書き込み)

1~32 (読み出し)

書き込み時間(追加スキャンタイム)

20ms以下(1ブロックあたり)

5ms以下(1ブロックあたり)

5ms以下(1ブロックあたり)

100ms以下(1ブロックあたり)

100ms以下(1ブロックあたり)

読み出し時間(追加スキャンタイム)

1ms未満(1ブロックあたり)

1ms未満(1ブロックあたり)

1ms未満(1ブロックあたり)

9.94ms + (1562.6*ブロック数) ms

 

最大書き込み回数

100,000

10,000

10,000

10,000

10,000

最大読み出し回数

無制限

無制限

無制限

無制限

無制限

注記

電源断、RUN -> PROGモード変更もカウントされます。

POUヘッダ

POUヘッダには、このプログラムで使用するすべての入力変数と出力変数を宣言します。 POUヘッダは全プログラム言語で使用できます。

	VAR
		start: BOOL:=FALSE;
		@'data field': @'ARRAY (0..63] OF INT':=@'(1,2,3,4,5,6,7,8,9,10,11,12,52(0)]';
	END_VAR

POUボディ

変数startFALSEからTRUEになったとき、命令が実行されます。

データ領域[0]~[63]の内容を読み出し(s2* = 1 => 1ブロック = 64ワード)、先頭ブロックNo.0からEEPROMにデータを書き込みます。

LDボディ

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 6 ;
        NETWORK_BODY
B(B_F,P13_EPWT!,Instance,11,0,19,6,,?DEN?Ds1_Start?Ds2_Number?Dd_Start?AENO);
B(B_VARIN,,DataField[0],9,2,11,4,);
B(B_VARIN,,1,9,3,11,5,);
B(B_VARIN,,0,9,4,11,6,);
B(B_CONTACT,,start,3,1,5,3,);
L(1,2,3,2);
L(5,2,11,2);
L(1,0,1,6);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ILボディ

最終修正日: 2020-04-27このページに関するフィードバックお問い合わせ窓口