TwinCat 1340 und Visual Studio 2010

Chris_...

Level-1
Beiträge
1
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo an alle,

also erstmal kurz zu mir....... bin über google auf dieses Forum gestoßen und erhoffen mir bei Euch mal ein wenig Hilfe da ich mich momentan echt zu blöd anstelle!!!

Also folgendes Problem:

Ich sitze hier in Taiwan im Hotel und versuche krampfhaft eine Verbindung von VS 2010 zu TwinCat 1340 herzustellen (per AdsOcx).

Aber was soll ich sagen, TwinCat sagt ....."Schei....Alter" so nicht!!!

Die Bsp. im Beckhoff InfSys. sind alle auf VB 6 ausgelegt und ich bekomme es einfach nicht hin.

Als brauche ich Hilfe bei der Einrichtung der Kommunikation, da ich nicht auf TwinCat 3 warten möchte und mir ja gerade das "basteln" daran Spaß macht.

Was ich eigentlich erreichen will, ist eine kleine aber optisch feine Visualisierung, die es mir erleichtert meiner Inbetriebnahmetätigkeit an mehreren Maschinen nachzukommen :ROFLMAO:

Ich hoffe einer von euch :TOOL:Cracks:TOOL: kann mir weiter helfen.....

Eine kleine Anleitung zu diesem Thema wäre nett!

MfG Chris_...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn es noch reicht, könnte ich dir aus dem Stehgreif die Arbeitsweise zur Kommunikation mit c# näher bringen...

-Projekt anlegen
-Verweis hinzufügen: TwinCAT.Ads.dll
- Namespace bekannt machen
Code:
using TwinCAT.Ads;                  //Benutzer Verweis auf DLL
- Variablen anlegen
Code:
//Verbindung zum ADS Device
        TcAdsClient myTCAdsClient = new TcAdsClient();
        //Handles auf PLC Variablen
        int hnMeinePLCVariable;
- Verbindung Aufbauen
Code:
myTCAdsClient.Connect(801);     //Eigenes System
                myTCAdsClient.Timeout=5000;    //Timeout in ms
- Handles erzeugen

Code:
if (myTCAdsClient.IsConnected){
hnMeinePLCVariable = myTCAdsClient.CreateVariableHandle("." + VariablenSymbolAusPLC;
}
- Variable schreiben
Code:
 myTCAdsClient.WriteAny(hnMeinePLCVariable, Convert.ToInt16(1)); //ne 1 in ein int
- Variable lesen

Code:
ReadAny(Handle,...);

- Am Ende Handle wieder löschen

Code:
myTCAdsClient.DeleteVariableHandle(hnMeinePLCVariable);

Evt. exceptions sind nicht abgefangen. Da musst du dann mal gucken. Man kann auch ein Event feuern wenn sich eine Variable in der PLC ändert.
Stichwort hier: myTCAdsClient.AdsNotificationEx

Es gibt auch elegantere Lösungen die aber weitaus mehr Vorarbeit verlangen. Für den ersten Start würde ich aber oben geschilderte Herangehensweise empfehlen.



Daniel
 
Zurück
Oben