DotNetSimaticDatabaseProtokoller

Zuviel Werbung?
-> Hier kostenlos registrieren
Moin moin ...

Kleiner fehler in PostgreSQLStorage.cs ...

gruss,
michael

public bool _internal_Write()
....
if (myDBConn.State != System.Data.ConnectionState.Open)
{
Logging.LogText("Error ReConnecting to Database! Dataset:" + datasetConfig.Name, Logging.LogLevel.Error);
*** myConfig.Name ist da wohl gemeint nehme ich an oder ?
return false;
}

Ne, hab vergessen datasetConfig festzulegen --> gefixt...
 
Solala ...
einen ham wer noch :)

Grad fuer CVS interessant ... Eine Precision (Anzahl der Nachkommastellen) - ich habs jetzt auch nur schnell mit CSV Probiert, da ich im Moment hier keinen Netzwerkzugriff auf einen unserer Server habe ;(

Wie immer - wenn Quellfile gewünscht bescheid sagen :)

gruss,
michael

... dataSetConfigRow.cs
Code:
33c33
<         
---
> 
96,107d95
<         private double _precision = 0;
< 
<         public double Precision
<         {
<             get { return _precision; }
<             set
<             {
<                 _precision = value;
<                 NotifyPropertyChanged("Precision");
<             }
<         }
< 
125c113
<                 if (((Multiplier !=0) || (Precision !=0)) && (PLCTag.Value is double || PLCTag.Value is float || PLCTag.Value is int || PLCTag.Value is uint || PLCTag.Value is byte || PLCTag.Value is sbyte || PLCTag.Value is Int64 || PLCTag.Value is UInt64))
---
>                 if (Multiplier != 0 && (PLCTag.Value is double || PLCTag.Value is float || PLCTag.Value is int || PLCTag.Value is uint || PLCTag.Value is byte || PLCTag.Value is sbyte || PLCTag.Value is Int64 || PLCTag.Value is UInt64))
127,132d114
<                     string sFormat = "";
<                     if (Precision != 0)
<                     {
<                         sFormat = "F"+Precision.ToString();
<                     }
< 
134,138c116,117
<                     {    
<                         if (Multiplier != 0)
<                             return (Convert.ToDouble(PLCTag.Value)*Multiplier).ToString(sFormat);
<                         else
<                             return (Convert.ToDouble(PLCTag.Value)).ToString(sFormat);
---
>                     {                        
>                         return Convert.ToDouble(PLCTag.Value)*Multiplier;
146d124
<
... EditProtocolDataSets.cs
Code:
266,283c266
<                 <DataGridTemplateColumn Width="Auto"
<                                         Header="Precision (0 = std)"
<                                         IsReadOnly="False"
<                                         SortMemberPath="Precision">
<                     <DataGridTemplateColumn.CellTemplate>
<                         <DataTemplate>
<                             <TextBlock Text="{Binding Precision}" />
<                         </DataTemplate>
<                     </DataGridTemplateColumn.CellTemplate>
<                     <DataGridTemplateColumn.CellEditingTemplate>
<                         <DataTemplate>
<                             <TextBox Margin="0"
<                                      Padding="0"
<                                      Text="{Binding Precision,
<                                                     Mode=TwoWay}" />
<                         </DataTemplate>
<                     </DataGridTemplateColumn.CellEditingTemplate>
<                 </DataGridTemplateColumn>
---
> 
857,874c840
< <DataGridTemplateColumn Width="Auto"
<                                         Header="Precision (0 = std)"
<                                         IsReadOnly="False"
<                                         SortMemberPath="Precision">
<                     <DataGridTemplateColumn.CellTemplate>
<                         <DataTemplate>
<                             <TextBlock Text="{Binding Precision}" />
<                         </DataTemplate>
<                     </DataGridTemplateColumn.CellTemplate>
<                     <DataGridTemplateColumn.CellEditingTemplate>
<                         <DataTemplate>
<                             <TextBox Margin="0"
<                                      Padding="0"
<                                      Text="{Binding Precision,
<                                                     Mode=TwoWay}" />
<                         </DataTemplate>
<                     </DataGridTemplateColumn.CellEditingTemplate>
<                 </DataGridTemplateColumn>
---
>
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Solala ...
einen ham wer noch :)

