# CX5020 Beckhoff ADS C#/HTML/ASP.Net/AJAX WinXPe



## Olek (6 Dezember 2012)

*CX5020 Beckhoff ADS Zugriff vom IPC aus*

Hallo an alle,

ich bin hier schon länger als passiver Leser unterwegs und habe sehr viel gelernt. Es ist nun soweit, dass ich nicht mehr aus den Fehlern der anderen lernen kann, weil diese diese Fehler nicht gemacht haben oder es einfach können.

Ich habe folgendes Problem, welches, wie ich hoffe, trivial ist. Ich bin mir auch nicht sicher, ob das hier in den Bereich des Forums fällt oder eher in den SPS-Beckhoff Bereich. 

Ich habe auf dem CX5020 den IIS-Webserver inbetriebgenommen und eine WebVisu realisiert, welche über ADS.Net die Messwerte aus der SPS ausliest, die ich dort in Merkern hinterlegt habe. 

Das Auslesen der SPS Funktioniert und ich kann über die Webseite alle Werte lesen und schreiben, die ich benötige.... jedoch nur wenn ich über TwinCAT (3.0), mich vorher von irgendwo in die SPS einlogge und somit den Port 851 inizialisiere. 

Jetzt zu meinem eigentlichen Problem, wie bekomme ich es hin, das die SPS den Port von selbst freigibt/öffnet/erzeugt, ohne das ich erst eine Verbindung mit TwinCAT erstellen muss, damit der Port 851 inizialiesiert wird?

Nach dem ich eine Verbindung einmal mit TwinCAT, dem Programmiersystem, erzeugt habe, kann ich mich wieder ausloggen und alles Funktioniert weiterhin, wie es soll. Das Programmiersystem wird dann nicht mehr benötigt. Wenn ich die SPS jedoch neustarte, muss ich diese Inizialisierung erneut durchführen.


----------



## Olek (6 Dezember 2012)

Ich muss mich wohl etwas korrigeiren, der Port ist wohl da, jedoch scheinen die Variablen verknüpfungen dann nicht zupassen.

Siehe Fehlermeldung:


[AdsErrorException: Ads-Error 0x710 : Symbol could not be found.]    
TwinCAT.Ads.Internal.TcAdsDllWrapper.ThrowAdsException(AdsErrorCode adsErrorCode) +270    
TwinCAT.Ads.Internal.TcAdsSyncPort.CreateVariableHandle(String variableName) +40 
   TwinCAT.Ads.TcAdsClient.CreateVariableHandle(String variableName) +35    Relais.Page_Load(Object sender, EventArgs e) +82    System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +15    
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +33    System.Web.UI.Control.OnLoad(EventArgs e) +99    System.Web.UI.Control.LoadRecursive() +47
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1436


Habe ich was vergessen mit an die SPS zu übertragen, oder warum findet er die Symbole erst wenn ich mit mit der TwinCAT-Umgebung einmal eingeloggt habe?


----------



## Olek (6 Dezember 2012)

Ich habe die Variablen, welche ich zwischen der Webseite und SPS austausche als GVLs deklariert....

 if (adsClient.IsConnected == false)
        {
            adsClient.Connect(strAmsNetId, iAdsServerPort);
            adsClient.Timeout = 200;
        }

        msEL2602.Relais1 = adsClient.CreateVariableHandle("GVL_Merker.MRelais1");
        msEL2602.Relais2 = adsClient.CreateVariableHandle("GVL_Merker.MRelais2");
        msEL3202.RTD1 = adsClient.CreateVariableHandle("GVL_Merker.MRTD1");
        msEL3202.RTD2 = adsClient.CreateVariableHandle("GVL_Merker.MRTD2");

Habe ich bei der Adressierung einen Wurm drin, den ich nicht sehe?


----------



## Olek (6 Dezember 2012)

Hat jamend eine Idee was TwinCAT bei diesem Schritt auf der SPS macht und wie man das umgehen kann?

TwinCAT PLC Control:
Applikation Port_851 existiert nicht auf der Steuerung. Soll die Applikation angelegt und geladen werden?

Was habe ich auf der Steuerung vergessen, dass TwinCAT das immer neu anlegen muss?


----------



## Olek (6 Dezember 2012)

Ich glaube ich habe schon alles durchprobiert:

1. verschiedene Ports 301, 340, 350... 801, 840, 841, 850 und 851.
2. Namen mit ".Variablenname", nur mit "Varibalenname" 

Funktioniert alles nicht, bis ich mich einmalig mit der TwinCAT-Umgebung verbinde, dann funktioniert alles und von jedem Rechner aus.

Mir fällt im Moment echt net mehr ein wo ich da was falsch mache...


----------



## Olek (7 Dezember 2012)

Kann mir jemand sagen wie ich meine Applikation dauerhaft auf die Steuerung bekomme? 
Ich muss die jedes mal neu auf die Steuerung laden, weil die nach einem Neustart weg ist.


----------



## Olek (7 Dezember 2012)

Kann mir jemand sagen, woran es liegen kann, dass der Autostart Boot Projekt haken in TwinCAT 3.0 nicht gesetzt werden kann?



Anhang anzeigen 19063


----------



## LT005 (13 Dezember 2012)

Kann mir jemand sagen wie ich meine Applikation dauerhaft auf die Steuerung bekomme? 
Ich muss die jedes mal neu auf die Steuerung laden, weil die nach einem Neustart weg ist. 				

ich hab mich nicht genauer mit deinem Problem befasst, doch das klingt ganz nach dem aktiviertem Festplattenschutz. Der ist standartmässig auf dem Desktop.  FBWF


----------



## Olek (17 Dezember 2012)

Ich habe mich mit dem Support von Beckhoff in verbindung gestellt und mir wurde mitgeteilt das ich mit zu alten Versionen von TwinCAT 3 Arbeite. Nach einem Update des TwinCAT 3 auf die Aktuelle version ist das Setzen des BootProjekts möglich, jedoch muss ich noch das Embedded XPe updaten, da es dies von der Entwicklungsumgebung nicht mehr annimmt. 

.... Dafür muss ich mir jedoch noch einen FlashCard-Reader besorgen, um das neue Image darauf zubekommen. 

Ich bin zimmlich genervt, da ich schon alles fertig programmiert habe und nun an sowas hengen bleibe. Werde absofort von anfang Testen ob das System selbstlauffähig ist und dann erst mit der eigentlichen Programmierung anfangen.


----------

