# JFK-VarTab



## Jochen Kühner (15 August 2010)

hab ein neues Tool für mich geschrieben, das ist eine VariablenTabelle wie in Step7, diese kann aber auch strings, bytearrays etc darstellen.

Ist noch Alpha, vor allem schreiben hab Ich bisher nur mit Int's getestet, aber vielleicht kann's ja jemand gebrauchen...



Download unter:
http://jochensserver.dyndns.org/wordpress/?page_id=58


----------



## IBFS (15 August 2010)

Ich wollte es gerade testen, doch momentan habe ich hier nur 
einen CP5512 und CP5711 rumliegen. 

Gruß

Frank


----------



## Jochen Kühner (15 August 2010)

*Ja, und weiter?*

Sollte doch gehen, Ich unterstütze ja auch die S7Online Schnittstelle...


----------



## IBFS (15 August 2010)

@JK
Aber was mache ich mit der Protokollauswahl.

muß da etwa USE STEP7 DLL ausgewählt werden?

EDIT:

PLCSIM(MPI) eingestellt   Adr. 2

Fehlermeldung:

_Error: You can only use the S7Online Connection when you specify the HWND Parameter on the Connect Function_ 


Ich kann auch ins Connectfeld bei Adresse nicht z.B. DB31.DBD... irgendwas eintragen. Das springt immer wieder auf DB1 zurück.



Frank


----------



## Jochen Kühner (15 August 2010)

Ja....

Und dann kannst du die Schnittstelle über die Schaltfläche "..." bei Zugangspunkt einstellen...


----------



## IBFS (15 August 2010)

siehe EDIT oben


----------



## IBFS (15 August 2010)

hier ein BILD


----------



## Jochen Kühner (15 August 2010)

*Updated...*

Hab das koregiert...

Probiers nochmal...


----------



## IBFS (15 August 2010)

gerade runtergeladen  Version  21.50 Uhr
Geht nicht - Unterschied ist nur jetzt kommt gar keine Meldung mehr
und die APP schläft ein.

Nicht das PLCSim generell nicht geht. Ein reale SPS habe ich nicht hier.

Frank


----------



## IBFS (15 August 2010)

gerade runtergeladen Version 22.00 Uhr

gleiches Verhalten 

Frank


----------



## Jochen Kühner (15 August 2010)

Warte, Ich versuchs....


----------



## Jochen Kühner (15 August 2010)

*Nein...*

Geht bei mir auch nicht, hab LibNodave noch nie mit plcsim getestet....

Aber im Moment hauts nicht hin...


----------



## IBFS (15 August 2010)

Geht den ProfiBus mit realer CPU?


----------



## Jochen Kühner (15 August 2010)

Ging auf jeden fall schonmal...


----------



## Jochen Kühner (16 August 2010)

*So...*

So, nochmals Updates...

Nun kann noch der Konvertierungstyp eingegeben werden (Binary, Hex).

Beim schreiben wird der Konvertierungstyp aber noch nicht beachtet.!!

Noch ein paar Bugs behoben, und ein Beispielfile beigelegt, so das man die verfügbaren Typen sieht!


----------



## IBFS (16 August 2010)

Connect geht (grün).
Wenn ich z.B. M1.0 einfüge passiert nichts.

beim Einfügen deiner Liste egel ob verbunden oder nicht kommt Exception:


