Es geht um die Kommunikation von RoboPro zu einem Interface und dann zu Extentions. Ziel ist es eine Kommunikation aufzubauen, zwischen einem ftduino (bzw Ardunino) und RoboPro, aber diesmal mit der Möglichkeit, Extensions anzusprechen. Ich hatte da an die Möglichkeit gedacht mehr I/Os anzusprechen. Ich hab da schon einiges ausprobiert aber es hat bisher nicht geklapt. Nun wollte ich von neuem anfangen. Es ist auch die Frage ob die Anzahl der TAs in den Ram-Speicher passen, von der Geschwindigkeit her geht usw. aber mal schaun...
Ich benutze die TX - Version. Ich vermute, dass die TXT genau so läuft.
Vorab:
Meine Abfrage ist wie beim fx1-arduino-parser, wo jedoch der TA-Header in die Nutzdaten reingehen. Da wird nur der Commandcode(Telecode) und die Anzahl der Trasferaereas ausgewertet.
Für die Extensions brauch ich vermutlich aber noch mehr (01 PC_Programmierung_RoboTXC.PDF Seite 29):
Anzahl der fx1 Strukturen (Byte 20)
Wobei die Frage ist, ob es einzelne TAs, über FROM/TO, an eine Extension gibt. Bisher hatte ich es so verstanden, dass nur eine fx1 mit allen TAs übertragen wird. Ist das so richtig?
Die Frage die dahinter steckt ist die, ob beim Senden an RoboPro "einfach" alle TAs gesendet werden sollen oder ich getrennte Speicherbereiche nutzen muss.
----
Initialisierung
Jedoch muss beim Starten der Kommunikation noch mehr Infos übertragen werden.
TA_STATE hat ja "ext_dev_connect_state[N_EXT] " der jedoch (noch) nicht deffiniert wird.
Wohl ehr so:
Code: Alles auswählen
// State of connection to an extension device (Controller)
enum ext_dev_connect_state_e
{
EXT_DEV_OFFLINE = 0,
EXT_DEV_ONLINE,
EXT_DEV_INVALID
};
Wird z.B. die zweite TA übertragen, wenn im laufenden Programm gar kein Port der Extension angesprochen wird?
Wie wird denn ein Name der Extension und ein evtl Firmwareupdate erkannt/übertragen?
Es ist halt die Frage welche weiteren Variablen ich noch zur verfügung stellen muss oder auswerten muss.
...
---
Oder doch mal ganz von vorne Anfangen? Wie die Kommunikation mit Extensions abläuft?
Ich gebe zu dass es mir gerade sehr schwer fällt z.B. eine zweite TA in das Programm zu bauen.
Mit freundlichen Grüßen
fishfriend
Holger Howey
PS
Erst dachte ich, ich bräuche nur die Anzal der I/Os vom Interface zu erhöhen. Es ist ja egal ob nun über Extension M1 oder M5 gesteuert wird. Das klappt leider so nicht. Ich vermute mal das der ft-Treiber das nicht mitmacht.