Manuell erzeugte Kurvenscheibe

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.