Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 6 von 6

Thema: B&R ANSI C FUB-Aufruf

  1. #1
    Registriert seit
    14.11.2006
    Beiträge
    16
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Problem behoben

    Hallo Zusammen

    Kann mir jemand einen Tipp gebe, warum der Compiler einen Fehler anzeigt?

    Code:
    #include <bur/plc.h> 
    #include "bur/plctypes.h"
    #include "brsystem.h"
    #include "sys_lib.h"
    _LOCAL RTInfo_typ rt_info; /* instance variable of RTInfo */
     
    /*************************************************************
    * init up
    **************************************************************/
    void _INIT dev_com(void)
    {
     
    rt_info.enable = 1; /* enables the function */
    RTInfo(&rt_info); /* gets information from the software object */
    uchCycTim = rt_info.cycle_time/1000;  /* cycle time in ms */
    }
    
    Compiler Meldung mit Link zu oben rot markierter Zeile:
    Code:
    \pgm\project\cpu\dev_com.c:(122) :Error: undefined reference to `_RTInfo'
    Anbei noch das Beispiel aus der B&R-Hilfe:
    Code:
    #include <bur/plc.h>
    #include <brsystem.h>
     
    _GLOBAL RTInfo_typ rt_info;
     
    void _INIT init(void)
    {         
    rt_info.enable = 1;     /* enables the function */
    RTInfo(&rt_info);       /* gets information from the software object */
     
    }
    Vielen Dank

    RWY
    Geändert von RWY (29.08.2008 um 11:38 Uhr)
    Zitieren Zitieren B&R ANSI C FUB-Aufruf  

  2. #2
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    ohne jemals eine B&R unter den fingern gehabt zu haben:

    gibt es einen unterschied in der schreibweise von

    #include <brsystem.h>
    und
    #include "brsystem.h"



    und der zweite unterschied: das beispiel arbeitet global, du lokal ... würd ich mal anders probieren und wenn es global geht mal rausfinden, was bei kokal noch so zu beachten ist
    Geändert von vierlagig (28.08.2008 um 06:56 Uhr)
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  3. #3
    RWY ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    14.11.2006
    Beiträge
    16
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    vielen dank für deine anworten, lokal oder global wie auch "" oder <> haben keinen Einfluss.

  4. #4
    Registriert seit
    28.04.2005
    Beiträge
    205
    Danke
    22
    Erhielt 17 Danke für 14 Beiträge

    Standard

    Hast du die Library-Files mit hilfe des Library-Managers in dein Projekt eingebunden?
    Sind die .h Files auch in dem gleichen Strang wie die .c Files?

    Ausserdem fehlt bei deinem Code die zweite "}" Klammer am Schluss und das "void" kommt vor das _INIT. Mach doch auch mal den "/" vor der Zeile rt_info... weg.

    Hast du schon mal erfahrung mit C an anderer Stelle gemacht? Wenn nein, würde ich dir nicht empfehlen bei B&R damit anzufangen. Denn auch wenn Sie schreiben ANSI-C, ist das genauso weit weg wie Step-7 von der IEC61131. Es fehlen manche grundlegenden funktionen, oder heissen anders oder funktionieren einfach anders als sie es laut ANSI tun sollten.

    MFG

    Markus
    Geändert von da_kine (28.08.2008 um 11:53 Uhr)

  5. Folgender Benutzer sagt Danke zu da_kine für den nützlichen Beitrag:

    RWY (29.08.2008)

  6. #5
    RWY ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    14.11.2006
    Beiträge
    16
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von da_kine Beitrag anzeigen
    Hast du die Library-Files mit hilfe des Library-Managers in dein Projekt eingebunden?
    Sind die .h Files auch in dem gleichen Strang wie die .c Files?
    Ja, die Libraries habe ich mit dem Manager eingebunden und die .h- und .c-Files befinden sich im gleichen Strang.
    Ich denke, dass ich ein Library-Problem habe, da es bei einem Kollegen ohne Fehler kombilierbar ist.

    Zitat Zitat von da_kine Beitrag anzeigen
    Ausserdem fehlt bei deinem Code die zweite "}" Klammer am Schluss und das "void" kommt vor das _INIT. Mach doch auch mal den "/" vor der Zeile rt_info... weg.
    War etwas unsauber beim reinkopieren

    Danke

  7. #6
    RWY ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    14.11.2006
    Beiträge
    16
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Problem gelöst.
    Hatte die Librarie brsystem.a nicht im Strang des Tasks.

    Danke für die Inputs.

    Gruss

    RWY

    Thread kann geschlossen werden.

Ähnliche Themen

  1. Mit welcher SPS ist ein Programm in ANSI C möglich ?
    Von Matthias S. im Forum Sonstige Steuerungen
    Antworten: 15
    Letzter Beitrag: 28.03.2009, 01:27
  2. ANSI-C Datenbank in einen Mikrocontroller
    Von Krumnix im Forum Hochsprachen - OPC
    Antworten: 2
    Letzter Beitrag: 27.10.2008, 08:54
  3. Ansi C auf Mirkocontroller Variable zickt rum.
    Von Krumnix im Forum Hochsprachen - OPC
    Antworten: 12
    Letzter Beitrag: 04.07.2008, 23:00
  4. Mit ansi-c in WinCC Bild visualisieren
    Von stepwin im Forum HMI
    Antworten: 5
    Letzter Beitrag: 21.01.2008, 06:51
  5. Antworten: 2
    Letzter Beitrag: 18.01.2007, 14:03

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •