Announcement

Collapse
No announcement yet.

Text File Codierung

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Text File Codierung

    Hallo Miteinander,

    ich bin neu hier und komme eigentlich aus der Roboterwelt (industrie)


    Es gibt aber ein Problem bei dem Ihr mir vielleicht weiterhelfen könnt.


    Die Programme der Industrie Roboter von ABB kann man mit einem einfachen Text Editor erstellen.
    Die Sprache nennt sich rapid und beinhaltet zum Teil vorgefertigte Funktion ansonsten kann man das ding eigentlich frei programmieren.

    Muster
    -----------------------

    MODULE TEST_SYS(SYSMODULE,NOSTEPIN)


    !************************************************* *********
    !* Procedure System_Event *
    !* *
    !* set monitoring for worldzones *
    !* is called by systemaction *
    !* *
    !* Date: Version: Programmer: Reason: *
    !* 15.09.08 1.0 B.Kebekus *
    !************************************************* *********
    PROC System_Event ( )

    TEST EventType()
    CASE EVENT_NONE:
    !----------------------------------------------------
    ! Not executing any event
    !----------------------------------------------------
    CASE EVENT_POWERON:
    !----------------------------------------------------
    ! Executing POWER ON event
    !--------- !
    !Aktivierung Weltzone Arbeitsbereich SGM
    WZBoxDef\Inside,SD_AR_SGM,P1_AR_SGM,P2_AR_SGM;
    !Ausgangverknüpfung mit Weltzone und Würfel
    WZDOSet\Stat,WZ_AR_SGM\Inside,SD_AR_SGM,SDO_AR_SGM ,1;
    !
    !Aktivierung Weltzone Arbeitsbereich ROBOT
    WZBoxDef\Inside,SD_AR_ROBOT,P1_AR_ROBOT,P2_AR_ROBO T;
    !Ausgangverknüpfung mit Weltzone und Würfel
    WZDOSet\Stat,WZ_AR_ROBOT\Inside,SD_AR_ROBOT,SDO_AR _ROBOT,1;
    !
    !Aktivierung Weltzone Arbeitsbereich BAND
    WZBoxDef\Inside,SD_AR_BAND,P1_AR_BAND,P2_AR_BAND;
    !Ausgangverknüpfung mit Weltzone und Würfel
    WZDOSet\Stat,WZ_AR_BAND\Inside,SD_AR_BAND,SDO_AR_B AND,0;
    !
    !Aktivierung Weltzone Arbeitsbereich QS Band
    WZBoxDef\Inside,SD_AR_QS,P1_AR_QS,P2_AR_QS;
    !Ausgangverknüpfung mit Weltzone und Würfel
    WZDOSet\Stat,WZ_AR_QS\Inside,SD_AR_QS,SDO_AR_QS,0;
    !
    !Aktivierung Weltzone Arbeitsbereich NIO Band
    WZBoxDef\Inside,SD_AR_NIO,P1_AR_NIO,P2_AR_NIO;
    !Ausgangverknüpfung mit Weltzone und Würfel
    WZDOSet\Stat,WZ_AR_NIO\Inside,SD_AR_NIO,SDO_AR_NIO ,0;
    !
    !Aktivierung Weltzone Arbeitsbereich ANGUSS
    WZBoxDef\Inside,SD_AR_ANGUSS,P1_AR_ANGUSS,P2_AR_AN GUSS;
    !Ausgangverknüpfung mit Weltzone und Würfel
    WZDOSet\Stat,WZ_AR_ANGUSS\Inside,SD_AR_ANGUSS,SDO_ AR_ANGUSS,0;
    !
    !Aktivierung Weltzone Arbeitsbereich WT1
    WZBoxDef\Inside,SD_AR_WT1,P1_AR_WT1,P2_AR_WT1;
    !Ausgangverknüpfung mit Weltzone und Würfel
    WZDOSet\Stat,WZ_AR_WT1\Inside,SD_AR_WT1,doAus_Ber_ WT1,0;
    !
    !Aktivierung Weltzone Arbeitsbereich WT2
    WZBoxDef\Inside,SD_AR_WT2,P1_AR_WT2,P2_AR_WT2;
    !Ausgangverknüpfung mit Weltzone und Würfel
    WZDOSet\Stat,WZ_AR_WT2\Inside,SD_AR_WT2,doAus_Ber_ WT2,0;
    !
    !Aktivierung Weltzone Arbeitsbereich DT
    !WZBoxDef\Inside,SD_AR_DT,P1_AR_DT,P2_AR_DT;
    WZCylDef\Inside, SD_AR_DT, [1160,2340,-2000], 500, 1500;
    !Ausgangverknüpfung mit Weltzone und Würfel
    WZDOSet\Stat,WZ_AR_DT\Inside,SD_AR_DT,doAus_Ber_DT ,0;
    !
    !Aktivierung Weltzone Homeposition
    WZHomeJointDef\Inside,SD_Home,pHomeABS,pHomeABS_De lta;
    !Ausgangverknuepfung mit Weltzone und Wuerfel
    WZDOSet\Stat,WZ_Home\Inside,SD_Home,sdo_HomePos,1;
    !----------------------------------------------------
    CASE EVENT_START:
    !----------------------------------------------------
    ! Executing START event
    !---------
    !Startmeldung an SPS
    PulseDO \PLength:=0.7, doStartSPS;
    !---------
    !Loeschen Merker Trigger sind initialisiert
    bTriggInit:=FALSE;
    !---------
    !system was switched to manual mode
    IF OpMode()=OP_AUTO THEN
    !robot is moved in Manual mode
    IF PPMovedInManMode()=TRUE THEN
    !set PP back to main
    ResetPPMoved;
    !Antwort von Bediener

    !Auskommentiert am 23.03.15AO
    !IF b_Question(9)=TRUE THEN
    !back to main
    ! Main;
    !ENDIF

    !programm abbruch
    HR_EXIT;
    ENDIF
    ENDIF
    !----------------------------------------------------
    CASE EVENT_STOP:
    !----------------------------------------------------
    ! Executing STOP event
    !---------
    !Stopmeldung an SPS
    PulseDO \PLength:=0.7, doStopSPS;
    !----------------------------------------------------
    CASE EVENT_QSTOP:
    !---------
    !Stopmeldung an SPS
    PulseDO \PLength:=0.7, doStopSPS;
    !----------------------------------------------------
    ! Executing QSTOP event
    !----------------------------------------------------
    CASE EVENT_RESTART:
    !----------------------------------------------------
    ! Executing RESTART event
    !---------
    !Startmeldung an SPS
    PulseDO \PLength:=0.7, doStartSPS;
    !---------
    !Loeschen Merker Trigger sind initialisiert
    bTriggInit:=FALSE;
    !---------
    !system was switched to manual mode
    IF OpMode()=OP_AUTO THEN
    !robot is moved in Manual mode
    IF PPMovedInManMode()=TRUE THEN
    !set PP back to main
    ResetPPMoved;
    !Antwort von Bediener

    !Auskommentiert am 23.03.15AO
    !IF b_Question(9)=TRUE THEN
    !back to main
    ! Main;
    ! ENDIF

    !programm abbruch
    HR_EXIT;
    ENDIF
    ENDIF
    !----------------------------------------------------
    CASE EVENT_RESET:
    !----------------------------------------------------
    ! Executing RESET event
    !----------------------------------------------------
    ENDTEST
    !---------
    ENDPROC


    ENDMODULE


    ----------------------------------

    So schön so gut.

    Nun gibt es vom Hersteller bestimmte Application Dateien die KnowHow geschütz sind (Macht Sinn)

    Sieht dann so aus!

    ----------------------------------

    00000000h: FC 5C D7 29 0C 01 40 00 A7 B2 99 8C 7B 5C D7 29 ; ü\x)..Q.$² {\x)

    und das geht dann über mehrere Zeilen so.


    (Leider nur eine Zeile Auszug Shnapshot lässt sich nicht laden)


    Meine Frage nun:

    1. Was ist das für eine Codierung?
    2. Wie kann ich es schaffen das ich meine erstellten Dateien genauso wandeln kann (KnowHow Schutz für meine Dateien)


    Vielen Dank im Voraus

    Bodo






  • #2
    1. Hexadezimale Bytes an einer Adresse das ist die Ansicht in einem x-beliebigen HexEditor
    2. Jedes Byte als Hex-String in eine Datei speichern. Wenn das x-Anbieter so machen,sollte es irgendwo eine Schnittellenbeschreibung geben
    Christian

    Comment

    Working...
    X