Beiträge von henni

    guten morgen zusammen!
    ich wollt euch mal um rat bitten, denn ich komm mit meiner meldungsprorammierung nicht weiter! ich moechte gern den inhalt der variable x ausgeben ("myMessage (x), jedoch ist diese ja eine integer und ich muesste diese wohl irgendwie in eine char wandeln. jedoch klappt das nicht, habs schon mit swrite versucht, jedoch hat sich das system dabei aufgehangen ... .
    vielleicht koennt ihr mir da ja einen loesungsvorschlag anbieten, einen programmauszug haeng ich unten mit ran
    viele gruesse
    torsten


    GLOBAL DEF myMessage(MSG_Text[]: IN)
    DECL CHAR MSG_Text[]
    IF NOT MsgActive THEN
    MsgActive=TRUE
    $MSG_T={MSG_T: VALID FALSE,RELEASE FALSE,TYP #STATE,MODUL[] "SYM",KEY[] " ",PARAM_TYP #VALUE,PARAM[] " ",DLG_FORMAT[] " ",ANSWER 0}
    $MSG_T.KEY[]=MSG_Text[]
    $MSG_T.VALID=TRUE
    ENDIF
    END

    ok, das mit dem dat-file hoert sich fuer mich am brauchbarsten an.
    in der .src krieg ich ja meine variablen ganz gut geschaukelt und jongliert. aber ich versteh eins nicht: ich hab z.b. eine variable namens xy und beschreibe diese via rs232 mit dem wert 15. jetzt moecht ich aber in der .dat den inhalt, also die 15 zu stehen haben. beim naechsten mal z.b. beschreibe ich diese variable mit 22 und moechte diese wiederrum auch in der .dat speichern.
    kann mir dabei jemand helfen bzw mal nen tip oder ne richtung vorgeben?
    viele gruesse

    hallo und mahlzeit zusammen!
    ich will demnaechst ueber die serielle schnittstelle die daten einer extern angebrachten waage auswerten.
    jetzt bin ich seit ner ganze weile auf der suche nach einer moeglichkeit, die empfangenen daten (variablen) in einer externen datei (z.b. textdatei auf usb oder disk) zu speichern, um sie spaeter am rechner auswerten zu koennen.
    koennt Ihr mir da weiter helfen? die suche hier im forum konnte mich bisher nicht weiter bringen ... .
    vielen dank schonmal im voraus
    henni


    Version = V5.4.14

    hallo und einen wunderschoenen guten morgen zusammen!
    wir lackieren hier mit nem kr16 rahmen fuer den panamera und nachdem ich die wege ein wenig korrigiert habe und die aussenkante sauber mit linear- und kreisbewegungen rundum abfahr, ergibt sich jetzt ein geschwindigkeitsproblem ...
    der tcp liegt ja ungefaehr 10cm vor der duese und wenn ich eine scharfe ecke umfahr, bewegt sich der tcp kaum, aber die achsen haben einiges zu verfahren. die geschwindigkeit ist ja aber auf den tcp bezogen und wird von einer externen sps vorgegeben. wenn mir die sps nun 100% als geschwindigkeit vorgibt, faehrt alles super ... fast alles, denn in einer ecke kommt es dann aufgrund o.g. problematik zur geschindigkeitsueberschreitung der A4 und der kuka faellt in die bremse und nimmt sich mal eben 143 sec bremsabkuehlzeit ....
    was kann ich tun, um die geschwindigkeit trotzdem von der sps regeln lassen zu koennen (bis 100%)? kann ich die geschwindigkeit einzelner achsen irgendwie deckeln, um dem problem zu entgehen? wenn ich an dieser einen ecke mitm tcp etwas langsamer bin, kann ich sicher mit leben ....
    vielen dank in voraus und nen ruhigen arbeitstag gewuenscht!!

    das klingt brauchbar und logisch, wobei ich aber nicht mehr genau weiss, ob ich zurerst das programm oder den aufruf in cell gemacht habe. das erklaert auch juergens tip "leerzeile einfuegen".
    vielen dank :applaus: und bis bald, werd bestimmt bald wieder mal wieder ein pillepalleproblem zu loesen haben

    tachn speddy!
    ich hab in der datensicherung komplett alles nach alten unterprogrammnamen (zb. "Teil_A") in den dateien durchsuchen lassen, und nichts gefunden. lediglich in einer "modsize.***" datei hab ich was gefunden, das scheint aber nur eine groessenzuordnung zu sein. es ist mir einfach raetselhaft, ich mein, haett ich vorher schon was von deklarationen der unterprogramme in meinen sicherungen gefunden, haett ich doch sofort mein zaubertestprogramm ;) dort ergaenzt ....

    guten morgen alle zusammen!
    ich muss mal eben das thema nochmal aufgreifen, weil es mir noch immer an dem noetigen verstaendnis fehlt.
    hmmm, wieso muss ich mein neues unterprogramm denn extra deklarieren,wenn doch alle anderen (von meinem vorgaenger) schon verhandenen unterprogramm ganz ohne diese deklaration auskommen? :nocheck: ich wuerds gern verstehen und vielleicht hat ja jemand von euch eine brauchbare erklaerung ....
    viele gruesse
    henni

    ich hab in der config.dat, wie von euch gesagt, einfach das programm test mal auf extern deklariert und siehe da, es funzt! also verstehen geht anders .. aber es laeuft jetzt! puh schnauf ....
    habt vielen vielen dank fuer eure schnelle hilfe, ich kann jetzt endlich feierabend machen ;)
    nen schicken abend noch gewuenscht!
    henni

    hmmm, auch in der config.dat fehlanzeige ... keinerlei programme zu finden sort, nur sowas hier:


    ;==================================
    ; Userdefined Externals
    ;==================================
    SIGNAL E_ReinigenFertig $IN[20]
    SIGNAL E_LinkeDuese $IN[21]
    SIGNAL E_Gedreht $IN[22] TO $IN[24]
    ;SIGNAL E_TeileAnz $IN[25] TO $IN[32]
    SIGNAL E_Speed1 $IN[41] TO $IN[48]
    SIGNAL E_Speed2 $IN[49] TO $IN[56]
    SIGNAL E_Speed3 $IN[57] TO $IN[64]
    SIGNAL E_Speed4 $IN[65] TO $IN[72]
    SIGNAL E_Speed5 $IN[73] TO $IN[80]
    SIGNAL E_Speed6 $IN[81] TO $IN[88]
    SIGNAL E_Speed7 $IN[89] TO $IN[96]
    SIGNAL E_Speed8 $IN[97] TO $IN[104]


    .
    .
    .




    KRC V5.4.14 .... ich hoffe, das hilft ...

    hallo titan!
    aber dann muessten die anderen "unterprogramme" doch auch dort angegeben sein ...
    hier mal ein auszug aus der "cell" :


    DEF CELL ( )
    ;FOLD INIT
    DECL CHAR DMY[3]
    DMY[]="---"
    ;ENDFOLD (INIT)
    ;FOLD BASISTECH INI
    GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
    INTERRUPT ON 3
    BAS (#INITMOV,0 )
    ;ENDFOLD (BASISTECH INI)
    ;FOLD CHECK HOME
    $H_POS=XHOME
    IF CHECK_HOME==TRUE THEN
    ; P00 (#CHK_HOME,#PGNO_GET,DMY[],0 ) ;Testing Home-Position
    ENDIF
    ;ENDFOLD (CHECK HOME)
    GoHome()
    ;FOLD AUTOEXT INI
    P00 (#INIT_EXT,#PGNO_GET,DMY[],0 ) ; Initialize extern mode
    ;ENDFOLD (AUTOEXT INI)
    LOOP
    GoHome()
    PGNO=0
    REPEAT
    P00 (#EXT_PGNO,#PGNO_GET,DMY[],0 )
    UNTIL PGNO<>0
    SWITCH PGNO ; Select with Programnumber
    CASE 1
    P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request
    Teil_A ( ) ; Call User-Program Dichtung Deckel
    CASE 2
    P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request
    test ( ) ; Call User-Program testversion
    CASE 3
    .
    .
    .

    hallo!
    also ich hab, wie in der ueberschrift schon angedeutet, das problem, dass mein neues "unterprogramm" nicht aufgerufen wird und in der "cell" der oben genannte fehler angezeigt wird.
    im original werden die unterprogramm mit switch - case angewaehlt. jetzt habe ich einfach eines geloescht und ein neues erstellt namens "test". aber wenn ich dieses "test" mit test ( ) nach case 2 aufrufen will, gehts nicht. was fuer eine kleinigkeit habe ich da schon wieder uebersehen? muss ich "test" irgendwo vorher als unterprogramm deklarieren?
    danke im voraus
    henni

    das klingt logisch. hmmm, hab ich moeglicherweise nen unterprogramm uebersehen, werd ich morgen mal recha(e?)rchieren.
    vielen dank fuer die schnellen hilfen!!
    mfg
    henni

    hey rainer, das koennte sein, dass ich den unterstrich uebersehen habe. was hat das dann zu bedeuten?
    bin grad zu hause und kanns leider nicht im programm nachschauen.

    hmmm, das weiss ich leider eben auch nicht. stolper in dem programm ueber fast jeden befehl ... :roll:
    in der zeile stehts halt so drinnen und ich kann das irgendwie nicht wirklich deuten.

    kann mir jemand sagen, welche auswirkungen die zahlen in den klammern bewirken:
    set lackierduese (50;-50)
    wird der ausgang wegverzoegert gesetzt und abgeschalten oder zeitversetz oder wie?
    mfg
    henni