Zuerst ein Protokoll ausdenken:
Z.B.
1) TwinCat sendet eine Art Registernummer mit einem angehängten "R" für Lesen und einem 0x0a an die S7. Die S7 antwortet mit Registernummer/Leerzeichen/Inhalt/0x0a an Twincat. Das alles natürlich im Ascii-Format, damit es sich leicht per Terminalprogramm debuggen lässt. Das Zeilenendezeichen ist günstig, weil die Bibliotheken in der Regel dieses automatisch als Zeilenende interpretieren und man muss nicht selbst die Zeilenlogik bauen.
Von Twincat: <Reg><R/W> [Wert im Falle des Schreibens]<Zeilenende>
Von S7: <Reg> <Wert><Zeilenende>
2) Oder folgendes etwas freieres Format wählen:
Von Twincat: <Kommando> <Wert><Zeilenende>
Von S7: <Kommando> <Antwort><Zeilenende>
Ein Nullmodemkabel zwischen den SPSen anschliessen und fertig. Das sollte für eine einfache Kommunikation ausreichend sein. Bei 9600Baud braucht ein Zeichen etwa 0.1ms. Da auch eine ModBus- oder Profibuskommunikation ein Protokoll erfordert, unterscheiden diese sich nur in der Geschwindigkeit.