F385_Positioning_WriteData_Backup

バックアップを含む位置決めパラメータの書き込み

この命令は、以下の位置決めパラメータおよび位置決めテーブルデータをユーザープログラムにより書き込む際に使用します。

  • 使用されるチャンネル/軸、繰り返し番号、エラーコードなどの一般的な情報

  • 現在の実行ステータスや現在の繰り返し番号などの軸情報

  • パルス出力制御コード、原点復帰設定、速度、加速および減速設定などの軸設定情報

  • 制御コードとパターン、速度、加速および減速設定など位置決めテーブルデータ

この命令は、s2_Startを先頭とするエリアに格納されたデータのワード数分(n_Number)を書き込み、d_Offsetを先頭とする位置決めメモリエリアに格納します。電源をオフにした後でも書き込みデータを保持するために、データを永続的なメモリエリアにバックアップすることもできます。

パラメータ

入力

s1_Channel (WORD, INT, UINT)

チャンネルNo.

Configurator PMXSYS_PMX_CHANNEL_0SYS_PMX_CHANNEL_3

Configurator PM7SYS_PM7_AXIS_1SYS_PM7_AXIS_8

s2_Start (WORD, INT, UINT)

書き込むデータが格納されるCPUの演算用メモリエリアの先頭アドレス(転送元アドレス)

n_Number (WORD, INT, UINT)

書き込みワード数

s1_Area (WORD, INT, UINT)

位置決めメモリエリア:

d_Offset (WORD, INT, UINT)

書き込みデータを保存するためのCPU内の位置決めメモリの開始アドレスオフセット(宛先アドレス)

s1_WriteToPersistentMemory (WORD, INT, UINT)
  • TRUE:データは保持エリアにバックアップされます

    お知らせ
    FROMの書き込み制限

    入力パラメータs1_Channelの上位8ビットに16#80~16#83(FROMに保存)を指定すると(最上位ビットが1)、指定したデータがCPUのFROMに書き込まれます。FROMへの書き込みは最大10000回まで実行できます。FROMへの書き込みが継続して実行されないように、立上りエッジを使用することを推奨します。

  • FALSE:データはバックアップされません

エラーフラグ

sys_bIsOperationErrorHold (TRUEになり、TRUEを保持)
  • s1_Channelで指定されたチャンネル番号が無効な場合

  • d_Offsetで指定された位置決めメモリオフセットがメモリエリアの制限を超えた場合

sys_bIsOperationErrorNonHold (1回のスキャンに対してTRUE)
  • s1_Channelで指定されたチャンネル番号が無効な場合

  • d_Offsetで指定された位置決めメモリオフセットがメモリエリアの制限を超えた場合

POUヘッダ

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

	VAR
		bWriteData: BOOL:=FALSE;
		awData: ARRAY [0..9] OF WORD:=[10(0)];
	END_VAR
	VAR CONSTANT
		bBACKUP_DATA: BOOL:=TRUE;
	END_VAR
	VAR
	END_VAR

LDボディ

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

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 7 ;
        NETWORK_BODY
B(B_COMMENT,,ø^Settings for s1_Channel:ø^	PMX-Configurator:  SYS_PMX_CHANNEL_0 ... SYS_PMX_CHANNEL_3ø^	PM7-Configurator: 	SYS_PM7_AXIS_1 ... SYS_PM7_AXIS_8ø^,2,1,49,6,);
L(1,0,1,7);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 9 ;
        NETWORK_BODY
B(B_CONTACT,,bWriteData,9,1,11,3,R);
B(B_F,F385_Positioning_WriteData_Backup!,,20,0,37,9,,?DEN?Ds1_Channel?Ds2_Start?Dn_Number?Ds1_Area?Dd_Offset?Ds1_WriteToPersistentMemory?AENO);
B(B_VARIN,,SYS_PMX_CHANNEL_0,18,2,20,4,);
B(B_VARIN,,awData,11,3,13,5,);
B(B_F,Adr_Of_Var_I!,,13,3,20,5,,?D?C);
B(B_F,Size_Of_Var!,,13,4,20,6,,?D?C);
B(B_VARIN,,SYS_POSITIONING_AREA_AXIS_SETTING,18,5,20,7,);
B(B_VARIN,,155,18,6,20,8,);
B(B_VARIN,,bBACKUP_DATA,18,7,20,9,);
L(1,0,1,9);
L(1,2,9,2);
L(11,2,20,2);
L(13,4,13,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

STボディ

(*Settings for s1_Channel:
	PMX-Configurator:  SYS_PMX_CHANNEL_0 ... SYS_PMX_CHANNEL_3
	PM7-Configurator: 	SYS_PM7_AXIS_1 ... SYS_PM7_AXIS_8*)
if DF(bWriteData) then
    F385_Positioning_WriteData_Backup(s1_Channel := SYS_PMX_CHANNEL_0,
                                      s2_Start := Adr_Of_Var(awData),
                                      n_Number := Size_Of_Var(awData),
                                      s1_Area := SYS_POSITIONING_AREA_AXIS_SETTING, 
                                      d_Offset := 155,
                                      s1_WriteToPersistentMemory := bBACKUP_DATA);
end_if;

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