
Das Anwenderprogrammm wird innerhalb der SPS als eine Liste von Anweisungen abgelegt. Mit welcher Darstellungsart das Programm erstellt wurde, spielt keine Rolle. Das Programm kann z.B. in FUP, KOP, AWL, Graph oder SCL erstellt werden, auf dem Programmiergerät wird das Programm aber nicht in FUP oder KOP gespeichert. Diese "Programmiersprachen" sind eigentlich nur eine andere Darstellungsart die bei der Bearbeitung aus AWL erzeugt werden. Auf dem Programmiergerät liegt das Programm, die Symbole und die Kommentare. Beim Übertragen in die SPS wird aber nur das Programm in einem für die Maschine lesbaren Maschinencode MC7 aus der AWL, SCL oder Graph generiert und in die SPS übertragen. Diese Umwandlung wird durch einen Batch-Compiler realisiert. Dazu kommt die Hardwarekonfiguration, die in die Systemdaten der CPU übertragen wird. Wenn ein Programm aus der CPU ausgelesen wird, für das man keine Projektdateien hat, dann hat man auch keine Symbole oder Kommentare da man aus der SPS nur das Programm und die Systemdaten in das Programmiergerät übertragen kann.

Das Programm bildet innerhalb der CPU einen Befehlsstapel (Stack). Sie wird von der CPU sequentiell (Zeile für Zeile) und zyklisch (wiederholend) abgearbeitet. Ein Programmzyklus erfolgt erfolgt in folgenden Schritten:
Für jede Anweisung wird eine bestimmte Zeit benötigt. Diese Zeit wird als Ausführungszeit pro Anweisung bezeichnet. Je nach Anzahl der Anweisungen errechnet sich dadurch die Programmzykluszeit=Anzahl der Anweisungen x Ausführungszeit. Die Ausführungszeit pro Anweisung beträgt auf heutigen SPS-Systeme ca. 5 µs. Wenn ein Programm 10 Anweisungen enthält, dann dauert der Programmzyklus 50 µs.
Die Zykluszeit wird durch weitere Faktoren beeinflusst. Durch Hinzufügen dieser Faktoren in die Berechnung ergibt sich dadurch eine Gesamtzykluszeit. Zu den weiteren Faktoren zählen unter anderem: