IP-S7-LINK Version History

#

# Version 1.78.00 4.10.18

# * IPS7GetDBLen implementiert

# Version 1.77.00 12.12.17

# * Logo 8.1 konnte nicht verbinden

# * für mehrer Verbindungen IPS7OpenExWithTSAP eingeführt

# Version 1.76.00 20.5.17

# * Paket für "S7200 und Logo" läuft nun auch für Logo 8.1

# Version 1.75.00 11.10.16

# * Paket für nur S71200 und Logo erstellt

# Version 1.74.00 6.7.15

# * Windows CE konnte keine Timeoutzeiten auf Socketebene,
Timeoutüberwachung implementiert
* bei Connecttimeout wird nun SocketError "host not reachable" gemeldet
* Prüfung, ob Socketverbindung noch besteht, verbessert

# Version 1.73.00 16.6.15

# * LINT and LUINT S7 64-Bit DataType implemented

# Version 1.72.93 25.3.15
* LinkTo - Anpassung
Version 1.71.92 8.12.14
* S7-Logo IPS7RdReal

# Version 1.71.92 8.12.14

# * S7-Logo IPS7RdReal

# Version 1.70.91. 2.7.14

# * Peripheriezugriff implementiert

# Version 1.69.90 4.6.14

# * bei Multiread interne Speicherverwaltung optimiert
für Bit/Byte grundsätzlich bytealigned, ansonsten 4-Byte aligned
beim erstmakigen MultiRead-Zugriff mit grossen Paketen kam es zu Speicherkonflikten
der Effekt bestand seit V 1.67.88

# Version 1.68.89 9.5.14
* IPS7ReadDiagBuffer implementiert

# Version 1.67.88 29.4.14
* Multiread bei Bit, wurden mit Wert 0 gelesen

# Version 1.66.87 4.4.14
* Multireadfehler(2) bei String, wenn der Stringeintrag fragmentiert war
Multiread Speicher optimiert

# Version 1.65.86 31.3.14
* Multireadfehler bei String, wenn der Stringeintrag durch 2 Aufträge fragmentiert war

# Version 1.64 4.12.13
* Multiread ungünstige Kombination von Readaufträgen erzeugte Fehler

# Version 1.63
* Multiread der Result wurde in den Einzelaufträgen nicht suber weitergegeben
Version 1.62.83 9.9.13

# * Kommunikation mit Logo-SPS bei nur Logo/S7200 angepasst

# Version 1.62.82 8.7.2013

# * IPS7RdStr Fehler bei Multiread beseitigt

# Version 1.61.80 19.6.2013

# * IPS7RdStr, IPS7WrStr implementiert
* String bei IPS7RdMulti implementiert

# Version 1.60.78 2.4.2013

# * PDU-Size optimiert, Zugriff erfolgt mit maximaler Grösse
* Zugriff auf Logo SPS eingefügt-> Accessmode 3 bei IPS7OpenEx

# Version 1.58 17.7.12

* betrifft nur die ARM-Version
beim Lesen von Realwerten wurden wg. ALIGNMENT falsche Werte gelesen

# Version 1.57

* IPS7RdW
Offset bei Start != 0 wurde mit Faktor 4 statt 2 berechnet

# Version 1.56 21.5.12

* Lite Version für Privatanwender generiert

# Version 1.55 12.4.12

* neue Funktionen:
IPS7GetPLCName(long Ref, char *Str);
IPS7GetModuleName(long Ref, char *Str);
IPS7GetPlantIdName(long Ref, char *Str);
IPS7GetCopyrightEntry(long Ref, char *Str);
IPS7GetModuleSNr(long Ref, char *Str);
IPS7GetModuleTypeName(long Ref, char *Str);
IPS7GetMMCSNr(long Ref, char *Str);
IPS7GetOEMId(long Ref, char *Str);
IPS7GetLocationDesignation (long Ref, char *Str); LPCSTR in LPCTSTR geändert wg. WINCE

