Eine Kurvenscheibe kann ohne Verwendung des Kurvenscheibeneditors in einem IEC-Programm erzeugt werden.
Beispiel
Deklaration:
VAR
i: INT;
CAM: MC_CAM_REF := (
byType:=2, (* nicht-äquidistant *)
byVarType:=2, (* UINT *)
nElements:=128,
xStart:=0,
xEnd:=360);
Table: SMC_CAMTable_UINT_128_2 := (
fEditorMasterMin := 0, fEditorMasterMax := 360,
fTableMasterMin := 0, fTableMasterMax := 6000,
fEditorSlaveMin := 0, fEditorSlaveMax := 360,
fTableSlaveMin := 0, fTableSlaveMax := 6000);
END_VAR
Implementierung:
(* Kurvenscheibe erzeugen (Beispiel Gerade); eindeutig *)
FOR i:=0 TO 127 DO
Table.Table[i][0] := Table.Table[i][1] := REAL_TO_UINT(i / 127.0 * 6000);
END_FOR
(* Zeiger verlinken; muss in jedem Zyklus gemacht werden!!! *)
CAM.pce := ADR(Table);
Diese so erzeugte Kurvenscheibe kann in den Baustein MC_CamTableSelect
eingegeben und dessen Ausgang wieder für MC_CamIn
verwendet werden.