```
Informationen über das Aufrufen von JIT-Debuggen
anstelle dieses Dialogfelds finden Sie am Ende dieser Meldung.
************** Ausnahmetext **************
System.ArgumentOutOfRangeException: Der Index lag außerhalb des Bereichs. Er muss nicht negativ und kleiner als die Auflistung sein.
Parametername: index
   bei System.Collections.ArrayList.get_Item(Int32 index)
   bei System.Windows.Forms.DataGridViewRowCollection.SharedRow(Int32 rowIndex)
   bei System.Windows.Forms.DataGridViewRowCollection.get_Item(Int32 index)
   bei JFK_VarTab.Vartab.button6_Click(Object sender, EventArgs e)
   bei System.Windows.Forms.Control.OnClick(EventArgs e)
   bei System.Windows.Forms.Button.OnClick(EventArgs e)
   bei System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   bei System.Windows.Forms.Control.WndProc(Message& m)
   bei System.Windows.Forms.ButtonBase.WndProc(Message& m)
   bei System.Windows.Forms.Button.WndProc(Message& m)
   bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
 
************** Geladene Assemblys **************
mscorlib
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.3603 (GDR.050727-3600).
    CodeBase: [URL]file:///c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll[/URL].
----------------------------------------
JFK-VarTab
    Assembly-Version: 1.0.0.0.
    Win32-Version: 1.0.0.0.
    CodeBase: [URL]file:///c:/Programme/JFKProgramme/JFK-VarTab.exe[/URL].
----------------------------------------
System.Windows.Forms
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.3053 (netfxsp.050727-3000).
    CodeBase: [URL]file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll[/URL].
----------------------------------------
System
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.3614 (GDR.050727-3600).
    CodeBase: [URL]file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll[/URL].
----------------------------------------
System.Drawing
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.3053 (netfxsp.050727-3000).
    CodeBase: [URL]file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll[/URL].
----------------------------------------
LibNoDaveConnectionLibrary
    Assembly-Version: 1.0.0.0.
    Win32-Version: 1.0.0.0.
    CodeBase: [URL]file:///c:/Programme/JFKProgramme/LibNoDaveConnectionLibrary.DLL[/URL].
----------------------------------------
System.Windows.Forms.resources
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.42 (RTM.050727-4200).
    CodeBase: [URL]file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_de_b77a5c561934e089/System.Windows.Forms.resources.dll[/URL].
----------------------------------------
mscorlib.resources
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.3603 (GDR.050727-3600).
    CodeBase: [URL]file:///c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll[/URL].
----------------------------------------
System.Xml
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.3082 (QFE.050727-3000).
    CodeBase: [URL]file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll[/URL].
----------------------------------------
System.Configuration
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.3053 (netfxsp.050727-3000).
    CodeBase: [URL]file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll[/URL].
----------------------------------------
uxcbhza_
    Assembly-Version: 1.0.0.0.
    Win32-Version: 2.0.50727.3614 (GDR.050727-3600).
    CodeBase: [URL]file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll[/URL].
----------------------------------------
************** JIT-Debuggen **************
Um das JIT-Debuggen (Just-In-Time) zu aktivieren, muss in der
Konfigurationsdatei der Anwendung oder des Computers
(machine.config) der jitDebugging-Wert im Abschnitt system.windows.forms festgelegt werden.
Die Anwendung muss mit aktiviertem Debuggen kompiliert werden.
Zum Beispiel:
<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>
Wenn das JIT-Debuggen aktiviert ist, werden alle nicht behandelten
Ausnahmen an den JIT-Debugger gesendet, der auf dem
Computer registriert ist, und nicht in diesem Dialogfeld behandelt.
```


----------



## Jochen Kühner (16 August 2010)

*Beobachten...*

Du musst auch auf beobachten klicken.

Wegen der Exception hab Ich noch ein Update Upgeladen!


----------



## IBFS (16 August 2010)

> Du musst auch auf beobachten klicken


 
na das ist klar - der Fortschrittsbalken tackert ja auch.


----------



## Jochen Kühner (16 August 2010)

Mhmm...  Das ist ein fehlercode von libnodave! Existiert der DB31 auch?


----------



## Jochen Kühner (16 August 2010)

*Hmm...*

habs bei mir gerade probiert....

Wenn der db nicht existiert oder zu klein ist kommen andere fehler....
welche Verbindungsart hast du denn?


----------



## Jochen Kühner (16 August 2010)

*Ahhh...*

Habs gerade auch nochmals durchgetestet...

Liegt wohl an der s7onlne schnittstelle... Muss mal schauen was da nicht läuft...

Da komm ich aber heute nicht mehr zu...


----------



## IBFS (16 August 2010)

1. MPI is nich:
2. klar teste ich nur vorhandene VARs aber selbst M1.0 geht nicht!

Frank


----------



## Jochen Kühner (16 August 2010)

1) Hab ich was von MPI gesagt??
ich sage nur, bei mir ging die S7online Schnittstelle grade auch nicht, glaub das lag an meiner LibNoDave, hab Sie mal neu kompiliert, nun läuft auch S7Online (Kann aber nur Ethernet testen, da Mein NetlinkUSB treiber unter Win7 nicht äuft)

2.) Wie schon geschrieben, liegt nicht an deinen Eingaben, Probier mal meine jetzige Version, ansonsten nochmal melden...


----------



## IBFS (16 August 2010)

Einmal hat es kurz funktioniert. 

Konnte das Program aber bisher nicht erneut dazu übereden.