# Version 1.54 5.4.12

* LPCSTR in LPCTSTR geändert wg. WINCE
* S7-200 / Logo -Zugriff eingebaut, bei Logo immer TSAP 02.00 verwenden
* purer S7-200 Logo Lizenz eingeführt, kann mit S7-LAN-LINK kombiniert werden
* bei S7-LAN-LINK wurde bei nichtvorhanden sein des S7-LAN oder S5-LAN socket nicht geschlossen
* Setzen / lesen der SPS-Urzeit implementiert
* IPS7GetPLCTime (long Ref, long *pYear, long *pMonth, long *pDay, long *pHour, long *pMin, long *pSec, long *pMs); // 1.54
* IPS7SetPLCTime (long Ref, long Year, long Month, long Day, long Hour, long Min, long Sec, long Ms); // 1.54

#

# Version 1.53 22.2.12

* RdMultiSimplex, wenn z.B. während Debug die IP-Verbindung zurückgesetzt wurde
wurde evtl. ein nicht definierter positiver Fehler zurückgemeldet

# Version 1.52 30.1.12

* IPS7RdBit, Bit-Lesen ab 1.51 es wurde immer Bit 0 gelesen
* Im Source Änderungen für IAR-Compiler eingefügt

# Version 1.51 30.11.11

* bei 1.50 MultiRead Fehler (PDUSize)

# Version 1.50 25.11.11

* MultiRead mit Counter war nicht korrekt

* Anpassungen für Embedded Systeme gemacht

* Leseroutinen optimiert

# Version 1.49 11/11

* Bei Linux wird für Critial Sections nun pthreads verwendet

# Version 1.48 29.11.10

* für S7-LAN-LINK auch S5-LAN integriert

* unter Linux für Erstellung shared Libs mit Compileroption -"fPIC" übersetzt

# Version 1.47 24.9.10

* Unterstützung für ARM-Processoren implementiert (Alignment-Trap behoben)

# Version 1.46 8.9.10

* Bit-Zugriffe mit MultiRead Funktion

Beim lesen von Bit's mit Start-Bitadresse > 0 trat kam bei einigen SPS der Fehler

Datenbereich nicht vorhanden auf (Bitadresse wurde bei Bytezugriff mit übergeben)

# Version 1.45 7.9.10

* PDU-Size für CPU 400 etc. optimiert

# Version 1.44 18.8.10

* Unterstützung / Erkennung S5-LAN mit S7-TCP/IP

Bei MultiRead-Zugriff auf S5-LAN wird die Real-Konvertierung nicht inm S5-LAN.

sondern im Treiber vorgenommen. Der Treiber muss jedoch wissen, ob ein S5-LAN angeschlossen ist.

- ab S5-LAN ++ V 1.20 kann dies der Treiber automatisch erkennen.

- bei Modulen < 1.20 bei der Funktion IPS7OpenEx als AccessMode "20" angeben.

# Version 1.43 22.7.10

* MultiReadzugriff: Demoversion eingebaut

sizeof - Vergleiche berichtigt

# Version 1.42 14.7.10

* MultiReadzugriff:

Trat vor ausführen des ersten Read-Auftrags ein Fehler auf (z.B Timeout etc.)

Wurde im Auftrag als Result -88 /Auftrag nicht bearbeitet gesetzt

nun wird dort der tatsächliche Fehlerwert angegeben.

* Linux: war kein connect möglich, so wurde Fehler -5 (genereller Fehler) gesetzt

nun wird Socketfehler gesetzt, so kann die eigentioche Ursache mit errno bwz. strerrno()

ermittelt werden

# Version 1.41 13.7.10

* MultiReadzugriff: lesen von Ausgängen wurde nicht unterstützt

# Version 1.40 7.7.10

* MultiReadzugriff: bei Blöcken > 220 Byte kam es zu Überschreibungen

*.Net MultiReadzugriff: Da der da Garbage Collection die Variablen unvorhergesehen verschieben kann,