Grad fuer CVS interessant ... Eine Precision (Anzahl der Nachkommastellen) - ich habs jetzt auch nur schnell mit CSV Probiert, da ich im Moment hier keinen Netzwerkzugriff auf einen unserer Server habe ;(

Wie immer - wenn Quellfile gewünscht bescheid sagen :)

gruss,
michael

ist drinn.

+ Bugfixes:
- MSsql wenn telegramme zu schnell aufeinander Folgten
- Mssql Browser sollte funktionieren

div fixes...
 
SQL Browser funzt

allerdings sonst nur noch Fehlermeldungen

Wollte ein Bild (.png) hochladen
aber das funzt irgendwie auch nicht
und die Meldung abtippen ist Wahnsinn
:cry:

" Exception occured!
Message: The parameter data type of UInt16 is invalid
Stacktrace: at DotNetSimaticDatabaseProtollerLibrary.Databases.MsSQLStorage._internal_Write()
at DotNetSimaticDatabaseProtollerLibrary.Databases.MsSQLStorage.ThreadProc() "


So geht doch
Diese Meldung kommt laufend
Habs mit einer neuen Tabelle versucht ist auch das selbe

gruß
 
Zuletzt bearbeitet:
SQL Browser funzt

allerdings sonst nur noch Fehlermeldungen

Wollte ein Bild (.png) hochladen
aber das funzt irgendwie auch nicht
und die Meldung abtippen ist Wahnsinn
:cry:

Ohne fehlermeldung kann ich leider nicht wirklich helfen!
Was nutzt du denn? Welche datenbank, was für eine Verbindung, etc...
Lief es schon mal?

Lad mal deine config hoch!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das lief bis jetzt einwandfrei
nutze NetLink Lite mit MsSQL verbindung
die Version von gestern macht die Probleme

wie gesagt der SQL Browser funzt

Danke

nochmal die Meldung

" Exception occured!
Message: The parameter data type of UInt16 is invalid
Stacktrace: at DotNetSimaticDatabaseProtollerLibrary.Databases.MsSQLStorage._internal_Write()
at DotNetSimaticDatabaseProtollerLibrary.Databases.MsSQLStorage.ThreadProc() "
 
Zuletzt bearbeitet:
So noch mehr Infos

Danke für die Mühe
 

Anhänge

  • Fehler.jpg
    Fehler.jpg
    77,8 KB · Aufrufe: 47
  • Protokoller.txt
    25,2 KB · Aufrufe: 22
Probiers mal wenn du bei deinen Werten in der Dataset Konfiguration bei allen float Werten in der Datenbank einen Multiplier von 1 anzugeben.

Das Problem ist, Ich habe bei MsSQL bevor Ich die Objekte an ein SQL Command übergeben hatte, diese vorher in einen String gewandelt, dies führt aber mit manchen Typen zu Problemen. Und da du aus deiner SPS keinen Float liest, und diesen aber in einen Float speicher willst, gibts diese Probleme...

Warum eigentlich speicherst du Int werte aus der PLC in Floats in der Datenbank??
 
Hab probiert was du gesagt hast
Hab eine neue Tabelle angelegt

immer die selbe fehlermeldung

wie soll ich die werte in die datenbank speichern ?

Sorry, habe noch keine Zeit gefunden das zu Probieren.
Habe selbst die MsSQL Connection noch nie verwendet, hab die nur für jemand auf einfrage eingebaut, und der hats dann getestet.

Ich werd schaun das Ich das nächste woche mal teste...
 