Da, wo es ging, hatte ich deine Liste geladen.
Dann Fehlermeldung, sowas wie "ITEMs nicht vorhanden".
Falsche ITEMs rausgelöscht, dann ging es EINMAL.

In der Wiederholung konnte ich selbiges nicht nochmals erreichen.


Randbemerkung betr. Tastenzeile: 

Ein Kollege von mir hätte gesagt "entweder alles Englisch oder alle Deutsch"  

Frank


----------



## Jochen Kühner (16 August 2010)

Ja was hasst du denn nun für einen fehler?

Jo, das mit der Sprache sollte Ich echt ändern.



IBFS schrieb:


> Einmal hat es kurz funktioniert.
> 
> Konnte das Program aber bisher nicht erneut dazu übereden.
> 
> ...


----------



## IBFS (16 August 2010)

Muß erstmal die Nebenbei-Tests abbrechen - keine Zeit - melde mich wieder!

Gruß

Frank


----------



## Jochen Kühner (25 August 2010)

*Neue Version...*

Neue Version:

Diverse Bugs gefixt.

@IBFS:
gehts denn nun??


----------



## IBFS (25 August 2010)

Jochen Kühner schrieb:


> Neue Version:
> 
> Diverse Bugs gefixt.
> 
> ...


 
wird langsam   also Beobachten und Werte setzen (Control) geht

Das Einlesen der "example.vartab" (die du jetzt nicht mehr mitlieferst) geht auch

Das Speichern einer eigenen "*.vartab" wird auch gemacht, allesdings wird 
das einlesen jeder selbst erstellen "*.vartab"  mit eine Exception abgebrochen.

Wie gesagt mit der alten "example.vartab" geht das einlesen.
Möglicherweise passiert jetzt beim Speichern irgend ein Unsinn.

Frank


----------



## Jochen Kühner (26 August 2010)

*Jo...*

Ja, man sollte nach jeder Änderung wieder alles durchtesten...

Bei mir gehts nun.

was Ich noch machen muss:
- Parsen des Steuerwertes, so das er wie der gelesene Dargestellt wird.
- Bugfixes???
- Weitere Darstellungstypen (Wenn noch was benötigt wird bitte hier schreiben.)


----------



## Jochen Kühner (1 November 2010)

*Neue Version...*

Die neue Version kann nun auch VATs aus einem Step7 Projekt importieren.

Der Quellcode von dem Programm ist nun aber auch in meiner Connection Library enthalten.


----------



## stefan! (1 November 2010)

Die Idee gefällt mir richtig gut. Gibt es eine Übersicht für die Variablensyntax (bin damit noch nicht soo vertraut) ? 

Zudem würde ich es besser finden, wenn die Config in ein File statt der registry gespeichert wird, sonst meckert Windows 7 immer


----------



## Jochen Kühner (1 November 2010)

*Config...*

Nee, ne Übersicht habe Ich nicht, aber kannst im Quellcode nachsehen!
Aber werd mal schauen, ob Ich das viel. noch einbaue!

Das Speichern in der Registry habe Ich eingeführt, da Ich die Verbindungen Anwendungsübergreifend einrichten will.


----------



## Jochen Kühner (1 November 2010)

Ok, hab mir doch die Mühe gemacht:

Werte für Datatype:
word
int oder integer
dword
dint
byte
sbyte
string
time
s5time
timeofday
date
bcdbyte oder bcd
bcdword
bcddword
datetime oder dateandtime
char oder chararray
bytearray
float oder real

Werte für View-type:

decimal oder dec
hexadecimal oder hex
binary oder bin
bool
byte oder bytearray
datetime
date oder s7date
s7timeofday oder timeofday
float oder real
s5time
s7datetime oder dateandtime
string oder strg
time oder s7time
timespan


----------



## Paule (1 November 2010)

Jochen Kühner schrieb:


> Nee, ne Übersicht habe *I*ch nicht, aber kannst im Quellcode nachsehen!
> Aber werd mal schauen, ob *I*ch das viel. noch einbaue!
> 
> Das Speichern in der Registry habe *I*ch eingeführt, da *I*ch die Verbindungen Anwendungsübergreifend einrichten will.


Hi Jochen, sorry,

ich bin auf Kriegsfuss mit der deutschen Rechtschreibung, ab das geht ja wohl garnicht.


----------



## Jochen Kühner (1 November 2010)

*Jo...*

Ja, ich sollte mir manchmal beim schreiben echt mehr Zeit nehmen...


----------



## Question_mark (2 November 2010)

Hallo,



			
				Paule schrieb:
			
		

