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プログラムでアクセスできるようになります。
構造体のデータオブジェクトへのアクセス 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