musste die Zugriffsweise überarbeitet werden.

Programme in c# oder VB.Net sollten die Funktiion RdMultiBuffered verwenden. Näheres in der .chm Datei!

# Version 1.39 17.6.10

* MultiReadzugriff: neue Funktion " IPS7RdMultiCalcPacketCnt"

Liefert die Anzahl der benötigten Pakete zum lesen aller angegebenen MultiRead-Aufträge

# Version 1.38 24.5.10

* MultiReadzugriff: . Int16 und Int32 (signed) wurde bei übergabe von PC_INT32, und PC:DWORD in einen unsigned konvertiert

nun erfolgt die Konvertiereung richtig in enen signed-Wert

# Version 1.37 18.5.10

* .Net-Interface: für Multiread-Zugriff, Int16 und Int32 (signed) Zugriff implementiert.

* .Net-Interface: für Multiread-Zugriff, bei verwenden von Arrays, wird die Grösse geprüft,

Ist ein Array zu klein, wird der Fehler -20 erzeugt.

* MultiReadzugriff: Umwandlung von Bit in DWORD oder Real führte zur Schutzverletzung

# Version 1.36 3.5.10

* IPS7RdMulti, Kopierfehler es kam zur Schutzverletzung

* Demo für Delphi überarbeitet, Outfit wie C++/C#/VB.net

# Version 1.35 14.4.10

* Neu Funktionen:

- IPS7Connect -- führt explezite IP-Verbindung aus

- IPS7GetConnectStatus -- prüft den IP-Verbindungsstatus

- IPS7SetKeepAlive -- setzt individuelle KeepAlive-Zeiten

- IPS7RdMulti -- liest verschiedene Datenbereich an einem Stück aus der SPS

# Version 1.34 02/10

* Zwischenverison

# Version 1.33 2.2.10

* beim lesen der Timer konnte es bei laufendem Timer zu falschen Ergebnissen kommen. Die Basis wurde falsch berechnet.

# Version 1.32 27.8.09

* Lesen / Schreiben der Real / Float-Werte mit S7-Code so ist auch ein Betrib an S5-Lan++ mit Realwerten möglich.

# Version 1.31 20.8.09

* in den .Net-Assemblies Strong-Names eingefügt (20.8.09)

# Version 1.30 17.7.09

* V 1.29 auf Linux portiert, S7-LAN-Link hat jetzt selbes Interface wie IP-S7-LINK, läuft aber nur mit S7-LAN,

so ist der Umstieg auf IP-S7-LINK für den Anwender einfacher. (17.7.09)

# Version 1.29 9 20.4.09

* Assembly Interface zu .Net Rd Methode mit 32 Bit Integer hat Bit gelesen, nun 32 Bit

# Version 1.28 9.2.09

* ips7lnk.lib verweiste auf s7lanlnk.dll, dadurch kam es zu Linkfehlern beim VC++ Compiler, bzw. zur Medlung, S7lanknk.dll wird nciht gefunden

# Version 1.27 26.8.08

* Zusätzliche Prüfungen für gültigen Speicher eingefügt. Behandlung der Critical Sections verbessert

# Version 1.26 12.8.08

* IPS7WrBit war nicht exportiert

# Version 1.25 16.7.08

* Beim Aufruf von IPS7Open mit mehreren Threads gleichzeitig kam es gelegentlich zu Traps. Porblem mit CriticalSection behoben

# Version 1.24 10.7.08

* .Net und PHP Eingepflegt

# Version 1.23 2.6.06

* Zugriff über Routing per SubnetID eingefügt

# Version 1.22 14.10.05

* Betrieb mit Slot-SPS und Soft-SPS ging nicht (FAST-ACK wurde nicht korrekt verarbeitet)

* Probleme beim Empfang von fragmentierten Daten

# Version 1.21 4.8.05

* Betrieb mit CP 243 (S7 200) implementiert

# Version 1.20 8.7.05

