Open Core Interface - MLPI
MLPI-MotionLogicProgrammingInterface(mlpi4LabVIEW)  1.26.2
mlpiIoLib.h
Go to the documentation of this file.
1 #ifndef __MLPIIOLIB_H__
2 #define __MLPIIOLIB_H__
3 
4 // -----------------------------------------------------------------------
5 // MLPI - <mlpiIoLib.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 
100 
108 
141 
174 
266 
271 
272 
273 // -----------------------------------------------------------------------
274 // GLOBAL INCLUDES
275 // -----------------------------------------------------------------------
276 #include "mlpiGlobal.h"
277 
278 // -----------------------------------------------------------------------
279 // GLOBAL CONSTANTS
280 // -----------------------------------------------------------------------
281 #define MLPI_IO_FIELDBUS_SLAVE_ADDRESS_LEN ( 64 )
282 #define MLPI_IO_FIELDBUS_DEVICE_NAME_LEN ( 81 )
283 
284 #define MLPI_IO_FIELDBUS_DIAGNOSIS_FLAG_ENABLE (0x0001)
285 #define MLPI_IO_FIELDBUS_DIAGNOSIS_FLAG_DRIVER_AVAILABLE (0x0010)
286 #define MLPI_IO_FIELDBUS_DIAGNOSIS_FLAG_DEVICE_FOUND (0x0020)
287 #define MLPI_IO_FIELDBUS_DIAGNOSIS_FLAG_DEVICE_CONFIGURED (0x0040)
288 #define MLPI_IO_FIELDBUS_DIAGNOSIS_FLAG_DEVICE_ACTIVE (0x0080)
289 #define MLPI_IO_FIELDBUS_DIAGNOSIS_FLAG_DEVICE_BUS_ERROR (0x0100)
290 #define MLPI_IO_FIELDBUS_DIAGNOSIS_FLAG_DEVICE_ERROR (0x0200)
291 #define MLPI_IO_FIELDBUS_DIAGNOSIS_FLAG_DEVICE_DIAGNOSTIC_AVAILABLE (0x0400)
292 #define MLPI_IO_FIELDBUS_DIAGNOSIS_FLAG_DEVICE_PASSIVE (0x0800)
293 
294 #define MLPI_IO_FIELDBUS_DIAGNOSIS_OKAY(flags) ( flags == ( \
296  MLPI_IO_FIELDBUS_DIAGNOSIS_FLAG_ENABLE \
297  | MLPI_IO_FIELDBUS_DIAGNOSIS_FLAG_DRIVER_AVAILABLE \
298  | MLPI_IO_FIELDBUS_DIAGNOSIS_FLAG_DEVICE_FOUND \
299  | MLPI_IO_FIELDBUS_DIAGNOSIS_FLAG_DEVICE_CONFIGURED \
300  | MLPI_IO_FIELDBUS_DIAGNOSIS_FLAG_DEVICE_ACTIVE \
301  ) \
302  )
303 
305 #define MLPI_IO_FIELDBUS_DIAGNOSIS_DIAG(flags) ( flags == ( \
306  MLPI_IO_FIELDBUS_DIAGNOSIS_FLAG_ENABLE \
307  | MLPI_IO_FIELDBUS_DIAGNOSIS_FLAG_DRIVER_AVAILABLE \
308  | MLPI_IO_FIELDBUS_DIAGNOSIS_FLAG_DEVICE_FOUND \
309  | MLPI_IO_FIELDBUS_DIAGNOSIS_FLAG_DEVICE_CONFIGURED \
310  | MLPI_IO_FIELDBUS_DIAGNOSIS_FLAG_DEVICE_ACTIVE \
311  | MLPI_IO_FIELDBUS_DIAGNOSIS_FLAG_DEVICE_DIAGNOSTIC_AVAILABLE \
312  ) \
313  )
316 #define MLPI_IO_FIELDBUS_DIAGNOSIS_ERROR(flags) ( ( !MLPI_IO_FIELDBUS_DIAGNOSIS_OKAY(flags) ) \
317  || ( 0 != ( ( MLPI_IO_FIELDBUS_DIAGNOSIS_FLAG_DEVICE_BUS_ERROR \
318  | MLPI_IO_FIELDBUS_DIAGNOSIS_FLAG_DEVICE_ERROR \
319  | MLPI_IO_FIELDBUS_DIAGNOSIS_FLAG_DEVICE_DIAGNOSTIC_AVAILABLE \
320  ) \
321  & flags \
322  ) \
323  ) \
324  )
325 
326 // -----------------------------------------------------------------------
327 // GLOBAL TYPEDEFS
328 // -----------------------------------------------------------------------
329 
332 typedef enum MlpiIoFieldbusMasterType
333 {
345 
348 typedef enum MlpiIoFieldbusArea
349 {
350  MLPI_IO_AREA_INPUT = 0,
354 // message packing follows 8 byte natural alignment
355 #if !defined(TARGET_OS_VXWORKS)
356 #pragma pack(push,8)
357 #endif
366 typedef struct MlpiIoDiagnosis
367 {
368  ULONG flags;
379 typedef struct MlpiIoHandle
380 {
381  ULONG ident;
382  ULONG hash;
383 } MlpiIoHandle;
384 
397 typedef struct MlpiIoFieldbusSlaveInfo
398 {
399  MlpiIoHandle handle;
401  MlpiIoDiagnosis diagnosis;
403  ULONG numberOfInputs;
404  ULONG numberOfOutputs;
406 
418 typedef struct MlpiIoFieldbusMasterInfo
419 {
420  MlpiIoHandle handle;
422  MlpiIoDiagnosis diagnosis;
424  ULONG numberOfSlaves;
426 
427 
428 #if !defined(TARGET_OS_VXWORKS)
429 #pragma pack(pop)
430 #endif
431 
433 
434 
435 
436 
437 // -----------------------------------------------------------------------
438 // GLOBAL EXPORTS
439 // -----------------------------------------------------------------------
440 #ifdef MLPI_API
441  #undef MLPI_API
442 #endif
443 
444 #if defined(TARGET_OS_WINNT)
445  #if defined(MLPI_EXPORTS)
446  #define MLPI_API __declspec(dllexport)
447  #elif defined(MLPI_IMPORTS)
448  #define MLPI_API __declspec(dllimport)
449  #else
450  #define MLPI_API
451  #endif
452 #else
453  #if defined(MLPI_EXPORTS)
454  #define MLPI_API __attribute__ ((visibility("default")))
455  #elif defined(MLPI_IMPORTS)
456  #define MLPI_API
457  #else
458  #define MLPI_API
459  #endif
460 #endif
461 
462 
463 #ifdef __cplusplus
464 extern "C" {
465 #endif
466 
482 MLPI_API MLPIRESULT mlpiIoReadFieldbusMasterList(const MLPIHANDLE connection, WCHAR16* masterList, const ULONG numElements, ULONG* countOfMaster);
483 
484 
502 MLPI_API MLPIRESULT mlpiIoReadFieldbusMasterInfo(const MLPIHANDLE connection, const WCHAR16* masterName, MlpiIoFieldbusMasterInfo* masterInfo);
503 
504 
524 MLPI_API MLPIRESULT mlpiIoReadFieldbusSlaveList(const MLPIHANDLE connection, const WCHAR16* masterName, WCHAR16* slaveList, const ULONG numElements, ULONG* countOfSlave);
525 
526 
546 MLPI_API MLPIRESULT mlpiIoReadFieldbusSlaveInfo(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, MlpiIoFieldbusSlaveInfo* slaveInfo);
547 
548 
569 MLPI_API MLPIRESULT mlpiIoReadFieldbusSlaveInfos(const MLPIHANDLE connection, const WCHAR16* masterName, MlpiIoFieldbusSlaveInfo* slaveInfo, const ULONG numElements, ULONG* numElementsRet);
570 
571 
586 MLPI_API MLPIRESULT mlpiIoUpdateFieldbusIo(const MLPIHANDLE connection, const WCHAR16* masterName);
587 
588 
611 MLPI_API MLPIRESULT mlpiIoReadFieldbusIoBool8(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG bitOffset, BOOL8* data);
612 
613 
636 MLPI_API MLPIRESULT mlpiIoReadFieldbusIoChar(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, CHAR* data);
637 
638 
661 MLPI_API MLPIRESULT mlpiIoReadFieldbusIoUchar(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, UCHAR* data);
662 
663 
686 MLPI_API MLPIRESULT mlpiIoReadFieldbusIoShort(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, SHORT* data);
687 
688 
711 MLPI_API MLPIRESULT mlpiIoReadFieldbusIoUshort(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, USHORT* data);
712 
713 
736 MLPI_API MLPIRESULT mlpiIoReadFieldbusIoLong(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, LONG* data);
737 
738 
761 MLPI_API MLPIRESULT mlpiIoReadFieldbusIoUlong(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, ULONG* data);
762 
763 
786 MLPI_API MLPIRESULT mlpiIoReadFieldbusIoLlong(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, LLONG* data);
787 
788 
811 MLPI_API MLPIRESULT mlpiIoReadFieldbusIoUllong(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, ULLONG* data);
812 
813 
836 MLPI_API MLPIRESULT mlpiIoReadFieldbusIoFloat(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, FLOAT* data);
837 
838 
846 
862 MLPI_API MLPIRESULT mlpiIoReadFieldbusIoDouble(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, DOUBLE* data);
863 
864 
891 MLPI_API MLPIRESULT mlpiIoReadFieldbusIoArrayChar(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, CHAR* data, const ULONG numElements, ULONG *numElementsRet);
892 
893 
920 MLPI_API MLPIRESULT mlpiIoReadFieldbusIoArrayUchar(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, UCHAR* data, const ULONG numElements, ULONG *numElementsRet);
921 
922 
949 MLPI_API MLPIRESULT mlpiIoReadFieldbusIoArrayShort(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, SHORT* data, const ULONG numElements, ULONG *numElementsRet);
950 
951 
978 MLPI_API MLPIRESULT mlpiIoReadFieldbusIoArrayUshort(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, USHORT* data, const ULONG numElements, ULONG *numElementsRet);
979 
980 
1007 MLPI_API MLPIRESULT mlpiIoReadFieldbusIoArrayLong(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, LONG* data, const ULONG numElements, ULONG *numElementsRet);
1008 
1009 
1036 MLPI_API MLPIRESULT mlpiIoReadFieldbusIoArrayUlong(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, ULONG* data, const ULONG numElements, ULONG *numElementsRet);
1037 
1038 
1065 MLPI_API MLPIRESULT mlpiIoReadFieldbusIoArrayLlong(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, LLONG* data, const ULONG numElements, ULONG *numElementsRet);
1066 
1067 
1094 MLPI_API MLPIRESULT mlpiIoReadFieldbusIoArrayUllong(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, ULLONG* data, const ULONG numElements, ULONG *numElementsRet);
1095 
1096 
1123 MLPI_API MLPIRESULT mlpiIoReadFieldbusIoArrayFloat(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, FLOAT* data, const ULONG numElements, ULONG *numElementsRet);
1124 
1125 
1152 MLPI_API MLPIRESULT mlpiIoReadFieldbusIoArrayDouble(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, DOUBLE* data, const ULONG numElements, ULONG *numElementsRet);
1153 
1154 
1177 MLPI_API MLPIRESULT mlpiIoWriteFieldbusIoBool8(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG bitOffset, const BOOL8 data);
1178 
1179 
1202 MLPI_API MLPIRESULT mlpiIoWriteFieldbusIoChar(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, const CHAR data);
1203 
1204 
1227 MLPI_API MLPIRESULT mlpiIoWriteFieldbusIoUchar(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, const UCHAR data);
1228 
1229 
1252 MLPI_API MLPIRESULT mlpiIoWriteFieldbusIoShort(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, const SHORT data);
1253 
1254 
1277 MLPI_API MLPIRESULT mlpiIoWriteFieldbusIoUshort(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, const USHORT data);
1278 
1279 
1302 MLPI_API MLPIRESULT mlpiIoWriteFieldbusIoLong(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, const LONG data);
1303 
1304 
1327 MLPI_API MLPIRESULT mlpiIoWriteFieldbusIoUlong(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, const ULONG data);
1328 
1329 
1352 MLPI_API MLPIRESULT mlpiIoWriteFieldbusIoLlong(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, const LLONG data);
1353 
1354 
1377 MLPI_API MLPIRESULT mlpiIoWriteFieldbusIoUllong(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, const ULLONG data);
1378 
1379 
1402 MLPI_API MLPIRESULT mlpiIoWriteFieldbusIoFloat(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, const FLOAT data);
1403 
1404 
1427 MLPI_API MLPIRESULT mlpiIoWriteFieldbusIoDouble(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, const DOUBLE data);
1428 
1429 
1453 MLPI_API MLPIRESULT mlpiIoWriteFieldbusIoArrayChar(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, const CHAR* data, const ULONG numElements);
1454 
1455 
1479 MLPI_API MLPIRESULT mlpiIoWriteFieldbusIoArrayUchar(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, const UCHAR* data, const ULONG numElements);
1480 
1481 
1505 MLPI_API MLPIRESULT mlpiIoWriteFieldbusIoArrayShort(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, const SHORT* data, const ULONG numElements);
1506 
1507 
1531 MLPI_API MLPIRESULT mlpiIoWriteFieldbusIoArrayUshort(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, const USHORT* data, const ULONG numElements);
1532 
1533 
1557 MLPI_API MLPIRESULT mlpiIoWriteFieldbusIoArrayLong(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, const LONG* data, const ULONG numElements);
1558 
1559 
1583 MLPI_API MLPIRESULT mlpiIoWriteFieldbusIoArrayUlong(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, const ULONG* data, const ULONG numElements);
1584 
1585 
1609 MLPI_API MLPIRESULT mlpiIoWriteFieldbusIoArrayLlong(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, const LLONG* data, const ULONG numElements);
1610 
1611 
1635 MLPI_API MLPIRESULT mlpiIoWriteFieldbusIoArrayUllong(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, const ULLONG* data, const ULONG numElements);
1636 
1637 
1661 MLPI_API MLPIRESULT mlpiIoWriteFieldbusIoArrayFloat(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, const FLOAT* data, const ULONG numElements);
1662 
1663 
1687 MLPI_API MLPIRESULT mlpiIoWriteFieldbusIoArrayDouble(const MLPIHANDLE connection, const WCHAR16* masterName, const WCHAR16* slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, const DOUBLE* data, const ULONG numElements);
1688 
1689 
1690 
1691 #ifdef __cplusplus
1692 }
1693 #endif
1694 
1695 
1696 
1697 #endif // endof: #ifndef __MLPIIOLIB_H__
MLPIRESULT mlpiIoWriteFieldbusIoLlong(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, const LLONG data)
This function writes the 64-bit signed data value to a fieldbus I/O.
long LONG
4 byte signed integer
Definition: mlpiGlobal.h:167
#define MLPI_IO_FIELDBUS_DEVICE_NAME_LEN
Maximum length of name of master or slave.
Definition: mlpiIoLib.h:282
unsigned char UCHAR
1 byte unsigned integer
Definition: mlpiGlobal.h:160
MLPIRESULT mlpiIoWriteFieldbusIoArrayUchar(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, const UCHAR *data, const ULONG numElements)
This function writes an array of 8-bit unsigned data values to a fieldbus I/O.
MLPIRESULT mlpiIoReadFieldbusIoUllong(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, ULLONG *data)
This function reads the 64-bit unsigned data value from a fieldbus I/O.
long MLPIRESULT
common MLPI-API return value
Definition: mlpiGlobal.h:200
unsigned long long ULLONG
8 byte unsigned integer
Definition: mlpiGlobal.h:171
char CHAR
1 byte signed integer
Definition: mlpiGlobal.h:159
MLPIRESULT mlpiIoWriteFieldbusIoBool8(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea area, const ULONG bitOffset, const BOOL8 data)
This function writes a bit to a fieldbus I/O.
MLPIRESULT mlpiIoReadFieldbusIoArrayFloat(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea 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) from a fieldbus ...
MlpiIoFieldbusMasterType
This enumeration defines types of fieldbus master.
Definition: mlpiIoLib.h:351
MLPIRESULT mlpiIoWriteFieldbusIoArrayUlong(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, const ULONG *data, const ULONG numElements)
This function writes an array of 32-bit unsigned data values to a fieldbus I/O.
signed char BOOL8
1 byte boolean
Definition: mlpiGlobal.h:158
unsigned short USHORT
2 byte unsigned integer
Definition: mlpiGlobal.h:162
MLPIRESULT mlpiIoReadFieldbusIoArrayLong(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, LONG *data, const ULONG numElements, ULONG *numElementsRet)
This function reads an array of 32-bit signed data values from a fieldbus I/O.
MLPIRESULT mlpiIoWriteFieldbusIoArrayFloat(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, const FLOAT *data, const ULONG numElements)
This function writes an array of 32-bit floating point data values (single precision) to a fieldbus I...
MlpiIoFieldbusArea
This enumeration defines the I/O areas &#39;Input&#39; and &#39;Output&#39; of a fieldbus device. ...
Definition: mlpiIoLib.h:367
MLPIRESULT mlpiIoWriteFieldbusIoLong(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, const LONG data)
This function writes the 32-bit signed data value to a fieldbus I/O.
MLPIRESULT mlpiIoWriteFieldbusIoUlong(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, const ULONG data)
This function writes the 32-bit unsigned data value to a fieldbus I/O.
MLPIRESULT mlpiIoReadFieldbusIoUshort(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, USHORT *data)
This function reads the 16-bit unsigned data value from a fieldbus I/O.
Generic, not all features are supported.
Definition: mlpiIoLib.h:353
MLPIRESULT mlpiIoReadFieldbusIoUchar(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, UCHAR *data)
This function reads the 8-bit unsigned data value from a fieldbus I/O.
short SHORT
2 byte signed integer
Definition: mlpiGlobal.h:161
MLPIRESULT mlpiIoReadFieldbusIoBool8(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea area, const ULONG bitOffset, BOOL8 *data)
This function reads a bit from a fieldbus I/O.
MLPIRESULT mlpiIoReadFieldbusIoShort(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, SHORT *data)
This function reads the 16-bit signed data value from a fieldbus I/O.
MLPIRESULT mlpiIoWriteFieldbusIoFloat(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, const FLOAT data)
This function writes the 32-bit floating point data value (single precision) to a fieldbus I/O...
struct MlpiIoFieldbusSlaveInfo MlpiIoFieldbusSlaveInfo
This structure defines the information of a fieldbus slave.
struct MlpiIoDiagnosis MlpiIoDiagnosis
This structure defines the diagnosis flag information of a fieldbus device.
MLPIRESULT mlpiIoWriteFieldbusIoArrayUllong(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, const ULLONG *data, const ULONG numElements)
This function writes an array of 64-bit unsigned data values to a fieldbus I/O.
MLPIRESULT mlpiIoReadFieldbusIoArrayUchar(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, UCHAR *data, const ULONG numElements, ULONG *numElementsRet)
This function reads an array of 8-bit unsigned data values from a fieldbus I/O.
wchar_t WCHAR16
UTF16 string.
Definition: mlpiGlobal.h:193
MLPIRESULT mlpiIoReadFieldbusIoArrayChar(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, CHAR *data, const ULONG numElements, ULONG *numElementsRet)
This function reads an array of 8-bit signed data values from a fieldbus I/O.
MLPIRESULT mlpiIoWriteFieldbusIoArrayShort(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, const SHORT *data, const ULONG numElements)
This function writes an array of 16-bit signed data values to a fieldbus I/O.
MLPIRESULT mlpiIoReadFieldbusSlaveInfos(const MLPIHANDLE connection, const WCHAR16 *masterName, MlpiIoFieldbusSlaveInfo *slaveInfo, const ULONG numElements, ULONG *numElementsRet)
This function reads the information about the fieldbus slaves of a fieldbus master.
MLPIRESULT mlpiIoReadFieldbusSlaveInfo(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, MlpiIoFieldbusSlaveInfo *slaveInfo)
This function reads the information about a fieldbus slave of a fieldbus master.
MLPIRESULT mlpiIoWriteFieldbusIoArrayDouble(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, const DOUBLE *data, const ULONG numElements)
This function writes an array of 64-bit floating point data values (double precision) to a fieldbus I...
MLPIRESULT mlpiIoReadFieldbusSlaveList(const MLPIHANDLE connection, const WCHAR16 *masterName, WCHAR16 *slaveList, const ULONG numElements, ULONG *countOfSlave)
This function reads the name list of fieldbus slaves.
MLPIRESULT mlpiIoWriteFieldbusIoDouble(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, const DOUBLE data)
This function writes the 64-bit floating point data value (double precision) to a fieldbus I/O...
MLPIRESULT mlpiIoReadFieldbusIoUlong(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, ULONG *data)
This function reads the 32-bit unsigned data value from a fieldbus I/O.
MLPIRESULT mlpiIoReadFieldbusIoArrayShort(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, SHORT *data, const ULONG numElements, ULONG *numElementsRet)
This function reads an array of 16-bit signed data values from a fieldbus I/O.
struct MlpiIoFieldbusMasterInfo MlpiIoFieldbusMasterInfo
This structure defines the information about a fieldbus master.
MLPIRESULT mlpiIoWriteFieldbusIoArrayLlong(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, const LLONG *data, const ULONG numElements)
This function writes an array of 64-bit signed data values to a fieldbus I/O.
struct MlpiIoHandle MlpiIoHandle
This structure defines the handle to a fieldbus device.
MLPIRESULT mlpiIoWriteFieldbusIoUchar(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, const UCHAR data)
This function writes the 8-bit unsigned data value to a fieldbus I/O.
MLPIRESULT mlpiIoWriteFieldbusIoArrayChar(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, const CHAR *data, const ULONG numElements)
This function writes an array of 8-bit signed data values to a fieldbus I/O.
MLPIRESULT mlpiIoReadFieldbusIoArrayDouble(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea 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) from a fieldbus ...
MLPIRESULT mlpiIoReadFieldbusIoArrayUlong(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, ULONG *data, const ULONG numElements, ULONG *numElementsRet)
This function reads an array of 32-bit unsigned data values from a fieldbus I/O.
MLPIRESULT mlpiIoReadFieldbusIoArrayUllong(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, ULLONG *data, const ULONG numElements, ULONG *numElementsRet)
This function reads an array of 64-bit unsigned data values from a fieldbus I/O.
MLPIRESULT mlpiIoWriteFieldbusIoUllong(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, const ULLONG data)
This function writes the 64-bit unsigned data value to a fieldbus I/O.
MLPIRESULT mlpiIoWriteFieldbusIoShort(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, const SHORT data)
This function writes the 16-bit signed data value to a fieldbus I/O.
MLPIRESULT mlpiIoReadFieldbusIoLlong(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, LLONG *data)
This function reads the 64-bit signed data value from a fieldbus I/O.
MLPIRESULT mlpiIoReadFieldbusIoArrayUshort(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, USHORT *data, const ULONG numElements, ULONG *numElementsRet)
This function reads an array of 16-bit unsigned data values from a fieldbus I/O.
MLPIRESULT mlpiIoReadFieldbusIoArrayLlong(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, LLONG *data, const ULONG numElements, ULONG *numElementsRet)
This function reads an array of 64-bit signed data values from a fieldbus I/O.
MLPIRESULT mlpiIoReadFieldbusMasterList(const MLPIHANDLE connection, WCHAR16 *masterList, const ULONG numElements, ULONG *countOfMaster)
This function reads the name list of the available fieldbus masters on the target.
MLPIRESULT mlpiIoWriteFieldbusIoArrayLong(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, const LONG *data, const ULONG numElements)
This function writes an array of 32-bit signed data values to a fieldbus I/O.
MLPIRESULT mlpiIoReadFieldbusMasterInfo(const MLPIHANDLE connection, const WCHAR16 *masterName, MlpiIoFieldbusMasterInfo *masterInfo)
This function reads the information about a fieldbus master.
unsigned long ULONG
4 byte unsigned integer
Definition: mlpiGlobal.h:168
MLPIRESULT mlpiIoWriteFieldbusIoUshort(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, const USHORT data)
This function writes the 16-bit unsigned data value to a fieldbus I/O.
long long LLONG
8 byte signed integer
Definition: mlpiGlobal.h:170
#define MLPI_IO_FIELDBUS_SLAVE_ADDRESS_LEN
Maximum length of slave address.
Definition: mlpiIoLib.h:281
Input area of a fieldbus device.
Definition: mlpiIoLib.h:369
MLPIRESULT mlpiIoReadFieldbusIoChar(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, CHAR *data)
This function reads the 8-bit signed data value from a fieldbus I/O.
float FLOAT
4 byte floating point
Definition: mlpiGlobal.h:172
MLPIRESULT mlpiIoUpdateFieldbusIo(const MLPIHANDLE connection, const WCHAR16 *masterName)
This function performs a bus cycle to update the fieldbus I/Os of all attached slaves of a master...
double DOUBLE
8 byte floating point
Definition: mlpiGlobal.h:177
MLPIRESULT mlpiIoReadFieldbusIoLong(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, LONG *data)
This function reads the 32-bit signed data value from a fieldbus I/O.
MLPIRESULT mlpiIoWriteFieldbusIoChar(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, const CHAR data)
This function writes the 8-bit signed data value to a fieldbus I/O.
MLPIRESULT mlpiIoReadFieldbusIoDouble(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, DOUBLE *data)
This function reads the 64-bit floating point data value (double precision) from a fieldbus I/O...
unsigned long MLPIHANDLE
common MLPI-API handle value
Definition: mlpiGlobal.h:206
MLPIRESULT mlpiIoWriteFieldbusIoArrayUshort(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, const USHORT *data, const ULONG numElements)
This function writes an array of 16-bit unsigned data values to a fieldbus I/O.
MLPIRESULT mlpiIoReadFieldbusIoFloat(const MLPIHANDLE connection, const WCHAR16 *masterName, const WCHAR16 *slaveAddress, const MlpiIoFieldbusArea area, const ULONG byteOffset, FLOAT *data)
This function reads the 32-bit floating point data value (single precision) from a fieldbus I/O...
Output area of a fieldbus device.
Definition: mlpiIoLib.h:370