> Zitat von Jochen Kühner
> Nee, ne Übersicht habe Ich nicht, aber kannst im Quellcode nachsehen!
> Aber werd mal schauen, ob Ich das viel. noch einbaue!
> 
> Das Speichern in der Registry habe Ich eingeführt, da Ich die Verbindungen Anwendungsübergreifend einrichten will.



Ähemm, Jochen ..

Du hast es nicht verstanden. Viermal *ich* in zwei Sätzen mit einem konklusivem Abschluß lässt einige Rückschlüsse auf den Verfasser zu 

Gruß

Question_mark


----------



## Paule (2 November 2010)

Question_mark schrieb:


> Hallo,
> xxxxxxxxxxxxxxxxxxxxxxxx


Interessante Aussage, 
aber was willst Du uns damit sagen?


----------



## Question_mark (2 November 2010)

*Paule, Du bist aber schnell ..*

Hallo,



			
				paule schrieb:
			
		

> aber was willst Du uns damit sagen?



Du musst ja nicht unbedingt beim dem Editieren dazwischenlesen 

Gruß

Question_mark


----------



## Question_mark (2 November 2010)

*Jochen, mal ein offenes Wort*

Hallo,



			
				Jochen Kühner schrieb:
			
		

> Muss mal schauen was da nicht läuft...



Mein lieber Jochen, Du hast irgendwie den Überblick über Deine vielfältigen Projekte verloren. Versuche doch ganz einfach mal, irgendeines Deiner vielen angefangenen und immer noch unvollendeten Projekte zu einem zufriedenstellenden Abschluß zu bringen. Es würde schon reichen, wenn die vielen, von Dir großmäulig angekündigten Projekte wie versprochen funktionieren würden. Ich lese aber immer nach der Ankündigung der Projekte von anderen Forumsteilnehmern und auch von Dir selber, das es eben nicht funktioniert. 
Du verzettelst Dich da aus irgendeinem falschen Ehrgeiz. Alles angefangen, nichts wirklich zufriedenstellend beendet. Mach doch ganz einfach mal irgendeines Deiner Projekte bis zum bitteren Ende (also funktionsfähig) unerbittlich durch. Und nur eines gleichzeitig, bitte...

Arbeite daran, verstecke Dich solange in irgendeinem Loch bis das Dingen fertig ist, dann kannst Du uns das gerne präsentieren. Bis dahin halte bitte die Schnauze und falle uns Forumsteilnehmern nicht in der Zwischenzeit dermaßen auf den Wecker. Das nervt langsam ganz gewaltig...

Ziemlich offene Worte von mir, aber denke mal darüber nach. Du nervst hier gewaltig :sb6:

Gruß

Question_mark


----------



## Jochen Kühner (2 November 2010)

Question_mark schrieb:


> Hallo,
> Mein lieber Jochen, Du hast irgendwie den Überblick über Deine vielfältigen Projekte verloren. Versuche doch ganz einfach mal, irgendeines Deiner vielen angefangenen und immer noch unvollendeten Projekte zu einem zufriedenstellenden Abschluß zu bringen. Es würde schon reichen, wenn die vielen, von Dir großmäulig angekündigten Projekte wie versprochen funktionieren würden. Ich lese aber immer nach der Ankündigung der Projekte von anderen Forumsteilnehmern und auch von Dir selber, das es eben nicht funktioniert.
> Du verzettelst Dich da aus irgendeinem falschen Ehrgeiz. Alles angefangen, nichts wirklich zufriedenstellend beendet. Mach doch ganz einfach mal irgendeines Deiner Projekte bis zum bitteren Ende (also funktionsfähig) unerbittlich durch. Und nur eines gleichzeitig, bitte...
> 
> ...



Ich bin mit dem wie meine Projekte laufen eigentlich recht zufrieden... Und es kommen auch genug E-Mails und Kommentar an mich von Leute denen Ich mit meinen Tools weitergeholfen habe! Wer meine Anwendungen nicht nutzen will muss es ja nicht. Und manche Fehler fallen im Endeffekt erst auf wenn es andere auf Ihren System testen.


----------



## IBFS (2 November 2010)

Question_mark schrieb:


> Du nervst hier gewaltig :sb6:



Vorschlag zur Güte, 
macht doch einfach ein, JK-SpecialTools-SUPPORT-Forum auf.
Derjenige das dann nicht, will muss ja auch nicht reinschauen  

Frank


----------



## Jochen Kühner (2 November 2010)

stefan! schrieb:


