# wincc global script defekt?



## Virgill (7 Oktober 2009)

Hallo Leute.

Mein WinCC 6.0 SP3 Global Script C Compiler hat seit ein paar Tagen ein
riesiges Problem.. Er erkennt keine Zuweisungen mehr.

Beispiel:

void neue_Funktion()
{
int hello;
hello++;
}

Compiling...
line 4 : error (003f) : undefined identifier 'hello'
1 Error(s), 0 Warning(s)

Seeehr merkwürdig.
Eine Neuinstallation von Wincc + Sql Server ect bringt keine Abhilfe.
Header neu generieren bringt auch nichts.

Kennt jemand das Problem? Oder sogar ein Workaround ?
Ich würde ungerne den gesamten Rechner neu installieren.

MfG, Virgill


----------



## Paulchen (7 Oktober 2009)

Hallo Virgill,

ich bin ja kein super C-Programmierer, aber macht das Script

void neue_Funktion()
{
int hello;
hello++;
}

überhaupt Sinn? Die Variable hello wird ja gar nicht initialisiert. Ich würde nicht davon ausgehen, dass diese jedesmal mit 0 vorbelegt wird.

mfg
Paulchen


----------



## Virgill (7 Oktober 2009)

Das Script macht natürlich keinen Sinn. 
Der Compiler müsste es aber ohne Fehler compilieren, tut er aber nicht.


----------



## Virgill (8 Oktober 2009)

Ach ich vergass..
Header-Dateien z.B. "apdefap.h" werden auch nicht mehr compiliert


----------



## Paulchen (9 Oktober 2009)

Hallo Virgill,
eigentlich werden Header Dateien nicht compiliert sondern nur von der Funktion genutzt. Was für eine Fehlermeldung bekommst Du da genau?
mfg
Paulchen


----------



## Virgill (12 Oktober 2009)

Hallo,
Was mir der compiler ausspuckt wenn ich "apdefap.h" einbinde:

#include "apdefap.h"
void neue_Funktion()
{
}



Compiling...
C:\Programme\Siemens\WinCC\APILIB\AP_GLOB.H : line 1 error (0040): ')' expected before ')'
C:\Programme\Siemens\WinCC\APILIB\AP_GLOB.H : line 2 error (003A): 'BOOL': invalid function definition
C:\Programme\Siemens\WinCC\APILIB\AP_GLOB.H : line 3 error (0040): <type> expected before '('
C:\Programme\Siemens\WinCC\APILIB\AP_GLOB.H : line 4 error (0040): <type> expected before 'AXC_OnBtnArcShort'
C:\Programme\Siemens\WinCC\APILIB\AP_GLOB.H : line 4 error (0040): <type> expected before 'AXC_OnBtnComment'
...
usw
...
30 Error(s), 0 Warning(s)

Die Header Dateien sind alle in Ordnung..


----------



## marlob (12 Oktober 2009)

Das Script

```
void neue_Funktion()
{
   int hello;
   hello++;
}
```
sollte anstandslos kompiliert werden. Zumindest tut es das bei mir. Habe allerdings V6.2 installiert.
Probiere doch mal WinCC in einer VM zu installieren. Dann brauchst du nicht den ganzen Rechner neu zu installieren


----------



## Paulchen (12 Oktober 2009)

Hallo Virgil,

Handelt es sich hierbei um eine Projektfunktion oder eine Standardfunktion die Du anlegst? Abhängig davon spielen unterschiedlich Header Files eine Rolle.

mfg

Paulchen


----------



## Virgill (12 Oktober 2009)

Das ganze ist ne Projektfunktion.

Könnte es damit zusammenhängen, dass ich letztens WinCCFlexibe2008
auf dem selben Rechner installiert habe ?


----------



## Paulchen (13 Oktober 2009)

Hallo Virgill,

poste mir bitte 3 Dateien die hierfür entscheidend sind.

