Ich versuche einen OPC-Server (SPS von Möller) anzusprechen.
Dazu starte ich einen CoDeSys Gateway Server und greife über eine DLL (XC_Comm.dll) darauf zu.
Geschrieben ist diese DLL natürlich für C.
Meine Frage: Wie erstelle ich folgende Structure (XCVarInfos) in PB?
ulChannel und ulNumberOfSymbols ist klar aber die Zeiger (auf Zeiger) bereiten mir Probleme.
Code: Alles auswählen
enum TypeClass
{
TYPE_BOOL,
TYPE_INT,
TYPE_BYTE,
TYPE_WORD,
TYPE_DINT,
TYPE_DWORD,
TYPE_REAL,
TYPE_TIME,
TYPE_STRING,
TYPE_ARRAY,
TYPE_ENUM,
TYPE_USERDEF,
TYPE_BITORBYTE,
TYPE_POINTER,
TYPE_SINT,
TYPE_USINT,
TYPE_UINT,
TYPE_UDINT,
TYPE_DATE,
TYPE_TOD,
TYPE_DT,
TYPE_VOID,
TYPE_LREAL,
TYPE_REF
};
// Symbolinformationen
typedef struct tagXCVarValue
{
ULONG ulTimeStamp;
BYTE bQuality;
BYTE byData[1];
}XCVarValue;
typedef struct tagXCSymbolDesc
{
LPSTR pszName;
LPSTR pszType;
WORD uRefId;
ULONG ulOffset;
ULONG ulSize;
char szAccess[2];
}XCSymbolDesc;
typedef void* XCVARLIST;
typedef struct tagXCVarInfos
{
XCVARLIST hVarList;
XCVarValue **ppValues;
XCSymbolDesc **ppSymbolList;
enum TypeClass *pTypeClass;
ULONG ulNumberOfSymbols;
ULONG ulChannel;
}XCVarInfos;
typedef struct tagDataRef
{
WORD POURef;
DWORD Offset;
DWORD Size;
}DataRef;
Bitte per Button in der Leiste selber machen
-- Andesdaf