F12_EPRD

F-ROM / EEPROM読み出し

F-ROM / EEPROMからデータを読み出し、データレジスタ(DT)に転送します。データの転送は、ブロック単位でのみ行えます。ワード単位でのデータ転送はできません。ブロックサイズおよびブロック数については、"PLC機種別情報"に記載しています。また、転送先には、64ワード以上(FP0およびFP-e) / 2048ワード以上(FPSigma/FP-X)のデータレジスタを確保してください。

パラメータ

入力

EN (BOOL)

ファンクションの実行条件(ENがON (TRUE)のとき、ファンクションはPLCスキャンごとに実行されます。)

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

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

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

読み出すブロック数。ブロックサイズは、PLC機種によって64または2048データレジスタです(下表「PLC機種別情報」参照)。

出力

ENO (BOOL)

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

d_Start (WORD, INT, UINT)

書き込むデータのDT先頭アドレス

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;
			(*activates the instruction*)
		datafield: ARRAY [0..63] OF INT:=[64(0)];
			(*data field to be uploaded data from EEPROM*)
	END_VAR

POUボディ

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

先頭ブロックNo.0以降の最初のブロック(=64ワード)をEEPROMから読み出し、データフィールドdatafield[0]datafield[63]にデータを書き込みます。

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,F12_EPRD!,Instance,8,1,16,6,,?DEN?Ds1_Start?Ds2_Number?AENO?Cd_Start);
B(B_VARIN,,0,6,3,8,5,);
B(B_VARIN,,1,6,4,8,6,);
B(B_VAROUT,,datafield[0],16,3,18,5,);
B(B_CONTACT,,start,3,2,5,4,);
L(5,3,8,3);
L(1,3,3,3);
L(1,0,1,6);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ILボディ

LD

start

DF

F12_EPRD

0,1,datafield[0]

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