Habe den Protokoller.zip heruntergeladen und die zip Datei entpackt, darunter sind die zwei .exe Datein, wenn ich den ProtokollerConfoigurationTool anklicke tut sich nichts, und wenn die Service.exe anklicke kommt ein kleines Fenster mit Service Config, Start-Stop,install-uninstall,postgres-mysql-mssql!
Wie soll das weiter gehen..., hast du zufälig eine kleine Anleitung wie das einzustellen ist bzw. einrichten...!

Danke!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Habe den Protokoller.zip heruntergeladen und die zip Datei entpackt, darunter sind die zwei .exe Datein, wenn ich den ProtokollerConfoigurationTool anklicke tut sich nichts, und wenn die Service.exe anklicke kommt ein kleines Fenster mit Service Config, Start-Stop,install-uninstall,postgres-mysql-mssql!
Wie soll das weiter gehen..., hast du zufälig eine kleine Anleitung wie das einzustellen ist bzw. einrichten...!

Danke!

Hast du DotNet 4 installiert? Hasrt du Windows 7, dann starte das Configuration Tool mal als Administrator...
 
Auf diesen PC wo ich das zuhause ausprobieren sollte, habe ich Win XP..!
Und draußen vor Ort bei der Diplomarbeit wo die SPS und etc. verbaut ist habe ich einen Win7 32bit Rechner,kann nicht täglich raus fahren, zu weit deswegen muss ich mit einen Xp PC ausprobieren und simulieren.
DotNet 4 habe ich nicht installiert, woher bekomme ich es??
Danke!!
 
Hallo Jochen,

ich habe ein Problem mit der aktuellen Version des Protokollers und kann es nicht ganz nachvollziehen. Ich hatte den Protokoller in einer Konfiguration 7 Monate lang auf einem Win7-Rechner am laufen. Den Rechner habe ich nun durch einen nagelneu aufgesetzten XP-Rechner ersetzt und alles vom Protokoller mit herübergezogen. Dann hab ich den Service wieder installiert und gestartet. Alles lief prima, nur nach etwa 2 Tagen ist der Service ausgefallen und ließ sich nicht mehr starten. Im Log gab es keine Fehlermeldungen vor dem Ausfall. Einen Startversuch des Dienstes auf der Konsole quittierte der Service stets mit: "der dienst konnte nicht gestartet werden - Der Dienst hat keinen Fehler gemeldet". Ich habe dann den Dienst deinstalliert, auf die Aktuelle Version geupdatet und wieder gestartet. Jetzt lief das Logging etwa 2 Tage fehlerfrei, plötzlich steht der Dienst wieder still. Er lässt sich mit der gleichen Fehlermeldung auch hier nicht erneut starten. Auch ein Systemneustart bringt nichts. Schade ist, dass ich im Log auch überhaupt keinen Anhaltspunkt dafür finden kann, warum genau der Dienst überhaupt ausfällt.

Gibt es eine Möglichkeit, den Debug-Level irgendwie noch zu erhöhen?

Danke

Gruß

Jochen
 
Also Ich hab mir gerade meinen Source nochmals angesehen, falls es im programm zu einer exception kommen sollte, sollte diese zumindest ins EventLog geschrieben werden, da Ich um den Kompletten Service ein Try catch habe, welches dann ins Eventlog läuft!
 
Also vom Protokoller läuft nix mehr, wenn er sich abgeschaltet hat. Ich logge ja csv und habe festgestellt, dass er wieder anläuft, wenn ich die csv-Dateien lösche und neu anlegen lasse. Normalerweise meldet er ja auch intern im Ereignisprotokoll einen Fehler, wenn er Probleme beim Zugriff auf die CSV-Dateien hat. Diese Fehler, die ab und zu auftreten, haben den Dienst bisher allerdings noch nie zum Absturz gebracht. Dass er einfach nicht mehr anläuft, kam sowieso noch nie vor. Ich beobachte mal weiter.
 
Zurück
Oben