- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 10 von 13

Thema: Isel 4Achs Controller iMC-M per Bascom ansteuern

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    30.10.2012
    Beiträge
    9

    Isel 4Achs Controller iMC-M per Bascom ansteuern

    Hallo,

    Ich bin Maschinenbaustudent und soll mittels Bascom Einen Isel 4 Achs Controller iMC-M ansteuern und Punkte abfahren. Dazu zusagen ist das ich mich als Maschinenbaustudent nicht alzu tief in der Materie befinde und auch nicht sonderlich viele Kenntnisse in der Programmierung mit Bascom habe. Meine erste Frage ist wie ich die Schnittstelle öffen kann? Der Ausgang ist COM3 und hat 19200 baud. Probiert habe ich es mit dem Befehl: Open Com3:19200,8,n,1 for output as #3

    Ich weiß nun nicht ob das ausreicht oder dort noch irgendwo ein close kommen muss weil dies in der Hilfe nicht ersichtlich ist. jedenfalls fur mich nicht.

    Und zweitens wusste ich gerne wenn ich die Simulator öffne ob die Schnittstelle dann geöffnet wird oder ob mir das Programm dies nur vorgaugelt.

    Ich habe folgendes Programm geschrieben und auf dem simulator ablaufen lassen:

    Cls
    Dim A As String * 1
    Open "com3:19200,8,n,1" For Output #3
    Print "@01"
    A = Waitkey()
    Print A
    End

    Das System benötigt immer einen Handshake aber ich bekomme keine 0 zurück das die Achsen konfiguriert wurden oder auch keine Fehlermeldung deshalb die Frage mit dem simulator ob er die Schnittstelle anspricht.

    Ich hoffe es gibt schlaue leute die mir da helfen können. Würde mich sehr über Hilfe freuen.

    Dank im vorraus.

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Andree-HB
    Registriert seit
    10.12.2004
    Ort
    Bremen
    Alter
    54
    Beiträge
    2.807
    Du musst die Print-Anweisung auf die entsprechend eingestellte Software-Uart zeigen lassen :

    Print #3, "@01"

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    30.10.2012
    Beiträge
    9
    Ich habe den kanal eingefügt so wie du es geschrieben hast aber nun zeigt er mir fehler in line 7. external routine not found und label not found. Line 7 ist die End Zeile.

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.703
    Blog-Einträge
    133
    Schau Dir den open Befehl in der Bascom Hilfe an. Da ist ein Beispiel for Soft UART.

    Im Open Befehl müßte es zB "comb.1:19200, ... " heißen. Dann wäre PB1 der TX
    Außerdem muß es ... as #3 heißen.

    Für waitkey braucht es einen Input PIn, also open "...." for input as ...
    Im waitkey muß die Kanalnummer vom input angegeben sein.

    Auf welchem µC soll das laufen?
    Komplettes Programm incl Header posten.

    wusste ich gerne wenn ich die Simulator öffne ob die Schnittstelle dann geöffnet wird
    Der Simulator kann auf dem µC den Port nicht öffnen, wenn er nicht angeschlossen ist.

    Gruß
    Searcher
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    30.10.2012
    Beiträge
    9
    Dim A As String * 3
    A = "*"
    Open "com3:19200,8,N,1" For Input As #3
    Print #3 , "@01"
    If Loc(3) < 1 Then Print "hallo"
    A = Inkey(#3)
    Print "A$" ; A
    If A = "0" Then Print "alles ok" ; End If
    Marke:
    A = Inkey(#3)
    If A < 0 Then Goto Marke
    Print "a$" ; A
    Print #3 , "@0a 500,1000"
    A = Waitkey()
    Print "A$" ; A
    End

    Das is ein ein kleiner Anfang den ich mal so probiert habe aber gibt er auch fehler aus. Also ich will über eine RS232 Schnittstelle diesn Isel Roboter ansteuern und damit einzelne Messpunkte anfahren. Das Programm war nur so ein kleiner Versuch zum testen. Angeschlossen habe ich alles. Über andere Programme kann ich auch wunderbar mit dem geraät kommunizieren und alles so bewegen wie ich will aber mein Professor will unbedingt das ich es mit Bascom mache. Er soll einfach 10 voreingegeben Punkte anfahren und dort 30sec verharren dann kann ich den messwert ablesen und weiter gehts. so soll das Programm aussehen aber das ist ganz und gar nicht meine Welt. Vllt könnt ihr mir ja noch mehr nützliche Hinweise geben. Gruß

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.703
    Blog-Einträge
    133
    Mit Bascom schreibt man Programme, die auf einen Mikrokontroller (µC) übertragen werden und dann dort ablaufen.

    Damit das Programm auf dem µC ablauffähig ist, muß der Sourcecode für den ganz bestimmten µC kompiliert werden.
    Einstellungen für die Kompilierung gibt man der Übersichtlichkeit halber in einem Header im Sourcecode an.

    In Deinem Programm versuchst Du SW-UART zum Senden von Daten über die PC COM Schnittstelle zu nutzen. Damit hab ich es nicht geschafft - denke auch nicht, daß das geht

    Das ganze Timing Verhalten in der Simulation entspricht nicht dem, die es auf dem µC haben würde. Um trotzdem was aus der Simulation raus und rein zu kriegen, versuch Folgendes:

    In Bascom unter "Options", "Communication" den COM Port einstellen, den Du am PC nutzen möchtest und die Parameter wie 19200,8,n,1,handshake=none
    In Bascom unter "Options", "Simulator" auch nochmal den COM Port einstellen.

    Unten stehendes Programm kompilieren und dann Simulator aufrufen. Oben den Haken bei Terminal aktivieren (Werden COM-Port Parameter geändert, muß der Haken deaktiviert und wieder aktiviert werden!).
    Bei Beenden und Neustart von Bascom verschwindet der Haken wieder - drauf achten daß er gesetzt ist, wenn Du wieder den Datenaustausch brauchst.

    Simulation laufen lassen.

    So hat die Verbindung bei mir auf WIN-XP mit Nullmodem Kabel zwischen echten COM-Ports zu einem anderen PC mit Hyperterminal geklappt; hatte also keinen USB-RS232 Wandler und korrekte Einstellungen am anderen PC vorausgesetzt.

    Das Programm nutzt die defaultmäßigen Einstellungen für die HW-Uart = COM1 des µC. Deshalb keine Einstellungen außer $baud ($baud hat aber keinen Einfluß auf die Kommunikation aus der Simulation heraus). Wegen Nutzung der HW-COM1 ist kein "Open" notwendig.

    Bitte gib Bescheid wenns funktioniert hat. und wenn nicht, dann nicht

    Code:
    $regfile = "m88def.dat"   'Für ATMega88 Mikrokontroller
    $framesize = 32
    $swstack = 32
    $hwstack = 34
    $crystal = 8000000        
    $baud = 19200             'Baud Rate ( 8,N,1 ist default - flow control=NONE)
    
    Dim A As String * 1
    Print "@01"
    A = Waitkey()
    Print A
    End
    Gruß
    Searcher
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

Ähnliche Themen

  1. 4 X 27 LCD-Modul mit 2 controller wie ansteuern?
    Von PREDATOR32 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 24.11.2009, 14:02
  2. Playstation Controller mit Bascom ansteuern
    Von ingo pirker im Forum Software, Algorithmen und KI
    Antworten: 1
    Letzter Beitrag: 15.09.2008, 10:18
  3. CNC-Fräse (ISEL C-116)
    Von NemesisoD im Forum Konstruktion/CAD/3D-Druck/Sketchup und Platinenlayout Eagle & Fritzing u.a.
    Antworten: 1
    Letzter Beitrag: 09.02.2007, 13:28
  4. LCD Ansteuern ohne controller
    Von PiH im Forum Elektronik
    Antworten: 21
    Letzter Beitrag: 29.03.2006, 20:49
  5. lcd mit pic-controller ansteuern
    Von erik.rostock im Forum PIC Controller
    Antworten: 1
    Letzter Beitrag: 07.06.2004, 12:22

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen