Short Reference MOTRON-BASIC

Kurze Befehlsübersicht auf einen Blick

Stand Jun. 2003

Die hier aufgeführten Befehle sind eine spezielle Erweiterung des MCS-BASIC für die Anwendungen mit Motion-Control.

ADCONV(x,y):POP a

Lesen eines Analog-Einganges
x = Eingang 0 oder 1
y = (interne Referenzspannung, 0 ... 65535,) irrelevant bei 80C517A
a = Spannungswert als Zahl

BIT CLR <nr{,<nr}

Löschen der übergebenen Bits

BIT SET <nr{,<nr}

Setzen der übergebenen Bits.

BIT TST {!}<nr{,<operator{!}<nr}

Testen von Eingängen oder internen Statusbits. 
Operator: + = UND, * = ODER. {!} = Invertierung, 
<nr = 0 ... 15 = Eingänge, 0 ... 7 Ausgänge,
128-135 = DIP-Switch, 136-151 interne Statusbits 0-15 (=DBY(20H - 21H))

CUR x,y

Cursor wird auf Zeile x, Spalte y gesetzt

CLS

Bildschirm wird gelöscht

DRIVEABS x,y

Positioniere den Motor auf Position x mit Frequenz y 
Richtung ist Vorzeichen von x.

DRIVEFREQ x

Fahre mit konstanter Frequenz x.
x = 0 stoppt den Motor.

DRIVEREL x,y

Positioniere den Motor um x Schritte mit Frequenz y
Richtung ist Vorzeichen von x.

INIT DISP

Initialisieren des Displays

INIT FREQ,x,...:POP e

Berechnen einer Frequenztabelle
x= Rampenart 1 - 3 mit indiv. Parametern
1,fstart,fmax,acc lineare Beschleunigung
2,fstart,fmax,acc,dec abnehmende Beschleungung
3,fstart,fmax,acc,dec flacher abnehmende Beschleungung
e = Anzahl der Rampeneinträge

INIT INP,x

Eingaben mit INPUT und GET werden von Kanal x erwartet.
0: SIO0, mit XON/XOFF-Protokoll
1: Tastatur mit 4x4-Matrix
2: SIO1 
3: Tastatur mit 7x3-Matrix

INIT MOT

Initialisieren der Motorroutinen

INIT SIO,x,y

Initialisieren der Baudrate einer RS 232.
x = Schnittstelle (0 oder 2), y = Baudrate

INIT TIM

Wandelt Frequenztabelle in Timertabelle für Motorfahrt um.

INIT OUT,x

Ausgaben mit PRINT werden auf Kanl x umgeleitet
0: SIO 0
1: Display auf externer Tastatur
2: SIO 1, (noch nicht implementiert)

PROG

Speichern eines Programmes vom RAM ins EEPROM, mit Schreibschutz.

Die wichtigsten CALL-Befehle

Motorbefehle

CALL 3009H Einzelschritt vorwärts
CALL 300CH Einzelschritt rückwärts
CALL 3018H Positionszähler lesen
CALL 301BH Positionszähler setzen
PUSH 15:CALL 481EH Cursor aus auf LCD
PUSH 12:CALL 481EH Cursor ein auf LCD

Bus-Befehle:
adr=Adressse des Slaves 1 ... 15,

CALL 2C18H,<adr>
POP E
IF E=0 THEN POP <
STATUS>
Lese Status vom Slave
Rückgabe E = Fehlercode auf dem Stack.
Wenn kein Fehler dann 16-Bit Status auf dem Stack
CALL 2C1BH,<adr>
POP E
IF E=0 THEN POP <daten>
Lese Daten vom Slave
Rückgabe E = Fehlercode auf dem Stack.
Wenn kein Fehler dann 32-Bit Daten auf dem Stack
CALL 2C1EH,<adr>,<STATUS>
POP E

Sende Status zum Slave
STATUS = 16-Bit-Statuswort
Rückgabe E = Fehlercode auf dem Stack

CALL 2C21H,<adr>,<MSW>,<LSW>
POP E

Sende Daten zum Slave
MSW = Obere 16-Bit Daten, LSW = Untere 16-Bit Daten
Rückgabe E = Fehlercode auf dem Stack

CALL 2C24H,<adr>
POP E
IF E=0 THEN POP <daten1>,<daten2>
Lese Daten vom Slave
Rückgabe E = Fehlercode auf dem Stack.
Wenn kein Fehler dann 2 x 16-Bit Daten auf dem Stack
CALL 2C27H,<adr>
POP E
IF E=0 THEN POP <daten>
Lese Daten vom Slave Rückgabe E = Fehlercode auf dem Stack.
Wenn kein Fehler dann Daten im Zweierkompliment auf dem Stack


allgemeine Routinen:

CALL 5545H HEX-Download
Aktuelles BASIC-Programm wird vom RAM in HEX-Ziffern auf PC geladen.
Nützlich zum externen Programmieren von EPROM's.
PUSHa,b:CALL 554BH:POPx Programmieren eines Bytes ins EEPROM
a = Adresse, b = Wert, x = Fehlerwert (0 = kein Fehler)
PUSH a:CALL 554EH Auslesen des RAM in 16 Zeilen zu 16 Spalten
a = Anfangsadresse
PUSH a:CALL 5551H Auslesen des EPROM in 16 Zeilen zu 16 Spalten
a = Anfangsadresse

(C) Copyright
MOTRON Steuersysteme GmbH
Im Gewerbegebiet 6
D-91093 Heßdorf
Tel.:09135/7388-0
Fax.:09135/7388-37
eMail: motron@t-online.de
http://www.motron.de