18. März 2019, 22:47:01
Roboterforum.de - Die Industrieroboter- Anwender und Experten Community

 Karel-Hilfsprogramchen


veryhot_post Autor Thema:  Karel-Hilfsprogramchen  (Gelesen 10861 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

28. Dezember 2006, 17:13:30
Gelesen 10861 mal
Offline

heini0707


Hi,

hab heute bisl mit Karel gespiel, das ist dabei rausgekommen:

PROGRAM ALARMA
%NOLOCKGROUP

VAR
  param_no,
  par_typ,
  par_int,
  part_no,
  status     : INTEGER
  par_real   : REAL
  par_str,
  screen_     : STRING[80]

BEGIN

  status=0
  param_no=1
  -- Variablen vom Aufruf lesen
  get_tpe_prm(param_no,par_typ,par_int,par_real,par_str,status)
  IF (par_typ=1) AND (status=0) THEN --INTEGER
    WRITE TPERROR(par_int,CR)
  ENDIF
  IF (par_typ=2) AND (status=0) THEN --REAL
    WRITE TPERROR(par_real,CR)
  ENDIF
  IF (par_typ=3) AND (status=0) THEN --STRING
    WRITE TPERROR(par_str,CR)
  ENDIF

END ALARMA

Aufruff:

/PROG  TEST
/ATTR
OWNER = MNEDITOR;
COMMENT = "";
PROG_SIZE = 144;
CREATE = DATE 06-12-27  TIME 17:19:04;
MODIFIED = DATE 06-12-28  TIME 15:31:18;
FILE_NAME = ;
VERSION = 0;
LINE_COUNT = 1;
MEMORY_SIZE = 488;
PROTECT = READ_WRITE;
TCD:  STACK_SIZE = 0,
      TASK_PRIORITY = 50,
      TIME_SLICE = 0,
      BUSY_LAMP_OFF = 0,
      ABORT_REQUEST = 0,
      PAUSE_REQUEST = 0;
DEFAULT_GROUP = *,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
/MN
   1:  CALL ALARMA('Bla Bla Bla Bla ') ;
/POS
/END

Funktion ersetzt die Useralarme die man aufwendig parametrieren muss  :ylsuper:

Hat jemand solche änliche kleine Helfer? Die können viel Arbeit und Zeit sparen.

MfG heini
  • gefällt mir    Danke

Heute um 22:47:01
Antwort #1

Werbung

Gast

28. Dezember 2006, 18:38:31
Antwort #1
Offline

WolfHenk


Ich hab viele kleine Helferlein...

Ich weiß z.B. wie man die I/O-Namen am PC bearbeiten kann.

  • gefällt mir    Danke
Wolfram (Cat) Henkel

never forget Asimov's Laws at the programming of robots...

"Safety is an integral part of function. No safety, no production. I don't buy a car without brakes."

https://www.xing.com/go/invite/5634410.eb15e5

PMs und Mails mit Anfragen wie "Wie geht das..." werden nicht beantwortet. Diese Fragen und die Antworten interessieren jeden hier im Forum.

28. Dezember 2006, 19:55:34
Antwort #2
Offline

DKeipp


  • gefällt mir    Danke
MfG
Dennis Keipp

Geiz macht Krank... Qualität ist Geil!

29. Dezember 2006, 09:50:40
Antwort #3
Offline

heini0707


Hi,

WolfHenk, ab 2007 werden Roboter nur mit iPendant's ausgeliefert und da kann man über IExplorer die Bezeichnung ändern/erstellen.
Aber einen großen Nachteil hat es, man muss online sein  :(

Un du kanns die IO..... -Datei ofline bearbeiten?
Das währe doch was, kannst dann bitte reinstellen   :blumen:

MfG heini
  • gefällt mir    Danke

29. Dezember 2006, 22:39:04
Antwort #4
Offline

WolfHenk


 :biggrins:

Nu, gaaanz so öffentlich möcht ich das bitte nicht tun müssen.

Aber wir sehen uns sicher mal auf irgend ner Baustelle...
  • gefällt mir    Danke
Wolfram (Cat) Henkel

never forget Asimov's Laws at the programming of robots...

"Safety is an integral part of function. No safety, no production. I don't buy a car without brakes."

https://www.xing.com/go/invite/5634410.eb15e5

PMs und Mails mit Anfragen wie "Wie geht das..." werden nicht beantwortet. Diese Fragen und die Antworten interessieren jeden hier im Forum.

Heute um 22:47:01
Antwort #5

Werbung

Gast

30. Dezember 2006, 09:43:17
Antwort #5
Offline

heini0707


Hi,

WolfHenk, ich glaub kaum, dass wir uns sehen, unser Kundenspektrum ist sehr eng, nur Zerspannungsmaschinen, ich gehe nur auf drei Messen:
EMO in Hanover, AMB in Stuttgart und AUTOMATIKA in Sinsheim (das nächste mal glaub ist die in Stuttgart).

Hat noch jemand Ideen, Lösungsansätze für die Erleichterung des Lebens :) , es müssen nicht fertige Programme sein, wenn die Idee da ist, lässt sich auch das Programmchen erstellen.

MfG heini
  • gefällt mir    Danke

02. Januar 2007, 23:16:18
Antwort #6
Offline

rob76

Global Moderator
Wenn du dir was selber basteln willst, schau dir im karelhandbuch mal den befehl an:
 SET_PORT_CMT(port_type, IOIndex, iocmtstr, status)
sollte dir weiterhelfen.
  • gefällt mir    Danke

03. Januar 2007, 13:22:54
Antwort #7
Offline

heini0707


Hi,

rob76 danke für den Hinweis, und schon kommt die Anwort.
Da muss ich zugeben,  es ist bequemer ofline die Beschriftungen erstellen als online, da muss man vor Ort nur FWD drücken und schon hat man das Ergebniss.
Dank ROBOGUIDE kann ich die KAREL-Programme sehr schnell testen, siehe Ergebniss  :ylsuper: :ylsuper: :ylsuper::

PROGRAM SET_IO

%ALPHABETIZE  --anordnen Variablen nach Alphabet

%NOLOCKGROUP  --keine Achsen

%NOPAUSE     = COMMAND + TPENABLE + ERROR
%NOBUSYLAMP    -- BUSY und RUNNING AUS
%COMMENT     = 'Set IO Kommentar'

VAR

   -- Eigene Variablen
  status       : INTEGER                -- Statusvariable von Build In Routinen

--*******************************************************************
-- Hauptprogramm

-- Kommentare den IO's zuweisen
-- Maximal 16 Zeichen, keine Umlaute
-- Mit dem Programm werden die DI[1], DI[2] und DO[1], DO[2] beschriftet
-- Das Programm lässt sich perfekt mit EXCEL erstellen

--*******************************************************************

BEGIN

-- Eingänge
SET_PORT_CMT(1, 1, 'EINGANG 1',status)
SET_PORT_CMT(1, 2, 'EINGANG 2',status)

-- Ausgänge
SET_PORT_CMT(2, 1, 'AUSGANG 1',status)
SET_PORT_CMT(2, 2, 'AUSGANG 2',status)

END SET_IO

WolfHenk, und so viel know how liegt nicht dahinter, dass du es geheim halten willst :? , na ja ist halt deine Sache   :eviltongue:
Ich hab nur n Problemchen mit ENGLISCH  :bawling: , deswegen fällt mir die eine oder andere Sache schwieriger

MfG heini
« Letzte Änderung: 03. Januar 2007, 13:24:28 von heini0707 »
  • gefällt mir    Danke

03. Januar 2007, 13:49:43
Antwort #8
Offline

heini0707


Hi,

ihr werdet mir nicht glauben, aber ich bin auf den Geschmack gekommen:

PROGRAM SET_P

%ALPHABETIZE  --anordnen Variablen nach Alphabet

%NOLOCKGROUP  --keine Achsen

%NOPAUSE     = COMMAND + TPENABLE + ERROR
%NOBUSYLAMP    -- BUSY und RUNNING AUS
%COMMENT     = 'Set P Kommentar'

VAR

   -- Eigene Variablen
  status       : INTEGER                -- Statusvariable von Build In Routinen

--*******************************************************************
-- Hauptprogramm

-- Kommentare den P's zuweisen
-- Maximal 16 Zeichen, keine Umlaute
-- Mit dem Programm werden die R[1], R[2], R[3] und R[4] beschriftet
-- Das Programm lässt sich perfekt mit EXCEL erstellen

--*******************************************************************

BEGIN

-- Register
SET_REG_CMT(1, 'LAENGE 1',status)
SET_REG_CMT(2, 'LAENGE 2',status)
SET_REG_CMT(3, 'LAENGE 3',status)
SET_REG_CMT(4, 'LAENGE 4',status)

END SET_P

PROGRAM SET_PR

%ALPHABETIZE  --anordnen Variablen nach Alphabet

%NOLOCKGROUP  --keine Achsen

%NOPAUSE     = COMMAND + TPENABLE + ERROR
%NOBUSYLAMP    -- BUSY und RUNNING AUS
%COMMENT     = 'Set PR Kommentar'

VAR

   -- Eigene Variablen
  status       : INTEGER                -- Statusvariable von Build In Routinen

--*******************************************************************
-- Hauptprogramm

-- Kommentare den PR's zuweisen
-- Maximal 16 Zeichen, keine Umlaute
-- Mit dem Programm werden die PR[1], PR[2], PR[3] und PR[4] beschriftet
-- Das Programm lässt sich perfekt mit EXCEL erstellen

--*******************************************************************

BEGIN

-- Positionsregister
SET_PREG_CMT(1, 'REFPOS 1',status)
SET_PREG_CMT(2, 'REFPOS 2',status)
SET_PREG_CMT(3, 'REFPOS 3',status)
SET_PREG_CMT(4, 'REFPOS 4',status)

END SET_PR


 :uglyhammer_2:

isch ja herlich

MfG heini
« Letzte Änderung: 04. Januar 2007, 11:51:36 von heini0707 »
  • gefällt mir    Danke

Heute um 22:47:01
Antwort #9

Werbung

Gast

03. Januar 2007, 15:45:53
Antwort #9
Offline

WolfHenk


manches ist auch nicht auf meinem Mist allein gewachsen... Daher könnte ich Ärger kriegen, was ich gern vermeide.

Daher gebe ich einiges eben nur persönlich weiter. Da weiß ich dann, wo es landet oder wo der Schlag her kommt... :waffen100:
  • gefällt mir    Danke
Wolfram (Cat) Henkel

never forget Asimov's Laws at the programming of robots...

"Safety is an integral part of function. No safety, no production. I don't buy a car without brakes."

https://www.xing.com/go/invite/5634410.eb15e5

PMs und Mails mit Anfragen wie "Wie geht das..." werden nicht beantwortet. Diese Fragen und die Antworten interessieren jeden hier im Forum.

04. Januar 2007, 14:35:38
Antwort #10
Offline

mwe


Hallo zusammen,

ich kann WolfHenk nur Recht geben.
Habe mir auch das ein oder andere Hilfstool gebastelt und/oder von dem Roboterhersteller geben lassen.
Das ist dann halt (zum Teil) fremdes Gedankengut, was nicht zur freien Verbreitung gedacht ist.

Wenn jemand was bestimmtes braucht, bitte eine PM an mich.
Evtl. kann ich dann weiterhelfen.

Übrigens kann man sich mit den sehr zahlreichen Built-Ins so ziemlich alles zusammenbasteln.
Bei dem ein oder anderen Built-In ist die Erklärung im Handbook allerdings sehr dürftig.  :down:
Da hilft dann nur auspropieren ...

Wenn man nun noch ROBOGUIDE zum testen hat, ist das eine feine Sache.  :supi:

Gruß
mwe
  • gefällt mir    Danke

18. Februar 2007, 14:08:44
Antwort #11
Offline

heini0707


Halölchen,

hab heute in TP sinus-Funktion gebraucht und hab vergeblich gesucht. Entweder bin ich zu blöd zu finden, oder gibt es wirklich in TP keine Winkelfunktionen.

Deswegen hab mir heute kurzerhand die Winkelfunktionen gebastelt.
Muss ja nicht noch einer Zeit verbraten  :ylsuper:

Aufruff im TP:
   1:  !(Winkel, R fuer Wert)
   2:  CALL RECH_COS(15.5,100)

Programchen selbst:
PROGRAM RECH_COS
%ALPHABETIZE
%COMMENT = 'Ausrechnen COS'
%NOLOCKGROUP

VAR
  r_WINKEL         : REAL        --Winkel vom HP
  i_WERTPAR        : INTEGER     --Parameternummer vom HP,
  --wo der ausgerechneter Wert abgespeichet werden soll
  r_WERT           : REAL        --ausgerechneter Wert

  data_type        : INTEGER     -- Datatype
  int_value        : INTEGER     -- Rueckgabe des Integerwert in Register
  real_value       : REAL        -- Rueckgabe des Realwertes in Register
  status           : INTEGER     -- Statusvariable von Build In Routinen
  string_value     : STRING[80]  -- Stringwert


BEGIN

  -- RECH_COS(r_WINKEL,i_WERTPAR)

  -- get parameter 1
  Get_tpe_prm(1, data_type, int_value, r_WINKEL, string_value, status)

  -- get parameter 2
  Get_tpe_prm(2, data_type, i_WERTPAR, real_value, string_value, status)

  r_WERT=COS(r_WINKEL) -- Wert ausrechnen

  SET_REAL_REG(i_WERTPAR, r_WERT, status) -- Setzen in Register... den ausgerechneten Wert

END RECH_COS

WICHTIG! Keine Gewährleistung!!!

MfG heini
« Letzte Änderung: 18. Februar 2007, 14:15:07 von heini0707 »
  • gefällt mir    Danke

18. Februar 2007, 14:11:09
Antwort #12
Offline

heini0707


 ach so, vergisst nicht die Variable $KAREL_ENB auf 1 zu setzen, sonst könnt ihr nicht Karelprogramme als UP aufzuruffen  :ylsuper:
  • gefällt mir    Danke

Heute um 22:47:01
Antwort #13

Werbung

Gast

21. Februar 2007, 18:07:07
Antwort #13
Offline

dingi


Hallo heini0707.

Es geht um die Beschriftung der Roboter-EA.
 :danke: für Deine Bemühungen.

1. Tabelle mit EA erstellen
2. Inhalte der Tabelle in das Programm einbauen
3. Programmendung mit .kl
4. Programm auf dem Roboter starten

Habe ich Dich so richtig verstanden?

Tschüß Frank
  • gefällt mir    Danke

21. Februar 2007, 20:41:54
Antwort #14
Offline

rob76

Global Moderator
warum umständlich die kommentare ins programm einpflegen und kompilieren?
mit karel lässt sich das auch ohne probleme als datei von der flashkarte einlesen.
  • gefällt mir    Danke


Teile per facebook Teile per linkedin Teile per pinterest Teile per reddit Teile per twitter
 

über das Roboterforum

Nutzungsbedingungen Impressum Datenschutzerklärung

Sponsoren des Roboterforums

ROBTEC GmbH