uEye Kamera-Handbuch Version 4.92
![]() |
![]() |
USB 2.0 USB 3.0 GigE |
USB 2.0 USB 3.0 GigE |
Syntax
is_PersistentMemory(HIDS hCam, UINT nCommand, void* pParam, UINT cbSizeOfParam)
Beschreibung
Mit der Funktion kann der Inhalt des nicht-flüchtigen Benutzerspeichers der Kamera gelesen oder geschrieben werden. In den Benutzerspeicher können neben den fest ab Werk hinterlegten Informationen zusätzliche Nutzerdaten hinterlegt werden, die nicht zyklisch sondern permanent gespeichert werden sollen, wie z. B. Kameraparameter für das Öffnen der Kamera, einmalig ermittelte, permanente Kalibrierdaten, usw.
Abhängig vom Kameramodell steht neben dem bisherigen 64 Byte Speicher ein neuer zusätzlicher 64 kByte Speicher zur Verfügung, der ebenfalls für Nutzerdaten verwendet werden kann. Die folgende Übersicht zeigt, welche Kamerafamilien welche Benutzerspeicher unterstützen.
Kamerafamilie |
Benutzerspeicher |
uEye LE USB 3.1 Gen 1 |
64 Byte + 64 kB Extended Memory |
uEye SE USB 3.1 Gen 1 |
64 Byte + 64 kB Extended Memory |
USB 3 uEye CP Rev. 2 |
64 Byte + 64 kB Extended Memory |
USB 3 uEye CP |
64 Byte |
USB 3 uEye LE |
64 Byte + 64 kB Extended Memory |
USB 3 uEye ML |
64 Byte + 64 kB Extended Memory |
USB 3 uEye XC |
64 Byte |
GigE uEye CP Rev. 2 |
64 Byte |
GigE uEye CP |
64 Byte |
GigE uEye FA |
64 Byte |
GigE uEye LE |
64 Byte |
GigE uEye RE PoE |
64 Byte |
GigE uEye SE |
64 Byte |
GigE uEye SE Rev. 4 |
64 Byte |
USB uEye LE |
64 Byte |
USB uEye ML |
64 Byte |
USB uEye SE |
64 Byte |
USB uEye XS |
64 Byte |
Über den Übergabeparameter nCommand wird dabei der Funktionsmodus gewählt. Der Übergabeparameter pParam ist abhängig vom Funktionsmodus unterschiedlich belegt; bei Funktionen zum Setzen oder Rücklesen eines Wertes enthält pParam einen Zeiger auf eine Variable vom Typ UINT. Die Größe des Speicherbereichs, auf den pParam verweist, wird im Übergabeparameter cbSizeOfParam angegeben.
![]() |
Hinweis: Durch die Funktion is_PersistentMemory() werden folgende Funktionen obsolet: •is_ReadEEPROM() •is_WriteEEPROM() Siehe auch: Veraltete Funktionen |
Übergabeparameter
hCam |
Handle auf Kamera |
||||||||||||
|
|||||||||||||
pParam |
Zeiger auf Funktionsparameter, der abhängig von nCommand unterschiedlich belegt ist. |
||||||||||||
cbSizeOfParam |
Größe des Speicherbereichs in Byte, auf den pParam verweist. |
||||||||||||
Inhalte der Struktur IS_PERSISTENT_MEMORY
UNIT |
u32Offset |
Adress-Offset innerhalb des Bereichs |
UINT |
u32Count |
Anzahl zu lesender/schreibender Zeichen |
char* |
pu8Memory |
Zeiger auf den Buffer mit Daten, die gelesen/geschrieben werden sollen. |
Rückgabewert
IS_INVALID_CAMERA_HANDLE |
Ungültiges Kamera-Handle |
IS_INVALID_PARAMETER |
Einer der übergebenen Parameter ist außerhalb des gültigen Bereichs, oder für diesen Sensor nicht unterstützt, bzw. in diesem Modus nicht zugänglich. |
IS_NO_SUCCESS |
Allgemeine Fehlermeldung |
IS_NOT_SUPPORTED |
Das verwendete Kameramodell unterstützt diese Funktion oder Einstellung nicht. |
IS_SUCCESS |
Funktion erfolgreich |
UINT nSize = 0;
nRet = is_PersistentMemory(hCam, IS_PERSISTENT_MEMORY_GET_SIZE_USER, &nSize, sizeof(nSize));
// 1 byte termination added to memory size
char* pMemWrite = new char[nSize + 1];
ZeroMemory(pMemWrite, nSize + 1);
// Fill the array with random numbers, except termination
for (int i = 0; i < (INT)nSize; i++)
{
pMemWrite [i] = rand();
}
// Initialize peristent memory structure. Write from offset 0 nSize bytes into memory.
IS_PERSISTENT_MEMORY nPersistentMemory;
ZeroMemory(&nPersistentMemory, sizeof(nPersistentMemory));
nPersistentMemory.pu8Memory = pMemWrite;
nPersistentMemory.u32Count = nSize;
nPersistentMemory.u32Offset = 0;
// Write memory
nRet = is_PersistentMemory(m_hCam, IS_PERSISTENT_MEMORY_WRITE_USER, &nPersistentMemory, sizeof(nPersistentMemory));
delete[]pMemWrite;
// Read memory back into new buffer
char* pMemRead = new char[nSize + 1];
ZeroMemory(pMemRead, nSize + 1);
nPersistentMemory.pu8Memory = pMemRead;
nRet = is_PersistentMemory(m_hCam, IS_PERSISTENT_MEMORY_READ_USER, &nPersistentMemory, sizeof(nPersistentMemory));
delete[]pMemRead;
Haben Sie Verbesserungshinweise? Senden Sie ein kurzes
Feedback zu diesem Kapitel.
Vielen Dank!
Bei technischen Fragen wenden Sie sich bitte an Ihren lokalen Händler oder nutzen Sie das Support-Formular auf unserer Internetseite.