> Zudem würde ich es besser finden, wenn die Config in ein File statt der registry gespeichert wird, sonst meckert Windows 7 immer



Was kommt denn da immer für eine Meldung? Hab nämlich auch Win7, aber bei mir kommt keine (Hab aber auch UAC deaktiviert!)

Darf ein Programm nicht in die Registry schreiben bzw. Lesen ohne eine UAC Meldung, oder hängt das vom Schlüssel ab (HKCU oder HKLM). Weiss da jemand bescheid?


----------



## stefan! (2 November 2010)

Jochen Kühner schrieb:


> Was kommt denn da immer für eine Meldung? Hab nämlich auch Win7, aber bei mir kommt keine (Hab aber auch UAC deaktiviert!)




```
System.UnauthorizedAccessException: Access to the registry key 'HKEY_LOCAL_MACHINE\Software\JFKSolutions\LibNoDaveConnectionLibrary\Connections\JFK-VarTab' is denied.
   at Microsoft.Win32.RegistryKey.Win32Error(Int32 errorCode, String str)
   at Microsoft.Win32.RegistryKey.CreateSubKey(String subkey, RegistryKeyPermissionCheck permissionCheck, RegistrySecurity registrySecurity)
   at Microsoft.Win32.RegistryKey.CreateSubKey(String subkey)
   at LibNoDaveConnectionLibrary.LibNoDaveConnectionConfiguration.ReloadConfiguration()
   at LibNoDaveConnectionLibrary.LibNoDaveConnectionConfiguration..ctor(String ConnectionName)
   at JFK_VarTab.Vartab.Vartab_Load(Object sender, EventArgs e)
   at System.Windows.Forms.Form.OnLoad(EventArgs e)
   at System.Windows.Forms.Form.OnCreateControl()
   at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   at System.Windows.Forms.Control.CreateControl()
   at System.Windows.Forms.Control.WmShowWindow(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ContainerControl.WndProc(Message& m)
   at System.Windows.Forms.Form.WmShowWindow(Message& m)
   at System.Windows.Forms.Form.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
```

Läuft nur im Admin Modus.


----------



## Jochen Kühner (2 November 2010)

stefan! schrieb:


> ```
> System.UnauthorizedAccessException: Access to the registry key 'HKEY_LOCAL_MACHINE\Software\JFKSolutions\LibNoDaveConnectionLibrary\Connections\JFK-VarTab' is denied.
> at Microsoft.Win32.RegistryKey.Win32Error(Int32 errorCode, String str)
> at Microsoft.Win32.RegistryKey.CreateSubKey(String subkey, RegistryKeyPermissionCheck permissionCheck, RegistrySecurity registrySecurity)
> ...



Ok, ich hab's mal geändert, speichere nun in CurrentUser statts in LocalMachine, dann gibts keine Exception mehr wenn UAC ein ist!


----------



## Jochen Kühner (4 November 2010)

*Jo*

Hab nochmals was geupdated, so das mehrere Verbindungen konfiguriert werden können!!


----------



## Merten1982 (3 Dezember 2010)

Wie kann ich denn Strings beobachten? Die Adresse springt bei mir immer auf DB1.DBX0.0


----------



## Jochen Kühner (3 Dezember 2010)

kannst du keine andere adresse im pointer format eingeben:

z.B.:
p#db10.dbx0.0 byte 10


----------



## Merten1982 (3 Dezember 2010)

ja genau dazu war ich zu blöd...
Nachdem ich seit Ewigkeiten nur noch scl programmiere, musste ich mich seit längerem nicht mehr mit Pointern auseinander setzen.

Die Idee für das Tool finde ich super!


----------



## vierlagig (3 Dezember 2010)

IBFS schrieb:


> Vorschlag zur Güte,
> macht doch einfach ein, JK-SpecialTools-SUPPORT-Forum auf.
> Derjenige das dann nicht, will muss ja auch nicht reinschauen
> 
> Frank



schade, dass dieser vorschlag ignoriert wurde. bei anderen usern klappte das besser


----------



## Merten1982 (3 Dezember 2010)

Warum eigentlich?? Thematisch passt es auch in dieses Forum, und wer nicht will, brauch ja auch nicht in diesen thread reinschauen...


----------



## IBFS (3 Dezember 2010)

Merten1982 schrieb:


> Warum eigentlich?? Thematisch passt es auch in dieses Forum, und wer nicht will, brauch ja auch nicht in diesen thread reinschauen...



Die Ironie versteht man Nie


----------

