User avatar
BadTaste
Topic Author
Posts: 2
Joined: 03 May 2019, 09:07

Profibus RevPi Gate PROFIBUS Slave mit Codesys Runtime

03 May 2019, 09:14

Hallo liebes Forum,
ich möchte gerne den RevPi mit einer Codesys Runtime und einem Profibus Slave betreiben, ist das so möglich?
Wenn ja wie komme ich an die Daten des Moduls?
schöne Grüße
Michael
 
User avatar
dirk
KUNBUS
Posts: 338
Joined: 15 Dec 2016, 13:19

Re: Profibus RevPi Gate PROFIBUS Slave mit Codesys Runtime

08 May 2019, 16:15

Hi Michael,
momentan gibt es eine experiementelle, nicht supportete Bibliothek hierfür, die RevPiLib. Hier ist ein Tutorial https://revolution.kunbus.de/tutorials/ ... einbinden/
Wie du generell die Codesys Runtime auf Dein RevPi bringst und eine Lizenz aufspielst, unterscheidet sich nicht von der Vorgehensweise für das RaspberryPi CM3. Also schau mal bei Codesys vorbei für Infos hierzu.
 
User avatar
BadTaste
Topic Author
Posts: 2
Joined: 03 May 2019, 09:07

Re: Profibus RevPi Gate PROFIBUS Slave mit Codesys Runtime

14 May 2019, 08:19

Hallo,
danke für den Link. Ich habe aber leider Probleme auf den Offstet zu schreiben. Beim lesen habe ich kein Problem und auch mit piTest kann ich auf das Abbild schreiben
hat jemand einen Tip was ich hier falsch mache?
pi@RevPi13263:~ $ piTest -d
Found 2 devices:

Address: 0 module type: 105 (0x69) RevPi Connect V1.0
Module is present
     input offset: 1024 length: 6
    output offset: 1030 length: 5

Address: 31 module type: 77 (0x4d) Gateway Profibus V0.0
Module is present
     input offset: 0 length: 512
    output offset: 512 length: 512

das funktioniert gut --->
pi@RevPi13263:~ $ piTest -w 512,2,3333
Write value d05 hex (=3333 dez) to offset 512.
Leider kann ich aber über die Codesys nicht schreiben (lesen funktioniert gut). Es gibt keine Fehlermeldung des rpi.REVPI_PIOUT_INT hier mal ein stark vereinfachter Code der mir zum testen dient :
klappt leider nicht --->
// OFFSET BERECHNEN  	###################################
// Lesen
OFFSET[1]:=I*2;
PEV_IN(uiMaxIndex:=4096 , resErr:= , eError=>ER_01 );
READ_INPUT(auiOffset:=OFFSET , iIn=>DATPOINT );
WERTE_IN[i]:=ROL(DATPOINT,8);

// Schreiben
PEV_OUT(resErr:=reset , eError=>ER_02 );

OFFSET_W[1]:=512;
WRITE_OUTPUT(auiOffset:=OFFSET_W , iOut:=1111 );
OFFSET_W[1]:=514;
WRITE_OUTPUT(auiOffset:=OFFSET_W , iOut:=2222 );
OFFSET_W[1]:=516;
WRITE_OUTPUT(auiOffset:=OFFSET_W , iOut:=3333 );
schöne Grüße
Michael

Who is online

Users browsing this forum: No registered users and 1 guest