* Sonderversion für Fachhochschule begrenzt auf DB1 und DB2 erzeugt

# Version 1.19 20.5.05

* Die Änderung 1.18 war nur für IPS7RdPlcW und IPS7WrPlcW bei Blöcken > 111 Worte

gedacht. Mit 1.18.funktionerten IPS7RdW und IPS7WrW in diesen Bereichen nicht mehr

# Version 1.18 17.5.05

* falsche Berechnung der StartAdresse bei IPS7RdW und IPS7WrW bei Blöcken > 111 Worte

Die Startadresse der Folgeblöcke wurde falsch bestimmt

# Version 1.17 4.3.05

* Neue Funktion eingefügt IPOpenPG, damit ist es möglich, eine Verbindung über den PG-Kanal der SPS herzustellen,

Sinnvoll, wenn keine OP-Kanäle mehr frei sind.

* zum worteweise Lesen und Schreiben mit ungeraden Startadressen Funktion IPS7RdPlcW und S7WrPlcW

# Version 1.16 1.12.04

* Wir hatten grundsätzlich den PG.Kanal verwendet, ab nun wird der HMI/OP-Kanal verwendet

# Version 1.15 11.11.04

* Timeoutüberwachung zum Empfang des gesamten Blocks eingefügt. U.u. kam es zu Problemen mit Berthel SPS

# Version 1.14 1.8.04

* Maximale Anzahl geöffneter Kanäle auf 256 erhöht

# Version 1.13 26.7.04

* Maximale Anzahl geöffneter Kanäle auf 128 erhöht

# Version 1.12 7.7.04

* Um höhere Performance zu erreichen wurde der Nagle-Algorithmus ausgeschaltet. D.h. TCP_NODELAY wurd auf 1 gesetzt.

# Version 1.11 13.05.04

* Beim 'close' der Sockets hat Windows den gewünschten Port teils erst nach 20 Minuten wieder freigegeben.

Dabei kam es zum Effekt, daß erst nach Neustart der SPS oder des PC eine neue Verbindung zu SPS möglich war

# Version 1.10 13.05.04

* Maximale Anzahl geöffneter Kanäle auf 64 erhöht

# Version 1.09 19.03.04

* Schreiben in Eingänge erlaubt

# Version 1.08 23.01.02

* Beim Verbindungsversuch mit Teilnehmern, die nicht im Netz waren, wurden Handles im System belegt und nicht mehr freigegeben.

Problem behoben!

# Version 1.07 12.12.01

* DLL-Aufruf von mehreren Applikationen aus gab Fehler nun beseitigt

# V 1.06 19.09.01

* Timer / ZählerFunktionen eingefügt

* Doppelwortfunktionen eingefügt

* Realzahlenzugriffe (Fließpunktarithmetik) eingefügt

# V 1.05 12.07.01

* Bit-Lese und Schreibfunktionen eingefügt

# V 1.04 19.06.01

* Byteweise Lesen und Schreiben bei DB eingefügt

# V 1.03 17.05.01

* Beim Lesen von Blöcken, die durch 222 teilbar sind

z.B. 444 Byte oder 222 Worte

z.B. 666 Byte oder 333 Worte ..

wurde der letzten 222 Byte nicht gelesen, es erfolgte keine Fehlermeldung

* Beim Schreiben von Blöcken, die durch 212 teilbar sind

z.B. 424 Byte oder 212 Worte

z.B. 636 Byte oder 318 Worte ..

wurde der letzten 212 Byte nicht geschrieben, es erfolgte keine Fehlermeldung

# V 1.02 29.01.01

Fehlernummer -6 eingefügt

Funktion IPS7GetSockErr eingefügt (siehe Dokumentation)

# V 1.01 21.12.00

Lesen von Bausteinbereichen, die nicht exisitierten

wurden als OK bestätigt, obwohl der angegebene Bereich nicht existierte

Dies trat auf bei DB > 111 Worte

# V 1.00 14.12.00