Open Core Interface - MLPI
MLPI-MotionLogicProgrammingInterface(mlpi4COM)  1.26.2
ILogic.idl
Go to the documentation of this file.
1 // -----------------------------------------------------------------------
2 // MLPI - <ILogic.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 
65 [
66  object,
67  uuid(7547778A-E3E1-4BFF-A5D6-9279943D9318),
68  dual,
69  nonextensible,
70  helpstring("ILogic Interface"),
71  pointer_default(unique)
72 ]
73 interface ILogic : IDispatch{
74 
76 
79  typedef [v1_enum] enum ApplicationState
80  {
81  STATE_NONE = 0,
82  STATE_RUN = 1,
83  STATE_STOP = 2,
84  STATE_BP = 3
86 
89  typedef [v1_enum] enum ApplicationResetMode
90  {
91  RESET_WARM = 0,
92  RESET_COLD = 1,
95 
98  typedef [v1_enum] enum LogicSymbolAccessRights
99  {
105 
108  typedef [v1_enum] enum LogicType
109  {
151  }LogicType;
152 
153 #if defined(WIN32) || defined(WIN64)
154  [
155  uuid(2D4AA589-F60E-453a-8C63-99F223FB6169)
156  ]
166  {
167  LONG minimum;
168  LONG maximum;
169  };
170 
171  [
172  uuid(6B8D143B-C91E-417f-A73E-D99FAEDFE9C0)
173  ]
188  {
189  LogicType type;
190  LogicType subType;
191  LONG dataSize;
192  LONG numElements;
193  LONG dimension;
194  struct LogicArrayRange range[LOGIC_MAX_DIMENSION_OF_ARRAY];
195  LogicSymbolAccessRights accessRights;
196  };
197 
198  [
199  uuid(945D635F-546F-4cfe-9873-3126C420F03F)
200  ]
210  {
211  BSTR name;
212  struct LogicSymbolInformation info;
213  };
214 #endif
215 
218  typedef [v1_enum] enum LogicCapabilityOperationValue
219  {
223 
228  typedef [v1_enum] enum LogicCapabilityOperation
229  {
238 
241  typedef [v1_enum] enum ApplicationMemoryArea
242  {
247 
248 #if defined(WIN32) || defined(WIN64)
249  [
250  uuid(1D9C801D-8E7B-4591-9B81-51C00E5C0383)
251  ]
268  {
269  BSTR name;
270  LONG priority;
271  VARIANT_BOOL watchdogEnabled;
272  LONG watchdogTime;
273  LONG cycleTime;
274  LONG averageCycleTime;
275  LONG maxCycleTime;
276  LONG minCycleTime;
277  LONG cycleCount;
278  };
279 
293  {
294  BSTR name;
295  BSTR author;
296  BSTR version;
297  BSTR description;
298  BSTR profile;
299  struct DateAndTime dateTime;
300  };
301 #endif
302 
328  {
329  VARIANT_BOOL none;
330 
331  VARIANT_BOOL loaded;
332  VARIANT_BOOL downloadActive;
333  VARIANT_BOOL onlineChangeActive;
334  VARIANT_BOOL storeBootprojectActive;
335 
336  VARIANT_BOOL forceVariablesActive;
337  VARIANT_BOOL exception;
338  VARIANT_BOOL initializeActive;
339  VARIANT_BOOL storeBootprojectOnlyActive;
340 
341  VARIANT_BOOL exitActive;
342  VARIANT_BOOL deleted;
343  VARIANT_BOOL resetActive;
344  VARIANT_BOOL retainMismatch;
345 
346  VARIANT_BOOL bootprojectValid;
347  VARIANT_BOOL loadBootprojectActive;
348  VARIANT_BOOL flowControlActive;
349  VARIANT_BOOL runInFlash;
350  };
351 
352 
388  [propget, id(1), helpstring("Property Applications")] HRESULT Applications([out, retval] IApplications** applications);
389 
431  [id(2), helpstring("Method WriteVariableBySymbol")] HRESULT WriteVariableBySymbol([in] BSTR symbol, [in] VARIANT data);
432 
482  [id(3), helpstring("Method ReadVariableBySymbol")] HRESULT ReadVariableBySymbol([in] BSTR symbol, [out, retval] VARIANT* data);
483 
484 #if defined(WIN32) || defined(WIN64)
485  [id(4), helpstring("Method GetInformationOfSymbol")] HRESULT GetInformationOfSymbol([in] BSTR symbol, [out, retval] struct LogicSymbolInformation* info);
525 
534  [id(5), helpstring("Method GetInformationOfUserType")] HRESULT GetInformationOfUserType([in] BSTR symbol, [out, retval] SAFEARRAY (struct LogicUserTypeInformation) *logicInfo);
535 #endif
536 
549  [id(6), helpstring("Method ReadVariableBySymbolAsString")] HRESULT ReadVariableBySymbolAsString([in] BSTR symbol, [out, retval] BSTR* data);
550 
561  [id(7), helpstring("Method WriteVariableBySymbolAsString")] HRESULT WriteVariableBySymbolAsString([in] BSTR symbol, [in] BSTR data);
562 
657  [id(8), helpstring("Method LoadBootApplication")] HRESULT LoadBootApplication([in] BSTR file, [in] BSTR path, [out, retval] BSTR *applicationName);
658 
673  [id(9), helpstring("Method GetNumberOfApplications")] HRESULT GetNumberOfApplications([out, retval] LONG *number);
674 
697  [id(10), helpstring("Method GetNameOfApplication")] HRESULT GetNameOfApplication([in] LONG index, [out, retval] BSTR *application);
698 
721  [id(11), helpstring("Method StartApplication")] HRESULT StartApplication(void);
722 
745  [id(12), helpstring("Method StopApplication")] HRESULT StopApplication(void);
746 
777  [id(13), helpstring("Method ResetApplication")] HRESULT ResetApplication([in] ApplicationResetMode mode);
778 
795  [id(14), helpstring("Method SetCapabilityOfOperation")] HRESULT SetCapabilityOfOperation([in] LogicCapabilityOperation operation, [in] LogicCapabilityOperationValue value);
796 
816  [id(15), helpstring("Method SetCapabilityOfOperation")] HRESULT GetCapabilityOfOperation([in] LogicCapabilityOperation operation, [out, retval] LogicCapabilityOperationValue *value);
817 
840  //[id(16), helpstring("Method RunSingleCycleApplication")] HRESULT RunSingleCycleApplication(void);
841 
842 };
843 
844 
845 // -----------------------------------------------------------------------
846 // HISTORY
847 // -----------------------------------------------------------------------
848 // 01-Jan-2012
849 // - first release
850 //
851 
852 
853 
854 
32 Bit, Time is given in milliseconds in TIME and TOD, time in TOD begins at 12:00 A...
Definition: ILogic.idl:128
HRESULT ReadVariableBySymbol([in] BSTR symbol, [out, retval] VARIANT *data)
The following function reads I/O data. The function is only able to read a single value at a time...
Symbolic access unsupported.
Definition: ILogic.idl:146
HRESULT WriteVariableBySymbolAsString([in] BSTR symbol, [in] BSTR data)
This method does the same as WriteVariableBySymbol but ALWAYS takes the data to be written in string ...
Symbolic access unsupported.
Definition: ILogic.idl:147
Capability to execute the operation &#39;set breakpoint into an application&#39;.
Definition: ILogic.idl:234
8 Bit (BYTE)
Definition: ILogic.idl:112
Capability to execute the operation &#39;online change application&#39;.
Definition: ILogic.idl:233
Symbolic access unsupported.
Definition: ILogic.idl:133
const LONG LOGIC_MAX_DIMENSION_OF_ARRAY
Maximum dimension of an array.
Definition: ILogic.idl:75
This structure defines the dimension range of an array.
Definition: ILogic.idl:165
Capability to execute the operation &#39;force variable of application&#39;.
Definition: ILogic.idl:236
ApplicationResetMode
This enumeration defines the different reset possibilities of an application using ResetApplication...
Definition: ILogic.idl:89
Symbolic access unsupported.
Definition: ILogic.idl:144
LogicCapabilityOperationValue
This enumeration defines the possible capability to execute an operation.
Definition: ILogic.idl:218
HRESULT SetCapabilityOfOperation([in] LogicCapabilityOperation operation, [in] LogicCapabilityOperationValue value)
This function enables or disables the capability of execution of operations LogicCapabilityOperation ...
HRESULT WriteVariableBySymbol([in] BSTR symbol, [in] VARIANT data)
The following function writes I/O data. The function is only able to write a single value at a time...
Symbolic access unsupported.
Definition: ILogic.idl:140
32 Bit, Time is given in seconds in DATE and DT beginning with January 1, 1970 at 12:00 A...
Definition: ILogic.idl:129
Definition of the ILogic interface which allows access to the PLC and logic component on the MLPI dev...
Definition: ILogic.idl:73
unsigned signed integer - 2 Byte (USHORT)
Definition: ILogic.idl:121
Read and write access rights to the variable.
Definition: ILogic.idl:103
32 Bit (ULONG)
Definition: ILogic.idl:114
ApplicationMemoryArea
This enumeration defines the memory areas &#39;Ix&#39; (Input), &#39;Qx&#39; (Output) and &#39;Mx&#39; (Marker) of an applica...
Definition: ILogic.idl:241
Symbolic access unsupported.
Definition: ILogic.idl:142
Symbolic access unsupported.
Definition: ILogic.idl:127
LogicSymbolAccessRights
This enumeration defines the access rights to a variable.
Definition: ILogic.idl:98
The application is in state STOP.
Definition: ILogic.idl:83
HRESULT GetInformationOfUserType([in] BSTR symbol, [out, retval] SAFEARRAY(struct LogicUserTypeInformation)*logicInfo)
This function reads names and information LogicUserTypeInformation of variables of a symbol if type o...
double integer - 4 Byte (LONG)
Definition: ILogic.idl:118
character strings (WCHAR16)
Definition: ILogic.idl:126
Symbolic access unsupported.
Definition: ILogic.idl:139
Reset application back to origin, delete the application, delete all application files (bootproject...
Definition: ILogic.idl:93
Reset cold of application, all global data and (!) retain data are reset to their default values...
Definition: ILogic.idl:92
32 Bit, Time is given in milliseconds in TIME and TOD, time in TOD begins at 12:00 A...
Definition: ILogic.idl:131
floating point IEC 559 - 8 Byte (DOUBLE)
Definition: ILogic.idl:125
Capability to execute the operation &#39;stop application&#39;.
Definition: ILogic.idl:230
16 Bit (USHORT)
Definition: ILogic.idl:113
&#39;Ix&#39; input memory area (Input) of an application.
Definition: ILogic.idl:243
This structure defines the information about a type of a symbol using GetInformationOfUserType.
Definition: ILogic.idl:209
ApplicationState
This enumeration defines the state of an application using IApplication::GetStateOfApplication.
Definition: ILogic.idl:79
1 Byte (BOOL8)
Definition: ILogic.idl:110
Write access rights to the variable.
Definition: ILogic.idl:102
Symbolic access unsupported.
Definition: ILogic.idl:145
HRESULT GetNumberOfApplications([out, retval] LONG *number)
This function returns the number of loaded applications on the device. This also includes stopped app...
The application is in state RUN.
Definition: ILogic.idl:82
Symbolic access unsupported.
Definition: ILogic.idl:150
This structure defines the information about a symbol.
Definition: ILogic.idl:187
Symbolic access unsupported.
Definition: ILogic.idl:141
HRESULT StopApplication(void)
This function stops all applications on the target.
This structure defines information about an application using IApplication::GetInfoOfApplication.
Definition: ILogic.idl:292
signed short integer - 1 Byte (BYTE)
Definition: ILogic.idl:116
Read access rights to the variable.
Definition: ILogic.idl:101
Reset warm of application, all global data except retain data are reset to their default values...
Definition: ILogic.idl:91
Invalid state of application.
Definition: ILogic.idl:81
1 Bit, symbolic access unsupported
Definition: ILogic.idl:111
Capability to execute the operation &#39;download application&#39;.
Definition: ILogic.idl:232
Symbolic access unsupported.
Definition: ILogic.idl:138
Definition of the IApplications interface which is a collection of IApplication objects.
&#39;Mx&#39; marker memory area (Marker) of an application.
Definition: ILogic.idl:245
signed integer - 2 Byte (SHORT)
Definition: ILogic.idl:117
Capability to execute the operation &#39;reset application&#39;.
Definition: ILogic.idl:231
Symbolic access unsupported.
Definition: ILogic.idl:137
Symbolic access unsupported.
Definition: ILogic.idl:149
long integer - 8 Byte (LLONG)
Definition: ILogic.idl:119
Symbolic access unsupported.
Definition: ILogic.idl:143
HRESULT ReadVariableBySymbolAsString([in] BSTR symbol, [out, retval] BSTR *data)
This method does the same as ReadVariableBySymbol, but ALWAYS returns the data to be read in string r...
16 Bit user type
Definition: ILogic.idl:135
The application is halted on breakpoint.
Definition: ILogic.idl:84
Capability to execute the operation &#39;write variable of application&#39;.
Definition: ILogic.idl:235
64 Bit (LLONG)
Definition: ILogic.idl:115
Enable capability to execute an operation (default).
Definition: ILogic.idl:220
IApplications Applications
This property returns a IApplications object which allows access to different IApplication objects...
This structure defines the information about an IEC task using IApplication::GetTaskInfoOfApplication...
Definition: ILogic.idl:267
HRESULT ResetApplication([in] ApplicationResetMode mode)
This function resets all applications on the target.
HRESULT GetInformationOfSymbol([in] BSTR symbol, [out, retval] struct LogicSymbolInformation *info)
This function reads the type, size and access rights to a symbol of application.
unsigned double integer - 4 Byte (ULONG)
Definition: ILogic.idl:122
HRESULT StartApplication(void)
This function starts all applications on the target.
HRESULT GetCapabilityOfOperation([in] LogicCapabilityOperation operation, [out, retval] LogicCapabilityOperationValue *value)
This function reads the current capability of execution of operations LogicCapabilityOperation.
Symbolic access unsupported.
Definition: ILogic.idl:132
unsigned long integer - 8 Byte (LLONG)
Definition: ILogic.idl:123
unsigned signed short integer - 1 Byte (USHORT)
Definition: ILogic.idl:120
HRESULT GetNameOfApplication([in] LONG index, [out, retval] BSTR *application)
This function returns the name of an application selected by index 0 until (number-1).
HRESULT LoadBootApplication([in] BSTR file, [in] BSTR path, [out, retval] BSTR *applicationName)
This function loads an application from the file system of the control. The application files can be ...
This structure defines the operation state of an application using IApplication::GetOperationStateOfA...
Definition: ILogic.idl:327
Symbolic access unsupported.
Definition: ILogic.idl:134
Symbolic access unsupported.
Definition: ILogic.idl:148
LogicType
This enumeration defines the different symbol types of the logic using GetInformationOfSymbol.
Definition: ILogic.idl:108
No access rights to the variable.
Definition: ILogic.idl:100
floating point IEC 559 - 4 Byte (FLOAT)
Definition: ILogic.idl:124
LogicCapabilityOperation
This enumeration defines an operation which can be enabled/disabled by using SetCapabilityOfOperation...
Definition: ILogic.idl:228
32 Bit, Time is given in seconds in DATE and DT beginning with January 1, 1970 at 12:00 A...
Definition: ILogic.idl:130
Disable capability to execute an operation.
Definition: ILogic.idl:221
&#39;Qx&#39; output memory area (Output) of an application.
Definition: ILogic.idl:244