Hallo,
ich bin der Neue und mein Name tut hier erstmal nichts zur Sache.
Momentan arbeite ich auf einer DX100 mit der Motocom32.dll, Ver. 4.42. Die Datei ALL.PRM wurde von Motoman aktualisiert.
Ich möchte eine Jobliste am PC erstellen. Meine Kommunikation steht einwandfrei. Alarme auslesen und resetten, Status abfragen, Servo an/aus, Jobs laden auf Zeile NOP ... alles mit Mausklick ... alles wunderbar.
Aber die Jobliste ...
Benutzen will ich laut Doku BscFindFirst(...) / BscFindNext(...). Sobald aber BscFindFirst aufgerufen wird, geht auf der DX gar nichts mehr. Selbst wenn mich nach einem erneuten Bsc(Re)Connect ein true zurückgegeben wird, geht absolut nichts mehr. Nur noch der Hauptschalter der DX ...
Die Funktion hängt das Programm (C++) und die Steuerung (DX) einfach ins Nirwana! Als Speicher zum Auslesen der Jobliste habe ich der Funktion 100 MB (!) zur Verfügung gestellt.
Die Funktion:
bool CRobot::jobList(m_cid, ... , bool first)
{
short ok;
if (first)
ok = BscFindFirst( usw...
else
ok = BscFindNext( usw ...
...
}
Hat wer ähnlich schlechte Erfahrungen mit o.g. Funktionspärchen gemacht? Oder die Lösung?
Als kleines Dankeschön hier noch eine Warnung:
Mit "Informlist":
IF B002<B008 THEN
ENDIF
funtioniert tadellos.
Mit "Copy'n'paste":
IF B002<B008 THEN
ENDIF
KANN einen Alarm produzieren: LABEL NICHT GEFUNDEN.
MUSS aber nicht.
Noch so'n Ding:
Sollte euch am Telefon gesagt werden,
IF B002<B008
JUMP ... IF
ENDIF
funtioniert nicht, sage ich euch:
DOCH, GEHT !!!!!!!!!! (siehe c'n'p)

Genervte Grüße vom Betatester
chezz