Open Core Interface - MLPI
MLPI-MotionLogicProgrammingInterface(mlpiCore)  1.26.2
mlpiLogicHelper.h
Go to the documentation of this file.
1 #ifndef __MLPILOGICHELPER_H__
2 #define __MLPILOGICHELPER_H__
3 
4 // -----------------------------------------------------------------------
5 // MLPI - <mlpiLogicHelper.h>
6 // -----------------------------------------------------------------------
7 // Copyright (c) 2013 Bosch Rexroth. All rights reserved.
8 // Redistribution and use in source and binary forms of this MLPI software
9 // (SW) provided to you, with or without modification, are permitted
10 // without prior approval provided that the following conditions are met:
11 //
12 // 1. Redistributions of source code of SW must retain the above copyright
13 // notice, this list of conditions and the following disclaimer.
14 //
15 // 2. Redistributions in binary form of SW must reproduce the above copyright
16 // notice, this list of conditions and the following disclaimer in the
17 // documentation and/or other materials provided with the distribution.
18 //
19 // 3. User recognizes and acknowledges that it acquires no right,
20 // title or interest in or to any of the names or trademarks used in
21 // connection with the SW ("names") by virtue of this License and waives
22 // any right to or interest in the names. User recognizes and acknowledges
23 // that names of companies or names or products of companies displayed
24 // in the documentation of SW to indicate the interoperability of products
25 // with the SW are the names of their respective owners. The use of such
26 // names in the documentation of SW does not imply any sponsorship,
27 // approval, or endorsement by such companies of this product.
28 //
29 // 4. Modified code versions, i.e. any addition to or deletion from
30 // the substance or structure of the original code of the SW running
31 // the MLPI must be plainly marked as such and must not be misrepresented
32 // as being original SW.
33 //
34 // 5. The SW may only be used in connection with a Bosch Rexroth product.
35 //
36 // THIS INFORMATION IS PROVIDED BY BOSCH REXROTH CORPORATION "AS IS"
37 // AND WITHOUT WARRANTY OF ANY KIND, EXPRESSED OR IMPLIED, INCLUDING
38 // (BUT NOTLIMITED TO) ANY IMPLIED WARRANTIES OF MERCHANTABILITY,
39 // FITNESS FOR ANY PARTICULAR PURPOSE, OR NON-INFRINGEMENT. WHILE THE
40 // INFORMATION PROVIDED IS BELIEVED TO BE ACCURATE, IT MAY INCLUDE
41 // ERRORS OR INACCURACIES.
42 // SUBJECT TO COMPULSORY STATUTORY PROVISIONS OF THE GERMAN LAW AS
43 // THE APPLICABLE LAW FOR THIS LICENSE BOSCH REXROTH CORPORATION WILL
44 // NOT BE LIABLE FOR ANY DAMAGES OF ANY KIND ARISING FROM THE USE OF
45 // THE SOFTWARE DISTRIBUTED HEREUNDER, INCLUDING BUT NOT LIMITED TO
46 // DIRECT, INDIRECT, INCIDENTAL, PUNITIVE, AND CONSEQUENTIAL DAMAGES.
47 // -----------------------------------------------------------------------
48 //
58 //
59 // -----------------------------------------------------------------------
60 
61 
62 
76 
77 
78 
79 // -----------------------------------------------------------------------
80 // GLOBAL INCLUDES
81 // -----------------------------------------------------------------------
82 #include <sstream>
83 #include <vector>
84 
85 #include "mlpiGlobal.h"
86 #include "wchar16.h"
87 
88 #include "mlpiLogicLib.h"
89 
90 // -----------------------------------------------------------------------
91 // GLOBAL TYPEDEFS
92 // -----------------------------------------------------------------------
93 
95 typedef std::vector<std::wstring> SymbolList;
96 
97 // -----------------------------------------------------------------------
98 // GLOBAL CONSTANTS
99 // -----------------------------------------------------------------------
100 const WCHAR16 MLPI_READ_VAR_DISPLAY_TYPE_DEC[] = {'D','E','C',':', '\0'};
101 const WCHAR16 MLPI_READ_VAR_DISPLAY_TYPE_HEX[] = {'H','E','X',':', '\0'};
102 const WCHAR16 MLPI_READ_VAR_DISPLAY_TYPE_BIN[] = {'B','I','N',':', '\0'};
103 const WCHAR16 MLPI_READ_VAR_DISPLAY_TYPE_BOOLEAN[] = {'B','L','N',':', '\0'};
104 
105 // -----------------------------------------------------------------------
106 // GLOBAL MACROS
107 // -----------------------------------------------------------------------
108 
109 // -----------------------------------------------------------------------
110 // GLOBAL EXPORTS
111 // -----------------------------------------------------------------------
112 
113 
136 inline MLPIRESULT utilLogicGetSymbolList(MLPIHANDLE connection, const std::wstring &application, SymbolList &symbolList)
137 {
138  // Read all symbols of an application.
139  // we need to loop as long as there are more symbols available, which is signaled by the value
140  // of node. See also mlpi documentation.
141  ULONG node = 0;
142  WCHAR16 symbols[1024] = L"";
143 
144  do {
145  // read list of symbols to string
146  MLPIRESULT result = mlpiLogicGetSymbolsOfApplication(connection, application.c_str(), &node, symbols, _countof(symbols));
147 
148  if (MLPI_FAILED(result))
149  return result;
150 
151  // tokenized list of strings to vector
152  WCHAR16* context = NULL;
153  WCHAR16 *token = wcstok_r16(symbols, L";", &context);
154  while(token != NULL) {
155  symbolList.push_back(token);
156  token = wcstok_r16(NULL, L";", &context);
157  }
158  }
159  while (node != 0xFFFFFFFF);
160 
161  return MLPI_S_OK;
162 }
163 
164 #if !defined (TARGET_OS_VXWORKS) // no wstringstream support on vxw :-(
165 
175 inline MLPIRESULT utilLogicInflateSymbol(MLPIHANDLE connection, const std::wstring &symbol, SymbolList &symbolList, MlpiLogicSymbolInformation &symbolInfo)
176 {
177  // optimization: we use the symbolInfo variable as kind of a cached information placeholder to minimize MLPI function calls
178  // in case of arrays. If the type is not marked with MLPI_LOGIC_TYPE_UNSUPPORTED, the information about the symbol is still
179  // known from the last recursion and we can reuse it. Otherwise, the last recursion was not of the same symbol and therefore we
180  // need to call the MLPI function to get the symbol information
181  if (symbolInfo.type == MLPI_LOGIC_TYPE_UNSUPPORTED) {
182  MLPIRESULT result = mlpiLogicGetInformationOfSymbol(connection, symbol.c_str(), &symbolInfo);
183  if (MLPI_FAILED(result))
184  return result;
185  }
186 
187  if(symbolInfo.type == MLPI_LOGIC_TYPE_USERDEF) {
188  //
189  // symbol is user defined (struct) --> recurse again for each element in struct
190  //
191  std::vector<MlpiLogicUserTypeInformation> userTypeInfos(symbolInfo.numElements);
192  MLPIRESULT result = mlpiLogicGetInformationOfUserType(connection, symbol.c_str(), &userTypeInfos[0], symbolInfo.numElements, NULL);
193  if (MLPI_FAILED(result))
194  return result;
195 
196  for (ULONG i=0; i<symbolInfo.numElements; i++) {
197  MlpiLogicSymbolInformation symbolInfoCache;
198  symbolInfoCache.type = MLPI_LOGIC_TYPE_UNSUPPORTED;
199 
200  std::wstringstream structSymbol;
201  structSymbol << symbol << L"." << userTypeInfos.at(i).name;
202  MLPIRESULT resultInflate = utilLogicInflateSymbol(connection, structSymbol.str(), symbolList, symbolInfoCache);
203  if (MLPI_FAILED(resultInflate))
204  return resultInflate;
205  }
206 
207  } else if (symbolInfo.type == MLPI_LOGIC_TYPE_ARRAY) {
208  //
209  // symbol is array --> recurse again for each element of array
210  //
211  MlpiLogicSymbolInformation symbolInfoCache;
212  symbolInfoCache.type = MLPI_LOGIC_TYPE_UNSUPPORTED;
213 
214  for (ULONG a=symbolInfo.range[0].minimum; a<=symbolInfo.range[0].maximum; a++) {
215  for (ULONG b=symbolInfo.range[1].minimum; b<=symbolInfo.range[1].maximum; b++) {
216  for (ULONG c=symbolInfo.range[2].minimum; c<=symbolInfo.range[2].maximum; c++) {
217  std::wstringstream arraySymbol;
218  arraySymbol << symbol << L"[" << a << L"]";
219  if (symbolInfo.dimension >= 2) arraySymbol << L"[" << b << L"]";
220  if (symbolInfo.dimension >= 3) arraySymbol << L"[" << c << L"]";
221 
222  if (symbolInfo.subType == MLPI_LOGIC_TYPE_USERDEF) {
223  MLPIRESULT result = utilLogicInflateSymbol(connection, arraySymbol.str(), symbolList, symbolInfoCache);
224  if (MLPI_FAILED(result))
225  return result;
226  } else {
227  symbolList.push_back(arraySymbol.str());
228  }
229  }
230  }
231  }
232  } else {
233  //
234  // symbol is primitive --> add to list of symbols, end of recursion
235  //
236  symbolList.push_back(symbol);
237  }
238 
239  return MLPI_S_OK;
240 }
241 
242 
267 inline MLPIRESULT utilLogicGetSymbolListExtended(MLPIHANDLE connection, const std::wstring &application, SymbolList &symbolList)
268 {
269  // start by reading the simple symbol list, which gets inflated later on.
270  SymbolList symbolListSimple;
271  MLPIRESULT result = utilLogicGetSymbolList(connection, application, symbolListSimple);
272  if (MLPI_FAILED(result))
273  return result;
274 
275  // based on the simple symbol list which shows all first level symbols, we loop over each variable and
276  // check for arrays or user defined structures. All symbols get pushed to a new list which is then
277  // our extended symbol list.
278  for (SymbolList::iterator iter=symbolListSimple.begin(); iter!=symbolListSimple.end(); iter++) {
279  MlpiLogicSymbolInformation symbolInfoCache;
280  symbolInfoCache.type = MLPI_LOGIC_TYPE_UNSUPPORTED;
281 
282  result = utilLogicInflateSymbol(connection, (*iter).c_str(), symbolList, symbolInfoCache);
283  if (MLPI_FAILED(result))
284  return result;
285  }
286 
287  return MLPI_S_OK;
288 }
289 #endif
290 
291 #ifdef __cplusplus
292 extern "C" {
293 #endif
294 
295 //
296 // "Read variable by symbol" wrapper of PLC data types within the IEC61131 environment 'IndraLogic'
297 //
298 
299 inline MLPIRESULT mlpiLogicReadVariableBySymbolBool(const MLPIHANDLE connection, const WCHAR16 *symbol, BOOL8 *data)
300  {return mlpiLogicReadVariableBySymbolBool8(connection, symbol, data);}
301 
302 inline MLPIRESULT mlpiLogicReadVariableBySymbolSint(const MLPIHANDLE connection, const WCHAR16 *symbol, CHAR *data)
303  {return mlpiLogicReadVariableBySymbolChar(connection, symbol, data);}
304 inline MLPIRESULT mlpiLogicReadVariableBySymbolInt(const MLPIHANDLE connection, const WCHAR16 *symbol, SHORT *data)
305  {return mlpiLogicReadVariableBySymbolShort(connection, symbol, data);}
306 inline MLPIRESULT mlpiLogicReadVariableBySymbolDint(const MLPIHANDLE connection, const WCHAR16 *symbol, LONG *data)
307  {return mlpiLogicReadVariableBySymbolLong(connection, symbol, data);}
308 inline MLPIRESULT mlpiLogicReadVariableBySymbolLint(const MLPIHANDLE connection, const WCHAR16 *symbol, LLONG *data)
309  {return mlpiLogicReadVariableBySymbolLlong(connection, symbol, data);}
310 
311 inline MLPIRESULT mlpiLogicReadVariableBySymbolUsint(const MLPIHANDLE connection, const WCHAR16 *symbol, UCHAR *data)
312  {return mlpiLogicReadVariableBySymbolUchar(connection, symbol, data);}
313 inline MLPIRESULT mlpiLogicReadVariableBySymbolUint(const MLPIHANDLE connection, const WCHAR16 *symbol, USHORT *data)
314  {return mlpiLogicReadVariableBySymbolUshort(connection, symbol, data);}
315 inline MLPIRESULT mlpiLogicReadVariableBySymbolUdint(const MLPIHANDLE connection, const WCHAR16 *symbol, ULONG *data)
316  {return mlpiLogicReadVariableBySymbolUlong(connection, symbol, data);}
317 inline MLPIRESULT mlpiLogicReadVariableBySymbolUlint(const MLPIHANDLE connection, const WCHAR16 *symbol, ULLONG *data)
318  {return mlpiLogicReadVariableBySymbolUllong(connection, symbol, data);}
319 
320 inline MLPIRESULT mlpiLogicReadVariableBySymbolByte(const MLPIHANDLE connection, const WCHAR16 *symbol, UCHAR *data)
321  {return mlpiLogicReadVariableBySymbolUchar(connection, symbol, data);}
322 inline MLPIRESULT mlpiLogicReadVariableBySymbolWord(const MLPIHANDLE connection, const WCHAR16 *symbol, USHORT *data)
323  {return mlpiLogicReadVariableBySymbolUshort(connection, symbol, data);}
324 inline MLPIRESULT mlpiLogicReadVariableBySymbolDword(const MLPIHANDLE connection, const WCHAR16 *symbol, ULONG *data)
325  {return mlpiLogicReadVariableBySymbolUlong(connection, symbol, data);}
326 inline MLPIRESULT mlpiLogicReadVariableBySymbolLword(const MLPIHANDLE connection, const WCHAR16 *symbol, ULLONG *data)
327  {return mlpiLogicReadVariableBySymbolUllong(connection, symbol, data);}
328 
329 inline MLPIRESULT mlpiLogicReadVariableBySymbolReal(const MLPIHANDLE connection, const WCHAR16 *symbol, FLOAT *data)
330  {return mlpiLogicReadVariableBySymbolFloat(connection, symbol, data);}
331 inline MLPIRESULT mlpiLogicReadVariableBySymbolLreal(const MLPIHANDLE connection, const WCHAR16 *symbol, DOUBLE *data)
332  {return mlpiLogicReadVariableBySymbolDouble(connection, symbol, data);}
333 
334 inline MLPIRESULT mlpiLogicReadVariableBySymbolWstring(const MLPIHANDLE connection, const WCHAR16 *symbol, WCHAR16 *data, const ULONG numElements)
335  {return mlpiLogicReadVariableBySymbolString(connection, symbol, data, numElements);}
336 
337 inline MLPIRESULT mlpiLogicReadVariableBySymbolArrayBool(const MLPIHANDLE connection, const WCHAR16 *symbol, BOOL8 *data, const ULONG numElements, ULONG *numElementsRet)
338  {return mlpiLogicReadVariableBySymbolArrayBool8(connection, symbol, data, numElements, numElementsRet);}
339 
340 inline MLPIRESULT mlpiLogicReadVariableBySymbolArraySint(const MLPIHANDLE connection, const WCHAR16 *symbol, CHAR *data, const ULONG numElements, ULONG *numElementsRet)
341  {return mlpiLogicReadVariableBySymbolArrayChar(connection, symbol, data, numElements, numElementsRet);}
342 inline MLPIRESULT mlpiLogicReadVariableBySymbolArrayInt(const MLPIHANDLE connection, const WCHAR16 *symbol, SHORT *data, const ULONG numElements, ULONG *numElementsRet)
343  {return mlpiLogicReadVariableBySymbolArrayShort(connection, symbol, data, numElements, numElementsRet);}
344 inline MLPIRESULT mlpiLogicReadVariableBySymbolArrayDint(const MLPIHANDLE connection, const WCHAR16 *symbol, LONG *data, const ULONG numElements, ULONG *numElementsRet)
345  {return mlpiLogicReadVariableBySymbolArrayLong(connection, symbol, data, numElements, numElementsRet);}
346 inline MLPIRESULT mlpiLogicReadVariableBySymbolArrayLint(const MLPIHANDLE connection, const WCHAR16 *symbol, LLONG *data, const ULONG numElements, ULONG *numElementsRet)
347  {return mlpiLogicReadVariableBySymbolArrayLlong(connection, symbol, data, numElements, numElementsRet);}
348 
349 inline MLPIRESULT mlpiLogicReadVariableBySymbolArrayUsint(const MLPIHANDLE connection, const WCHAR16 *symbol, UCHAR *data, const ULONG numElements, ULONG *numElementsRet)
350  {return mlpiLogicReadVariableBySymbolArrayUchar(connection, symbol, data, numElements, numElementsRet);}
351 inline MLPIRESULT mlpiLogicReadVariableBySymbolArrayUint(const MLPIHANDLE connection, const WCHAR16 *symbol, USHORT *data, const ULONG numElements, ULONG *numElementsRet)
352  {return mlpiLogicReadVariableBySymbolArrayUshort(connection, symbol, data, numElements, numElementsRet);}
353 inline MLPIRESULT mlpiLogicReadVariableBySymbolArrayUdint(const MLPIHANDLE connection, const WCHAR16 *symbol, ULONG *data, const ULONG numElements, ULONG *numElementsRet)
354  {return mlpiLogicReadVariableBySymbolArrayUlong(connection, symbol, data, numElements, numElementsRet);}
355 inline MLPIRESULT mlpiLogicReadVariableBySymbolArrayUlint(const MLPIHANDLE connection, const WCHAR16 *symbol, ULLONG *data, const ULONG numElements, ULONG *numElementsRet)
356  {return mlpiLogicReadVariableBySymbolArrayUllong(connection, symbol, data, numElements, numElementsRet);}
357 
358 inline MLPIRESULT mlpiLogicReadVariableBySymbolArrayByte(const MLPIHANDLE connection, const WCHAR16 *symbol, UCHAR *data, const ULONG numElements, ULONG *numElementsRet)
359  {return mlpiLogicReadVariableBySymbolArrayUchar(connection, symbol, data, numElements, numElementsRet);}
360 inline MLPIRESULT mlpiLogicReadVariableBySymbolArrayWord(const MLPIHANDLE connection, const WCHAR16 *symbol, USHORT *data, const ULONG numElements, ULONG *numElementsRet)
361  {return mlpiLogicReadVariableBySymbolArrayUshort(connection, symbol, data, numElements, numElementsRet);}
362 inline MLPIRESULT mlpiLogicReadVariableBySymbolArrayDword(const MLPIHANDLE connection, const WCHAR16 *symbol, ULONG *data, const ULONG numElements, ULONG *numElementsRet)
363  {return mlpiLogicReadVariableBySymbolArrayUlong(connection, symbol, data, numElements, numElementsRet);}
364 inline MLPIRESULT mlpiLogicReadVariableBySymbolArrayLword(const MLPIHANDLE connection, const WCHAR16 *symbol, ULLONG *data, const ULONG numElements, ULONG *numElementsRet)
365  {return mlpiLogicReadVariableBySymbolArrayUllong(connection, symbol, data, numElements, numElementsRet);}
366 
367 inline MLPIRESULT mlpiLogicReadVariableBySymbolArrayReal(const MLPIHANDLE connection, const WCHAR16 *symbol, FLOAT *data, const ULONG numElements, ULONG *numElementsRet)
368  {return mlpiLogicReadVariableBySymbolArrayFloat(connection, symbol, data, numElements, numElementsRet);}
369 inline MLPIRESULT mlpiLogicReadVariableBySymbolArrayLreal(const MLPIHANDLE connection, const WCHAR16 *symbol, DOUBLE *data, const ULONG numElements, ULONG *numElementsRet)
370  {return mlpiLogicReadVariableBySymbolArrayDouble(connection, symbol, data, numElements, numElementsRet);}
371 
372 //
373 // "Write variable by symbol" wrapper of PLC data types within the IEC61131 environment 'IndraLogic'
374 //
375 
376 inline MLPIRESULT mlpiLogicWriteVariableBySymbolBool(const MLPIHANDLE connection, const WCHAR16 *symbol, const BOOL8 data)
377  {return mlpiLogicWriteVariableBySymbolBool8(connection, symbol, data);}
378 
379 inline MLPIRESULT mlpiLogicWriteVariableBySymbolSint(const MLPIHANDLE connection, const WCHAR16 *symbol, const CHAR data)
380  {return mlpiLogicWriteVariableBySymbolChar(connection, symbol, data);}
381 inline MLPIRESULT mlpiLogicWriteVariableBySymbolInt(const MLPIHANDLE connection, const WCHAR16 *symbol, const SHORT data)
382  {return mlpiLogicWriteVariableBySymbolShort(connection, symbol, data);}
383 inline MLPIRESULT mlpiLogicWriteVariableBySymbolDint(const MLPIHANDLE connection, const WCHAR16 *symbol, const LONG data)
384  {return mlpiLogicWriteVariableBySymbolLong(connection, symbol, data);}
385 inline MLPIRESULT mlpiLogicWriteVariableBySymbolLint(const MLPIHANDLE connection, const WCHAR16 *symbol, const LLONG data)
386  {return mlpiLogicWriteVariableBySymbolLlong(connection, symbol, data);}
387 
388 inline MLPIRESULT mlpiLogicWriteVariableBySymbolUsint(const MLPIHANDLE connection, const WCHAR16 *symbol, const UCHAR data)
389  {return mlpiLogicWriteVariableBySymbolUchar(connection, symbol, data);}
390 inline MLPIRESULT mlpiLogicWriteVariableBySymbolUint(const MLPIHANDLE connection, const WCHAR16 *symbol, const USHORT data)
391  {return mlpiLogicWriteVariableBySymbolUshort(connection, symbol, data);}
392 inline MLPIRESULT mlpiLogicWriteVariableBySymbolUdint(const MLPIHANDLE connection, const WCHAR16 *symbol, const ULONG data)
393  {return mlpiLogicWriteVariableBySymbolUlong(connection, symbol, data);}
394 inline MLPIRESULT mlpiLogicWriteVariableBySymbolUlint(const MLPIHANDLE connection, const WCHAR16 *symbol, const ULLONG data)
395  {return mlpiLogicWriteVariableBySymbolUllong(connection, symbol, data);}
396 
397 inline MLPIRESULT mlpiLogicWriteVariableBySymbolByte(const MLPIHANDLE connection, const WCHAR16 *symbol, const UCHAR data)
398  {return mlpiLogicWriteVariableBySymbolUchar(connection, symbol, data);}
399 inline MLPIRESULT mlpiLogicWriteVariableBySymbolWord(const MLPIHANDLE connection, const WCHAR16 *symbol, const USHORT data)
400  {return mlpiLogicWriteVariableBySymbolUshort(connection, symbol, data);}
401 inline MLPIRESULT mlpiLogicWriteVariableBySymbolDword(const MLPIHANDLE connection, const WCHAR16 *symbol, const ULONG data)
402  {return mlpiLogicWriteVariableBySymbolUlong(connection, symbol, data);}
403 inline MLPIRESULT mlpiLogicWriteVariableBySymbolLword(const MLPIHANDLE connection, const WCHAR16 *symbol, const ULLONG data)
404  {return mlpiLogicWriteVariableBySymbolUllong(connection, symbol, data);}
405 
406 inline MLPIRESULT mlpiLogicWriteVariableBySymbolReal(const MLPIHANDLE connection, const WCHAR16 *symbol, const FLOAT data)
407  {return mlpiLogicWriteVariableBySymbolFloat(connection, symbol, data);}
408 inline MLPIRESULT mlpiLogicWriteVariableBySymbolLreal(const MLPIHANDLE connection, const WCHAR16 *symbol, const DOUBLE data)
409  {return mlpiLogicWriteVariableBySymbolDouble(connection, symbol, data);}
410 
411 inline MLPIRESULT mlpiLogicWriteVariableBySymbolWstring(const MLPIHANDLE connection, const WCHAR16 *symbol, const WCHAR16 *data)
412  {return mlpiLogicWriteVariableBySymbolString(connection, symbol, data);}
413 
414 inline MLPIRESULT mlpiLogicWriteVariableBySymbolArrayBool(const MLPIHANDLE connection, const WCHAR16 *symbol, const BOOL8 *data, const ULONG numElements)
415  {return mlpiLogicWriteVariableBySymbolArrayBool8(connection, symbol, data, numElements);}
416 
417 inline MLPIRESULT mlpiLogicWriteVariableBySymbolArraySint(const MLPIHANDLE connection, const WCHAR16 *symbol, const CHAR *data, const ULONG numElements)
418  {return mlpiLogicWriteVariableBySymbolArrayChar(connection, symbol, data, numElements);}
419 inline MLPIRESULT mlpiLogicWriteVariableBySymbolArrayInt(const MLPIHANDLE connection, const WCHAR16 *symbol, const SHORT *data, const ULONG numElements)
420  {return mlpiLogicWriteVariableBySymbolArrayShort(connection, symbol, data, numElements);}
421 inline MLPIRESULT mlpiLogicWriteVariableBySymbolArrayDint(const MLPIHANDLE connection, const WCHAR16 *symbol, const LONG *data, const ULONG numElements)
422  {return mlpiLogicWriteVariableBySymbolArrayLong(connection, symbol, data, numElements);}
423 inline MLPIRESULT mlpiLogicWriteVariableBySymbolArrayLint(const MLPIHANDLE connection, const WCHAR16 *symbol, const LLONG *data, const ULONG numElements)
424  {return mlpiLogicWriteVariableBySymbolArrayLlong(connection, symbol, data, numElements);}
425 
426 inline MLPIRESULT mlpiLogicWriteVariableBySymbolArrayUsint(const MLPIHANDLE connection, const WCHAR16 *symbol, const UCHAR *data, const ULONG numElements)
427  {return mlpiLogicWriteVariableBySymbolArrayUchar(connection, symbol, data, numElements);}
428 inline MLPIRESULT mlpiLogicWriteVariableBySymbolArrayUint(const MLPIHANDLE connection, const WCHAR16 *symbol, const USHORT *data, const ULONG numElements)
429  {return mlpiLogicWriteVariableBySymbolArrayUshort(connection, symbol, data, numElements);}
430 inline MLPIRESULT mlpiLogicWriteVariableBySymbolArrayUdint(const MLPIHANDLE connection, const WCHAR16 *symbol, const ULONG *data, const ULONG numElements)
431  {return mlpiLogicWriteVariableBySymbolArrayUlong(connection, symbol, data, numElements);}
432 inline MLPIRESULT mlpiLogicWriteVariableBySymbolArrayUlint(const MLPIHANDLE connection, const WCHAR16 *symbol, const ULLONG *data, const ULONG numElements)
433  {return mlpiLogicWriteVariableBySymbolArrayUllong(connection, symbol, data, numElements);}
434 
435 inline MLPIRESULT mlpiLogicWriteVariableBySymbolArrayByte(const MLPIHANDLE connection, const WCHAR16 *symbol, const UCHAR *data, const ULONG numElements)
436  {return mlpiLogicWriteVariableBySymbolArrayUchar(connection, symbol, data, numElements);}
437 inline MLPIRESULT mlpiLogicWriteVariableBySymbolArrayWord(const MLPIHANDLE connection, const WCHAR16 *symbol, const USHORT *data, const ULONG numElements)
438  {return mlpiLogicWriteVariableBySymbolArrayUshort(connection, symbol, data, numElements);}
439 inline MLPIRESULT mlpiLogicWriteVariableBySymbolArrayDword(const MLPIHANDLE connection, const WCHAR16 *symbol, const ULONG *data, const ULONG numElements)
440  {return mlpiLogicWriteVariableBySymbolArrayUlong(connection, symbol, data, numElements);}
441 inline MLPIRESULT mlpiLogicWriteVariableBySymbolArrayLword(const MLPIHANDLE connection, const WCHAR16 *symbol, const ULLONG *data, const ULONG numElements)
442  {return mlpiLogicWriteVariableBySymbolArrayUllong(connection, symbol, data, numElements);}
443 
444 inline MLPIRESULT mlpiLogicWriteVariableBySymbolArrayReal(const MLPIHANDLE connection, const WCHAR16 *symbol, const FLOAT *data, const ULONG numElements)
445  {return mlpiLogicWriteVariableBySymbolArrayFloat(connection, symbol, data, numElements);}
446 inline MLPIRESULT mlpiLogicWriteVariableBySymbolArrayLreal(const MLPIHANDLE connection, const WCHAR16 *symbol, const DOUBLE *data, const ULONG numElements)
447  {return mlpiLogicWriteVariableBySymbolArrayDouble(connection, symbol, data, numElements);}
448 
449 //
450 // "Read memory area" wrapper of PLC data types within the IEC61131 environment 'IndraLogic'
451 //
452 
453 inline MLPIRESULT mlpiLogicReadMemoryAreaBool(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG bitOffset, BOOL8 *data)
454  {return mlpiLogicReadMemoryAreaBool8(connection, application, area, bitOffset, data);}
455 
456 inline MLPIRESULT mlpiLogicReadMemoryAreaSint(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, CHAR *data)
457  {return mlpiLogicReadMemoryAreaChar(connection, application, area, byteOffset, data);}
458 inline MLPIRESULT mlpiLogicReadMemoryAreaInt(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, SHORT *data)
459  {return mlpiLogicReadMemoryAreaShort(connection, application, area, byteOffset, data);}
460 inline MLPIRESULT mlpiLogicReadMemoryAreaDint(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, LONG *data)
461  {return mlpiLogicReadMemoryAreaLong(connection, application, area, byteOffset, data);}
462 inline MLPIRESULT mlpiLogicReadMemoryAreaLint(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, LLONG *data)
463  {return mlpiLogicReadMemoryAreaLlong(connection, application, area, byteOffset, data);}
464 
465 inline MLPIRESULT mlpiLogicReadMemoryAreaUsint(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, UCHAR *data)
466  {return mlpiLogicReadMemoryAreaUchar(connection, application, area, byteOffset, data);}
467 inline MLPIRESULT mlpiLogicReadMemoryAreaUint(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, USHORT *data)
468  {return mlpiLogicReadMemoryAreaUshort(connection, application, area, byteOffset, data);}
469 inline MLPIRESULT mlpiLogicReadMemoryAreaUdint(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, ULONG *data)
470  {return mlpiLogicReadMemoryAreaUlong(connection, application, area, byteOffset, data);}
471 inline MLPIRESULT mlpiLogicReadMemoryAreaUlint(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, ULLONG *data)
472  {return mlpiLogicReadMemoryAreaUllong(connection, application, area, byteOffset, data);}
473 
474 inline MLPIRESULT mlpiLogicReadMemoryAreaByte(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, UCHAR *data)
475  {return mlpiLogicReadMemoryAreaUchar(connection, application, area, byteOffset, data);}
476 inline MLPIRESULT mlpiLogicReadMemoryAreaWord(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, USHORT *data)
477  {return mlpiLogicReadMemoryAreaUshort(connection, application, area, byteOffset, data);}
478 inline MLPIRESULT mlpiLogicReadMemoryAreaDword(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, ULONG *data)
479  {return mlpiLogicReadMemoryAreaUlong(connection, application, area, byteOffset, data);}
480 inline MLPIRESULT mlpiLogicReadMemoryAreaLword(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, ULLONG *data)
481  {return mlpiLogicReadMemoryAreaUllong(connection, application, area, byteOffset, data);}
482 
483 inline MLPIRESULT mlpiLogicReadMemoryAreaReal(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, FLOAT *data)
484  {return mlpiLogicReadMemoryAreaFloat(connection, application, area, byteOffset, data);}
485 inline MLPIRESULT mlpiLogicReadMemoryAreaLreal(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, DOUBLE *data)
486  {return mlpiLogicReadMemoryAreaDouble(connection, application, area, byteOffset, data);}
487 
488 inline MLPIRESULT mlpiLogicReadMemoryAreaArraySint(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, CHAR *data, const ULONG numElements, ULONG *numElementsRet)
489  {return mlpiLogicReadMemoryAreaArrayChar(connection, application, area, byteOffset, data, numElements, numElementsRet);}
490 inline MLPIRESULT mlpiLogicReadMemoryAreaArrayInt(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, SHORT *data, const ULONG numElements, ULONG *numElementsRet)
491  {return mlpiLogicReadMemoryAreaArrayShort(connection, application, area, byteOffset, data, numElements, numElementsRet);}
492 inline MLPIRESULT mlpiLogicReadMemoryAreaArrayDint(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, LONG *data, const ULONG numElements, ULONG *numElementsRet)
493  {return mlpiLogicReadMemoryAreaArrayLong(connection, application, area, byteOffset, data, numElements, numElementsRet);}
494 inline MLPIRESULT mlpiLogicReadMemoryAreaArrayLint(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, LLONG *data, const ULONG numElements, ULONG *numElementsRet)
495  {return mlpiLogicReadMemoryAreaArrayLlong(connection, application, area, byteOffset, data, numElements, numElementsRet);}
496 
497 inline MLPIRESULT mlpiLogicReadMemoryAreaArrayUsint(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, UCHAR *data, const ULONG numElements, ULONG *numElementsRet)
498  {return mlpiLogicReadMemoryAreaArrayUchar(connection, application, area, byteOffset, data, numElements, numElementsRet);}
499 inline MLPIRESULT mlpiLogicReadMemoryAreaArrayUint(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, USHORT *data, const ULONG numElements, ULONG *numElementsRet)
500  {return mlpiLogicReadMemoryAreaArrayUshort(connection, application, area, byteOffset, data, numElements, numElementsRet);}
501 inline MLPIRESULT mlpiLogicReadMemoryAreaArrayUdint(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, ULONG *data, const ULONG numElements, ULONG *numElementsRet)
502  {return mlpiLogicReadMemoryAreaArrayUlong(connection, application, area, byteOffset, data, numElements, numElementsRet);}
503 inline MLPIRESULT mlpiLogicReadMemoryAreaArrayUlint(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, ULLONG *data, const ULONG numElements, ULONG *numElementsRet)
504  {return mlpiLogicReadMemoryAreaArrayUllong(connection, application, area, byteOffset, data, numElements, numElementsRet);}
505 
506 inline MLPIRESULT mlpiLogicReadMemoryAreaArrayByte(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, UCHAR *data, const ULONG numElements, ULONG *numElementsRet)
507  {return mlpiLogicReadMemoryAreaArrayUchar(connection, application, area, byteOffset, data, numElements, numElementsRet);}
508 inline MLPIRESULT mlpiLogicReadMemoryAreaArrayWord(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, USHORT *data, const ULONG numElements, ULONG *numElementsRet)
509  {return mlpiLogicReadMemoryAreaArrayUshort(connection, application, area, byteOffset, data, numElements, numElementsRet);}
510 inline MLPIRESULT mlpiLogicReadMemoryAreaArrayDword(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, ULONG *data, const ULONG numElements, ULONG *numElementsRet)
511  {return mlpiLogicReadMemoryAreaArrayUlong(connection, application, area, byteOffset, data, numElements, numElementsRet);}
512 inline MLPIRESULT mlpiLogicReadMemoryAreaArrayLword(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, ULLONG *data, const ULONG numElements, ULONG *numElementsRet)
513  {return mlpiLogicReadMemoryAreaArrayUllong(connection, application, area, byteOffset, data, numElements, numElementsRet);}
514 
515 inline MLPIRESULT mlpiLogicReadMemoryAreaArrayReal(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, FLOAT *data, const ULONG numElements, ULONG *numElementsRet)
516  {return mlpiLogicReadMemoryAreaArrayFloat(connection, application, area, byteOffset, data, numElements, numElementsRet);}
517 inline MLPIRESULT mlpiLogicReadMemoryAreaArrayLreal(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, DOUBLE *data, const ULONG numElements, ULONG *numElementsRet)
518  {return mlpiLogicReadMemoryAreaArrayDouble(connection, application, area, byteOffset, data, numElements, numElementsRet);}
519 
520 //
521 // "Write memory area" wrapper of PLC data types within the IEC61131 environment 'IndraLogic'
522 //
523 
524 inline MLPIRESULT mlpiLogicWriteMemoryAreaBool(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG bitOffset, const BOOL8 data)
525  {return mlpiLogicWriteMemoryAreaBool8(connection, application, area, bitOffset, data);}
526 
527 inline MLPIRESULT mlpiLogicWriteMemoryAreaSint(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const CHAR data)
528  {return mlpiLogicWriteMemoryAreaChar(connection, application, area, byteOffset, data);}
529 inline MLPIRESULT mlpiLogicWriteMemoryAreaInt(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const SHORT data)
530  {return mlpiLogicWriteMemoryAreaShort(connection, application, area, byteOffset, data);}
531 inline MLPIRESULT mlpiLogicWriteMemoryAreaDint(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const LONG data)
532  {return mlpiLogicWriteMemoryAreaLong(connection, application, area, byteOffset, data);}
533 inline MLPIRESULT mlpiLogicWriteMemoryAreaLint(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const LLONG data)
534  {return mlpiLogicWriteMemoryAreaLlong(connection, application, area, byteOffset, data);}
535 
536 inline MLPIRESULT mlpiLogicWriteMemoryAreaUsint(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const UCHAR data)
537  {return mlpiLogicWriteMemoryAreaUchar(connection, application, area, byteOffset, data);}
538 inline MLPIRESULT mlpiLogicWriteMemoryAreaUint(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const USHORT data)
539  {return mlpiLogicWriteMemoryAreaUshort(connection, application, area, byteOffset, data);}
540 inline MLPIRESULT mlpiLogicWriteMemoryAreaUdint(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const ULONG data)
541  {return mlpiLogicWriteMemoryAreaUlong(connection, application, area, byteOffset, data);}
542 inline MLPIRESULT mlpiLogicWriteMemoryAreaUlint(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const ULLONG data)
543  {return mlpiLogicWriteMemoryAreaUllong(connection, application, area, byteOffset, data);}
544 
545 inline MLPIRESULT mlpiLogicWriteMemoryAreaByte(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const UCHAR data)
546  {return mlpiLogicWriteMemoryAreaUchar(connection, application, area, byteOffset, data);}
547 inline MLPIRESULT mlpiLogicWriteMemoryAreaWord(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const USHORT data)
548  {return mlpiLogicWriteMemoryAreaUshort(connection, application, area, byteOffset, data);}
549 inline MLPIRESULT mlpiLogicWriteMemoryAreaDword(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const ULONG data)
550  {return mlpiLogicWriteMemoryAreaUlong(connection, application, area, byteOffset, data);}
551 inline MLPIRESULT mlpiLogicWriteMemoryAreaLword(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const ULLONG data)
552  {return mlpiLogicWriteMemoryAreaUllong(connection, application, area, byteOffset, data);}
553 
554 inline MLPIRESULT mlpiLogicWriteMemoryAreaReal(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const FLOAT data)
555  {return mlpiLogicWriteMemoryAreaFloat(connection, application, area, byteOffset, data);}
556 inline MLPIRESULT mlpiLogicWriteMemoryAreaLreal(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const DOUBLE data)
557  {return mlpiLogicWriteMemoryAreaDouble(connection, application, area, byteOffset, data);}
558 
559 inline MLPIRESULT mlpiLogicWriteMemoryAreaArraySint(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const CHAR *data, const ULONG numElements)
560  {return mlpiLogicWriteMemoryAreaArrayChar(connection, application, area, byteOffset, data, numElements);}
561 inline MLPIRESULT mlpiLogicWriteMemoryAreaArrayInt(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const SHORT *data, const ULONG numElements)
562  {return mlpiLogicWriteMemoryAreaArrayShort(connection, application, area, byteOffset, data, numElements);}
563 inline MLPIRESULT mlpiLogicWriteMemoryAreaArrayDint(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const LONG *data, const ULONG numElements)
564  {return mlpiLogicWriteMemoryAreaArrayLong(connection, application, area, byteOffset, data, numElements);}
565 inline MLPIRESULT mlpiLogicWriteMemoryAreaArrayLint(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const LLONG *data, const ULONG numElements)
566  {return mlpiLogicWriteMemoryAreaArrayLlong(connection, application, area, byteOffset, data, numElements);}
567 
568 inline MLPIRESULT mlpiLogicWriteMemoryAreaArrayUsint(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const UCHAR *data, const ULONG numElements)
569  {return mlpiLogicWriteMemoryAreaArrayUchar(connection, application, area, byteOffset, data, numElements);}
570 inline MLPIRESULT mlpiLogicWriteMemoryAreaArrayUint(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const USHORT *data, const ULONG numElements)
571  {return mlpiLogicWriteMemoryAreaArrayUshort(connection, application, area, byteOffset, data, numElements);}
572 inline MLPIRESULT mlpiLogicWriteMemoryAreaArrayUdint(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const ULONG *data, const ULONG numElements)
573  {return mlpiLogicWriteMemoryAreaArrayUlong(connection, application, area, byteOffset, data, numElements);}
574 inline MLPIRESULT mlpiLogicWriteMemoryAreaArrayUlint(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const ULLONG *data, const ULONG numElements)
575  {return mlpiLogicWriteMemoryAreaArrayUllong(connection, application, area, byteOffset, data, numElements);}
576 
577 inline MLPIRESULT mlpiLogicWriteMemoryAreaArrayByte(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const UCHAR *data, const ULONG numElements)
578  {return mlpiLogicWriteMemoryAreaArrayUchar(connection, application, area, byteOffset, data, numElements);}
579 inline MLPIRESULT mlpiLogicWriteMemoryAreaArrayWord(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const USHORT *data, const ULONG numElements)
580  {return mlpiLogicWriteMemoryAreaArrayUshort(connection, application, area, byteOffset, data, numElements);}
581 inline MLPIRESULT mlpiLogicWriteMemoryAreaArrayDword(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const ULONG *data, const ULONG numElements)
582  {return mlpiLogicWriteMemoryAreaArrayUlong(connection, application, area, byteOffset, data, numElements);}
583 inline MLPIRESULT mlpiLogicWriteMemoryAreaArrayLword(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const ULLONG *data, const ULONG numElements)
584  {return mlpiLogicWriteMemoryAreaArrayUllong(connection, application, area, byteOffset, data, numElements);}
585 
586 inline MLPIRESULT mlpiLogicWriteMemoryAreaArrayReal(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const FLOAT *data, const ULONG numElements)
587  {return mlpiLogicWriteMemoryAreaArrayFloat(connection, application, area, byteOffset, data, numElements);}
588 inline MLPIRESULT mlpiLogicWriteMemoryAreaArrayLreal(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const DOUBLE *data, const ULONG numElements)
589  {return mlpiLogicWriteMemoryAreaArrayDouble(connection, application, area, byteOffset, data, numElements);}
590 
591 
592 
593 #ifdef __cplusplus
594 }
595 #endif
596 
597 
598 #endif /* __MLPILOGICHELPER_H__ */
MLPIRESULT mlpiLogicWriteVariableBySymbolUlong(const MLPIHANDLE connection, const WCHAR16 *symbol, const ULONG data)
This function writes a given 32-bit unsigned value (DWORD, UDINT, TIME, DATE, DATE_AND_TIME, ..., MlpiLogicType) to a variable by symbolic access.
MLPIRESULT mlpiLogicWriteVariableBySymbolString(const MLPIHANDLE connection, const WCHAR16 *symbol, const WCHAR16 *data)
This function writes a given character string value (STRING, MlpiLogicType) to a variable by symbolic...
MLPIRESULT mlpiLogicWriteMemoryAreaArrayUshort(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const USHORT *data, const ULONG numElements)
This function writes an array of 16-bit unsigned data values (WORD, UINT, MlpiLogicType) to the memor...
MLPIRESULT mlpiLogicReadVariableBySymbolArrayShort(const MLPIHANDLE connection, const WCHAR16 *symbol, SHORT *data, const ULONG numElements, ULONG *numElementsRet)
This function reads an array of 16-bit signed values (INT, MlpiLogicType) from a variable by symbolic...
MLPIRESULT mlpiLogicWriteVariableBySymbolDouble(const MLPIHANDLE connection, const WCHAR16 *symbol, const DOUBLE data)
This function writes a given 64-bit floating point value (double precision, LREAL, MlpiLogicType) to a variable by symbolic access.
#define MLPI_S_OK
Return code "everything okay".
Definition: mlpiGlobal.h:363
MLPIRESULT mlpiLogicReadVariableBySymbolArrayLong(const MLPIHANDLE connection, const WCHAR16 *symbol, LONG *data, const ULONG numElements, ULONG *numElementsRet)
This function reads an array of 32-bit signed values (DINT, MlpiLogicType) from a variable by symboli...
unsigned char UCHAR
1 byte unsigned integer
Definition: mlpiGlobal.h:160
MLPIRESULT mlpiLogicReadMemoryAreaArrayUshort(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, USHORT *data, const ULONG numElements, ULONG *numElementsRet)
This function reads an array of 16-bit unsigned data values (WORD, UINT, MlpiLogicType) from the memo...
MLPIRESULT mlpiLogicReadMemoryAreaChar(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, CHAR *data)
This function reads the 8-bit signed data value (SINT, MlpiLogicType) from the memory area (MlpiAppli...
MLPIRESULT mlpiLogicReadVariableBySymbolArrayUchar(const MLPIHANDLE connection, const WCHAR16 *symbol, UCHAR *data, const ULONG numElements, ULONG *numElementsRet)
This function reads an array of 8-bit unsigned values (BYTE, USINT, MlpiLogicType) from a variable by...
MLPIRESULT mlpiLogicReadVariableBySymbolDouble(const MLPIHANDLE connection, const WCHAR16 *symbol, DOUBLE *data)
This function reads a 64-bit floating point value (double precision, LREAL, MlpiLogicType) from a var...
struct MlpiLogicSymbolInformation MlpiLogicSymbolInformation
This structure defines the information about a symbol using mlpiLogicGetInformationOfSymbol.
MLPIRESULT mlpiLogicReadMemoryAreaArrayChar(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, CHAR *data, const ULONG numElements, ULONG *numElementsRet)
This function reads an array of 8-bit signed data values (SINT, MlpiLogicType) from the memory area (...
MLPIRESULT mlpiLogicReadVariableBySymbolUlong(const MLPIHANDLE connection, const WCHAR16 *symbol, ULONG *data)
This function reads a 32-bit unsigned value (DWORD, UDINT, TIME, DATE, DATE_AND_TIME, ..., MlpiLogicType) from a variable by symbolic access.
MLPIRESULT mlpiLogicWriteVariableBySymbolUchar(const MLPIHANDLE connection, const WCHAR16 *symbol, const UCHAR data)
This function writes a given 8-bit unsigned value (BYTE, USINT, MlpiLogicType) to a variable by symbo...
MLPIRESULT mlpiLogicWriteVariableBySymbolArrayUlong(const MLPIHANDLE connection, const WCHAR16 *symbol, const ULONG *data, const ULONG numElements)
This function writes an array of 32-bit unsigned values (DWORD, UDINT, TIME, DATE, DATE_AND_TIME, ..., MlpiLogicType) to a variable by symbolic access.
MLPIRESULT mlpiLogicWriteVariableBySymbolFloat(const MLPIHANDLE connection, const WCHAR16 *symbol, const FLOAT data)
This function writes a given 32-bit floating point value (single precision, REAL, MlpiLogicType) to a...
unsigned long long ULLONG
8 byte unsigned integer
Definition: mlpiGlobal.h:171
int LONG
4 byte signed integer
Definition: mlpiGlobal.h:164
MLPIRESULT utilLogicGetSymbolList(MLPIHANDLE connection, const std::wstring &application, SymbolList &symbolList)
This functions reads the list of variables of a given application and returns it as as a SymbolList c...
MLPIRESULT mlpiLogicReadVariableBySymbolFloat(const MLPIHANDLE connection, const WCHAR16 *symbol, FLOAT *data)
This function reads a 32-bit floating point value (single precision, REAL, MlpiLogicType) from a vari...
Array (use element type, base types or VOID in case of complex type)
Definition: mlpiLogicLib.h:625
char CHAR
1 byte signed integer
Definition: mlpiGlobal.h:159
MLPIRESULT mlpiLogicWriteVariableBySymbolLlong(const MLPIHANDLE connection, const WCHAR16 *symbol, const LLONG data)
This function writes a given 64-bit signed value (LINT, MlpiLogicType) to a variable by symbolic acce...
signed char BOOL8
1 byte boolean
Definition: mlpiGlobal.h:158
unsigned short USHORT
2 byte unsigned integer
Definition: mlpiGlobal.h:162
MLPIRESULT mlpiLogicWriteMemoryAreaArrayLong(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const LONG *data, const ULONG numElements)
This function writes an array of 32-bit signed data values (DINT, MlpiLogicType) to the memory area (...
MLPIRESULT mlpiLogicWriteMemoryAreaArrayDouble(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const DOUBLE *data, const ULONG numElements)
This function writes an array of 64-bit floating point data values (double precision, LREAL, MlpiLogicType) to the memory area (MlpiApplicationMemoryArea).
MLPIRESULT mlpiLogicReadVariableBySymbolLlong(const MLPIHANDLE connection, const WCHAR16 *symbol, LLONG *data)
This function reads a 64-bit signed value (LINT, MlpiLogicType) from a variable by symbolic access...
MLPIRESULT mlpiLogicWriteMemoryAreaLlong(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const LLONG data)
This function writes the 64-bit signed data value (LINT, MlpiLogicType) to the memory area (MlpiAppli...
MLPIRESULT mlpiLogicReadMemoryAreaArrayUchar(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, UCHAR *data, const ULONG numElements, ULONG *numElementsRet)
This function reads an array of 8-bit unsigned data values (BYTE, USINT, MlpiLogicType) from the memo...
MLPIRESULT mlpiLogicWriteMemoryAreaFloat(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const FLOAT data)
This function writes the 32-bit floating point data value (single precision, REAL, MlpiLogicType) to the memory area (MlpiApplicationMemoryArea).
MLPIRESULT mlpiLogicReadMemoryAreaArrayLlong(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, LLONG *data, const ULONG numElements, ULONG *numElementsRet)
This function reads an array of 64-bit signed data values (LINT, MlpiLogicType) from the memory area ...
MLPIRESULT mlpiLogicReadVariableBySymbolArrayLlong(const MLPIHANDLE connection, const WCHAR16 *symbol, LLONG *data, const ULONG numElements, ULONG *numElementsRet)
This function reads an array of 64-bit signed values (LINT, MlpiLogicType) from a variable by symboli...
MLPIRESULT mlpiLogicReadMemoryAreaShort(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, SHORT *data)
This function reads the 16-bit signed data value (INT, MlpiLogicType) from the memory area (MlpiAppli...
MLPIRESULT mlpiLogicReadVariableBySymbolUllong(const MLPIHANDLE connection, const WCHAR16 *symbol, ULLONG *data)
This function reads a 64-bit unsigned value (LWORD, ULINT, MlpiLogicType) from a variable by symbolic...
MLPIRESULT mlpiLogicReadVariableBySymbolUshort(const MLPIHANDLE connection, const WCHAR16 *symbol, USHORT *data)
This function reads a 16-bit unsigned value (WORD, UINT, MlpiLogicType) from a variable by symbolic a...
MLPIRESULT mlpiLogicWriteVariableBySymbolLong(const MLPIHANDLE connection, const WCHAR16 *symbol, const LONG data)
This function writes a given 32-bit signed value (DINT, MlpiLogicType) to a variable by symbolic acce...
MLPIRESULT mlpiLogicWriteVariableBySymbolShort(const MLPIHANDLE connection, const WCHAR16 *symbol, const SHORT data)
This function writes a given 16-bit signed value (INT, MlpiLogicType) to a variable by symbolic acces...
MLPIRESULT mlpiLogicReadVariableBySymbolUchar(const MLPIHANDLE connection, const WCHAR16 *symbol, UCHAR *data)
This function reads an 8-bit unsigned value (BYTE, USINT, MlpiLogicType) from a variable by symbolic ...
short SHORT
2 byte signed integer
Definition: mlpiGlobal.h:161
MLPIRESULT mlpiLogicGetInformationOfSymbol(const MLPIHANDLE connection, const WCHAR16 *symbol, MlpiLogicSymbolInformation *info)
This function reads the types, size, number of elements, array information and access rights of a sym...
MLPIRESULT mlpiLogicReadMemoryAreaUllong(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, ULLONG *data)
This function reads the 64-bit unsigned data value (LWORD, ULINT, MlpiLogicType) from the memory area...
MLPIRESULT mlpiLogicWriteVariableBySymbolUshort(const MLPIHANDLE connection, const WCHAR16 *symbol, const USHORT data)
This function writes a given 16-bit unsigned value (WORD, UINT, MlpiLogicType) to a variable by symbo...
MLPIRESULT mlpiLogicReadMemoryAreaArrayFloat(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, FLOAT *data, const ULONG numElements, ULONG *numElementsRet)
This function reads an array of 32-bit floating point data values (single precision, REAL, MlpiLogicType) from the memory area (MlpiApplicationMemoryArea).
MLPIRESULT mlpiLogicWriteMemoryAreaArrayLlong(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const LLONG *data, const ULONG numElements)
This function writes an array of 64-bit signed data values (LINT, MlpiLogicType) to the memory area (...
MLPIRESULT mlpiLogicReadVariableBySymbolString(const MLPIHANDLE connection, const WCHAR16 *symbol, WCHAR16 *data, const ULONG numElements)
This function reads a character string value (STRING, MlpiLogicType) from a variable by symbolic acce...
MLPIRESULT mlpiLogicWriteVariableBySymbolArrayDouble(const MLPIHANDLE connection, const WCHAR16 *symbol, const DOUBLE *data, const ULONG numElements)
This function writes an array of 64-bit floating point values (double precision, LREAL, MlpiLogicType) to a variable by symbolic access.
MLPIRESULT mlpiLogicReadVariableBySymbolChar(const MLPIHANDLE connection, const WCHAR16 *symbol, CHAR *data)
This function reads an 8 bit signed value (SINT, MlpiLogicType) from a variable by symbolic access...
MLPIRESULT mlpiLogicWriteVariableBySymbolUllong(const MLPIHANDLE connection, const WCHAR16 *symbol, const ULLONG data)
This function writes a given 64-bit unsigned value (LWORD, ULINT, MlpiLogicType) to a variable by sym...
MLPIRESULT mlpiLogicReadMemoryAreaDouble(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, DOUBLE *data)
This function reads the 64-bit floating point data value (double precision, LREAL, MlpiLogicType) from the memory area (MlpiApplicationMemoryArea).
wchar_t WCHAR16
UTF16 string.
Definition: mlpiGlobal.h:193
unsigned int ULONG
4 byte unsigned integer
Definition: mlpiGlobal.h:165
MLPIRESULT mlpiLogicWriteVariableBySymbolArrayUllong(const MLPIHANDLE connection, const WCHAR16 *symbol, const ULLONG *data, const ULONG numElements)
This function writes an array of 64-bit unsigned values (LWORD, ULINT, MlpiLogicType) to a variable b...
MLPIRESULT mlpiLogicWriteMemoryAreaUllong(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const ULLONG data)
This function writes the 64-bit unsigned data value (LWORD, ULINT, MlpiLogicType) to the memory area ...
MLPIRESULT mlpiLogicReadVariableBySymbolArrayDouble(const MLPIHANDLE connection, const WCHAR16 *symbol, DOUBLE *data, const ULONG numElements, ULONG *numElementsRet)
This function reads an array of 64-bit floating point values (double precision, LREAL, MlpiLogicType) from a variable by symbolic access.
Symbolic access unsupported.
Definition: mlpiLogicLib.h:639
MLPIRESULT mlpiLogicWriteMemoryAreaArrayUchar(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const UCHAR *data, const ULONG numElements)
This function writes an array of 8-bit unsigned data values (BYTE, USINT, MlpiLogicType) to the memor...
MLPIRESULT mlpiLogicReadVariableBySymbolArrayChar(const MLPIHANDLE connection, const WCHAR16 *symbol, CHAR *data, const ULONG numElements, ULONG *numElementsRet)
This function reads an array of 8-bit signed values (SINT, MlpiLogicType) from a variable by symbolic...
MLPIRESULT mlpiLogicWriteVariableBySymbolArrayUshort(const MLPIHANDLE connection, const WCHAR16 *symbol, const USHORT *data, const ULONG numElements)
This function writes an array of 16-bit unsigned values (WORD, UINT, MlpiLogicType) to a variable by ...
MLPIRESULT mlpiLogicWriteVariableBySymbolArrayUchar(const MLPIHANDLE connection, const WCHAR16 *symbol, const UCHAR *data, const ULONG numElements)
This function writes an array of 8-bit unsigned values (BYTE, USINT, MlpiLogicType) to a variable by ...
MLPIRESULT mlpiLogicWriteMemoryAreaLong(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const LONG data)
This function writes the 32-bit signed data value (DINT, MlpiLogicType) to the memory area (MlpiAppli...
MLPIRESULT mlpiLogicWriteMemoryAreaArrayChar(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const CHAR *data, const ULONG numElements)
This function writes an array of 8-bit signed data values (SINT, MlpiLogicType) to the memory area (M...
MLPIRESULT mlpiLogicGetInformationOfUserType(const MLPIHANDLE connection, const WCHAR16 *symbol, MlpiLogicUserTypeInformation *info, const ULONG numElements, ULONG *numElementsRet=0)
This function reads names and information of variables (MlpiLogicSymbolInformation) of a symbol varia...
MLPIRESULT mlpiLogicReadMemoryAreaLong(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, LONG *data)
This function reads the 32-bit signed data value (DINT, MlpiLogicType) from the memory area (MlpiAppl...
MLPIRESULT mlpiLogicWriteVariableBySymbolArrayLlong(const MLPIHANDLE connection, const WCHAR16 *symbol, const LLONG *data, const ULONG numElements)
This function writes an array of 64-bit signed values (LINT, MlpiLogicType) to a variable by symbolic...
MLPIRESULT mlpiLogicWriteMemoryAreaArrayFloat(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const FLOAT *data, const ULONG numElements)
This function writes an array of 32-bit floating point data values (single precision, REAL, MlpiLogicType) to the memory area (MlpiApplicationMemoryArea).
MLPIRESULT mlpiLogicReadMemoryAreaFloat(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, FLOAT *data)
This function reads the 32-bit floating point data value (single precision, REAL, MlpiLogicType) from...
MLPIRESULT mlpiLogicWriteMemoryAreaUshort(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const USHORT data)
This function writes the 16-bit unsigned data value (WORD, UINT, MlpiLogicType) to the memory area (M...
MLPIRESULT mlpiLogicWriteMemoryAreaArrayShort(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const SHORT *data, const ULONG numElements)
This function writes an array of 16-bit signed data values (INT, MlpiLogicType) to the memory area (M...
MLPIRESULT mlpiLogicReadVariableBySymbolArrayFloat(const MLPIHANDLE connection, const WCHAR16 *symbol, FLOAT *data, const ULONG numElements, ULONG *numElementsRet)
This function reads an array of 32-bit floating point values (single precision, REAL, MlpiLogicType) from a variable by symbolic access.
MLPIRESULT mlpiLogicWriteVariableBySymbolArrayFloat(const MLPIHANDLE connection, const WCHAR16 *symbol, const FLOAT *data, const ULONG numElements)
This function writes an array of 32-bit floating point values (single precision, REAL, MlpiLogicType) to a variable by symbolic access.
std::vector< std::wstring > SymbolList
MLPIRESULT mlpiLogicWriteMemoryAreaDouble(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const DOUBLE data)
This function writes the 64-bit floating point data value (double precision, LREAL, MlpiLogicType) to the memory area (MlpiApplicationMemoryArea).
MLPIRESULT mlpiLogicGetSymbolsOfApplication(const MLPIHANDLE connection, const WCHAR16 *application, PROCESSHANDLE *node, WCHAR16 *symbols, const ULONG numElements)
This function will read all symbols of an application. The symbols themselves are separated from each...
MLPIRESULT mlpiLogicReadMemoryAreaArrayLong(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, LONG *data, const ULONG numElements, ULONG *numElementsRet)
This function reads an array of 32-bit signed data values (DINT, MlpiLogicType) from the memory area ...
MLPIRESULT mlpiLogicWriteVariableBySymbolArrayShort(const MLPIHANDLE connection, const WCHAR16 *symbol, const SHORT *data, const ULONG numElements)
This function writes an array of 16-bit signed values (INT, MlpiLogicType) to a variable by symbolic ...
MLPIRESULT mlpiLogicReadMemoryAreaArrayUlong(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, ULONG *data, const ULONG numElements, ULONG *numElementsRet)
This function reads an array of 32-bit unsigned data values (DWORD, UDINT, MlpiLogicType) from the me...
WCHAR16 * wcstok_r16(WCHAR16 *s1, const WCHAR16 *s2, WCHAR16 **context)
Function to disassemble a WCHAR16 string for certain WCHAR16 characters. A sequence of calls to this ...
Definition: wchar16.h:375
MLPIRESULT mlpiLogicWriteVariableBySymbolArrayChar(const MLPIHANDLE connection, const WCHAR16 *symbol, const CHAR *data, const ULONG numElements)
This function writes an array of 8-bit signed values (SINT, MlpiLogicType) to a variable by symbolic ...
MLPIRESULT mlpiLogicWriteVariableBySymbolArrayBool8(const MLPIHANDLE connection, const WCHAR16 *symbol, const BOOL8 *data, const ULONG numElements)
This function writes an array of Boolean values (BOOL, MlpiLogicType) to a variable by symbolic acces...
MLPIRESULT mlpiLogicReadMemoryAreaUshort(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, USHORT *data)
This function reads the 16-bit unsigned data value (WORD, UINT, MlpiLogicType) from the memory area (...
MLPIRESULT mlpiLogicReadVariableBySymbolLong(const MLPIHANDLE connection, const WCHAR16 *symbol, LONG *data)
This function reads a 32-bit signed value (DINT, MlpiLogicType) from a variable by symbolic access...
MLPIRESULT mlpiLogicReadVariableBySymbolArrayUshort(const MLPIHANDLE connection, const WCHAR16 *symbol, USHORT *data, const ULONG numElements, ULONG *numElementsRet)
This function reads an array of 16-bit unsigned values (WORD, UINT, MlpiLogicType) from a variable by...
MLPIRESULT utilLogicInflateSymbol(MLPIHANDLE connection, const std::wstring &symbol, SymbolList &symbolList, MlpiLogicSymbolInformation &symbolInfo)
Recursive function which checks if a symbol is an array or user defined structure and adds all array ...
MLPIRESULT mlpiLogicReadMemoryAreaUlong(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, ULONG *data)
This function reads the 32-bit unsigned data value (DWORD, UDINT, MlpiLogicType) from the memory area...
MLPIRESULT mlpiLogicWriteMemoryAreaUlong(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const ULONG data)
This function writes the 32-bit unsigned data value (DWORD, UDINT, MlpiLogicType) to the memory area ...
#define MLPI_FAILED(hr)
Returns true if given error code was not successful.
Definition: mlpiGlobal.h:407
MLPIRESULT mlpiLogicWriteMemoryAreaBool8(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG bitOffset, const BOOL8 data)
This function writes a Boolean value e.g. a bit (BOOL8, MlpiLogicType) to the memory area (MlpiApplic...
MLPIRESULT mlpiLogicWriteMemoryAreaUchar(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const UCHAR data)
This function writes the 8-bit unsigned data value (BYTE, USINT, MlpiLogicType) to the memory area (M...
MLPIRESULT mlpiLogicReadMemoryAreaArrayUllong(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, ULLONG *data, const ULONG numElements, ULONG *numElementsRet)
This function reads an array of 64-bit unsigned data values (LWORD, ULINT, MlpiLogicType) from the me...
long long LLONG
8 byte signed integer
Definition: mlpiGlobal.h:170
MLPIRESULT mlpiLogicReadVariableBySymbolArrayBool8(const MLPIHANDLE connection, const WCHAR16 *symbol, BOOL8 *data, const ULONG numElements, ULONG *numElementsRet)
This function reads an array of Boolean values (BOOL, MlpiLogicType) from a variable by symbolic acce...
MLPIRESULT mlpiLogicWriteVariableBySymbolArrayLong(const MLPIHANDLE connection, const WCHAR16 *symbol, const LONG *data, const ULONG numElements)
This function writes an array of 32-bit signed values (DINT, MlpiLogicType) to a variable by symbolic...
float FLOAT
4 byte floating point
Definition: mlpiGlobal.h:172
MLPIRESULT mlpiLogicReadMemoryAreaUchar(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, UCHAR *data)
This function reads the 8-bit unsigned data value (BYTE, USINT, MlpiLogicType) from the memory area (...
MLPIRESULT mlpiLogicReadMemoryAreaLlong(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, LLONG *data)
This function reads the 64-bit signed data value (LINT, MlpiLogicType) from the memory area (MlpiAppl...
MLPIRESULT mlpiLogicReadMemoryAreaBool8(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG bitOffset, BOOL8 *data)
This function reads a bit as a BOOL8 (BOOL8, MlpiLogicType) from the memory area (MlpiApplicationMemo...
MLPIRESULT mlpiLogicWriteMemoryAreaArrayUlong(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const ULONG *data, const ULONG numElements)
This function writes an array of 32-bit unsigned data values (DWORD, UDINT, MlpiLogicType) to the mem...
double DOUBLE
8 byte floating point
Definition: mlpiGlobal.h:177
MLPIRESULT mlpiLogicReadVariableBySymbolShort(const MLPIHANDLE connection, const WCHAR16 *symbol, SHORT *data)
This function reads a 16-bit signed value (INT, MlpiLogicType) from a variable by symbolic access...
MLPIRESULT mlpiLogicReadVariableBySymbolArrayUlong(const MLPIHANDLE connection, const WCHAR16 *symbol, ULONG *data, const ULONG numElements, ULONG *numElementsRet)
This function reads an array of 32-bit unsigned values (DWORD, UDINT, TIME, DATE, DATE_AND_TIME...
MLPIRESULT mlpiLogicWriteMemoryAreaArrayUllong(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const ULLONG *data, const ULONG numElements)
This function writes an array of 64-bit unsigned data values (LWORD, ULINT, MlpiLogicType) to the mem...
MLPIRESULT mlpiLogicWriteVariableBySymbolChar(const MLPIHANDLE connection, const WCHAR16 *symbol, const CHAR data)
This function writes a given 8-bit signed value (SINT, MlpiLogicType) to a variable by symbolic acces...
RAW data (VOID)
Definition: mlpiLogicLib.h:627
unsigned long MLPIHANDLE
common MLPI-API handle value
Definition: mlpiGlobal.h:206
MLPIRESULT mlpiLogicReadVariableBySymbolBool8(const MLPIHANDLE connection, const WCHAR16 *symbol, BOOL8 *data)
This function reads a boolean value (BOOL, MlpiLogicType) from a variable by symbolic access...
MLPIRESULT mlpiLogicWriteMemoryAreaChar(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const CHAR data)
This function writes the 8-bit signed data value (SINT, MlpiLogicType) to the memory area (MlpiApplic...
MlpiApplicationMemoryArea
This enumeration defines the memory areas &#39;Ix&#39; (Input), &#39;Qx&#39; (Output) and &#39;Mx&#39; (Marker) of an applica...
Definition: mlpiLogicLib.h:555
MLPIRESULT mlpiLogicWriteVariableBySymbolBool8(const MLPIHANDLE connection, const WCHAR16 *symbol, const BOOL8 data)
This function writes a given Boolean value (BOOL, MlpiLogicType) to a variable by symbolic access...
MLPIRESULT mlpiLogicReadVariableBySymbolArrayUllong(const MLPIHANDLE connection, const WCHAR16 *symbol, ULLONG *data, const ULONG numElements, ULONG *numElementsRet)
This function reads an array of 64-bit unsigned values (LWORD, ULINT, MlpiLogicType) from a variable ...
int MLPIRESULT
common MLPI-API return value
Definition: mlpiGlobal.h:198
MLPIRESULT mlpiLogicWriteMemoryAreaShort(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, const SHORT data)
This function writes the 16-bit signed data value (INT, MlpiLogicType) to the memory area (MlpiApplic...
MLPIRESULT utilLogicGetSymbolListExtended(MLPIHANDLE connection, const std::wstring &application, SymbolList &symbolList)
This functions reads the extended list of variables of a given application and returns it as as a Sym...
MLPIRESULT mlpiLogicReadMemoryAreaArrayDouble(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, DOUBLE *data, const ULONG numElements, ULONG *numElementsRet)
This function reads an array of 64-bit floating point data values (double precision, LREAL, MlpiLogicType) from the memory area (MlpiApplicationMemoryArea).
MLPIRESULT mlpiLogicReadMemoryAreaArrayShort(const MLPIHANDLE connection, const WCHAR16 *application, const MlpiApplicationMemoryArea area, const ULONG byteOffset, SHORT *data, const ULONG numElements, ULONG *numElementsRet)
This function reads an array of 16-bit signed data values (INT, MlpiLogicType) from the memory area (...