Open Core Interface - MLPI
MLPI-MotionLogicProgrammingInterface(mlpi4COM)  1.26.2
ISystem.idl
Go to the documentation of this file.
1 // -----------------------------------------------------------------------
2 // MLPI - <ISystem.idl>
3 // -----------------------------------------------------------------------
4 // Copyright (c) 2012 Bosch Rexroth. All rights reserved.
5 // Redistribution and use in source and binary forms of this MLPI software
6 // (SW) provided to you, with or without modification, are permitted
7 // without prior approval provided that the following conditions are met:
8 //
9 // 1. Redistributions of source code of SW must retain the above copyright
10 // notice, this list of conditions and the following disclaimer.
11 //
12 // 2. Redistributions in binary form of SW must reproduce the above copyright
13 // notice, this list of conditions and the following disclaimer in the
14 // documentation and/or other materials provided with the distribution.
15 //
16 // 3. User recognizes and acknowledges that it acquires no right,
17 // title or interest in or to any of the names or trademarks used in
18 // connection with the SW ("names") by virtue of this License and waives
19 // any right to or interest in the names. User recognizes and acknowledges
20 // that names of companies or names or products of companies displayed
21 // in the documentation of SW to indicate the interoperability of products
22 // with the SW are the names of their respective owners. The use of such
23 // names in the documentation of SW does not imply any sponsorship,
24 // approval, or endorsement by such companies of this product.
25 //
26 // 4. Modified code versions, i.e. any addition to or deletion from
27 // the substance or structure of the original code of the SW running
28 // the MLPI must be plainly marked as such and must not be misrepresented
29 // as being original SW.
30 //
31 // 5. The SW may only be used in connection with a Bosch Rexroth product.
32 //
33 // THIS INFORMATION IS PROVIDED BY BOSCH REXROTH CORPORATION "AS IS"
34 // AND WITHOUT WARRANTY OF ANY KIND, EXPRESSED OR IMPLIED, INCLUDING
35 // (BUT NOTLIMITED TO) ANY IMPLIED WARRANTIES OF MERCHANTABILITY,
36 // FITNESS FOR ANY PARTICULAR PURPOSE, OR NON-INFRINGEMENT. WHILE THE
37 // INFORMATION PROVIDED IS BELIEVED TO BE ACCURATE, IT MAY INCLUDE
38 // ERRORS OR INACCURACIES.
39 // SUBJECT TO COMPULSORY STATUTORY PROVISIONS OF THE GERMAN LAW AS
40 // THE APPLICABLE LAW FOR THIS LICENSE BOSCH REXROTH CORPORATION WILL
41 // NOT BE LIABLE FOR ANY DAMAGES OF ANY KIND ARISING FROM THE USE OF
42 // THE SOFTWARE DISTRIBUTED HEREUNDER, INCLUDING BUT NOT LIMITED TO
43 // DIRECT, INDIRECT, INCIDENTAL, PUNITIVE, AND CONSEQUENTIAL DAMAGES.
44 // -----------------------------------------------------------------------
45 //
55 //
56 // -----------------------------------------------------------------------
57 
58 
59 
64 [
65  object,
66  uuid(35AE5C9C-722F-4f07-9AF4-42D2A86065EF),
67  dual,
68  nonextensible,
69  helpstring("ISystem Interface"),
70  pointer_default(unique)
71 ]
72 interface ISystem : IDispatch{
73 
75  const BSTR VERSION_FIRMWARE = "VERSION_FIRMWARE";
77  const BSTR VERSION_HARDWARE = "VERSION_HARDWARE";
79  const BSTR VERSION_LOGIC = "VERSION_LOGIC";
81  const BSTR VERSION_BSP = "VERSION_BSP";
83  const BSTR VERSION_MLPI_SERVER_CORE = "VERSION_MLPI_SERVER_CORE";
84 
87  typedef [v1_enum] enum Language
88  {
91  LANGUAGE_USER_DEFINED = 99
92  }Language;
93 
99  typedef [v1_enum] enum SystemMode
100  {
101  SYSTEMMODE_P0 = 0x00,
102  SYSTEMMODE_P1 = 0x01,
103  SYSTEMMODE_P2 = 0x02,
104  SYSTEMMODE_P3 = 0x03,
105  SYSTEMMODE_BB = 0x04,
107  } SystemMode;
108 
111  typedef [v1_enum] enum DiagnosisState
112  {
117  } DiagnosisState;
118 
121  typedef [v1_enum] enum DiagnosisDespatcher
122  {
130 
134  typedef [v1_enum] enum SpecialPath
135  {
136  PATH_SYSTEM = 0x00,
137  PATH_OEM = 0x01,
138  PATH_USER = 0x02,
153  } SpecialPath;
154 
157  typedef [v1_enum] enum DiagnosisCategory
158  {
164 
165 
166 
167 #if defined(WIN32) || defined(WIN64)
168  [
169  uuid(8099CC06-2940-4ddd-ACB3-CAAE9C268F2B)
170  ]
187  struct DateAndTime
188  {
189  SHORT year;
190  SHORT month;
191  SHORT day;
192  SHORT hour;
193  SHORT minute;
194  SHORT second;
195  SHORT milliSecond;
196  SHORT microSecond;
197  SHORT dayOfWeek;
198  SHORT dayOfYear;
199  };
200 
201 
202  [
203  uuid(D0129DE4-876B-4567-9BD1-103E1BDD1234)
204  ]
225  struct Diagnosis
226  {
227  LONG number;
229  struct DateAndTime dateTime;
233  LONG index;
234  BSTR text;
235  };
236 #endif
237 
249  struct MemoryInfo
250  {
255  };
256 
257 
267  {
268  VARIANT totalBytes;
269  VARIANT freeBytes;
270  };
271 
272 
296  [id(4), helpstring("Method GetName")] HRESULT GetName([out, retval] BSTR* name);
297 
322  [id(5), helpstring("Method SetName")] HRESULT SetName([in] BSTR name);
323 
348  [id(7), helpstring("Method GetTemperature")] HRESULT GetTemperature([out, retval] FLOAT* temperature);
349 
374  [id(8), helpstring("Method GetTemperatureMax")] HRESULT GetTemperatureMax([out, retval] FLOAT* temperature);
375 
405  [id(13), helpstring("Method GetIpAddress")] HRESULT GetIpAddress([out, retval] BSTR* address);
406 
431  [id(14), helpstring("Method SetIpAddress")] HRESULT SetIpAddress([in] BSTR address);
432 
443  [id(15), helpstring("Method GetSubnetMask")] HRESULT GetSubnetMask([out, retval] BSTR* address);
444 
455  [id(16), helpstring("Method SetSubnetMask")] HRESULT SetSubnetMask([in] BSTR address);
456 
467  [id(17), helpstring("Method GetGateway")] HRESULT GetGateway([out, retval] BSTR* address);
468 
479  [id(18), helpstring("Method SetGateway")] HRESULT SetGateway([in] BSTR address);
480 
504  [id(19), helpstring("Method GetCurrentMode")] HRESULT GetCurrentMode([out, retval] SystemMode* mode);
505 
553  [id(20), helpstring("Method SetTargetControlMode")] HRESULT SetTargetMode([in] SystemMode mode);
554 
578  [id(21), helpstring("Method GetCpuLoad")] HRESULT GetCpuLoad([out, retval] FLOAT* cpuLoad);
579 
602  [id(22), helpstring("Method GetCpuLoadMax")] HRESULT GetCpuLoadMax([out, retval] FLOAT* cpuLoad);
603 
604 #if defined(WIN32) || defined(WIN64)
605  [id(23), helpstring("Method GetDisplayedDiagnosis")] HRESULT GetDisplayedDiagnosis([out, retval] struct Diagnosis* diagnosis);
647 #endif
648 
661  [id(24), helpstring("Method GetNewestDiagnosisIndex")] HRESULT GetNewestDiagnosisIndex([out, retval] LONG* index);
662 
676  [id(25), helpstring("Method GetOldestDiagnosisIndex")] HRESULT GetOldestDiagnosisIndex([out, retval] LONG* index);
677 
678 #if defined(WIN32) || defined(WIN64)
679  [id(45), helpstring("Method GetDiagnosisLog")] HRESULT GetDiagnosisLog([in] LONG startIndex, [in] LONG numToRead, [out, retval] SAFEARRAY (struct Diagnosis) *diagnosis);
727 #endif
728 
761  [id(44), helpstring("Method ConvertDiagnosisNumberToText")] HRESULT ConvertDiagnosisNumberToText([in] VARIANT diagnosisNumber, [out, retval] BSTR *diagnosis);
762 
785  [id(26), helpstring("Method GetOperationHours")] HRESULT GetOperationHours([out, retval] LONG* hours);
786 
817  [id(27), helpstring("Method GetVersionInfo")] HRESULT GetVersionInfo([in] BSTR component, [out, retval] BSTR* version);
818 
842  [id(28), helpstring("Method GetSerialNumber")] HRESULT GetSerialNumber([out, retval] BSTR* serial);
843 
855  [id(29), helpstring("Method GetMacAddress")] HRESULT GetMacAddress([out, retval] BSTR* address);
856 
876  [id(30), helpstring("Method ClearError")] HRESULT ClearError(void);
877 
898  [id(31), helpstring("Method Reboot")] HRESULT Reboot(void);
899 
922  [id(32), helpstring("Method Cleanup")] HRESULT Cleanup(void);
923 
947  [id(33), helpstring("Method GetLanguage")] HRESULT GetLanguage([out, retval] Language* language);
948 
962  [id(34), helpstring("Method SetLanguage")] HRESULT SetLanguage([in] Language language);
963 
987  [id(35), helpstring("Method GetHardwareDetails")] HRESULT GetHardwareDetails([out, retval] BSTR* hardwareDetails);
988 
1016  [id(36), helpstring("Method GetMemoryInfo")] HRESULT GetMemoryInfo([out, retval] struct MemoryInfo *memory);
1017 
1018 #if defined(WIN32) || defined(WIN64)
1019  [id(37), helpstring("Method GetDateAndTimeUtc")] HRESULT GetDateAndTimeUtc([out, retval] struct DateAndTime* dateTime);
1043 #endif
1044 
1069  [id(38), helpstring("Method GetSpecialPath")] HRESULT GetSpecialPath([in] SpecialPath pathIdentifier, [out, retval] BSTR *path);
1070 
1098  [id(39), helpstring("Method GetSpecialPathInfo")] HRESULT GetSpecialPathInfo([in] SpecialPath path, [out,retval] struct SpecialPathInfo *pathInfo);
1099 
1122  [id(40), helpstring("Method SetDiagnosis")] HRESULT SetDiagnosis([in] DiagnosisCategory category, [in] LONG number, BSTR diagnosisText);
1123 };
1124 
1125 
1126 
1127 // -----------------------------------------------------------------------
1128 // HISTORY
1129 // -----------------------------------------------------------------------
1130 // 01-Jan-2012
1131 // - first release
1132 //
1133 
1134 
1135 
1136 
1137 
1138 
HRESULT SetName([in] BSTR name)
This method sets the device name.
HRESULT GetVersionInfo([in] BSTR component, [out, retval] BSTR *version)
This method reads the hardware version.
PLC project data path.
Definition: ISystem.idl:142
OEM path, root.
Definition: ISystem.idl:137
HRESULT GetSerialNumber([out, retval] BSTR *serial)
This method reads the serial number of the device.
mode switching active.
Definition: ISystem.idl:106
SHORT milliSecond
Milliseconds after second.
Definition: ISystem.idl:195
This structure defines the memory information.
Definition: ISystem.idl:249
SHORT hour
Hours after midnight.
Definition: ISystem.idl:192
User path, root.
Definition: ISystem.idl:138
HRESULT GetSubnetMask([out, retval] BSTR *address)
This method reads the Subnet mask of the device. Value is a UTF16 string in dot format "XXX...
HRESULT Reboot(void)
This function performs a reboot of the complete device. This is only allowed if the device is switche...
VARIANT totalVolatileBytes
Total RAM of the device in bytes.
Definition: ISystem.idl:251
SpecialPath
This enumeration contains different logical paths on the device. Use GetSpecialPath to retrieve absol...
Definition: ISystem.idl:134
DiagnosisState state
State of a diagnostic message.
Definition: ISystem.idl:228
const BSTR VERSION_BSP
This variable defines the value to read the board support version string.
Definition: ISystem.idl:81
Protected C/C++ user bundles path.
Definition: ISystem.idl:148
const BSTR VERSION_FIRMWARE
This variable defines the value to read the firmware version string.
Definition: ISystem.idl:75
Protected Java VM root path.
Definition: ISystem.idl:149
HRESULT GetSpecialPath([in] SpecialPath pathIdentifier, [out, retval] BSTR *path)
This function returns the platform-specific absolute path of the given symbolic path. For example, it is possible to retrieve the absolute path of the system path on the connected device. This information can then be used to access files via ftp on the given path. This function is necessary, because it is not guaranteed that the system path always has the same absolute path. Those special paths can vary on different operating systems or storage devices.
Protected Java VM user data path.
Definition: ISystem.idl:152
LONG physicalAddress
Physical address of a physical device possibly connected to the logical object, e.g. drive of an axis.
Definition: ISystem.idl:231
HRESULT SetIpAddress([in] BSTR address)
This method writes the IP address of the device. Value is a string in dot format "XXX.XXX.XXX.XXX". Reboot necessary for the new IP address to become active.
HRESULT SetSubnetMask([in] BSTR address)
This method writes the Subnet mask of the device. Value is a UTF16 string in dot format "XXX...
This structure defines the information returned when accessing the diagnosis. A diagnosis is either a...
Definition: ISystem.idl:225
This structure defines the special path information.
Definition: ISystem.idl:266
HRESULT GetDisplayedDiagnosis([out, retval] struct Diagnosis *diagnosis)
This function reads the displayed diagnostic message of the device. The diagnosis displayed is the di...
HRESULT GetSpecialPathInfo([in] SpecialPath path, [out, retval] struct SpecialPathInfo *pathInfo)
This method retrieves information about the currently free spaces of special paths on the device...
SHORT dayOfWeek
Day of week.
Definition: ISystem.idl:197
LONG logicalAddress
Logical address of the device(e.g. axis, touchprobe,...) that dispatched the diagnosis.
Definition: ISystem.idl:230
SHORT year
Year.
Definition: ISystem.idl:189
This structure defines information about the date and time.
Definition: ISystem.idl:187
SHORT second
Seconds after minute.
Definition: ISystem.idl:194
HRESULT GetDiagnosisLog([in] LONG startIndex, [in] LONG numToRead, [out, retval] SAFEARRAY(struct Diagnosis)*diagnosis)
This method reads and returns the device diagnosis log. The method returns an array of diagnostic mes...
const BSTR VERSION_MLPI_SERVER_CORE
This variable defines the value to read the MLPI server core version string.
Definition: ISystem.idl:83
device language English
Definition: ISystem.idl:90
HRESULT GetTemperature([out, retval] FLOAT *temperature)
This method reads the device temperature.
initialization mode.
Definition: ISystem.idl:101
Language
This enumeration must be used when accessing language settings in the device.
Definition: ISystem.idl:87
const BSTR VERSION_LOGIC
This variable defines the value to read the logic version string.
Definition: ISystem.idl:79
HRESULT GetHardwareDetails([out, retval] BSTR *hardwareDetails)
This method reads the hardware details of the device.
SYSTEM path, root.
Definition: ISystem.idl:136
HRESULT SetDiagnosis([in] DiagnosisCategory category, [in] LONG number, BSTR diagnosisText)
This function writes a diagnosis with message to the diagnosis system of the device.
DiagnosisDespatcher despatcher
Identifying source of diagnosis.
Definition: ISystem.idl:232
VARIANT freeBytes
Free disk-space of the partition in bytes.
Definition: ISystem.idl:269
HRESULT GetCurrentMode([out, retval] SystemMode *mode)
This method reads the device mode.
HRESULT GetCpuLoadMax([out, retval] FLOAT *cpuLoad)
This method reads the device maximum CPU Load.
HRESULT GetLanguage([out, retval] Language *language)
This method reads the system language of the device.
HRESULT GetDateAndTimeUtc([out, retval] struct DateAndTime *dateTime)
This method reads the device system time.
HRESULT Cleanup(void)
This function performs a reboot and total clean up of the complete device. This is only allowed if th...
Java VM licenses path.
Definition: ISystem.idl:146
Temporary project data path.
Definition: ISystem.idl:143
const BSTR VERSION_HARDWARE
This variable defines the value to read the hardware version string.
Definition: ISystem.idl:77
HRESULT GetIpAddress([out, retval] BSTR *address)
This method reads the IP address of the device. Value is a UTF16 string in dot format "XXX...
HRESULT ClearError(void)
This function clears pending errors.
HRESULT GetMemoryInfo([out, retval] struct MemoryInfo *memory)
This method retrieves information about the RAM which is currently free on the device. The function can be used to trace the total system performance of the device.
LONG index
Index of the diagnosis inside the diagnosis ring buffer.
Definition: ISystem.idl:233
VARIANT totalBytes
Total size of the partition in bytes.
Definition: ISystem.idl:268
HRESULT GetOperationHours([out, retval] LONG *hours)
This method reads the device operational hours.
Protected Java VM licenses path.
Definition: ISystem.idl:151
SystemMode
This enumeration must be used when accessing the mode settings in the device. The mode can only be se...
Definition: ISystem.idl:99
C/C++ user bundles path.
Definition: ISystem.idl:141
HRESULT GetTemperatureMax([out, retval] FLOAT *temperature)
This method reads the device maximum temperature.
SHORT dayOfYear
Day of year.
Definition: ISystem.idl:198
device language German
Definition: ISystem.idl:89
DiagnosisCategory
This enumeration contains different diagnosis categories on the device.
Definition: ISystem.idl:157
non-fatal error, cause no error reaction.
Definition: ISystem.idl:160
HRESULT GetName([out, retval] BSTR *name)
This method reads the device name.
VARIANT freeVolatileBytes
Free RAM of the device in bytes.
Definition: ISystem.idl:253
transition state from parameter mode to operation mode.
Definition: ISystem.idl:104
parameter mode.
Definition: ISystem.idl:103
HRESULT SetGateway([in] BSTR address)
This method writes the Gateway address of the device. Value is a UTF16 string in dot format "XXX...
fatal error, cause error reaction in motion system.
Definition: ISystem.idl:159
operation mode.
Definition: ISystem.idl:105
Protected project data path.
Definition: ISystem.idl:139
VARIANT totalNonvolatileBytes
Total non-volatile RAM of the device in bytes.
Definition: ISystem.idl:252
HRESULT GetMacAddress([out, retval] BSTR *address)
This method reads the MAC address of the device. Value is a UTF16 string in format "00:00:00:00:00:00...
Project data path.
Definition: ISystem.idl:140
HRESULT GetCpuLoad([out, retval] FLOAT *cpuLoad)
This method reads the device CPU load.
BSTR text
Diagnosis text with diagnosis description.
Definition: ISystem.idl:234
SHORT day
Day of month.
Definition: ISystem.idl:191
transition state from initialization mode to parameter mode.
Definition: ISystem.idl:102
DiagnosisState
This enumeration must be used when accessing the diagnostic details in the device.
Definition: ISystem.idl:111
SHORT month
Month.
Definition: ISystem.idl:190
DiagnosisDespatcher
This enumeration must be used when accessing the diagnostic details in the device.
Definition: ISystem.idl:121
HRESULT SetLanguage([in] Language language)
This method writes the system language of the device. The language setting will affect the messages s...
HRESULT SetTargetMode([in] SystemMode mode)
This function writes the control mode. After writing the mode, the control will NOT be in this mode...
HRESULT GetOldestDiagnosisIndex([out, retval] LONG *index)
As the memory of the device is limited, it is not possible to hold all diagnostic messages in the log...
HRESULT GetGateway([out, retval] BSTR *address)
This method reads the Gateway address of the device. Value is a UTF16 string in dot format "XXX...
Protected Java VM bundles path.
Definition: ISystem.idl:150
Java VM root path.
Definition: ISystem.idl:144
HRESULT ConvertDiagnosisNumberToText([in] VARIANT diagnosisNumber, [out, retval] BSTR *diagnosis)
This function tries to retrieve a textual description for a given diagnosis number. Please note that this is not possible for every diagnosis number that is returned from the system. This includes user-specific diagnosis numbers or diagnosis numbers which represent a group of error conditions. In case no match was found the string "No entry found in data base" is returned.
Java VM user data path.
Definition: ISystem.idl:147
LONG number
Identity number described in the help manual and used to identify the diagnosis.
Definition: ISystem.idl:227
SHORT minute
Minutes after hour.
Definition: ISystem.idl:193
SHORT microSecond
Microseconds after second.
Definition: ISystem.idl:196
Definition of the ISystem interface which contains various system settings of the connected MLPI Devi...
Definition: ISystem.idl:72
HRESULT GetNewestDiagnosisIndex([out, retval] LONG *index)
To each new diagnosis in the diagnosis logbook, a unique incremented diagnosis index is assigned...
VARIANT freeNonvolatileBytes
Free non-volatile RAM of the device in bytes. This value should never reach 0.
Definition: ISystem.idl:254