Die beste Anlaufstelle für Informationen dazu ist die Kinco Builder Hilfe.

Hier die Kurzfassung.
1. Es gibt in Kinco Builder bzw. den Kinco SPS drei Speicherbereiche:
%M - sind flüchtige Merker (auch Merkworte etc., Speicher basiert ja immer auf Bits, die kann man dann auch als Byte, Wort, Doppelwort adressieren etc. Daher hier nur %M auch wenn %MW und %MB der gleiche Bereich sind, nur anders adressiert)
%V - sind flüchtige oder nicht flüchtige Merker, ob sie remanent sind, kann man in den Hardware-Einstellungen festlegen unter Reten. Das steht auch im Handbuch.
Hinweis: Dort gibt es auch den Permanent Backup Speicher im Hardware-Manual, der sollte möglichst nicht genutzt werden, da er in den meisten Steuerungen EEPROM ist und nach ein paar Hundert Schreibzyklen defekt und nicht mehr beschreibbar. Also lieber Finger weg vom Permanent Backup ODER nur einmal schreiben und danach nur noch lesen.
%L Das ist der lokale von Kinco Builder dynamisch vergebene Speicher z.B. in Subroutinen. ACHTUNG, bitte nicht direkt Adressieren mit %L6.1 zum Beispiel, da er sich dynamisch ändert und die Adressen nicht fest sind.
Nun zu den Variablen
%M und %V sind erst einmal globale Variablenbereiche, die überall direkt aufgerufen werden können.
Es gibt in den Hardware-Einstellungen ZUSÄTZLICH den Eintrag Global Variable. Hier könnt ihr den einzelnen Speicherbereiche selbstsprechende Variablennamen geben z.B. %VW10 = Druck. Das ist das "Symbol". Es wird nur in Kinco Builder genutzt, um es klarer darzustellen. Im Hintergrund sind es immer noch %M oder %V Variablen, die ihr auch nutzen könnt. Es ist also die sogenannte Symbolik.
In MAIN und SUBROUTINEN könnt ihr zusätzlich lokale Variablen anlegen, vom Typ Var (nur intern) oder bei Subroutinen auch Input, Output und InputOutput. Diese nutzen den lokalen Speicher %L und sollten eigentlich nur in der jeweiligen Subroutine genutzt werden, also entweder Main oder der jeweiligen Subroutine. Außerhalb der Routine sind sie eigentlich nicht bekannt. Ihr könntet zwar dort auch %L aufrufen, aber die %L-Adressen ändern sich, so dass es zu unvorhersehbarem Verhalten kommt. Also bitte NIE %L direkt adressieren, immer nur "Lokal" im jeweiligen Kontext.
Die Variablen in Subroutinen für Input, Output, InputOutput haben einfach die Besonderheit, dass sie beim Aufruf der Subroutine befüllt werden, aus dem Aufruf z.B. aus Main werden die Werte übergeben. Ernst, ich glaube du kommst aus Hochsprachen oder Mikrocontrollern? Es ist also nichts anderes als ein Funktionsaufruf, in dem die Variablenwerte an die Subroutine übergeben werden.
Letzter Punkt, Initial Data, das haben viele SPS-Software-Lösungen. Das ist nichts anderes, als Wertzuweisungen an Variablen, die beim Download des Programms mit übertragen werden können. Auch wird diese Tabelle beim Start oder Neustart der SPS automatisch in die Variablen %V etc. geladen. Es sind also Initialdaten, die beim Start immer geladen werden können und erst einmal unveränderbar sind, bis sie durch einen Download verändert werden. Nachzulesen in Kapitel 4.4 der Kinco Builder Hilfe.
In der Kinco Builder Hilfe findet ihr auch alle anderen wichtigen Programmierkonzepte.