1. In Deinem Projektkatalog muss es eine apdefap.h und eine ap_pbib.h geben ( Wichtig: Im Projektkatalog schauen, die apdefap.h gibt es auch im Installationskatalog )
2. In Deinem Installationskatalog muss es eine ap_glob.h geben ( Ich glaube der Katalog heißt aplib )

Irgendeine dieser 3 Header Dateien scheint Probleme zu machen.

Hast Du eine dieser 3 Dateien irgendwann einmal von "Hand" editiert?

Ich glaube nicht, dass die WCF 2008 Installation bei dem Problem mitwirkt.

mfg

Paulchen


----------



## Virgill (15 Oktober 2009)

Hallo Paulchen,

die Headerdateien sind mit absoluter sicherheit in ordnung.
Werde das Gefühl nicht los dass WinccFlex2008 was mit der Registry
gemacht hat und es deshalb nicht mehr geht. Der Compiler
erkennt nicht mal die Datentypen WORD oder BOOL.  

Es ist zum totlachen wenn es nicht so traurig wäre...


----------



## Paulchen (18 Oktober 2009)

Hallo Virgill,

wie gesagt, ich glaube nicht, dass es einen Zusammenhang zwischen Deinem Problem und der WCF 2008 Installation gibt.
Die Definitionen für den C-Compiler sind festgelegt in den Header Dateien. Darin muss Dein Problem irgendwie liegen.

mfg
Paulchen


----------



## Virgill (27 April 2010)

Hallo Leute.

Ich habe heute einen niegelnagelneuen Laptop installiert. (WinXP, SP2)

1. WinCC 6.0 SP3 drauf installiert.
2. WinCC Global Script getestet. Funktioniert einwandfrei.
3. WinCC Flexible 2008 SP1 installiert.
4. WinCC Global Script getestet. Geht nicht mehr.

Es liegt also definitiv an der WinCC Flexible installation.

Auch durch deinstallieren / neuinstallieren kann man das Problem nicht beheben. Also Rechner wieder komplett Plattmachen und auf eine Software verzichten.



MfG, Virgill


----------



## marlob (27 April 2010)

Virgill schrieb:


> H...
> Auch durch deinstallieren / neuinstallieren kann man das Problem nicht beheben. Also Rechner wieder komplett Plattmachen und auf eine Software verzichten.
> 
> 
> ...


Stichwort: Virtuelle Maschine (VMWare, VirtualPC, VirtualBox usw.)


----------



## georg_demmler (28 April 2010)

Hallo,

habe auch so meine Erfahrung mit Installation von WinCC. Läuft bei mir alles in VMs. Da man ja nie weiß, wie sich Protool, WinFlex und WinCC beeinflussen.

Dazu noch Rockwell und Siemens. Einziger Nachteil ist die Unterstützung der COM-Schnittstelle. Mußte mal ein Flashupdate für Rockwell FU machen. Und da hat die VM doch dann versagt. In der normalen Umgebung lief dann das Update perfekt. Vielleicht habe ich mich aber auch nur dämlich angestellt.

Habe schon Firmen kennengelernt, die allein für WinCC 20 verschiedene VMs haben. Je nachdem was der Kunde für eine Umgebung hat. 

Viel Spass

GD


----------



## wallwrecker (16 März 2012)

I had the same problems with compiling in global scripts: AP_GLOB.H errors after installing wincc 6.0, step 7, wincc flexible 2008 sp2, drive es 5.5. Installing service packs and patches for wincc has no positive result. OS is Win XP professional sp3.
But AP_GLOB.H file was absolutely correct, script was correct also, because it worked with other PC. The reason was in incorrect installed wincc 6.0. Bug?? Maybe... I has backup image of clean windows (without siemens software). So i returned to clean windows and reinstalled siemens products in next sequence: step7 5.5 2010 -> wincc 6.0 sp4 -> wincc flexible 2008 sp2 -> drive es 5.5 -> wincc flexible update 12...
The problem was solved.


----------

