* betrifft nur die ARM-Version
beim Lesen von Realwerten wurden wg. ALIGNMENT falsche Werte gelesen
* IPS7RdW
Offset bei Start != 0 wurde mit Faktor 4 statt 2 berechnet
* Lite Version f�r Privatanwender generiert
* 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
* 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
* RdMultiSimplex, wenn z.B. w�hrend Debug die IP-Verbindung zur�ckgesetzt wurde
wurde evtl. ein nicht definierter positiver Fehler zur�ckgemeldet
* IPS7RdBit, Bit-Lesen ab 1.51 es wurde immer Bit 0 gelesen
* Im Source �nderungen f�r IAR-Compiler eingef�gt
* bei 1.50 MultiRead Fehler (PDUSize)
* MultiRead mit Counter war nicht korrekt
* Anpassungen f�r Embedded Systeme gemacht
* Leseroutinen optimiert
* Bei Linux wird f�r Critial Sections nun pthreads verwendet
* f�r S7-LAN-LINK auch S5-LAN integriert
* unter Linux f�r Erstellung shared Libs mit Compileroption -"fPIC"
�bersetzt
* Unterst�tzung f�r ARM-Processoren implementiert (Alignment-Trap
behoben)
* 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)
* PDU-Size f�r CPU 400 etc. optimiert
* 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.
* MultiReadzugriff: Demoversion eingebaut
sizeof - Vergleiche berichtigt
* 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
* MultiReadzugriff: lesen von Ausg�ngen wurde nicht unterst�tzt
* 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!
* MultiReadzugriff: neue Funktion " IPS7RdMultiCalcPacketCnt"
Liefert die Anzahl der ben�tigten Pakete zum lesen aller angegebenen
MultiRead-Auftr�ge
* 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
* .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
* IPS7RdMulti, Kopierfehler es kam zur Schutzverletzung
* Demo f�r Delphi �berarbeitet, Outfit wie C++/C#/VB.net
* 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
* Zwischenverison
* beim lesen der Timer konnte es bei laufendem Timer zu falschen
Ergebnissen kommen. Die Basis wurde falsch berechnet.
* Lesen / Schreiben der Real / Float-Werte mit S7-Code so ist auch
ein Betrib an S5-Lan++ mit Realwerten m�glich.
* in den .Net-Assemblies Strong-Names eingef�gt (20.8.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)
* Assembly Interface zu .Net Rd Methode mit 32 Bit
Integer hat Bit gelesen, nun 32 Bit
* ips7lnk.lib verweiste auf s7lanlnk.dll, dadurch kam es zu
Linkfehlern
beim VC++ Compiler, bzw. zur Medlung, S7lanknk.dll wird nciht gefunden
* Zus�tzliche Pr�fungen f�r g�ltigen Speicher eingef�gt. Behandlung
der Critical Sections verbessert
* IPS7WrBit war nicht exportiert
* Beim Aufruf von IPS7Open mit mehreren Threads gleichzeitig
kam
es gelegentlich zu Traps. Porblem mit CriticalSection behoben
* .Net und PHP Eingepflegt
* Zugriff �ber Routing per SubnetID eingef�gt
* Betrieb mit Slot-SPS und Soft-SPS ging nicht (FAST-ACK wurde nicht korrekt verarbeitet)
* Probleme beim Empfang von fragmentierten Daten
* Betrieb mit CP 243 (S7 200) implementiert
* Sonderversion f�r Fachhochschule begrenzt auf DB1 und DB2 erzeugt
* 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
* falsche Berechnung der StartAdresse bei IPS7RdW und IPS7WrW bei Bl�cken > 111 Worte
Die Startadresse der Folgebl�cke wurde falsch bestimmt
* 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
* Wir hatten grunds�tzlich den PG.Kanal verwendet, ab nun wird der
HMI/OP-Kanal verwendet
* Timeout�berwachung zum Empfang des gesamten Blocks eingef�gt. U.u.
kam es zu Problemen mit Berthel SPS
* Maximale Anzahl ge�ffneter Kan�le auf 256 erh�ht
* Maximale Anzahl ge�ffneter Kan�le auf 128 erh�ht
* Um h�here Performance zu erreichen wurde der Nagle-Algorithmus
ausgeschaltet. D.h. TCP_NODELAY wurd auf 1 gesetzt.
* 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
* Maximale Anzahl ge�ffneter Kan�le auf 64 erh�ht
* Schreiben in Eing�nge erlaubt
* Beim Verbindungsversuch mit Teilnehmern, die nicht im Netz waren, wurden Handles im System belegt und nicht mehr freigegeben.
Problem behoben!
* DLL-Aufruf von mehreren Applikationen aus gab Fehler nun beseitigt
* Timer / Z�hlerFunktionen eingef�gt
* Doppelwortfunktionen eingef�gt
* Realzahlenzugriffe (Flie�punktarithmetik) eingef�gt
* Bit-Lese und Schreibfunktionen eingef�gt
* Byteweise Lesen und Schreiben bei DB eingef�gt
* 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
Fehlernummer -6 eingef�gt
Funktion IPS7GetSockErr eingef�gt (siehe Dokumentation)
Lesen von Bausteinbereichen, die nicht exisitierten
wurden als OK best�tigt, obwohl der angegebene Bereich nicht existierte
Dies trat auf bei DB > 111 Worte