Skip to main content

CNCデータ構造とグローバルアクセス

プロジェクトで利用可能なCNCオブジェクトは、タイプの機能ブロックにコンパイルされます。 SMC_OUTQUEUE また SMC_CNC_REF。 (これは、コンパイルメソッドの場合は発生しません ファイル 使用されている。)

プロジェクトがコンパイルされると、作成されたCNCデータは内部で管理されます。 SMC_CNC_Data ファンクションブロック。コンパイルモードの場合 SMC_OutQueue、各CNC要素は SMC_OUTQUEUE ファンクションブロック。コンパイルモードの場合 SMC_CNC_REF、CNC要素はで表されます SMC_CNC_REF。 IECプログラムが処理されている間、機能ブロックがインスタンス化され、IECプログラムで処理できる値が入力されます。これらのPOUはすべてに含まれています SM3_CNC

CNCデータへのグローバルアクセス

初期化中に、生成されたオブジェクトのタイプと数がCNCプログラムから確認されます。これらのオブジェクトはすべて、暗黙的に宣言されたグローバルデータ構造にまとめてリストされます。タイプのオブジェクト SMC_OUTQUEUE グローバルデータオブジェクトにリストされています g_CNCQueueManager プロパティで Count と方法 GetOutQueue(int n)。タイプのオブジェクト SMC_CNC_REF グローバルデータオブジェクトにリストされています g_CNCProgManager プロパティで Count と方法 GetProgram(int n)。これで、ユーザーはIECプログラムでアクセスできるようになります。

13.

構造体のデータオブジェクトへのアクセス SMC_OUTQUEUE

PROGRAM CNCManageQueue
VAR
    pCNC_OutQueue : POINTER TO SMC_OUTQUEUE;
    n: INT;
    i: INT;
END_VAR

n := g_CNCQueueManager.Count;
FOR i:= 0 to n-1 DO
    pCNC_OutQueue := g_CNCQueueManager.GetOutQueue(I);
    (* calculate pCNC_OutQueue *)
END_FOR

構造体のデータオブジェクトへのアクセス SMC_CNC_REF

PROGRAM CNCManageRef
VAR
    pCNC_Ref: POINTER TO SMC_CNC_REF;
    n: INT;
END_VAR

n := g_CNCProgManager.Count;
FOR i:= 0 to n-1 DO
    pCNC_Ref := g_CNCProgManager.GetProgram(I);
    (* calculate pCNC_Ref *)
END_FOR