You are on page 1of 81

Guide

L'utilisation de l'API COM

Utilisation de lAPI COM

TABLE DES MATIERES


1 2
2.1 2.2 2.3 2.4

Introduction Gnralits
Structure de linterface Cration de la communication Gestion des erreurs
2.3.1 2.3.2 Utilisation des attributs LastError et LastErrorCode Interface IErrorInfo

4 5
5 5 8
8 10

Gestion des collections

11

3
3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17 3.18 3.19 3.20 3.21 3.22 3.23 3.24 3.25 3.26 3.27 3.28 3.29 3.30 3.31

Fonctions disponibles
CBCOMServer CBCOMUser CBCOMProject CBCOMOrganicDevice CBCOMSection CBCOMApplicationLibrary CBCOMApplication CBCOMLibrary CBCOMConfiguration CBCOMOrganicConfiguration CBCOMEmbeddedConfiguration CBCOMTarget CBCOMAbstractOrgan CBCOMVirtualOrgan CBCOMOrgan CBCOMTask CBCOMFunctionalTask CBCOMOrganicTask CBCOMEmbeddedTask CBCOMComponent CBCOMInstance CBCOMVariable CBCOMInstanciatedVariable CBCOMExternalProperty CBCOMView CBCOMConsole CBCOMMimic CBCOMMan CBCOMScenario CBCOMInstanciatedScenario CBCOMProduct

18
18 20 21 26 28 29 29 32 34 34 36 38 42 42 43 45 45 49 51 55 59 63 65 68 69 69 70 70 71 72 72

4
4.1 4.2

Exemples
Exemple 1 Exemple 2

74
74 75

Annexe : liste des erreurs possibles

77

ControlBuild Guide

2 / 81

Utilisation de lAPI COM

ControlBuild Guide

3 / 81

Utilisation de lAPI COM

IIntroduction nt r o d uc t i o n

ControlBuild possde une interface de communication via la couche COM, permettant ainsi dtre pilot partir dun outil externe. Le but de ce document est de prciser la mise en uvre dune communication grce cette interface et de dcrire les diffrentes fonctions que celle-ci possde. Ce document se compose de trois chapitres. Le premier chapitre prsente quelques gnralits concernant lAPI COM de ControlBuild. Puis, les diffrentes fonctions disponibles partir du point dentre sont prsentes une une. Un exemple en VisualBasic ainsi quen C/C++ est fourni lorsque cela est ncessaire. Enfin, le dernier chapitre prsente deux exemples complets crits en VisualBasic. Attention : Ce document est relatif aux versions 4.20 ou suprieures de ControlBuild. Les exemples C/C++ ne sont pas forcement ralis avec la dernire version du serveur, lors de mise jour de celui-ci, il ne faut pas oublier de modifier la version du fichier "controlbuildXXX.tlb" import ainsi que le CLSID ad hoc.

ControlBuild Guide

4 / 81

Utilisation de lAPI COM

2
2.1 Structure de linterface

Gnralits Gnralits

Linterface COM de ControlBuild est base sur une mthodologie objet. Le diagramme de classes suivant prsente lensemble des classes qui constituent cette interface

2.2

Cration de la communication
Afin de mettre en uvre une communication partir dun outil externe vers ControlBuild, il est ncessaire dinitier cette communication. Cela est ralis par la cration dun serveur (objet de la classe CBCOMServer). Cependant, avant mme de penser crer le serveur permettant de communiquer, il faut auparavant que ledit serveur soit enregistr dans la base de registres. Cette opration est ralise automatiquement lors de linstallation. Cependant, il est possible de le faire manuellement dans une fentre DOS partir de la commande suivante : ControlBuild r Pour supprimer lenregistrement du serveur, il faut utiliser la commande :

ControlBuild Guide

5 / 81

Utilisation de lAPI COM

ControlBuild -u Dans le cas dun client C++, lenregistrement du serveur dans la base de registres est suffisant. La cration du serveur se fait partir de lidentifiant unique de celui-ci. Dans le cas dun client VisualBasic, il faut ajouter une rfrence au projet, cest--dire ajouter le serveur dans lexplorateur dobjets. Pour cela, il faut procder de la manire suivante : Ouvrir le projet (ou crer un nouveau projet). Dans le menu Project, slectionner "References". Une nouvelle boite de dialogue apparat. Cliquer sur "Browse". Un explorateur de fichiers souvre. Slectionner le fichier controlbuild.tlb normalement situ dans le rpertoire C:\ControlBuild\tooldir\tool.c\bin\msw32 et cliquer sur OK dans lexplorateur de fichiers. La bote de dialogue prsente le CBCOMServer comme une rfrence disponible (cf. figure suivante) : le serveur est maintenant enregistr. Cliquer sur OK pour fermer la boite de dialogue.

Boite de dialogue des rfrences du projet VisualBasic

Il ne reste plus dsormais qu crer le serveur pour amorcer la communication. En VisualBasic, il faut demander la cration dun objet CBCOMServer ; en C++, cela se fait par la cration dune instance de la classe CBCOMServer partir lID de cette classe. Depuis la version 4.20 de ControlBuild, six serveurs sont disponibles, correspondant aux diffrentes versions de ControlBuild. Version 1.0 : il sagit du serveur correspondant la version 3.10 et infrieures de ControlBuild. Celui-ci est dfini dans le fichier controlbuild310.tlb et pour identifiant unique : 00466F81-AB91-4627-B5C8-5A15F1A6983E. Version 3.14 : il sagit du serveur correspondant la version 3.20 de ControlBuild. Celui-ci est dfini dans le fichier controlbuild320.tlb et pour identifiant unique : 03E7E380-D4DE11D8-A53E-0050BA0D127C.

ControlBuild Guide

6 / 81

Utilisation de lAPI COM

Version 3.1e : il sagit du serveur correspondant la version 3.30 de ControlBuild. Celui-ci est dfini dans le fichier controlbuild.tlb et pour identifiant unique : 5C2A1942-78D340E6-A7AF-D378A3BBEE52. Version 4.00 : il sagit du serveur correspondant la version 4.00 de ControlBuild. Celui-ci est dfini dans le fichier controlbuild400.tlb et pour identifiant unique : 155F0D9B-26CD493A-BA68-DB5686FFCE34. Version 4.01 : il sagit du serveur correspondant la version 4.01 de ControlBuild. Celui-ci est dfini dans le fichier controlbuild401.tlb et pour identifiant unique : 12088DBB-B3414855-B9F7-AEDD1B222DC6. Version 4.14 : il sagit du serveur correspondant la version 4.01 de ControlBuild. Celui-ci est dfini dans le fichier controlbuild420.tlb et pour identifiant unique : 8EE459EC-AB614D77-9C9F-A3DB0448F3CD. La disponibilit des fonctions est donne lors de la dfinition de celles-ci, en explicitant la version du serveur partir de laquelle la fonction en question est disponible. Exemple de cration du serveur en VisualBasic : On Error GoTo quit Dclaration dun objet de type serveur Dim server As CBCOMServer.CBCOMServer Ouverture du serveur Set server = CreateObject("CBCOMServer") MsgBox "Serveur initialis" Libration du serveur Set server = Nothing End quit : MsgBox "Serveur introuvable" Exemple de cration du serveur en C/C++ : #include <stdio.h> // Import du fichier TLB #import "C:\ControlBuild\tooldir\tool.c\bin\msw32\controlbuild.tlb" int main(int argc, char* argv[]) { HRESULT hr; CBCOMServer::ICBCOMServer *pCBCOMServer = NULL; // ID du serveur static const CLSID CLSID_CBCOMServer = {0x5c2a1952, 0x78d3, 0x40e6, { 0xa7, 0xaf, 0xd3, 0x78, 0xa3, 0xbb, 0xee, 0x52 } }; CoInitialize(NULL); // Ouverture du serveur hr = CoCreateInstance(CLSID_CBCOMServer,NULL, CLSCTX_LOCAL_SERVER, __uuidof(CBCOMServer::ICBCOMServer), (void**)&pCBCOMServer);

ControlBuild Guide

7 / 81

Utilisation de lAPI COM

// Test sur la russite de lopration if (FAILED(hr)) { printf("Serveur introuvable"); goto quit; } printf("Serveur initialis"); quit: // Libration du serveur if (pCBCOMServer) pCBCOMServer->Release(); CoUninitialize(); return 1; }

2.3

Gestion des erreurs


Dans le paragraphe prcdent, une gestion derreur basique est mise en place pour vrifier que la cration du serveur sest droule sans problme. Il est possible, notamment en C/C++, de mettre en place une gestion derreur plus avance.

2.3.1

Utilisation des attributs LastError et LastErrorCode


Lorsquune erreur survient, un code derreur spcifique ainsi quun texte documentant lerreur sont disponibles. Pour y avoir accs, il faut interroger les attributs LastErrorCode et LastError. Lattribut LastError est disponible sur tous les objets retourns par lAPI COM, cependant pour mettre en place une gestion derreur globale, il est prfrable dinterroger le serveur. LastErrorCode et LastError sont r-initialiss chaque appel de mthode (le code est mis 0, et le texte est une chane de caractres vide). Lorsquune mthode renvoyant un objet (i.e. un VARIANT) choue, celle-ci renvoie une erreur proprement dite (il sagit dun VARIANT, avec vt = VT_ERROR et scode = 4097). Lorsquil sagit dune mthode renvoyant un entier correspondant un code succs/chec, le code de succs est gal 0 et le code dchec est gal 4097. Dans ce dernier cas, le retour ne sera pas prcis dans la dfinition de ces mthodes. Lexemple suivant permet dobtenir le nom de lutilisateur courant de ControlBuild, la condition que la gestion des utilisateurs soit utilise ; une erreur survient sinon. Exemple en VisualBasic : Function DisplayError(msg) Affiche le texte de lerreur obtenue If msg = "" Then MsgBox "Erreur interne", vbCritical, "Error handler:" Else MsgBox msg, vbCritical, "Error handler:" End If End Function

ControlBuild Guide

8 / 81

Utilisation de lAPI COM

Private Sub currentUser_Click() On Error GoTo handleError Dim server As CBCOMServer.CBCOMServer Dim user As CBCOMServer.CBCOMUser Set server = CreateObject("CBCOMServer") Set user = server.CurrentUser MsgBox user.Name Set server = Nothing Set user = Nothing Exit Sub handleError: DisplayError (server.LastError) End Sub Exemple en C/C++ : #include <stdio.h> #import "C:\ControlBuild\tooldir\tool.c\bin\msw32\ControlBuild.tlb" // Affiche le texte de l'erreur obtenue void displayError(BSTR msg) { if (msg == NULL) printf("Erreur interne\n"); else printf("%ls\n",msg); } // Programme principal int main(int argc, char *argv[]) { HRESULT hr; CBCOMServer::ICBCOMServer *pCBCOMServer = NULL; CBCOMServer::ICBCOMUser *pUser = NULL; _variant_t user; static const CLSID CLSID_CBCOMServer = {0x5c2a1952, 0x78d3, 0x40e6, { 0xa7, 0xaf, 0xd3, 0x78, 0xa3, 0xbb, 0xee, 0x52 } }; CoInitialize(NULL); // Cration du serveur hr = CoCreateInstance(CLSID_CBCOMServer,NULL, CLSCTX_LOCAL_SERVER, __uuidof(CBCOMServer::ICBCOMServer), (void**)&pCBCOMServer); if (FAILED(hr)) { printf("Serveur introuvable"); goto quit; }

ControlBuild Guide

9 / 81

Utilisation de lAPI COM

// Rcupration de l'utilisateur courant user = pCBCOMServer->CurrentUser(); if (user.vt == VT_ERROR) { BSTR error = NULL; // Rcupration de l'erreur error = pCBCOMServer->GetLastError(); displayError(error); } quit: if (&user) VariantClear(&user); if (pCBCOMServer) pCBCOMServer->Release(); CoUninitialize(); return 1; }

2.3.2

Interface IErrorInfo
Linterface COM de ControlBuild implmente la gestion des erreurs via linterface IErrorInfo. Seuls deux champs sont renseigns, savoir : Description (correspond LastError) et HelpContext (correspond LastErrorCode). Exemple en C/C++ : #include <stdio.h> #include <oledb.h> #import "c:\ControlBuild\tooldir\tool.c\bin\msw32\ControlBuild.tlb" // Affiche le code d'erreur et le texte associ void printError(IUnknown * pMyObject) { HRESULT hr; ISupportErrorInfo *pSupportErrorInfo; IErrorInfo *pErrorInfo; DWORD dwCode; BSTR bstrDescriptionOfError; GUID IID_IMyInterface; // Rcupration de l'interface hr = pMyObject->QueryInterface(IID_ISupportErrorInfo, (void**) &pSupportErrorInfo); if (SUCCEEDED(hr)) { hr = pSupportErrorInfo->InterfaceSupportsErrorInfo (IID_IMyInterface); if (hr == S_OK) { GetErrorInfo(0,&pErrorInfo); if (!pErrorInfo) return; // Rcupration du texte de l'erreur pErrorInfo->GetDescription(&bstrDescriptionOfError); // Rcupration du code de l'erreur

ControlBuild Guide

10 / 81

Utilisation de lAPI COM

pErrorInfo->GetHelpContext(&dwCode); // Affichage de l'erreur printf( "%d -> %ls", dwCode, bstrDescriptionOfError); SysFreeString(bstrDescriptionOfError); pErrorInfo->Release(); } } } // Programme principal int main(int argc, char *argv[]) { HRESULT hr; CBCOMServer::ICBCOMServer *pCBCOMServer = NULL; CBCOMServer::ICBCOMUser *pUser = NULL; _variant_t user; static const CLSID CLSID_CBCOMServer = {0x5c2a1952, 0x78d3, 0x40e6, { 0xa7, 0xaf, 0xd3, 0x78, 0xa3, 0xbb, 0xee, 0x52 } }; CoInitialize(NULL); // Cration du serveur hr = CoCreateInstance(CLSID_CBCOMServer,NULL, CLSCTX_LOCAL_SERVER, __uuidof(CBCOMServer::ICBCOMServer), (void**)&pCBCOMServer); if (FAILED(hr)) { printf("Serveur introuvable"); goto quit; } // Rcupration de l'utilisateur courant user = pCBCOMServer->CurrentUser(); if (user.vt == VT_ERROR) { printError(pCBCOMServer); } quit: if (&user) VariantClear(&user); if (pCBCOMServer) pCBCOMServer->Release(); CoUninitialize(); return 1; }

2.4

Gestion des collections


Une classe supplmentaire existe, correspondant une collection dobjets. Celle-ci a pour nom COMCollection et publie les fonctions suivantes :

ControlBuild Guide

11 / 81

Utilisation de lAPI COM

Count()

Disponibilit : depuis la version 1.0 du serveur. Retour : un entier correspondant au nombre dobjets contenus dans la collection.

First()

Disponibilit : depuis la version 1.0 du serveur. Retour : le premier objet de la collection. Cas derreurs : la collection est vide (code 77).

Last()

Disponibilit : depuis la version 1.0 du serveur. Retour : le dernier objet de la collection. Cas derreurs : la collection est vide (code 77).

Item(index)

Disponibilit : depuis la version 1.0 du serveur. Paramtres : index est un entier. Retour : lobjet situ la position index dans la collection. Cas derreurs : index est en dehors des bornes de la collection (code 78).

LastError()

Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant la dernire erreur rencontre.

GetDataArray(functionName)

Disponibilit : depuis la version 3.14 du serveur. Action : interroge la valeur de la fonction ou de lattribut functionName sur tous les objets de la collection. Paramtres : functionName est une chane de caractres reprsentant le nom dun attribut ou dune mthode. Retour : un SAFEARRAY deux dimensions, la premire contenant les IDs des objets, la deuxime contenant la valeur de retour de la fonction functionName sur les objets. Si lappel functionName sur un objet de la collection a gnr une erreur, la dfinition de cet objet ne sera pas contenue dans le tableau retourn. Cas derreurs : functionName ne correspond aucune fonction/aucun attribut connu, ou il sagit dune fonction/dun attribut ne renvoyant pas un type simple mais un objet (code 100).

Exemple dutilisation de la mthode GetDataArray en VisualBasic : On Error GoTo quit Dim i, rep As Byte Dim server As CBCOMServer.CBCOMServer Dim project As CBCOMServer.CBCOMProject Dim applications As CBCOMServer.COMCollection Dim dataArray As Variant ' Cration du serveur Set server = CreateObject("CBCOMServer") ' Ouverture du projet

ControlBuild Guide

12 / 81

Utilisation de lAPI COM

Set project = server.OpenProject("examples_FR.cbp", "C:\ControlBuild\tooldir\examples\examples_FR") ' Rcupration des applications du projet Set applications = project.applications ' Mthode GetDataArray sur la collection des applications dataArray = applications.GetDataArray("Name") ' Affichage les donnes de dataArray For i = LBound(dataArray, 2) To UBound(dataArray, 2) rep = MsgBox("Application ID " & i & " / " & _ UBound(dataArray, 2) & Chr(13) & _ dataArray (LBound(dataArray, 1), i) & Chr(13) & _ "Application name " & Chr(13) & _ dataArray (UBound(dataArray, 1), i), _ vbInformation + vbOKCancel, "Application names:") If rep = vbCancel Then Exit For Next Set Set Set Set End server = Nothing project = Nothing applications = Nothing dataArray = Nothing

quit: MsgBox "Erreur" Exemple dutilisation de la mthode GetDataArray en C/C++ : #include <stdio.h> #import "C:\ControlBuild\tooldir\tool.c\bin\msw32\ControlBuild.tlb" int main(int argc, char *argv[]) { HRESULT hr; CBCOMServer::ICBCOMServer *pCBCOMServer = NULL; CBCOMServer::ICBCOMProject *pCBCOMProject = NULL; CBCOMServer::ICOMCollection *pApplications = NULL; BSTR name, path; _variant_t project, applications; _variant_t vDataArray; static const CLSID CLSID_CBCOMServer = {0x5c2a1952, 0x78d3, 0x40e6, { 0xa7, 0xaf, 0xd3, 0x78, 0xa3, 0xbb, 0xee, 0x52 } }; CoInitialize(NULL); // Cration du serveur hr = CoCreateInstance(CLSID_CBCOMServer,NULL, CLSCTX_LOCAL_SERVER, __uuidof(CBCOMServer::ICBCOMServer), (void**)&pCBCOMServer);

ControlBuild Guide

13 / 81

Utilisation de lAPI COM

if (FAILED(hr)) { printf("Serveur introuvable"); goto quit; } // Ouverture du projet name = SysAllocString(L"examples_FR.cbp"); path = SysAllocString(L"C:\\ControlBuild\\tooldir\\examples\\examples_FR"); project = pCBCOMServer->OpenProject(name,path); if (project.vt == VT_ERROR) { printf("Erreur lors de l'ouverture du projet"); goto quit; } pCBCOMProject = (ICBCOMProject *)(project.pdispVal); // Rcupration des applications applications = pCBCOMProject->Applications(); if (applications.vt == VT_ERROR) { printf("Erreur lors de la rcupration des applications"); goto quit; } pApplications = (CBCOMServer::ICOMCollection *)(applications.pdispVal); // Mthode GetDataArray sur la collection des applications vDataArray = pApplications->GetDataArray("Name"); if((vDataArray.vt & VT_ARRAY) == VT_ARRAY) { HRESULT hr; LONG indices[2]; LONG xLBound, xUBound; LONG yLBound, yUBound; int enumX, enumY; VARIANT value; hr hr hr hr = = = = SafeArrayGetLBound(vDataArray.parray,1,&yLBound); SafeArrayGetUBound(vDataArray.parray,1,&yUBound); SafeArrayGetLBound(vDataArray.parray,2,&xLBound); SafeArrayGetUBound(vDataArray.parray,2,&xUBound);

// Affichage des donnes de vDataArray for (enumX = xLBound ; enumX <= xUBound; enumX++) { indices[1] = enumX; for (enumY = yLBound; enumY <= yUBound; enumY++) { indices[0] = enumY; SafeArrayGetElement(vDataArray.parray, indices, &value); BSTR display = value.bstrVal; printf("%ls\n", display); SysFreeString(display); } }

ControlBuild Guide

14 / 81

Utilisation de lAPI COM

VariantClear(&value); } quit: SysFreeString(name); SysFreeString(path); if (&project) VariantClear(&project); if (&applications) VariantClear(&applications); if (&vDataArray) VariantClear(&vDataArray); if (pCBCOMServer) pCBCOMServer->Release(); CoUninitialize(); return 1; } La classe COMCollection implmente linterface IEnumVARIANT, permettant ainsi de rcuprer tous les objets de la collection en une seule fois. En VisualBasic, cela permet dutiliser linstruction "For Each ... In ..." : On Error GoTo quit Dim server As CBCOMServer.CBCOMServer Dim users As CBCOMServer.COMCollection Dim user As CBCOMServer.CBCOMUser Set server = CreateObject("CBCOMServer") Rcupration des utiisateurs dfinis pour ControlBuild Set users = server.Users Affichage des noms dutilisateurs For Each user In users MsgBox user.Name Next Set server = Nothing Set users = Nothing End quit : MsgBox "Erreur" En C/C++, cela permet dutiliser la mthode "Next()" : #include <stdio.h> #include <ole2.h> #import "C:\ControlBuild\tooldir\tool.c\bin\msw32\ControlBuild.tlb" int main(int argc, char *argv[]) { HRESULT hr; CBCOMServer::ICBCOMServer *pCBCOMServer = NULL; CBCOMServer::ICOMCollection *pUsers = NULL; IEnumVARIANT *pEnumVariant;

ControlBuild Guide

15 / 81

Utilisation de lAPI COM

IUnknownPtr pUnk; _variant_t users; static const CLSID CLSID_CBCOMServer = {0x5c2a1952, 0x78d3, 0x40e6, { 0xa7, 0xaf, 0xd3, 0x78, 0xa3, 0xbb, 0xee, 0x52 } }; CoInitialize(NULL); // Cration du serveur hr = CoCreateInstance(CLSID_CBCOMServer,NULL, CLSCTX_LOCAL_SERVER, __uuidof(CBCOMServer::ICBCOMServer), (void**)&pCBCOMServer); if (FAILED(hr)) { printf("Serveur introuvable"); goto quit; } // Rcupration des utilisateurs users = pCBCOMServer->Users(); if (users.vt == VT_ERROR) { printf("Erreur lors de la rcupration des utilisateurs\n"); goto quit; } pUsers = (CBCOMServer::ICOMCollection *)(users.pdispVal); // Rcupration dun numrateur pUnk = pUsers->_NewEnum(); // Utilisation de l'interface hr = pUnk->QueryInterface(IID_IEnumVARIANT, (void**) &pEnumVariant); if (SUCCEEDED(hr)) { while (true) { VARIANT var; ICBCOMUser *user; ULONG usrCount = 0; BSTR name = NULL; hr = pEnumVariant->Next(1, &var, &usrCount); if (usrCount == 0) break; user = (CBCOMServer::ICBCOMUser *)(var.pdispVal); if (SUCCEEDED(hr)) { name = user->GetName(); printf("User : %ls\n", name); } } } quit: if (&users) VariantClear(&users);

ControlBuild Guide

16 / 81

Utilisation de lAPI COM

if (pCBCOMServer) pCBCOMServer->Release(); CoUninitialize(); return 1; }

ControlBuild Guide

17 / 81

Utilisation de lAPI COM

Fonctions disponibles Fonctions disponibles

Ce chapitre prsente les fonctions disponibles en fonction de chaque classe dfinie dans linterface de ControlBuild, et ce de manire descendante, cest--dire en partant du point dentre. Les quelques exemples donns dans ce chapitre sont uniquement crits en VisualBasic, de manire expliciter les paramtres fournir.

3.1

CBCOMServer
Il sagit donc du point dentre. Celui-ci permet dobtenir des informations relatives la session courante de ControlBuild, ainsi que dinteragir au niveau des projets (cration et ouverture). Cette classe possde les attributs suivants : LastErrorCode Disponibilit : depuis la version 3.14 du serveur. Retour : un entier correspondant au code de la dernire erreur rencontre. Lorsquil existe un cas derreur possible pendant lexcution dune mthode, le code correspondant est donn dans la section "Cas derreurs" de cette mthode. LastError Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant la dernire erreur rencontre. Le texte renvoy correspond au texte associ au numro derreur LastErrorCode et dfini en annexe. About Disponibilit : depuis la version 3.14 du serveur. Retour : une chane de caractres correspondant aux informations prsentes dans la boite de dialogue "A propos de ControlBuild", donnant entre autres, la version du produit et les ventuels patchs installs. et publie les fonctions suivantes : OpenProject(Name, Path) Disponibilit : depuis la version 1.0 du serveur. Action : ouvre le projet de nom Name localis dans le rpertoire Path. Paramtres : Name et Path sont des chanes de caractres. Name correspond au nom du fichier projet (*.cbp) et Path dfinit le chemin o se trouve ce fichier, au format UNC (chemin absolu) ou DOS (en relatif ou en absolu). Retour : un CBCOMProject correspondant au projet ouvert.

ControlBuild Guide

18 / 81

Utilisation de lAPI COM

Cas derreurs : - un projet est dj ouvert (code 1), - les paramtres fournis sont invalides (code 2), - ou le projet na pas pu tre ouvert (code 3). Exemple en VisualBasic : name = "examples_FR.cbp" path = "C:\ControlBuild\tooldir\examples_FR" Set project = server.OpenProject(name, path) OpenProjectOfID(ID, Path) Disponibilit : depuis la version 1.0 du serveur. Action : ouvre le projet didentifiant ID localis dans le rpertoire Path. Paramtres : ID et Path sont des chanes de caractres. ID correspond lidentifiant unique du projet et Path dfinit le rpertoire racine dans lequel le projet se situe, au format UNC (chemin absolu) ou DOS (en relatif ou en absolu). Retour : un CBCOMProject correspondant au projet ouvert. Cas derreurs : - le projet est dj ouvert (code 1), - les paramtres fournis sont invalides (code 2), - ou le projet na pas pu tre ouvert (code 62). Exemple en VisualBasic : id = "09845430-5abc-435c-a936cccde2d6ffbd" path = "C:\ControlBuild\tooldir\examples_FR" Set project = server.OpenProjectOfID(id, path) Users() Disponibilit : depuis la version 3.14 du serveur. Retour : une collection de CBCOMUser correspondant aux utilisateurs dfinis pour la session courante de ControlBuild (fichiers users.ini et users.pwd). CurrentUser() Disponibilit : depuis la version 3.14 du serveur. Retour : un CBCOMUser correspondant lutilisateur actuellement identifi pour la session courante de ControlBuild. Cas derreurs : la gestion des utilisateurs nest pas utilise, autrement dit, il ny a pas dutilisateur identifi (code 99). UserOfName(Name) Disponibilit : depuis la version 3.14 du serveur. Paramtres : Name est une chane de caractres. Retour : un CBCOMUser correspondant lutilisateur ayant pour nom Name. Cas derreurs : - lutilisateur de nom Name est inconnu (code 97), - ou la gestion des utilisateurs nest pas utilise

ControlBuild Guide

19 / 81

Utilisation de lAPI COM

CreateProject(Name, Path)

(code 99). Disponibilit : depuis la version 3.14 du serveur. Action : cre le projet de nom Name dans le rpertoire Path, ou ouvre le projet correspondant si celui-ci existe dj. Paramtres : Name et Path sont des chanes de caractres. Name correspond au nom du projet que lutilisateur souhaite crer et Path est le chemin du rpertoire o sera cr le projet, au format UNC (chemin absolu) ou DOS (en relatif ou en absolu). Retour : un CBCOMProject correspondant au projet cr, ou au projet ouvert. Cas derreurs : la cration du projet a chou (code 84). Exemple en VisualBasic : name = "test" path = "C:\ControlBuild\tooldir" Set project = server.CreateProject(name, path)

LogIn(UserName, Password)

Disponibilit : depuis la version 3.14 du serveur. Action : change lutilisateur courant. Pour cela, tous les diteurs ouverts sont ferms dans un premier temps. Paramtres : UserName et Password sont des chanes de caractres. UserName correspond au nom du nouvel utilisateur et Password correspond au mot de passe de celui-ci. Cas derreurs : - lidentification est refuse (code 103), - ou tous les diteurs nont pas pu tre ferms (code 104). Disponibilit : depuis la version 4.01 du serveur. Retour : un CBCOMProject correspondant au projet en cours pour la session courante de ControlBuild. Cas derreurs : Il nexiste pas de projet en cours (code 133)

CurrentProject()

3.2

CBCOMUser
Cette classe correspond aux utilisateurs dfinis pour la session courante de ControlBuild. Il sagit des utilisateurs dfinis au niveau des fichiers users.ini et users.pwd positionns dans le rpertoire contenant lexcutable de ControlBuild. Cette classe nest disponible que depuis la version 3.14 du serveur COM de ControlBuild. Cette classe possde les attributs suivants : Name Disponibilit : depuis la version 3.14 du serveur. Retour : une chane lutilisateur courant. AccessRights correspondant au nom de

Disponibilit : depuis la version 3.14 du serveur.

ControlBuild Guide

20 / 81

Utilisation de lAPI COM

Retour : une chane correspondant aux droits daccs dfinis pour lutilisateur courant. Cette chane est une succession de lignes de la forme : Editeur -> Droit o Editeur est le nom symbolique de lditeur et Droit est une des chanes : "None" (aucun droit), "Read" (droit en lecture seule), "Owner" (tous les droits condition que lutilisateur soit le propritaire du fichier), ou "All" (tous les droits). Administrator Disponibilit : depuis la version 3.14 du serveur. Retour : un boolen renseignant sur dadministration de lutilisateur courant. LastError les droits

Disponibilit : depuis la version 3.14 du serveur. Retour : une chane de caractres correspondant la dernire erreur rencontre.

et publie les fonctions suivantes : ChangePassword(OldPassword, Disponibilit : depuis la version 4.01 du serveur. NewPassword) Action : modifie le mot de passe pour lutilisateur. Paramtres : OldPassword et NewPassword sont des chanes de caractres. OldPassword correspond au mot de passe courant de lutilisateur, NewPassword correspond au nouveau mot de passe de lutilisateur. Cas derreurs : le mot de passe OldPassword est erron (code 103). ModifyEditorRight(Editor, Right) Disponibilit : depuis la version 4.01 du serveur Action : modifie le droit de lditeur Editor pour lutilisateur. Paramtres : Editor et Right sont des chanes de caractres. Editor correspond au nom dun diteur, Right correspond un droit : {NONE, READ, OWNER, ALL}. Cas derreurs : - lutilisateur identifi nest pas administrateur (code 139), - lditeur Editor nest pas un nom valide (code 140). - Le droit Right nest pas un droit valide (code 141)

3.3

CBCOMProject
Cette classe correspond un projet ControlBuild. Cela permet de rcuprer les applications contenues dans le projet, ainsi que les cibles et les organes dfinis. Cette classe possde les attributs suivants : ID Disponibilit : depuis la version 1.0 du serveur. Retour : une chane correspondant lidentifiant du projet.

ControlBuild Guide

21 / 81

Utilisation de lAPI COM

Name CBPath

Disponibilit : depuis la version 1.0 du serveur. Retour : une chane correspondant au nom du projet. Disponibilit : depuis la version 3.14 du serveur. Retour : une chane correspondant la localisation du projet au format UNC.

LastError

Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant la dernire erreur rencontre.

Et publie les fonctions suivantes : Path() Disponibilit : depuis la version 1.0 du serveur. Retour : la valeur de lattribut CBPath. Remarque : cette fonction a pour but de conserver une compatibilit ascendante entre ControlBuild 3.11 et ControlBuild 3.20. Applications() Disponibilit : depuis la version 1.0 du serveur. Retour : une collection de CBCOMApplication, correspondant aux applications contenues dans le projet. OpenApplication(Name) Disponibilit : depuis la version 1.0 du serveur. Paramtres : Name est une chane de caractres. Retour : une CBCOMApplication correspondant lapplication de nom Name prsente dans le projet.

Cas derreurs : lapplication na pas t trouve (code 5). OpenApplicationOfID(ID) Disponibilit : depuis la version 1.0 du serveur. Paramtres : ID est une chane de caractres. Retour : une CBCOMApplication correspondant lapplication didentifiant ID prsente dans le projet.

Cas derreurs : lapplication na pas t trouve (code 6). OrganicDevices() Disponibilit : depuis la version 1.0 du serveur. Retour : une collection de CBCOMOrganicDevice, correspondant la liste des organes dfinis au niveau du projet. OrganicDeviceOfName(Name) Disponibilit : depuis la version 1.0 du serveur. Paramtres : Name est une chane de caractres. Retour : un CBCOMOrganicDevice correspondant lorgane de nom Name dfini dans le projet. Cas derreurs : lorgane na pas t trouv (code 7). Targets() Disponibilit : depuis la version 1.0 du serveur. Retour : une collection de CBCOMTarget, correspondant la liste des cibles dfinies au niveau du projet. Close() Disponibilit : depuis la version 1.0 du serveur.

ControlBuild Guide

22 / 81

Utilisation de lAPI COM

Action : ferme le projet courant. Retour : le projet na pas pu tre ferm (code 4). CreateOrganicDevice(OrganNam Disponibilit : depuis la version 3.14 du serveur. e, TaskName, CycleTime) Action : cre un OrganicDevice dans le projet courant avec les paramtres donns. Paramtres : OrganName et TaskName sont des chanes de caractres ; CycleTime est un entier. OrganName correspond au nom de lorgane, TaskName correspond au nom de la tche et CycleTime correspond au temps de cycle de lOrganicDevice crer. Retour : un CBCOMOrganicDevice correspondant lOrganicDevice cr. Cas derreurs : lOrganicDevice na pas pu tre cr (code 85). Exemple en VisualBasic : organName = organ taskName = task Set od = project.CreateOrganicDevice(organName, taskName, 50) CreateTarget(Name, OS, Disponibilit : depuis la version 3.14 du serveur. IPAddress, Hostname, Port) Action : cre une cible dans le projet courant avec les paramtres donns. Paramtres : Name, OS, IPAddress et Hostname sont des chanes de caractres ; Port est un entier. Name correspond au nom de la cible, OS correspond au nom du systme dexploitation prsent sur la cible, IPAddress correspond ladresse IP, Hostname correspond au nom de lhte et Port correspond au numro du port TCP dcoute du serveur. Retour : un CBCOMTarget correspondant la cible cre. Cas derreurs : la cible na pas pu tre cre (code 90). Exemple en VisualBasic : name = target os = nt ip = 127.0.0.1 hostname = Set target = project.CreateTarget(name, os, ip, hostname, 1024) TargetOfName(Name) Disponibilit : depuis la version 3.14 du serveur. Paramtres : Name est une chane de caractres. Retour : un CBCOMTarget correspondant la cible de nom Name dfinie dans le projet. Cas derreurs : la cible na pas pu tre trouve (code 18). TargetOfID(ID) Disponibilit : depuis la version 3.14 du serveur.

ControlBuild Guide

23 / 81

Utilisation de lAPI COM

Paramtres : ID est une chane de caractres. Retour : un CBCOMTarget correspondant la cible dfinie dans le projet ayant pour identifiant ID. Cas derreurs : la cible na pas pu tre trouve (code 17). DocumentationModels() Disponibilit : depuis la version 3.14 du serveur. Retour : une collection de noms correspondant aux modles de document dfinis pour le projet courant. DocumentationTemplates() Disponibilit : depuis la version 3.14 du serveur. Retour : une collection de noms correspondant aux styles de prsentation dfinis pour le projet courant. SaveAs(Name, ProjectPath) Disponibilit : depuis la version 4.01 du serveur. Action : enregistre le projet en cours sous le nom Name dans le rpertoire ProjectPath. Paramtres : Name et ProjectPath sont des chanes de caractres. Retour : un CBCOMProject correspondant au projet nouvellement copi. Cas derreurs : le rpertoire de destination nest pas accessible en criture, le nom du projet nest pas un nom valide (code 111). Libraries() Disponibilit : depuis la version 4.01 du serveur. Retour : une collection de CBCOMLibrary, correspondant aux bibliothques contenues dans le projet. OpenLibrary(Name) Disponibilit : depuis la version 4.01 du serveur. Paramtres : Name est une chane de caractres. Retour : une CBCOMLibrary correspondant bibliothque de nom Name prsente dans le projet. la

Cas derreurs : la bibliothque na pas t trouve (code 121). OpenLibraryOfID(Identifier) Disponibilit : depuis la version 4.01 du serveur. Paramtres : Identifier est une chane de caractres. Retour : une CBCOMLibrary correspondant la bibliothque didentifiant Identifier prsente dans le projet. Cas derreurs : la bibliothque na pas t trouve (code 122). CreateApplicationGroup(Name, Parent) Disponibilit : depuis la version 4.01 du serveur. Action : cre un groupe dapplications de nom Name dans le groupe dapplications Parent si il est dfini, le groupe dapplications Parent est aussi cr si il nexiste pas. Paramtres : Name et Parent sont des chanes de caractres.

ControlBuild Guide

24 / 81

Utilisation de lAPI COM

Cas derreurs : le groupe dapplications Name existe dj (code 108). CreateSpecificLibraryGroup(Na me, Parent) Disponibilit : depuis la version 4.01 du serveur. Action : cre un groupe de bibliothques spcifiques de nom Name dans le groupe de bibliothques spcifiques Parent si il est dfini, le groupe de bibliothques spcifiques Parent est aussi cr si il nexiste pas. Paramtres : Name et Parent sont des chanes de caractres. Cas derreurs : le groupe de bibliothques spcifiques Name existe dj (code 108). CreateStandardLibraryGroup(Na Disponibilit : depuis la version 4.01 du serveur. me, Parent) Action : cre un groupe de bibliothques standards de nom Name dans le groupe de bibliothques standards Parent si il est dfini, le groupe de bibliothques standards Parent est aussi cr si il nexiste pas. Paramtres : Name et Parent sont des chanes de caractres. Cas derreurs : le groupe de bibliothques standards Name existe dj (code 108). CreateApplication(Name, ApplicationGroup) Disponibilit : depuis la version 4.01 du serveur. Action : cre une nouvelle application de nom Name dans le groupe dapplications ApplicationGroup. Paramtres : Name et ApplicationGroup sont des chanes de caractres. Retour : un CBCOMApplication correspondant la nouvelle application. Cas derreurs : - Une application de mme nom existe dj (code 119) - Le nom de lapplication nest pas valide (code 110) Type, Disponibilit : depuis la version 4.01 du serveur. Action : cre une nouvelle bibliothque de nom Name dans le groupe de bibliothques LibraryGroup. Paramtres : Name, Type et LibraryGroup sont des chanes de caractres, IsStandard est un boolen. Type correspond au type de libraire {, LV, FB}, IsStandard dfinit si la bibliothque est standard. Retour : un CBCOMLibrary correspondant la nouvelle bibliothque cr. Cas derreurs : - Une bibliothque de mme nom existe dj (code 119) - Le nom de la bibliothque nest pas un nom valide (code 110) - Le type de la bibliothque nest pas un type valide (code 124) Disponibilit : depuis la version 4.01 du serveur.

CreateLibrary(Name, IsStandard, LibraryGroup)

ImportApplication(FileName)

ControlBuild Guide

25 / 81

Utilisation de lAPI COM

Action : importe une application dans le projet. Paramtres : FileName est une chane de caractres. FileName correspond ladresse de lapplication importer. Retour : un CBCOMApplication correspondant la application import. Cas derreurs : Ladresse FileName est erron (code 109). ImportLibrary(FileName) Disponibilit : depuis la version 4.01 du serveur. Action : importe une bibliothque dans le projet. Paramtres : FileName est une chane de caractres. FileName correspond ladresse de la bibliothque importer. Retour : un CBCOMLibrary bibliothque import. correspondant la

Cas derreurs : Ladresse FileName est erron (code 109). Sections() Disponibilit : depuis la version 4.01 du serveur. Retour : une collection de CBCOMSection, correspondant aux sections contenues dans le projet. SectionOfName(Name) Disponibilit : depuis la version 4.01 du serveur. Paramtres : Name est une chane de caractres. Retour : une CBCOMSection correspondant la section de nom Name prsente dans le projet. Cas derreurs : la section na pas t trouve (code 123). CreateSection(Name, Pattern) Disponibilit : depuis la version 4.01 du serveur. Action : cre une nouvelle section de nom Name et de motif Pattern. Paramtres : Name et Pattern sont des chanes de caractres. Retour : un CBCOMSection correspondant la nouvelle section. Cas derreurs : une section de mme nom existe dj (code 125)

3.4

CBCOMOrganicDevice
Cette classe correspond aux organes (lments organiques), tel quils sont dfinis au niveau du projet. Il sagit donc de mettre en rapport le nom dun organe avec celui dune tche et dy associer un temps de cycle. Cette classe possde les attributs suivants : Name Disponibilit : depuis la version 1.0 du serveur.

ControlBuild Guide

26 / 81

Utilisation de lAPI COM

Retour : une chane de caractres correspondant au nom de llment organique. CBOrganID Disponibilit : depuis la version 3.14 du serveur. Retour : une chane de caractres correspondant lidentifiant de lorgane. CBTaskID Disponibilit : depuis la version 3.14 du serveur. Retour : une chane de caractres correspondant lidentifiant de la tche. LastError Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant la dernire erreur rencontre. Et publie les fonctions suivantes : OrganName() Disponibilit : depuis la version 1.0 du serveur. Retour : la valeur de la fonction GetOrganName(). Remarque : cette fonction a pour but de conserver une compatibilit ascendante entre ControlBuild 3.11 et ControlBuild 3.20. TaskName() Disponibilit : depuis la version 1.0 du serveur. Retour : la valeur de la fonction GetTaskName(). Remarque : cette fonction a pour but de conserver une compatibilit ascendante entre ControlBuild 3.11 et ControlBuild 3.20. OrganID() Disponibilit : depuis la version 1.0 du serveur. Retour : la valeur de lattribut CBOrganID. Remarque : cette fonction a pour but de conserver une compatibilit ascendante entre ControlBuild 3.11 et ControlBuild 3.20. TaskID() Disponibilit : depuis la version 1.0 du serveur. Retour : la valeur de lattribut CBTaskID. Remarque : cette fonction a pour but de conserver une compatibilit ascendante entre ControlBuild 3.11 et ControlBuild 3.20. GetOrganName() Disponibilit : depuis la version 3.14 du serveur. Retour : une chane de caractres correspondant au nom de lorgane. GetTaskName() Disponibilit : depuis la version 3.14 du serveur. Retour : une chane de caractres correspondant au nom de la tche. GetCycleTime() Disponibilit : depuis la version 3.14 du serveur. Retour : un entier correspondant au temps de cycle programm pour llment organique. SetOrganName(Name) Disponibilit : depuis la version 3.14 du serveur.

ControlBuild Guide

27 / 81

Utilisation de lAPI COM

Action : remplace le nom de lorgane par Name. Paramtres : Name est une chane de caractres. Cas derreurs : Name nest pas un nom valide, ou il existe dj un lment organique possdant ce nom dorgane avec le nom de la tche actuel (code 86). SetTaskName(Name) Disponibilit : depuis la version 3.14 du serveur. Action : remplace le nom de la tche par Name. Paramtres : Name est une chane de caractres. Cas derreurs : Name nest pas un nom valide, ou il existe dj un lment organique possdant ce nom de tche avec le nom dorgane actuel (code 86). SetCycleTime(CycleTime) Disponibilit : depuis la version 3.14 du serveur. Action : remplace le temps de cycle par CycleTime. Paramtres : CycleTime est un entier strictement positif. Cas derreurs : CycleTime nest pas valide (code 86). Delete() Disponibilit : depuis la version 3.14 du serveur. Action : supprime llment organique dans le projet. Cas derreurs : llment organique nest pas prsent dans le projet (code 87).

3.5

CBCOMSection
Cette classe correspond aux sections ControlBuild telles quelles sont dfinies dans le configurateur de sections. Cette classe possde les attributs suivants : Name Disponibilit : depuis la version 4.01 du serveur. Retour : une chane de caractres correspondant au nom de la section. Pattern Disponibilit : depuis la version 4.01 du serveur. Retour : une chane de caractres correspondant au motif de la section. LastError Disponibilit : depuis la version 4.01 du serveur. Retour : une chane de caractres correspondant la dernire erreur rencontre. Et publie la fonction suivante : Delete() Disponibilit : depuis la version 4.01 du serveur. Action : supprime la section. Cas derreurs : la section dj t supprim (code 123).

ControlBuild Guide

28 / 81

Utilisation de lAPI COM

3.6

CBCOMApplicationLibrary
La classe CBCOMApplicationLibrary est une classe abstraite ne possdant aucun attribut et ne publiant aucune fonction.

3.7

CBCOMApplication
Cette classe correspond aux applications ControlBuild telles quelles sont dfinies dans lditeur daccueil. Cela permet douvrir une tche fonctionnelle, une configuration organique ou une configuration embarque. Cette classe possde les attributs suivants : ID Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant lidentifiant de lapplication. Name Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant au nom de lapplication. LastError Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant la dernire erreur rencontre. Et publie les fonctions suivantes : OpenFunctionalTask(Name) Disponibilit : depuis la version 1.0 du serveur. Action : ouvre la tche fonctionnelle ayant pour nom Name. Retour : une CBCOMFunctionalTask correspondant la tche fonctionnelle ouverte. Cas derreurs : - la tche fonctionnelle est dj ouverte (code 15), - ou nexiste pas (code 16). Disponibilit : depuis la version 1.0 du serveur. Action : ouvre la configuration organique de lapplication courante. Retour : une CBCOMOrganicConfiguration correspondant la configuration organique ouverte. Cas derreurs : - lapplication courante ne possde pas de configuration organique (code 63), - ou une erreur sest produite lors de louverture de cette configuration (code 64). Disponibilit : depuis la version 1.0 du serveur. Retour : une collection de CBCOMEmbeddedConfiguration, correspondant aux configurations embarques dfinies pour lapplication courante.

OpenOrganicConfiguration()

Configurations()

ControlBuild Guide

29 / 81

Utilisation de lAPI COM

OpenEmbeddedConfiguration(N ame)

Disponibilit : depuis la version 1.0 du serveur. Action : ouvre la configuration embarque lapplication courante ayant pour nom Name. Paramtres : Name est une chane de caractres. Retour : une CBCOMEmbeddedConfiguration correspondant la configuration embarque ouverte. de

Cas derreurs : - la configuration de nom Name est dj ouverte (code 10), - nexiste pas (code 11), - ou une erreur sest produite lors de louverture (code 12). OpenEmbeddedConfigurationOf Disponibilit : depuis la version 1.0 du serveur. ID(ID) Action : ouvre la configuration embarque de lapplication courante ayant pour identifiant ID. Paramtres : ID est une chane de caractres. Retour : une CBCOMEmbeddedConfiguration correspondant la configuration embarque ouverte. Cas derreurs : - la configuration embarque est dj ouverte (code 10), - nexiste pas (code 13), - ou une erreur sest produite lors de louverture (code 14). Disponibilit : depuis la version 1.0 du serveur. Action : ferme lapplication courante. Cas derreurs : une tche fonctionnelle ou une configuration est ouverte (respectivement codes 8 et 9). CreateEmbeddedConfiguration( Disponibilit : depuis la version 3.14 du serveur. Name, OrganNames, Action : cre la configuration embarque de nom Name TargetNames) dans lapplication, de telle sorte que les organes nomms dans OrganNames soient associs aux cibles nommes dans TargetNames. Paramtres : Name est une chane de caractres ; OrganNames et TargetNames sont des tableaux contenant des chanes de caractres. Retour : une CBCOMEmbeddedConfiguration correspondant la configuration embarque cre. Cas derreurs : - une cible ou un organe nexiste pas (respectivement codes 18 et 20), - lapplication contient une configuration embarque de nom Name (code 93), - ou une erreur sest produite lors de la cration de la configuration (code 94). Exemple en VisualBasic : name = conf1 organNames(0) = MPU targetNames(0) = MPU

Close()

ControlBuild Guide

30 / 81

Utilisation de lAPI COM

Set embeddedConfiguration = application.CreateEmbeddedConfiguration (name, organNames, targetNames) CreateEmbeddedConfigurationB Disponibilit : depuis la version 3.14 du serveur. yIDs(Name, OrganIDs, Action : cre la configuration embarque de nom Name TargetIDs) dans lapplication, de telle sorte que les organes identifis dans OrganIDs soient associs aux cibles nommes dans TargetIDs. Paramtres : Name est une chane de caractres ; OrganIDs et TargetIDs sont des tableaux contenant des chanes de caractres. Retour : une CBCOMEmbeddedConfiguration correspondant la configuration embarque cre. Cas derreurs : - une cible ou un organe nexiste pas (respectivement codes 17 et 19), - lapplication contient une configuration embarque de nom Name (code 93), - ou une erreur sest produite lors de la cration de la configuration (code 94). Exemple en VisualBasic : name = conf1 organIDs(0) = 1c1f4634-afdf-4193-b5e83a559a460769 targetIDs(0) = 2064fffa-4ea2-4b6abe82-96090347e23c Set embeddedConfiguration = application.CreateEmbeddedConfiguration ByIDs(name, organIDs, targetIDs) ShowFunctional() ShowOrganic() Disponibilit : depuis la version 3.14 du serveur. Action : ouvre lditeur darbre en mode fonctionnel. Disponibilit : depuis la version 3.14 du serveur. Action : ouvre lditeur darbre en mode organique. Cas derreurs : - lapplication ne possde pas de configuration organique (code 63), - ou une simulation est en cours et la fonctionnalit nest pas disponible (code 82). Disponibilit : depuis la version 3.14 du serveur. Action : ouvre lditeur darbre en mode embarqu. Cas derreurs : - lapplication ne possde pas de configuration organique (code 63), - ou une simulation est en cours et la fonctionnalit nest pas disponible (code 82). Disponibilit : depuis la version 3.1e du serveur. Retour : un boolen ayant pour valeur Vrai si lapplication courante est lapplication principale du projet et Faux sinon.

ShowEmbedded()

IsMainApplication()

ControlBuild Guide

31 / 81

Utilisation de lAPI COM

SetIsMainApplication(IsMainApp Disponibilit : depuis la version 4.01 du serveur. ) Action : spcifie si lapplication est lapplication principale. Paramtres : IsMainApp est un boolen. CreateComponentGroup(Name) Disponibilit : depuis la version 4.01 du serveur. Action : cre un groupe de composant de nom Name. Paramtres : Name est une chane de caractres. Cas derreurs : le groupe existe dj (code 108). CreateComponent(Name, CBType, Group) Disponibilit : depuis la version 4.01 du serveur. Action : cre un nouveau composant de nom Name, de type CBType dans le groupe dapplication Group si il est prcis. Paramtres : Name, CBType et Group sont des chanes de caractres. Des types valides sont : {MAC, SFC, Ladder, FBD, Structured Text, C Code, Product, Abstract mac, Trace, Console, Mimic, MAN, Environnement, Scenario, Low voltage component, Low voltage diagram, Multiple scenario, Alarm manager, Documentation, Scenario report, Scenario error, Template, Organic MAC, Variables list} Cas derreurs : - un composant de mme nom existe dj (code 134). - Le nom du composant nest pas un nom valide (code 144). - Le type nest pas un type valide pour cette application (code 143). Disponibilit : depuis la version 4.01 du serveur. Action : charge le composant (au format PLCOpen : xml) partir du fichier FileName. Paramtres : FileName est une chane de caractre. Retour : un CBCOMComponent composant import. correspondant au

ImportComponent(FileName)

Cas derreurs : le fichier est illisible (code 120).

3.8

CBCOMLibrary
Cette classe correspond aux bibliothques ControlBuild telles quelles sont dfinies dans lditeur daccueil. Cela permet douvrir une tche fonctionnelle. Cette classe possde les attributs suivants : ID Disponibilit : depuis la version 4.01 du serveur. Retour : une chane de caractres correspondant lidentifiant de la bibliothque. Name Disponibilit : depuis la version 4.01 du serveur. Retour : une chane de caractres correspondant au

ControlBuild Guide

32 / 81

Utilisation de lAPI COM

nom de la bibliothque. LastError Disponibilit : depuis la version 4.01 du serveur. Retour : une chane de caractres correspondant la dernire erreur rencontre. Et publie les fonctions suivantes : OpenFunctionalTask(Name) Disponibilit : depuis la version 4.01 du serveur. Action : ouvre la tche fonctionnelle ayant pour nom Name. Retour : une CBCOMFunctionalTask correspondant la tche fonctionnelle ouverte. Cas derreurs : - la tche fonctionnelle est dj ouverte (code 15), - ou nexiste pas (code 16). Disponibilit : depuis la version 4.01 du serveur. Action : ferme la bibliothque courante. Cas derreurs : une tche fonctionnelle ou une configuration est ouverte (respectivement codes 8 et 9). CreateComponentGroup(Name) Disponibilit : depuis la version 4.01 du serveur. Action : cre un groupe de composant de nom Name. Paramtres : Name est une chane de caractres. Cas derreurs : le groupe existe dj (code 108). CreateComponent(Name, CBType, Group) Disponibilit : depuis la version 4.01 du serveur. Action : cre un nouveau composant de nom Name, de type CBType dans le groupe de bibliothques Group si il est prcis. Paramtres : Name, CBType et Group sont des chanes de caractres. Des types valides sont : {MAC, SFC, Ladder, FBD, Structured Text, C Code, Product, Abstract mac, Trace, Console, Mimic, MAN, Environnement, Scenario, Low voltage component, Low voltage diagram, Multiple scenario, Alarm manager, Documentation, Scenario report, Scenario error, Template, Organic MAC, Variables list} Cas derreurs : - un composant de mme nom existe dj (code 134). - Le nom du composant nest pas un nom valide (code 144). - Le type nest pas un type valide pour cette bibliothque (code 143). Disponibilit : depuis la version 4.01 du serveur. Action : charge le composant (au format PLCOpen : xml) partir du fichier FileName. Paramtres : FileName est une chane de caractre. Retour : un CBCOMComponent correspondant au

Close()

ImportComponent(FileName)

ControlBuild Guide

33 / 81

Utilisation de lAPI COM

composant import. Cas derreurs : le fichier est illisible (code 120). IsStandard() Disponibilit : depuis la version 4.01 du serveur. Retour : un boolen sur le fait que la bibliothque soit standard ou non. Type() Disponibilit : depuis la version 4.01 du serveur. Retour : une chane de caractres correspondant au type de la bibliothque : {, LV, FB}.

3.9

CBCOMConfiguration
La classe CBCOMConfiguration est une classe abstraite ne possdant aucun attribut et ne publiant aucune fonction.

3.10

CBCOMOrganicConfiguration
Cette classe correspond une configuration organique, autrement dit la dcomposition de lapplication en tches. Cette classe possde les attributs suivants : Name Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant au nom de la configuration. LastError Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant la dernire erreur rencontre. Et publie les fonctions suivantes : Organs() Disponibilit : depuis la version 1.0 du serveur. Retour : une collection de correspondant aux organes configuration courante. OrganOfName(Name) CBCOMVirtualOrgan, prsents dans la

Disponibilit : depuis la version 1.0 du serveur. Paramtres : Name est une chane de caractres. Retour : une CBCOMVirtualOrgan correspondant lorgane prsent dans la configuration courante ayant pour nom Name. Cas derreurs : lorgane nexiste configuration courante (code 20). pas dans la

OrganOfID(ID)

Disponibilit : depuis la version 1.0 du serveur. Paramtres : ID est une chane de caractres. Retour : une CBCOMVirtualOrgan correspondant lorgane prsent dans la configuration courante ayant

ControlBuild Guide

34 / 81

Utilisation de lAPI COM

pour identifiant ID. Cas derreurs : lorgane nexiste configuration courante (code 19). RootInstance() pas dans la

Disponibilit : depuis la version 1.0 du serveur. Retour : une CBCOMInstance correspondant linstance racine de la configuration organique courante.

StartExecution()

Disponibilit : depuis la version 1.0 du serveur. Action : dmarre la configuration courante. Cas derreurs : la configuration na pas pu tre dmarre (code 34).

ResumeExecution()

Disponibilit : depuis la version 1.0 du serveur. Action : relance la configuration courante. Cas derreurs : la configuration na pas pu tre relance (code 26).

SuspendExecution()

Disponibilit : depuis la version 1.0 du serveur. Action : suspend la configuration courante. Cas derreurs : la configuration na pas pu tre suspendue (code 28).

ExecOneStep()

Disponibilit : depuis la version 1.0 du serveur. Action : ralise un pas dexcution pour la configuration courante. Cas derreurs : le configuration na pas pu raliser un pas dexcution (code 24).

EndExecution()

Disponibilit : depuis la version 1.0 du serveur. Action : arrte lexcution de la configuration courante. Cas derreurs : la configuration na pas pu tre arrte (code 23).

ExecTrace()

Disponibilit : depuis la version 1.0 du serveur. Action : dmarre la trace pour la configuration courante. Cas derreurs : la trace na pas pu tre dmarre (code 72).

StopTrace()

Disponibilit : depuis la version 1.0 du serveur. Action : arrte la trace pour la configuration courante. Cas derreurs : la trace na pas pu tre arrte (code 73).

VariableOfNickname(Nickname)

Disponibilit : depuis la version 1.0 du serveur. Paramtres : Nickname est une chane de caractres. Retour : une CBCOMInstanciatedVariable correspondant la variable instancie ayant Nickname pour mnmonique. Cas derreurs : la variable nexiste pas dans la configuration courante (code 35).

VariableOfID(ID)

Disponibilit : depuis la version 1.0 du serveur.

ControlBuild Guide

35 / 81

Utilisation de lAPI COM

Paramtres : ID est une chane de caractres. Retour : une CBCOMInstanciatedVariable correspondant la variable ayant pour identifiant ID. Cas derreur : la variable nexiste configuration courante (code 39). FunctionalTask() pas dans la

Disponibilit : depuis la version 1.0 du serveur. Retour : une CBCOMFunctionalTask donnant la tche fonctionnelle correspondant la configuration courante.

Close()

Disponibilit : depuis la version 1.0 du serveur. Action : ferme la configuration courante.

3.11

CBCOMEmbeddedConfiguration
Cette classe correspond une configuration embarque. Cette classe possde les attributs suivants : ID Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant lidentifiant de la configuration. Name Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant au nom de la configuration. LastError Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant la dernire erreur rencontre. Et publie les fonctions suivantes : SetName(Name) Disponibilit : depuis la version 3.14 du serveur. Action : renomme la configuration embarque courante. Paramtres : Name est une chane de caractres. Cas derreurs : la configuration est en cours dexcution, le nom est incorrect ou une configuration embarque existante possde dj ce nom (code 88). FunctionalTask() Disponibilit : depuis la version 1.0 du serveur. Retour : une CBCOMFunctionalTask donnant la tche fonctionnelle correspondant la configuration courante. VariableOfNickname(Nickname) Disponibilit : depuis la version 1.0 du serveur. Paramtres : Nickname est une chane de caractres. Retour : une CBCOMInstanciatedVariable correspondant la variable instancie ayant Nickname pour mnmonique. Cas derreurs : la variable nexiste pas dans configuration courante (code 35). la

ControlBuild Guide

36 / 81

Utilisation de lAPI COM

VariableOfID(Identifier)

Disponibilit : depuis la version 1.0 du serveur. Paramtres : ID est une chane de caractres. Retour : une CBCOMInstanciatedVariable correspondant la variable instancie ayant pour identifiant ID. Cas derreurs : la variable nexiste pas dans la configuration courante (code 39).

Targets()

Disponibilit : depuis la version 1.0 du serveur. Retour : une collection de CBCOMTarget, correspondant aux cibles utilises dans la configuration courante.

TargetOfName(Name)

Disponibilit : depuis la version 1.0 du serveur. Paramtres : Name est une chane de caractres. Retour : une CBCOMTarget correspondant la cible utilise dans la configuration courante ayant pour nom Name. Cas derreurs : la cible nexiste pas dans la configuration courante (code 18).

TargetOfID(ID)

Disponibilit : depuis la version 1.0 du serveur. Paramtres : ID est une chane de caractres. Retour : une CBCOMTarget correspondant la cible utilise dans la configuration courante ayant pour identifiant ID. Cas derreurs : la cible nexiste pas dans la configuration courante (code 17).

StartExecution()

Disponibilit : depuis la version 1.0 du serveur. Action : dmarre toutes les cibles de la configuration. Cas derreurs : une cible na pas pu tre dmarre (code 34).

ResumeExecution()

Disponibilit : depuis la version 1.0 du serveur. Action : relance toutes les cibles de la configuration. Cas derreurs : une cible na pas pu tre relance (code 26).

SuspendExecution()

Disponibilit : depuis la version 1.0 du serveur. Action : suspend toutes les cibles de la configuration. Cas derreurs : une cible na pas pu tre suspendue (code 28).

ExecOneStep()

Disponibilit : depuis la version 1.0 du serveur. Action : ralise un pas dexcution pour toutes les cibles de la configuration. Cas derreurs : une cible na pas pu raliser un pas dexcution (code 24).

EndExecution()

Disponibilit : depuis la version 1.0 du serveur. Action : arrte lexcution de toutes les cibles de la configuration. Cas derreurs : une cible na pas pu tre arrte (code

ControlBuild Guide

37 / 81

Utilisation de lAPI COM

23). Close() GenerateCode() Disponibilit : depuis la version 1.0 du serveur. Action : ferme la configuration embarque courante. Disponibilit : depuis la version 3.14 du serveur. Action : gnre le code embarqu pour la configuration courante. Cas derreurs : une erreur sest produite lors de la gnration du code (code 96). GenerateDocumentation(Absolu Disponibilit : depuis la version 3.14 du serveur. tePathName, ModelName, Action : gnre la documentation pour la configuration TemplateName) embarque courante en fonction des paramtres donns. Paramtres : AbsolutePathName, ModelName et TemplateName sont des chanes de caractres. AbsolutePathName correspond au chemin absolu du fichier devant tre gnr (format UNC). Il est bas sur la prsentation donnee par le document de nom TemplateName, et prsente les lments dfinis dans le modle de document ModelName. Cas derreurs : les paramtres sont incorrects ou une erreur est survenue lors de la gnration (code 101). Exemple en VisualBasic : path = C:\doc.rtf model = Models template = default.rtf configuration.GenerateDocumentation(pat h, model, template) Delete() Disponibilit : depuis la version 3.14 du serveur. Action : supprime la configuration embarque et tous les fichiers qui la composent. Cas derreurs : la configuration na pas pu tre supprime (code 89).

3.12

CBCOMTarget
Cette classe correspond une cible. Dans ControlBuild, il existe des cibles 2 niveaux : dans un projet, et dans une configuration embarque. Dans ce deuxime cas, nous parlerons de cible embarque. Cette classe possde les attributs suivants : ID Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant lidentifiant de la cible. Name Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant au nom de la cible.

ControlBuild Guide

38 / 81

Utilisation de lAPI COM

LastError

Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant la dernire erreur rencontre.

Et publie les fonctions suivantes : SetName(Name) Disponibilit : depuis la version 3.14 du serveur. Action : renomme la cible courante. Paramtres : Name est une chane de caractres. Cas derreurs : la cible de nom Name existe dj, ou le nom donn est incorrect (code 91). GetOS() Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant au systme dexploitation de la cible (linux, nt ou qnx). SetOS(OS) Disponibilit : depuis la version 3.14 du serveur. Action : change le systme dexploitation de la cible courante. Paramtres : OS est une chane de caractres. Cas derreurs : OS ne correspond pas un systme dexploitation valide (code 91). GetIPAddress() Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant ladresse IP de la cible. SetIPAddress(IPAddress) Disponibilit : depuis la version 3.14 du serveur. Action : change ladresse IP de la cible courante. Paramtres : IPAddress est une chane de caractres. Cas derreurs : ladresse IP nest pas valide (code 91). GetHostname() Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant au nom de la machine cible. SetHostname(Hostname) Disponibilit : depuis la version 3.14 du serveur. Action : change le nom dhte de la cible courante. Paramtres : Hostname est une chane de caractres. Cas derreurs : le nom dhte nest pas valide (code 91). GetPort() Disponibilit : depuis la version 3.14 du serveur. Retour : le numro du port TCP dcoute du serveur de la cible. SetPort(Port) Disponibilit : depuis la version 3.14 du serveur. Action : change le numro du port TCP dcoute du serveur de la cible. Paramtres : Port est un entier strictement positif. Cas derreur : Port nest pas valide (code 91).

ControlBuild Guide

39 / 81

Utilisation de lAPI COM

Organs()

Disponibilit : depuis la version 1.0 du serveur. Retour : une collection de CBCOMOrgan, correspondant aux organes associs la cible courante.

OrganOfName(Name)

Disponibilit : depuis la version 1.0 du serveur. Paramtres : Name est une chane de caractres. Retour : un CBCOMOrgan correspondant lorgane associ la cible courante ayant pour nom Name. Cas derreurs : lorgane nexiste pas sur la cible courante (code 20).

OrganOfID(ID)

Disponibilit : depuis la version 1.0 du serveur. Paramtres : ID est une chane de caractres. Retour : un CBCOMOrgan correspondant lorgane associ la cible courante ayant pour identifiant ID. Cas derreurs : lorgane nexiste pas sur la cible courante (code 19).

StartExecution()

Disponibilit : depuis la version 1.0 du serveur. Action : dmarre tous les organes de la cible. Cas derreurs : lorgane na pas pu tre dmarr (code 34).

ResumeExecution()

Disponibilit : depuis la version 1.0 du serveur. Action : relance tous les organes de la cible. Cas derreurs : lorgane na pas pu tre relanc (code 26).

SuspendExecution()

Disponibilit : depuis la version 1.0 du serveur. Action : suspend tous les organes de la cible. Cas derreurs : lorgane na pas pu tre suspendu (code 28).

ExecOneStep()

Disponibilit : depuis la version 1.0 du serveur. Action : ralise un pas dexcution pour tous les organes de la cible. Cas derreurs : lorgane na pas pu raliser un pas dexcution (code 24).

EndExecution()

Disponibilit : depuis la version 1.0 du serveur. Action : arrte lexcution de tous les organes de la cible. Cas derreurs : lorgane na pas pu tre arrt (code 23).

SetCycleTime(CycleTime)

Disponibilit : depuis la version 1.0 du serveur. Action : positionne le temps de cycle de tous les organes de la cible. Paramtres : CycleTime est un entier long. Cas derreurs : la cible nest pas en cours dexcution (code 33).

ExecTrace()

Disponibilit : depuis la version 1.0 du serveur.

ControlBuild Guide

40 / 81

Utilisation de lAPI COM

Action : dmarre la trace pour tous les organes de la cible. Cas derreurs : la trace na pas pu tre dmarre (code 25). StopTrace() Disponibilit : depuis la version 1.0 du serveur. Action : arrte la trace pour tous les organes de la cible. Cas derreurs : la trace na pas pu tre arrte (code 27). Connect() Disponibilit : depuis la version 1.0 du serveur. Action : ralise la connexion entre toutes les tches de la cible et le serveur (lancement des clients). Cas derreurs : - la cible courante est dj connecte (code 79), - la cible courante nest pas une cible embarque, - ou une erreur est survenue lors de la connexion (code 80). Disponibilit : depuis la version 1.0 du serveur. Action : ralise la dconnexion entre toutes les tches de la cible et le serveur (arrt des clients). Cas derreurs : la cible est dj dconnecte (code 81). Make() Disponibilit : depuis la version 3.14 du serveur. Action : gnre les excutables binaires pour toutes les tches de la cible. Cas derreurs : la cible nest pas une cible Windows (code 98). GenerateDocumentation(Absolu Disponibilit : depuis la version 3.14 du serveur. tePathName, ModelName, Action : gnre la documentation pour la cible courante TemplateName) en fonction des paramtres donns. Paramtres : AbsolutePathName, ModelName et TemplateName sont des chanes de caractres. AbsolutePathName correspond au chemin absolu du fichier devant tre gnr (format UNC). Il est bas sur la prsentation donne par le document de nom TemplateName, et prsente les lments dfinis dans le modle de document ModelName. Cas derreurs : les paramtres sont incorrects ou une erreur est survenue lors de la gnration (code 101). Delete() Disponibilit : depuis la version 3.14 du serveur. Action : supprime la cible courante. Cas derreurs : la cible na pas pu tre supprime (code 92).
e IsEmbeddedSoftwareGenerated() Disponibilit : depuis la version 3.1 du serveur.

Disconnect()

Retour : un boolen ayant la valeur Vrai si le code de la cible a t gnr, et Faux sinon. GetSharedMemoryName() Disponibilit : depuis la version 4.0 du serveur. Retour : le nom de la mmoire partage.

ControlBuild Guide

41 / 81

Utilisation de lAPI COM

3.13

CBCOMAbstractOrgan
La classe CBCOMAbstractOrgan est une classe abstraite ne possdant aucun attribut et ne publiant aucune fonction.

3.14

CBCOMVirtualOrgan
Cette classe correspond aux organes dfinis dans une configuration organique. Cette classe possde les attributs suivants : ID Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant lidentifiant de lorgane. Name Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant au nom de lorgane. LastError Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant la dernire erreur rencontre. Et publie les fonctions suivantes : Tasks() Disponibilit : depuis la version 1.0 du serveur. Retour : une collection de CBCOMOrganicTask correspondant aux tches organiques prsentes sur lorgane courant. TaskOfName(Name) Disponibilit : depuis la version 1.0 du serveur. Paramtres : Name est une chane de caractres. Retour : une CBCOMOrganicTask correspondant la tche organique de nom Name. Cas derreurs : la tche nexiste pas dans lorgane courant (code 22). TaskOfID(ID) Disponibilit : depuis la version 1.0 du serveur. Paramtres : ID est une chane de caractres. Retour : une CBCOMOrganicTask correspondant la tche organique ayant ID pour identifiant. Cas derreurs : la tche nexiste pas dans lorgane courant (code 21). VariableOfID(ID) Disponibilit : depuis la version 1.0 du serveur. Paramtres : ID est une chane de caractres. Retour : une CBCOMInstanciatedVariable correspondant la variable ayant ID pour identifiant.

ControlBuild Guide

42 / 81

Utilisation de lAPI COM

Cas derreurs : la variable nexiste pas dans lorgane courant (code 39). VariableOfNickname(Nickname) Disponibilit : depuis la version 3.1e du serveur. Paramtres : Nickname est une chane de caractres. Retour : une CBCOMInstanciatedVariable correspondant la variable instancie possdant Nickname pour mnmonique. Cas derreurs : la variable nexiste pas dans lorgane courante (code 35).

3.15

CBCOMOrgan
Cette classe correspond aux organes dfinis dans une configuration embarque. Cette classe possde les attributs suivants : ID Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant lidentifiant de lorgane. Name Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant au nom de lorgane. LastError Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant la dernire erreur rencontre. Et publie les fonctions suivantes : Tasks() Disponibilit : depuis la version 1.0 du serveur. Retour : une collection de CBCOMEmbeddedTask, correspondant aux tches embarques associes lorgane. TaskOfName(Name) Disponibilit : depuis la version 1.0 du serveur. Paramtres : Name est une chane de caractres. Retour : une CBCOMEmbeddedTask correspondant la tche embarque associe lorgane ayant pour nom Name. Cas derreurs : la tche nexiste pas dans lorgane courant (code 22). TaskOfID(ID) Disponibilit : depuis la version 1.0 du serveur. Paramtres : ID est une chane de caractres. Retour : une CBCOMEmbeddedTask correspondant la tche embarque associe lorgane ayant pour identifiant ID. Cas derreurs : la tche nexiste pas dans lorgane courant (code 21).

ControlBuild Guide

43 / 81

Utilisation de lAPI COM

StartExecution()

Disponibilit : depuis la version 1.0 du serveur. Action : dmarre toutes les tches de lorgane. Cas derreurs : une tche na pas pu tre dmarre (code 34).

ResumeExecution()

Disponibilit : depuis la version 1.0 du serveur. Action : relance toutes les tches de lorgane. Cas derreurs : une tche na pas pu tre relance (code 26).

SuspendExecution()

Disponibilit : depuis la version 1.0 du serveur. Action : suspend toutes les tches de lorgane. Cas derreurs : une tche na pas pu tre suspendue (code 28).

ExecOneStep()

Disponibilit : depuis la version 1.0 du serveur. Action : ralise un pas dexcution pour toutes les tches de lorgane. Cas derreurs : une tche na pas pu raliser un pas dexcution (code 24).

EndExecution()

Disponibilit : depuis la version 1.0 du serveur. Action : arrte lexcution de toutes les tches de lorgane. Retour : une tche na pas pu tre arrte (code 23).

SetCycleTime(CycleTime)

Disponibilit : depuis la version 1.0 du serveur. Action : positionne le temps de cycle de toutes les tches de lorgane. Paramtres : CycleTime est un entier long. Cas derreurs : le temps de cycle dune tche na pas pu tre positionn (code 33).

ExecTrace()

Disponibilit : depuis la version 1.0 du serveur. Action : dmarre la trace pour toutes les tches de lorgane. Cas derreurs : la trace na pas pu tre dmarre (code 25).

StopTrace()

Disponibilit : depuis la version 1.0 du serveur. Action : arrte la trace pour toutes les tches de lorgane. Cas derreurs : la trace na pas pu tre arrte (code 27).

VariableOfID(ID)

Disponibilit : depuis la version 1.0 du serveur. Paramtres : ID est une chane de caractres. Retour : une CBCOMInstanciatedVariable correspondant la variable ayant ID pour identifiant. Cas derreurs : la variable nexiste pas dans lorgane courant (code 39).

ControlBuild Guide

44 / 81

Utilisation de lAPI COM

VariableOfNickname(Nickname)

Disponibilit : depuis la version 3.1e du serveur. Paramtres : Nickname est une chane de caractres. Retour : une CBCOMInstanciatedVariable correspondant la variable instancie possdant Nickname pour mnmonique. Cas derreurs : la variable nexiste pas dans lorgane courante (code 35).

ReassignTo(TargetName)

Disponibilit : depuis la version 3.14 du serveur. Action : associe lorgane courant la cible de nom TargetName. Paramtres : TargetName est une chane de caractres. Cas derreurs : - la cible nexiste pas (code 18), - ou lorgane courant est en cours dexcution (code 95). Disponibilit : depuis la version 3.14 du serveur. Action : associe lorgane courant la cible ayant ID pour identifiant. Paramtres : ID est une chane de caractres. Cas derreurs : - la cible nexiste pas (code 17), - ou lorgane est en cours dexcution (code 102).

ReassignToTargetOfID(ID)

3.16

CBCOMTask
La classe CBCOMTask est une classe abstraite ne possdant aucun attribut et ne publiant aucune fonction.

3.17

CBCOMFunctionalTask
Cette classe correspond une tche fonctionnelle. Cette classe possde les attributs suivants : ID Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant lidentifiant de la tche fonctionnelle. Name Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant au nom de la tche fonctionnelle. MaxCycleTime Disponibilit : depuis la version 1.0 du serveur. Retour : un entier long correspondant au temps de cycle maximum de la tche fonctionnelle. CBStatus Disponibilit : depuis la version 3.14 du serveur.

ControlBuild Guide

45 / 81

Utilisation de lAPI COM

Retour : une chane de caractres correspondant ltat courant de la tche fonctionnelle. LastError Retour : une chane de caractres correspondant la dernire erreur rencontre.

Et publie les fonctions suivantes : Status() Disponibilit : depuis la version 1.0 du serveur. Retour : la valeur de lattribut CBStatus. Remarque : cette fonction a pour but de conserver une compatibilit ascendante entre ControlBuild 3.11 et ControlBuild 3.20. GetCycleTime() Disponibilit : depuis la version 1.0 du serveur. Retour : un entier correspondant au temps de cycle de la tche fonctionnelle. SetCycleTime(CycleTime) Disponibilit : depuis la version 1.0 du serveur. Action : positionne le temps de cycle de tche fonctionnelle CycleTime. Paramtres : CycleTime est un entier. Cas derreurs : la tche fonctionnelle nest pas en simulation (code 33). RootInstance() Disponibilit : depuis la version 1.0 du serveur. Retour : une CBCOMInstance correspondant linstance racine de la tche fonctionnelle. Components() Disponibilit : depuis la version 1.0 du serveur. Retour : une collection de CBCOMComponent, correspondant aux composants utiliss dans la tche fonctionnelle. ComponentOfName(Name) Disponibilit : depuis la version 1.0 du serveur. Paramtres : Name est une chane de caractres. Retour : un CBCOMComponent correspondant au composant utilis dans la tche fonctionnelle ayant pour nom Name. Cas derreurs : le composant nexiste pas dans la tche fonctionnelle courante (code 30). ComponentOfID(ID) Disponibilit : depuis la version 1.0 du serveur. Paramtres : ID est une chane de caractres. Retour : un CBCOMComponent correspondant au composant utilis dans la tche fonctionnelle ayant pour identifiant ID. Cas derreurs : le composant nexiste pas dans la tche fonctionnelle courante (code 29). Instances() Disponibilit : depuis la version 1.0 du serveur. Retour : une collection de CBCOMInstance, correspondant aux instances constituant la tche fonctionnelle.

ControlBuild Guide

46 / 81

Utilisation de lAPI COM

InstanceOfName(Name)

Disponibilit : depuis la version 1.0 du serveur. Paramtres : Name est une chane de caractres. Retour : une CBCOMInstance correspondant linstance de nom Name prsente dans la tche fonctionnelle. Cas derreurs : linstance nexiste pas dans la tche fonctionnelle courante (code 32).

InstanceOfID(ID)

Disponibilit : depuis la version 1.0 du serveur. Paramtres : ID est une chane de caractres. Retour : une CBCOMInstance correspondant linstance didentifiant ID prsente dans la tche fonctionnelle. Cas derreurs : linstance nexiste pas dans la tche fonctionnelle courante (code 31).

Products()

Disponibilit : depuis la version 4.0 du serveur. Retour : une collection de CBCOMProducts, correspondant aux produits constituant la tche fonctionnelle. Exemple en VisualBasic :
Dim allProducts As CBCOMServer.COMCollection Dim aProduct As CBCOMServer.CBCOMProduct Dim coll as New Collection Set all_ allProducts = aTask.Products() nbProd = allProducts.Count For i=1 to nbProd Set aProduct = allProducts.Item(i) coll.Add aProduct Next i

OpenEmbeddedConfiguration(N ame)

Disponibilit : depuis la version 1.0 du serveur. Paramtres : Name est une chane de caractres. Retour : une CBCOMConfiguration correspondant la configuration embarque de nom Name dfinie pour lapplication relative la tche fonctionnelle courante.

Cas derreurs : - la configuration de nom Name est dj ouverte (code 10), - nexiste pas (code 11), - ou une erreur sest produite lors de louverture (code 12). OpenEmbeddedConfigurationOf Disponibilit : depuis la version 1.0 du serveur. ID(ID) Paramtres : ID est une chane de caractres. Retour : une CBCOMConfiguration correspondant la configuration embarque didentifiant ID dfinie pour lapplication relative la tche fonctionnelle courante. Cas derreurs : - la configuration embarque est dj ouverte (code 10),

ControlBuild Guide

47 / 81

Utilisation de lAPI COM

VariableOfID(ID)

nexiste pas (code 13), ou une erreur sest produite lors de louverture (code 14). Disponibilit : depuis la version 1.0 du serveur. Paramtres : ID est une chane de caractres. Retour : une CBCOMInstanciatedVariable corrrespondant la variable ayant ID pour identifiant. Cas derreurs : la variable nexiste pas dans la tche fonctionnelle courante (code 39).

VariableOfNickname(Nickname)

Disponibilit : depuis la version 1.0 du serveur. Paramtres : Nickname est une chane de caractres. Retour : une CBCOMInstanciatedVariable correspondant la variable instancie possdant Nickname pour mnmonique. Cas derreurs : la variable nexiste pas dans la tche fonctionnelle courante (code 35).

StartExecution()

Disponibilit : depuis la version 1.0 du serveur. Action : dmarre la tche courante. Cas derreurs : - une simulation est en cours (code 82), - ou la tche courante na pas pu tre dmarre (code 34). Disponibilit : depuis la version 1.0 du serveur. Action : relance la tche courante. Cas derreurs : la tche courante na pas pu tre relance (code 26).

ResumeExecution()

SuspendExecution()

Disponibilit : depuis la version 1.0 du serveur. Action : suspend la tche courante. Cas derreurs : la tche courante na pas pu tre suspendue (code 28).

ExecOneStep()

Disponibilit : depuis la version 1.0 du serveur. Action : ralise un pas dexcution la tche courante. Cas derreurs : la tche courante na pas pu raliser un pas dexcution (code 24).

EndExecution()

Disponibilit : depuis la version 1.0 du serveur. Action : arrte lexcution de la tche courante. Cas derreurs : la tche courante na pas pu tre arrte (code 23).

ExecTrace()

Disponibilit : depuis la version 1.0 du serveur. Action : dmarre la trace la tche courante. Cas derreurs : la trace na pas pu tre dmarre (code 25).

StopTrace()

Disponibilit : depuis la version 1.0 du serveur. Action : arrte la trace la tche courante.

ControlBuild Guide

48 / 81

Utilisation de lAPI COM

Cas derreurs : la trace na pas pu tre arrte (code 27). Close() Disponibilit : depuis la version 1.0 du serveur. Action : ferme la tche fonctionnelle courante. GenerateDocumentation(Absolu Disponibilit : depuis la version 3.14 du serveur. tePathName, ModelName, Action : gnre la documentation pour la tche courante TemplateName) en fonction des paramtres donns. Paramtres : AbsolutePathName, ModelName et TemplateName sont des chanes de caractres. AbsolutePathName correspond au chemin absolu du fichier devant tre gnr (format UNC). Il est bas sur la prsentation donne par le document de nom TemplateName, et prsente les lments dfinis dans le modle de document ModelName. Cas derreurs : les paramtres sont incorrects ou une erreur est survenue lors de la gnration (code 101). UnforceAllVariables() Disponibilit : depuis la version 4.20 du serveur. Action : annule le forage de toutes les variables de la tche courante. Cas derreurs : la tche n'a pas pu annuler le forage de toutes les variables (code 150).

3.18

CBCOMOrganicTask
Cette classe correspond une tche organique. Cette classe possde les attributs suivants : ID Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant lidentifiant de la tche organique. Name Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant au nom de la tche organique. CBStatus Disponibilit : depuis la version 3.14 du serveur. Retour : une chane de caractres correspondant ltat courant de la tche organique. LastError Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant la dernire erreur rencontre. Et publie les fonctions suivantes : Status() Disponibilit : depuis la version 1.0 du serveur. Retour : la valeur de lattribut CBStatus. Remarque : cette fonction a pour but de conserver une

ControlBuild Guide

49 / 81

Utilisation de lAPI COM

compatibilit ascendante entre ControlBuild 3.11 et ControlBuild 3.20. Components() Disponibilit : depuis la version 1.0 du serveur. Retour : une collection de CBCOMComponent, correspondant aux composants utiliss dans la tche organique. ComponentOfName(Name) Disponibilit : depuis la version 1.0 du serveur. Paramtres : Name est une chane de caractres. Retour : un CBCOMComponent correspondant au composant utilis dans la tche organique ayant pour nom Name. Cas derreurs : le composant nexiste pas dans la tche organique courante (code 30). ComponentOfID(ID) Disponibilit : depuis la version 1.0 du serveur. Paramtres : ID est une chane de caractres. Retour : un CBCOMComponent correspondant au composant utilis dans la tche organique ayant pour identifiant ID. Cas derreurs : le composant nexiste pas dans la tche fonctionnelle courante (code 29). Instances() Disponibilit : depuis la version 1.0 du serveur. Retour : une collection de CBCOMInstance, correspondant aux instances constituant la tche organique. InstanceOfName(Name) Disponibilit : depuis la version 1.0 du serveur. Paramtres : Name est une chane de caractres. Retour : une CBCOMInstance correspondant linstance de nom Name prsente dans la tche organique. Cas derreurs : linstance nexiste pas dans la tche organique courante (code 32). InstanceOfID(ID) Disponibilit : depuis la version 1.0 du serveur. Paramtres : ID est une chane de caractres. Retour : une CBCOMInstance correspondant linstance didentifiant ID prsente dans la tche organique. Cas derreurs : linstance nexiste pas dans la tche organique courante (code 31). Organ() Disponibilit : depuis la version 1.0 du serveur. Retour : une CBCOMVirtualOrgan correspondant lorgane sur lequel se situe la tche organique courante. GetCycleTime() Disponibilit : depuis la version 1.0 du serveur. Retour : un entier correspondant au temps de cycle de la tche organique. VariableOfID(ID) Disponibilit : depuis la version 1.0 du serveur. Paramtres : ID est une chane de caractres. Retour : une CBCOMInstanciatedVariable

ControlBuild Guide

50 / 81

Utilisation de lAPI COM

corrrespondant la variable ayant ID pour identifiant. Cas derreurs : la variable nexiste pas dans la tche organique courante (code 39). VariableOfNickname(Nickname) Disponibilit : depuis la version 1.0 du serveur. Paramtres : Nickname est une chane de caractres. Retour : une CBCOMInstanciatedVariable correspondant la variable instancie possdant Nickname pour mnmonique. Cas derreurs : la variable nexiste pas dans la tche organique courante (code 35). RootInstance() Disponibilit : depuis la version 1.0 du serveur. Retour : une CBCOMInstance correspondant linstance racine de la tche organique. GenerateDocumentation(Absolu Disponibilit : depuis la version 3.14 du serveur. tePathName, ModelName, Action : gnre la documentation pour la tche courante TemplateName) en fonction des paramtres donns. Paramtres : AbsolutePathName, ModelName et TemplateName sont des chanes de caractres. AbsolutePathName correspond au chemin absolu du fichier devant tre gnr (format UNC). Il est bas sur la prsentation donne par le document de nom TemplateName, et prsente les lments dfinis dans le modle de document ModelName. Cas derreurs : les paramtres sont incorrects ou une erreur est survenue lors de la gnration (code 101). UnforceAllVariables() Disponibilit : depuis la version 4.20 du serveur. Action : annule le forage de toutes les variables de la tche courante. Cas derreurs : la tche n'a pas pu annuler le forage de toutes les variables (code 150).

3.19

CBCOMEmbeddedTask
Cette classe correspond une tche embarque. Cette classe possde les attributs suivants : ID Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant lidentifiant de la tche embarque. Name Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant au nom de la tche embarque. MaxCycleTime Disponibilit : depuis la version 1.0 du serveur. Retour : un entier long correspondant au temps de cycle maximum de la tche embarque.

ControlBuild Guide

51 / 81

Utilisation de lAPI COM

CBPath

Disponibilit : depuis la version 3.14 du serveur. Retour : une chane de caractres correspondant au chemin du rpertoire de gnration du code C (ce chemin est au format UNC : Universal Naming Code).

CBStatus

Disponibilit : depuis la version 3.14 du serveur. Retour : une chane de caractres correspondant ltat courant de la tche embarque.

ExpectedSignature

Disponibilit : depuis la version 3.14 du serveur. Retour : un entier correspondant la signature attendue pour la tche embarque.

ExecutionID

Disponibilit : depuis la version 3.14 du serveur. Retour : un entier correspondant au numro dexcution de la tche par le serveur.

LastError

Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant la dernire erreur rencontre.

Et publie les fonctions suivantes : Path() Disponibilit : depuis la version 1.0 du serveur. Retour : la valeur de lattribut CBPath. Remarque : cette fonction a pour but de conserver une compatibilit ascendante entre ControlBuild 3.11 et ControlBuild 3.20. Status() Disponibilit : depuis la version 1.0 du serveur. Retour : la valeur de lattribut CBStatus. Remarque : cette fonction a pour but de conserver une compatibilit ascendante entre ControlBuild 3.11 et ControlBuild 3.20. GetCycleTime() Disponibilit : depuis la version 1.0 du serveur. Retour : un entier correspondant au temps de cycle de la tche embarque. SetCycleTime(CycleTime) Disponibilit : depuis la version 1.0 du serveur. Action : positionne le temps de cycle de la tche courante. Paramtres : CycleTime est un entier. Cas derreurs : la tche embarque nest pas en cours dexcution (code 33). RootInstance() Disponibilit : depuis la version 1.0 du serveur. Retour : une CBCOMInstance correspondant linstance racine de la tche embarque. Components() Disponibilit : depuis la version 1.0 du serveur. Retour : une collection de CBCOMComponent, correspondant aux composants utiliss dans la tche embarque.

ControlBuild Guide

52 / 81

Utilisation de lAPI COM

ComponentOfName(Name)

Disponibilit : depuis la version 1.0 du serveur. Paramtres : Name est une chane de caractres. Retour : un CBCOMComponent correspondant au composant utilis dans la tche embarque ayant pour nom Name. Cas derreurs : le composant nexiste pas dans la tche embarque courante (code 30).

ComponentOfID(ID)

Disponibilit : depuis la version 1.0 du serveur. Paramtres : ID est une chane de caractres. Retour : un CBCOMComponent correspondant au composant utilis dans la tche embarque ayant pour identifiant ID. Cas derreurs : le composant nexiste pas dans la tche embarque courante (code 29).

Instances()

Disponibilit : depuis la version 1.0 du serveur. Retour : une collection de CBCOMInstance, correspondant aux instances constituant la tche embarque.

InstanceOfName(Name)

Disponibilit : depuis la version 1.0 du serveur. Paramtres : Name est une chane de caractres. Retour : une CBCOMInstance correspondant linstance de nom Name prsente dans la tche embarque. Cas derreurs : linstance nexiste pas dans la tche embarque courante (code 32).

InstanceOfID(ID)

Disponibilit : depuis la version 1.0 du serveur. Paramtres : ID est une chane de caractres. Retour : une CBCOMInstance correspondant linstance didentifiant ID prsente dans la tche embarque. Cas derreurs : linstance nexiste pas dans la tche embarque courante (code 31).

VariableOfID(ID)

Disponibilit : depuis la version 1.0 du serveur. Paramtres : ID est une chane de caractres. Retour : une CBCOMInstanciatedVariable corrrespondant la variable ayant ID pour identifiant. Cas derreurs : la variable nexiste pas dans la tche embarque courante (code 39).

VariableOfNickname(Nickname)

Disponibilit : depuis la version 1.0 du serveur. Paramtres : Nickname est une chane de caractres. Retour : une CBCOMInstanciatedVariable correspondant la variable instancie possdant Nickname pour mnmonique. Cas derreurs : la variable nexiste pas dans la tche embarque courante (code 35).

StartExecution()

Disponibilit : depuis la version 1.0 du serveur.

ControlBuild Guide

53 / 81

Utilisation de lAPI COM

Action : dmarre la tche courante. Cas derreurs : la tche courante na pas pu tre dmarre (code 34). ResumeExecution() Disponibilit : depuis la version 1.0 du serveur. Action : relance la tche courante. Cas derreurs : la tche courante na pas pu tre relance (code 26). SuspendExecution() Disponibilit : depuis la version 1.0 du serveur. Action : suspend la tche courante. Cas derreurs : la tche courante na pas pu tre suspendue (code 28). ExecOneStep() Disponibilit : depuis la version 1.0 du serveur. Action : ralise un pas dexcution la tche courante. Cas derreurs : la tche courante na pas pu raliser un pas dexcution (code 24). EndExecution() Disponibilit : depuis la version 1.0 du serveur. Action : arrte lexcution de la tche courante. Cas derreurs : la tche courante na pas pu tre arrte (code 23). ExecTrace() Disponibilit : depuis la version 1.0 du serveur. Action : dmarre la trace la tche courante. Cas derreurs : la trace na pas pu tre dmarre (code 25). StopTrace() Disponibilit : depuis la version 1.0 du serveur. Action : arrte la trace la tche courante. Cas derreurs : la trace na pas pu tre arrte (code 27). Organ() Disponibilit : depuis la version 1.0 du serveur. Retour : un CBCOMVirtualOrgan correspondant lorgane sur lequel se situe la tche embarque courante. Load(NoStart) Disponibilit : depuis la version 1.0 du serveur. Action : charge une application en tant que tche embarque courante. Lance lexcution de lapplication si NoStart est faux. Paramtres : NoStart est un boolen. Cas derreurs : - lapplication na pas pu tre dmarre (code 34), - ou un problme est survenu lors du chargement de lapplication (code 61). Disponibilit : depuis la version 1.0 du serveur. Retour : un entier correspondant la signature renvoye par la tche embarque courante. Casderreurs : la tche nest pas en cours dexcution ou la signature na pas pu tre calcule (code 66).

GetSignature()

ControlBuild Guide

54 / 81

Utilisation de lAPI COM

GenerateDocumentation(Absolu Disponibilit : depuis la version 3.14 du serveur. tePathName, ModelName, Action : gnre la documentation pour la tche courante TemplateName) en fonction des paramtres donns. Paramtres : AbsolutePathName, ModelName et TemplateName sont des chanes de caractres. AbsolutePathName correspondant au chemin absolu du fichier devant tre gnr (format UNC). Il est bas sur la prsentation donne par le document de nom TemplateName, et prsente les lments dfinis dans le modle de document ModelName. Cas derreurs : les paramtres sont incorrects ou une erreur est survenue lors de la gnration (code 101). UnforceAllVariables() Disponibilit : depuis la version 4.20 du serveur. Action : annule le forage de toutes les variables de la tche courante. Cas derreurs : la tche n'a pas pu annuler le forage de toutes les variables (code 150).

3.20

CBCOMComponent
Cette classe correspond la dfinition dun composant ControlBuild, cest--dire des composants dfinis dans lditeur principal. Cette classe possde les attributs suivants : ID Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant lidentifiant du composant. Name Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant au nom du composant. CBType Disponibilit : depuis la version 3.14 du serveur. Retour : une chane de caractres correspondant au type du composant. Les types possibles pour un composant sont les suivants : mac, graf, rel, logi, st, c, prod, bt, tpa et mo. LastError Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant la dernire erreur rencontre. Comments Disponibilit : depuis la version 4.01 du serveur. Retour : une chane de caractres correspondant aux commentaires. Et publie les fonctions suivantes : Type() Disponibilit : depuis la version 1.0 du serveur.

ControlBuild Guide

55 / 81

Utilisation de lAPI COM

Retour : la valeur de lattribut CBType. Remarque : cette fonction a pour but de conserver une compatibilit ascendante entre ControlBuild 3.11 et ControlBuild 3.20. Instances() Disponibilit : depuis la version 1.0 du serveur. Retour : une collection de CBCOMInstance, correspondant aux instances du composant. InstanceOfName(Name) Disponibilit : depuis la version 1.0 du serveur. Paramtres : Name est une chane de caractres. Retour : une CBCOMInstance correspondant linstance de nom Name du composant. Cas derreurs : linstance nexiste pas (code 32). InstanceOfID(ID) Disponibilit : depuis la version 1.0 du serveur. Paramtres : ID est une chane de caractres. Retour : une CBCOMInstance correspondant linstance didentifiant ID du composant. Cas derreurs : linstance nexiste pas (code 31). Variables() Disponibilit : depuis la version 1.0 du serveur. Retour : une collection de CBCOMVariable, correspondant aux variables du composant. VariablesOfKind(Kind) Disponibilit : depuis la version 1.0 du serveur. Paramtres : Kind est une chane de caractres. Retour : une collection de CBCOMVariable, correspondant aux variables ayant pour genre Kind. Voir aussi : lattribut Kind de la classe CBCOMVariable. Exemple en VisualBasic : variables = component.VariablesOfKind(Input) VariablesOfType(Type) Disponibilit : depuis la version 1.0 du serveur. Paramtres : Type est une chane de caractres. Retour : une collection de CBCOMVariable, correspondant aux variables de type Type. Voir aussi : lattribut Type de la classe CBCOMVariable. Exemple en VisualBasic : variables = component.VariablesOfType(BOOL) VariableOfName(Name) Disponibilit : depuis la version 1.0 du serveur. Paramtres : Name est une chane de caractres. Retour : une CBCOMVariable correspondant la variable de nom Name du composant. Cas derreurs : la variable nexiste pas (code 40). VariableOfID(ID) Disponibilit : depuis la version 1.0 du serveur. Paramtres : ID est une chane de caractres.

ControlBuild Guide

56 / 81

Utilisation de lAPI COM

Retour : une CBCOMVariable correspondant la variable didentifiant ID du composant. Cas derreurs : la variable nexiste pas (code 39). Scenarios() Disponibilit : depuis la version 1.0 du serveur. Retour : une collection de CBCOMScenario, correspondant aux scnarios dfinis pour le composant. ScenarioOfName(Name) Disponibilit : depuis la version 1.0 du serveur. Paramtres : Name est une chane de caractres. Retour : un CBCOMScenario correspondant au scnario de nom Name dfini pour le composant. Cas derreurs : le scnario nexiste pas (code 37). ShowBehavior() Disponibilit : depuis la version 1.0 du serveur. Action : ouvre composant. lditeur sur le comportement du

HideBehavior()

Cas derreurs : - un problme est survenu lors de louverture de lditeur (code 38), - ou le comportement est dj ouvert (code 45). Disponibilit : depuis la version 1.0 du serveur. Action : ferme composant. lditeur sur le comportement du

Cas derreurs : lditeur est dj ferm (code 36). SetTrace(Trace) Disponibilit : depuis la version 1.0 du serveur. Action : demande la trace pour toutes les variables du composant si Trace est vrai, libre la trace si Trace est faux. Paramtres : Trace est un boolen. VersionNumber() Disponibilit : depuis la version 3.14 du serveur. Retour : un entier correspondant au numro de version du composant tel quil est dfini dans lhistorique du composant courant. Author() Disponibilit : depuis la version 3.14 du serveur. Retour : une chane de caractres correspondant au nom du dernier utilisateur ayant modifi le composant, tel quil est dfini dans lhistorique du composant courant. LastModificationDate() Disponibilit : depuis la version 3.14 du serveur. Retour : une chane de caractres correspondant la date de dernire modification du composant. Export(FileName) Disponibilit : depuis la version 4.01 du serveur. Action : sauvegarde le composant (au format xml ou csv) ladresse FileName. Paramtres : FileName est une chane de caractre. Cas derreurs : le fichier ne peut tre gnr (code 127). Import(FileName) Disponibilit : depuis la version 4.01 du serveur.

ControlBuild Guide

57 / 81

Utilisation de lAPI COM

Action : charge le composant (au format xml ou csv) partir du fichier FileName. Paramtres : FileName est une chane de caractre. Cas derreurs : le fichier est illisible (code 128). ExportVariables(FileName) Disponibilit : depuis la version 4.01 du serveur. Action : export les variables (au format xml ou var) ladresse FileName. Paramtres : FileName est une chane de caractre. Cas derreurs : le fichier ne peut tre gnr (code 129). ImportVariables(FileName) Disponibilit : depuis la version 4.01 du serveur. Action : charge les variables (au format xml ou var) partir du fichier FileName. Paramtres : FileName est une chane de caractre. Cas derreurs : le fichier est illisible (code 130). CreateView(Name, CBType) Disponibilit : depuis la version 4.01 du serveur. Action : cre une nouvelle vue de nom Name et de type CBType. Paramtres : Name et CBType sont des chanes des caractres. CBType peut avoir comme type valide {Mac, SFC, Ladder, FBD, Structured Text, C Code, Product, Abstract mac, Trace, Console, Mimic, MAN, Environnement, Scenario, Low voltage component, Low voltage diagram, Multiple scenario, Alarm manager, Documentation, Scenario report, Scenario error, Template, Organic MAC, Variables list}. Cas derreurs : - la vue existe dj (code 126). - le type de vue nest pas compatible avec le composant (code 142). Disponibilit : depuis la version 4.01 du serveur. Retour : une collection de CBCOMConsole, correspondant aux pupitres dfinis pour le composant. MANs() Disponibilit : depuis la version 4.01 du serveur. Retour : une collection de CBCOMMan, correspondant aux modles danimations dfinis pour le composant. Mimics() Disponibilit : depuis la version 4.01 du serveur. Retour : une collection de CBCOMMimic, correspondant aux synoptiques dfinis pour le composant. ImportConsole(FileName) Disponibilit : depuis la version 4.01 du serveur. Action : importe un pupitre (au format xpup) partir du fichier FileName. Paramtres : FileName est une chane de caractre. Cas derreurs : le fichier est illisible (code 138). ImportMAN(FileName) Disponibilit : depuis la version 4.01 du serveur.

Consoles()

ControlBuild Guide

58 / 81

Utilisation de lAPI COM

Action : importe un modle danimation (au format xman) partir du fichier FileName. Paramtres : FileName est une chane de caractre. Cas derreurs : le fichier est illisible (code 138). ImportMimic(FileName) Disponibilit : depuis la version 4.01 du serveur. Action : importe un synoptique (au format xsyn) partir du fichier FileName. Paramtres : FileName est une chane de caractre. Cas derreurs : le fichier est illisible (code 138). ImportScenario(FileName) Disponibilit : depuis la version 4.01 du serveur. Action : importe un scenario (au format xsce) partir du fichier FileName. Paramtres : FileName est une chane de caractre. Cas derreurs : le fichier est illisible (code 138). ConsoleOfName(Name) Disponibilit : depuis la version 4.01 du serveur. Paramtres : Name est une chane de caractres. Retour : une CBCOMConsole correspondant au pupitre de nom Name du composant. Cas derreurs : le pupitre nexiste pas (code 145). MANOfName(Name) Disponibilit : depuis la version 4.01 du serveur. Paramtres : Name est une chane de caractres. Retour : une CBCOMMan correspondant au modle danimation de nom Name du composant. Cas derreurs : le modle danimation nexiste pas (code 146). MimicOfName(Name) Disponibilit : depuis la version 4.01 du serveur. Paramtres : Name est une chane de caractres. Retour : une CBCOMMimic correspondant synoptique de nom Name du composant. Cas derreurs : le synoptique nexiste pas (code 147). au

3.21

CBCOMInstance
Cette classe correspond une instance dun composant. Cette classe possde les attributs suivants : ID Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant lidentifiant de linstance. Name Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant au nom de linstance.

ControlBuild Guide

59 / 81

Utilisation de lAPI COM

LastError

Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant la dernire erreur rencontre.

Et publie les fonctions suivantes : Task() Disponibilit : depuis la version 1.0 du serveur. Retour : une CBCOMFunctionalTask ou une CBCOMEmbeddedTask, correspondant la tche contenant linstance courante. Component() Disponibilit : depuis la version 1.0 du serveur. Retour : un CBCOMComponent, correspondant au composant de linstance courante. SubInstances() Disponibilit : depuis la version 1.0 du serveur. Retour : une collection de CBCOMInstance, correspondant aux sous-instances directes de linstance courante. Variables() Disponibilit : depuis la version 1.0 du serveur. Retour : une collection de CBCOMInstanciatedVariable, correspondant aux variables de linstance. VariablesOfKind(Kind) Disponibilit : depuis la version 1.0 du serveur. Paramtres : Kind est une chane de caractres. Retour : une collection de CBCOMInstanciatedVariable, correspondant aux variables ayant pour genre Kind. Voir aussi : lattribut Kind de la classe CBCOMVariable. VariablesOfType(Type) Disponibilit : depuis la version 1.0 du serveur. Paramtres : Type est une chane de caractres. Retour : une collection de CBCOMInstanciatedVariable, correspondant aux variables de type Type. Voir aussi : lattribut Type de la classe CBCOMVariable. VariableOfName(Name) Disponibilit : depuis la version 1.0 du serveur. Paramtres : Name est une chane de caractres. Retour : une CBCOMInstanciatedVariable correspondant la variable de nom Name de linstance. Cas derreurs : la variable nexiste pas (code 40). VariableOfID(ID) Disponibilit : depuis la version 1.0 du serveur. Paramtres : ID est une chane de caractres. Retour : une CBCOMInstanciatedVariable correspondant la variable didentifiant ID de linstance. Cas derreurs : la variable nexiste pas (code 39). IsActor() GetMatrix() Disponibilit : depuis la version 4.0 du serveur. Retour : un boolen indiquant si linstance est un acteur. Disponibilit : depuis la version 4.0 du serveur.

ControlBuild Guide

60 / 81

Utilisation de lAPI COM

Retour : une collection de 16 valeurs relles correspondant la matrice reprsentant la position de lacteur (quivalent aux valeurs des variables m11,m12, m13, m14, m21, , m44). Si linstance nest pas un acteur, la fonction renvoie une collection de 16 valeurs nulles. Scenarios() Disponibilit : depuis la version 1.0 du serveur. Retour : une collection de CBCOMInstanciatedScenario, correspondant aux scnarios dfinis pour linstance. ScenarioOfName(Name) Disponibilit : depuis la version 1.0 du serveur. Paramtres : Name est une chane de caractres. Retour : un CBCOMScenario correspondant au scnario de nom Name dfini pour linstance. Cas derreurs : le scnario nexiste pas (code 37). ShowBehavior() Disponibilit : depuis la version 1.0 du serveur. Action : ouvre linstance. lditeur sur le comportement de

HideBehavior()

Cas derreurs : - un problme est survenu lors de louverture de lditeur (code 38), - ou le comportement est dj ouvert (code 45). Disponibilit : depuis la version 1.0 du serveur. Action : ferme linstance. lditeur sur le comportement de

Cas derreurs : lditeur est dj ferm (code 36). ShowConsole(Name) Disponibilit : depuis la version 1.0 du serveur. Action : affiche le pupitre de nom Name. Paramtres : Name est une chane de caractres. Cas derreurs : - le pupitre nexiste pas (code 46), - ou est dj ouvert (code 47). Disponibilit : depuis la version 1.0 du serveur. Action : ferme le pupitre de nom Name. Paramtres : Name est une chane de caractres. Cas derreurs : le pupitre nexiste pas ou est dj ferm (code 48). ShowMimic(Name) Disponibilit : depuis la version 1.0 du serveur. Action : ouvre le synoptique de nom Name. Paramtres : Name est une chane de caractres. Cas derreurs : - le synoptique nexiste pas (code 49), - ou est dj ouvert (code 50). Disponibilit : depuis la version 1.0 du serveur. Action : ferme le synoptique de nom Name.

HideConsole(Name)

HideMimic(Name)

ControlBuild Guide

61 / 81

Utilisation de lAPI COM

Paramtres : Name est une chane de caractres. Cas derreurs : le synoptique nexiste pas ou est dj ouvert (code 51). SetTrace(Trace) Disponibilit : depuis la version 1.0 du serveur. Action : Demande la trace pour toutes les variables de linstance si Trace est vrai, libre la trace si Trace est faux. Paramtres : Trace est un boolen. ActiveStage(GrafcetName, StepNumber) Disponibilit : depuis la version 1.0 du serveur. Paramtres : GrafcetName est une chane de caractres et StepNumber est un entier. Retour : : Renvoie ltat actif de ltape StepNumber du grafcet GrafcetName. Cas derreurs : - linstance nest pas un Grafcet (code 41), - le composant na pas t trouv (code 42), - le Grafcet nexiste pas dans le composant (code 43), - ou ltape nexiste pas dans le Grafcet (code 44). Disponibilit : depuis la version 3.14 du serveur. Paramtres : Name et Value sont des chanes de caractres. Retour : une collection de CBCOMInstanciatedVariable correspondant aux variables de linstance possdant la valeur Value pour la proprit de nom Name. Exemple en VisualBasic : name = boolean_property variables = instance.VariablesOfProperty(name, True) GetMatrix Disponibilit : depuis la version 4.0 du serveur. Retour : une collection de 16 valeurs relles correspondant la matrice reprsentant la position de lacteur. Properties() Disponibilit : depuis la version 4.0 du serveur. Retour : une collection de CBCOMExternalProperty correspondant aux proprits externes dfinies pour la variable courante. PropertyOfName(Name) Disponibilit : depuis la version 4.0 du serveur. Paramtres : Name est une chane de caractres. Retour : une CBCOMExternalProperty correspondant la proprit externe de nom Name. Cas derreurs : la proprit Name nest pas dfinie pour la variable courante (code 57). ExportMnemonics(FileName, Always) Disponibilit : depuis la version 4.01 du serveur. Action : sauvegarde les mnmoniques (au format mne)

VariablesOfProperty(Name, Value)

ControlBuild Guide

62 / 81

Utilisation de lAPI COM

ladresse FileName. Paramtres : FileName est une chane de caractre, Always est un boolen. Always permet la sauvegarde aussi des variables sans mnmoniques. Cas derreurs : le fichier ne peut tre gnr (code 114) ExportProperties(FileName, OnlyEmbedded) Disponibilit : depuis la version 4.01 du serveur. Action : sauvegarde les proprits (au format csv) ladresse FileName. Paramtres : FileName est une chane de caractre, OnlyEmbedded est un boolen. OnlyEmbedded permet uniquement la sauvegarde des proprits des nuds embarqus. Cas derreurs : le fichier ne peut tre gnr (code 116) ExportVariables(FileName, Recursive) Disponibilit : depuis la version 4.01 du serveur. Action : sauvegarde les variables (au format vsi) ladresse FileName. Paramtres : FileName est une chane de caractre, Recursive est un boolen. Recursive permet la sauvegarde rcursive des variables suivant les instances. Cas derreurs : le fichier ne peut tre gnr (code 118) ImportMnemonics(FileName, Overload) Disponibilit : depuis la version 4.01 du serveur. Action : charge les mnmoniques (au format mne) partir du fichier FileName. Paramtres : FileName est une chane de caractre, Overload est un boolen. Overload surcharge les mnmoniques existant. Cas derreurs : - le fichier est illisible (code 112) - des variables ont t crass (code 113) Disponibilit : depuis la version 4.01 du serveur. Action : charge les proprits (au format csv) partir du fichier FileName. Paramtres : FileName est une chane de caractre. Cas derreurs : le fichier est illisible (code 115) ImportVariables(FileName) Disponibilit : depuis la version 4.01 du serveur. Action : charge les variables (au format vsi) partir du fichier FileName. Paramtres : FileName est une chane de caractre. Cas derreurs : le fichier est illisible (code 117)

ImportProperties(FileName)

3.22

CBCOMVariable
Cette classe correspond la dfinition des variables dans un composant. Cette classe possde les attributs suivants :

ControlBuild Guide

63 / 81

Utilisation de lAPI COM

ID

Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant lidentifiant de la variable.

Name

Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant au nom de la variable.

Comment

Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant au commentaire associ la variable.

CBType

Disponibilit : depuis la version 3.14 du serveur. Retour : une chane de caractre correspondant au type de la variable. Les types possibles pour une variable sont les suivants : BOOL, BYTE, WORD, DWORD, SINT, INT, DINT, CHAR, REAL, DATE, DATE_AND_TIME, TIME, TIME_OF_DAY, ARRAY of BOOL, ARRAY of BYTE, ARRAY of WORD, ARRAY of DWORD, ARRAY of SINT, ARRAY of INT, ARRAY of DINT, ARRAY of CHAR, ARRAY of REAL.

CBKind

Disponibilit : depuis la version 3.14 du serveur. Retour : une chane de caractres correspondant au genre de la variable. Les genres possibles pour une variable sont les suivants : Input, Output, Local, Parameter, Fault, et Over control.

CBDefaultValue

Disponibilit : depuis la version 3.14 du serveur. Action : retourne la valeur par dfaut de la variable. Retour : le retour est dpendant du type de la variable.

LastError

Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant la dernire erreur rencontre.

et publie les fonctions suivantes : DefaultValue() Disponibilit : depuis la version 1.0 du serveur. Retour : la valeur de lattribut CBDefaultValue. Remarque : cette fonction a pour but de conserver une compatibilit ascendante entre ControlBuild 3.11 et ControlBuild 3.20. Type() Disponibilit : depuis la version 1.0 du serveur. Retour : la valeur de lattribut CBType. Remarque : cette fonction a pour but de conserver une compatibilit ascendante entre ControlBuild 3.11 et ControlBuild 3.20. Kind() Disponibilit : depuis la version 1.0 du serveur.

ControlBuild Guide

64 / 81

Utilisation de lAPI COM

Retour : la valeur de lattribut CBKind. Remarque : cette fonction a pour but de conserver une compatibilit ascendante entre ControlBuild 3.11 et ControlBuild 3.20. ArraySize() Disponibilit : depuis la version 1.0 du serveur. Retour : un entier donnant la taille du tableau, si cette variable est un tableau. Cas derreur : la variable courante nest pas un tableau (code 76).

3.23

CBCOMInstanciatedVariable
Cette classe correspond la dfinition des variables dans une instance. Cette classe possde les attributs suivants : ID Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant lidentifiant de la variable. Name Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant au nom de la variable. CBType Disponibilit : depuis la version 3.14 du serveur. Retour : une chane de caractre correspondant au type de la variable. Voir aussi : lattribut Type de la classe CBCOMVariable. CBKind Disponibilit : depuis la version 3.14 du serveur. Retour : une chane de caractres correspondant au genre de la variable. Voir aussi : lattribut Kind de la classe CBCOMVariable. Comment Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant au commentaire associ la variable. Nickname Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant au mnmonique associ la variable. CBFunctionalName Disponibilit : depuis la version 3.14 du serveur. Retour : une chane de caractres correspondant au nom fonctionnel de la variable. CBCName Disponibilit : depuis la version 3.14 du serveur. Retour : une chane de caractres correspondant au nom C de la variable. CBDefaultValue Disponibilit : depuis la version 3.14 du serveur.

ControlBuild Guide

65 / 81

Utilisation de lAPI COM

Action : retourne la valeur par dfaut de la variable. Retour : le retour est dpendant du type de la variable. LastError Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant la dernire erreur rencontre. et publie les fonctions suivantes : DefaultValue() Disponibilit : depuis la version 1.0 du serveur. Retour : la valeur de lattribut CBDefaultValue. Remarque : cette fonction a pour but de conserver une compatibilit ascendante entre ControlBuild 3.11 et ControlBuild 3.20. Type() Disponibilit : depuis la version 1.0 du serveur. Retour : la valeur de lattribut CBType. Remarque : cette fonction a pour but de conserver une compatibilit ascendante entre ControlBuild 3.11 et ControlBuild 3.20. Kind() Disponibilit : depuis la version 1.0 du serveur. Retour : la valeur de lattribut CBKind. Remarque : cette fonction a pour but de conserver une compatibilit ascendante entre ControlBuild 3.11 et ControlBuild 3.20. CName() Disponibilit : depuis la version 1.0 du serveur. Retour : la valeur de lattribut CBCName. Remarque : cette fonction a pour but de conserver une compatibilit ascendante entre ControlBuild 3.11 et ControlBuild 3.20. FunctionalName() Disponibilit : depuis la version 1.0 du serveur. Retour : la valeur de lattribut CBFunctionalName. Remarque : cette fonction a pour but de conserver une compatibilit ascendante entre ControlBuild 3.11 et ControlBuild 3.20. Address() Disponibilit : depuis la version 1.0 du serveur. Retour : un entier correspondant ladresse mmoire embarque de la variable. Cas derreurs : la variable courante nest pas une variable embarque (code 70). Instance() Disponibilit : depuis la version 1.0 du serveur. Retour : une CBCOMInstance correspondant linstance contenant la variable courante. Producer() Disponibilit : depuis la version 1.0 du serveur. Retour : une CBCOMInstanciatedVariable correspondant la variable productrice de la variable courante, au niveau tche. Autrement dit, il sagit de la variable

ControlBuild Guide

66 / 81

Utilisation de lAPI COM

dentre de la tche produisant la variable courante. Cas derreurs : - la variable courante est une sortie (code 55), - ou la variable productrice na pas t trouve (code 56). Disponibilit : depuis la version 1.0 du serveur. Retour : une collection de CBCOMInstanciatedVariable correspondant aux variables consommatrices de la variable courante, au niveau tche. Autrement dit, il sagit des variables de sortie de la tche consommatrices de la variable courante. Properties() Disponibilit : depuis la version 1.0 du serveur. Retour : une collection de CBCOMExternalProperty correspondant aux proprits externes dfinies pour la variable courante. PropertyOfName(Name) Disponibilit : depuis la version 1.0 du serveur. Paramtres : Name est une chane de caractres. Retour : une CBCOMExternalProperty correspondant la proprit externe de nom Name. Cas derreurs : la proprit Name nest pas dfinie pour la variable courante (code 57). GetValue() Disponibilit : depuis la version 1.0 du serveur. Action : retourne la valeur courante de la variable. Retour : le retour de cette fonction est dpendant du type de la variable. SetValue(Value) Disponibilit : depuis la version 1.0 du serveur. Action : positionne la valeur de la variable Value. Paramtres : le type de Value doit tre dpendant du type de la variable. Cas derreurs : - Value nest pas du mme type que la variable (code 52), - la variable est un tableau de caractres et Value a une longueur suprieure la taille alloue pour la variable (code 53), - ou la variable est un tableau et Value nest pas de la mme taille (code 54). Disponibilit : depuis la version 1.0 du serveur. Action : demande la trace pour toutes les variables de linstance si Trace est vrai, libre la trace si Trace est faux. Paramtres : Trace est un boolen. ForceWith(Value) Disponibilit : depuis la version 1.0 du serveur. Action : force la valeur de la variable Value. Paramtres : le type de Value doit tre dpendant du type de la variable. Cas derreurs :

Consumers()

SetTrace(Trace)

ControlBuild Guide

67 / 81

Utilisation de lAPI COM

Unforce() IsForced()

Value nest pas du mme type que la variable (code 52), - la variable est un tableau de caractres et Value a une longueur suprieure la taille alloue pour la variable (code 53), - ou la variable est un tableau et Value nest pas de la mme taille (code 54). Disponibilit : depuis la version 1.0 du serveur. Action : annule le forage sur la variable. Disponibilit : depuis la version 1.0 du serveur. Retour : un boolen correspondant ltat de forage de la variable.

OrganAddress()

Disponibilit : depuis la version 1.0 du serveur. Retour : un entier correspondant ladresse de la variable en organique. Cas derreurs : - la variable courante nest pas une variable embarque (code 70), - ou ladresse de la variable au niveau organique na pas pu tre dtermine (code 71). Disponibilit : depuis la version 1.0 du serveur. Retour : un entier correspondant ladresse de la variable en dbarqu (autrement dit en fonctionnel).

OffboardAddress()

ArraySize()

Disponibilit : depuis la version 1.0 du serveur. Retour : un entier donnant la taille du tableau, si cette variable est un tableau. Cas derreur : la variable courante nest pas un tableau (code 76).

TerminalProducer()

Disponibilit : depuis la version 3.14 du serveur. Retour : une CBCOMInstanciatedVariable correspondant la variable terminale productrice de la variable courante. Cas derreurs : - la variable courante est une sortie (code 55), - ou la variable productrice na pas t trouve (code 56). Disponibilit : depuis la version 3.14 du serveur. Retour : une collection de CBCOMInstanciatedVariable correspondant aux variables finales consommatrices de la variable courante.

FinalConsumers()

3.24

CBCOMExternalProperty
Cette classe correspond aux proprits externes dfinies pour une variable instancie. Cette classe possde les attributs suivants :

ControlBuild Guide

68 / 81

Utilisation de lAPI COM

Name

Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant au nom de la proprit.

LastError

Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant la dernire erreur rencontre.

et publie les fonctions suivantes : DefaultValue() Disponibilit : depuis la version 1.0 du serveur. Action : retourne la valeur par dfaut de la proprit. Retour : le retour de cette fonction est dpendante du type de la proprit. Cas derreurs : la proprit courante ne possde pas de valeur par dfaut (code 58). GetValue() Disponibilit : depuis la version 1.0 du serveur. Action : retourne la valeur courante de la proprit. Retour : le retour de cette fonction est dpendante du type de la variable. Cas derreurs : aucune valeur na t attribue la proprit courante (code 59). SetValue(Value) Disponibilit : depuis la version 1.0 du serveur. Action : positionne la valeur de la proprit Value. Paramtres : le type de Value doit tre dpendant du type de la proprit. Cas derreurs : - Value nest pas du mme type que la proprit (code 52), - ou Value nest pas une valeur valide pour le type de proprit : la proprit est de type numr et Value ne fait pas partie des valeurs possibles, ou la proprit est de type champ de bits et Value ne contient pas uniquement des 0 et des 1 (code 67).

3.25

CBCOMView
La classe CBCOMView est une classe abstraite ne possdant aucun attribut et ne publiant aucune fonction.

3.26

CBCOMConsole
Cette classe correspond aux pupitres dfinis sur les composants ou leurs instanciations. Cette classe possde les attributs suivants : Name Disponibilit : depuis la version 4.01 du serveur.

ControlBuild Guide

69 / 81

Utilisation de lAPI COM

Retour : une chane de caractres correspondant au nom du pupitre. LastError Disponibilit : depuis la version 4.01 du serveur. Retour : une chane de caractres correspondant la dernire erreur rencontre. et publie la fonction suivante : OpenEditor() Disponibilit : depuis la version 4.01 du serveur. Action : affiche le pupitre. Cas derreurs : le pupitre est dj ouvert (code 136). Disponibilit : depuis la version 4.01 du serveur. Action : ferme le pupitre. Cas derreurs : le pupitre est dj ferm (code 135).

CloseEditor

3.27

CBCOMMimic
Cette classe correspond aux synoptiques dfinis sur les composants ou leurs instanciations. Cette classe possde les attributs suivants : Name Disponibilit : depuis la version 4.01 du serveur. Retour : une chane de caractres correspondant au nom du synoptique. LastError Disponibilit : depuis la version 4.01 du serveur. Retour : une chane de caractres correspondant la dernire erreur rencontre. et publie la fonction suivante : OpenEditor() Disponibilit : depuis la version 4.01 du serveur. Action : affiche le synoptique. Cas derreurs : le synoptique est dj ouvert (code 136). Disponibilit : depuis la version 4.01 du serveur. Action : ferme le synoptique. Cas derreurs : le synoptique est dj ferm (code 135).

CloseEditor

3.28

CBCOMMan
Cette classe correspond aux modles danimations dfinis sur les composants ou leurs instanciations. Cette classe possde les attributs suivants : Name Disponibilit : depuis la version 4.01 du serveur.

ControlBuild Guide

70 / 81

Utilisation de lAPI COM

Retour : une chane de caractres correspondant au nom du modle danimation. LastError Disponibilit : depuis la version 4.01 du serveur. Retour : une chane de caractres correspondant la dernire erreur rencontre. et publie la fonction suivante : OpenEditor() Disponibilit : depuis la version 4.01 du serveur. Action : affiche le modle danimation. Cas derreurs : le modle danimation est dj ouvert (code 136). Disponibilit : depuis la version 4.01 du serveur. Action : ferme le modle danimation. Cas derreurs : le modle danimation est dj ferm (code 135).

CloseEditor

3.29

CBCOMScenario
Cette classe correspond aux scnarios dfinis sur les composants. Cette classe possde les attributs suivants : Name Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant au nom du scnario. LastError Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant la dernire erreur rencontre. et publie la fonction suivante : Run(NoSynchronous) Disponibilit : depuis la version 1.0 du serveur. Action : Lance le scnario sur toutes les instances du composant possdant ce scnario. Si NoSynchronous est vrai, le contrle est rendu lappelant sans attendre la fin de lexcution du scnario. Paramtres : NoSynchronous est un boolen. Retour : un boolen correspondant la bonne excution de lopration. OpenEditor() Disponibilit : depuis la version 4.01 du serveur. Action : affiche le scnario. Cas derreurs : le scnario est dj ouvert (code 136). Disponibilit : depuis la version 4.01 du serveur. Action : ferme le scnario.

CloseEditor

ControlBuild Guide

71 / 81

Utilisation de lAPI COM

Cas derreurs : le scnario est dj ferm (code 135).

3.30

CBCOMInstanciatedScenario
Cette classe correspond aux scnarios dfinis sur les instances. Cette classe possde les attributs suivants : Name Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant au nom du scnario. LastError Disponibilit : depuis la version 1.0 du serveur. Retour : une chane de caractres correspondant la dernire erreur rencontre. et publie la fonction suivante : Run(NoSynchronous) Disponibilit : depuis la version 1.0 du serveur. Action : Lance le scnario sur toutes les instances du composant possdant ce scnario. Si NoSynchronous est vrai, le contrle est rendu lappelant sans attendre la fin de lexcution du scnario. Paramtres : NoSynchronous est un boolen. Retour : un boolen correspondant la bonne excution de lopration. OpenEditor() Disponibilit : depuis la version 4.01 du serveur. Action : affiche le scnario. Cas derreurs : le scnario est dj ouvert (code 136). Disponibilit : depuis la version 4.01 du serveur. Action : ferme le scnario. Cas derreurs : le scnario est dj ferm (code 135).

CloseEditor

3.31

CBCOMProduct
Cette classe correspond une instance dun produit. Cette classe possde les attributs suivants : Disponibilit : depuis la version 4.0 du serveur. LastError Retour : une chane de caractres correspondant la dernire erreur rencontre.

et publie les fonctions suivantes : GetMatrix Disponibilit : depuis la version 4.0 du serveur.

ControlBuild Guide

72 / 81

Utilisation de lAPI COM

Retour : une collection de 16 valeurs relles correspondant la matrice reprsentant la position du produit. Exemple en VisualBasic : 'translation Dim coll as New Collection tmp = a_product.GetMatrix For Each pos In tmp coll.Add pos Next positionX = coll.Item(4) positionY = coll.Item(8) positionZ = coll.Item(12) GetStatus Disponibilit : depuis la version 4.0 du serveur. Retour : un entier correspondant ltat courant du produit . Valeurs usuelles : 0 => cr/actif , 2 => dtruit/inactif

ControlBuild Guide

73 / 81

Utilisation de lAPI COM

Exemples Exemples

Ce chapitre prsente deux exemples dutilisation crits en Visual Basic et utilisant le serveur COM/DCOM ControlBuild.

4.1

Exemple 1
Lexemple de routine suivant permet dafficher toutes les applications contenues dans le projet examples_FR.cbp dans une fentre de message. Private Sub ListAllApplications_Click () On Error GoTo handleError ' Dclaration des variables locales Dim server As CBCOMServer.CBCOMServer ' Instance serveur COM Dim project As CBCOMServer.CBCOMProject ' Instance projet Dim applications As CBCOMServer.COMCollection ' Collection d'applications Dim appli_list As String ' Chaine listant les applications Dim i As Byte ' Cration du serveur Set server = CreateObject ("CBCOMServer") ' Ouverture du projet Set project = server.OpenProject ("examples_FR.cbp", "C:\ControlBuild\tooldir\examples\examples_FR") ' Rcupration de la liste des applications du projet Set applications = project.applications ' Contruction de la chaine listant le nom des applications For i = 1 To applications.Count appli_list = appli_list & Chr (13) & applications.Item (i).Name & Chr (10) Next ' Affichage de la liste des noms des applications MsgBox appli_list, vbOK + vbInformation, "Exemple 1" ' Libration des ressources mmoires Set server = Nothing Set project = Nothing Set applications = Nothing Exit Sub ' Gestion des erreurs handleError:

ControlBuild Guide

74 / 81

Utilisation de lAPI COM

MsgBox server.LastError, vbOK + vbCritical, "Erreur" End Sub

4.2

Exemple 2
Lexemple de routine suivant permet de dmarrer lapplication fonctionnelle perceuse du projet examples_FR.cbp, dafficher lditeur darbre, le synoptique perceuse, de lancer la simulation en fonctionnel et dexcuter le scnario demarre_st. Private Sub RunScenarioPerceuse_Click () On Error GoTo handleError ' Dclaration des variables locales Dim res As Long Dim server As CBCOMServer.CBCOMServer ' Instance serveur COM Dim project As CBCOMServer.CBCOMProject ' Instance projet Dim application As CBCOMServer.CBCOMApplication ' Instance application Dim task As CBCOMServer.CBCOMFunctionalTask ' Instance tache Dim root As CBCOMServer.CBCOMInstance ' Instance instance Dim start_scen As CBCOMServer.CBCOMInstanciatedScenario ' Instance scenario ' Cration du serveur Set server = CreateObject ("CBCOMServer") ' Ouverture du projet Set project = server.OpenProject ("examples_FR.cbp", "C:\ControlBuild\tooldir\examples\examples_FR") ' Ouverture de lapplication perceuse Set application = project.OpenApplication ("perceuse") ' Ouverture de la tache fonctionnelle sur la perceuse Set task = application.OpenFunctionalTask ("perceuse") ' Rcupration de linstance de lapplication perceuse Set root = task.RootInstance ' Rcupration du scnario demarre_st de lapplication perceuse Set start_scen = root.ScenarioOfName ("demarre_st") ' Lancement de la simulation res = task.StartExecution If res = 4097 Then GoTo handleError ' Affichage du synoptique perceuse de lappication root.ShowMimic ("perceuse") ' Passage en continu de la simulation res = task.ResumeExecution If res = 4097 Then GoTo handleError ' Excution du scnario start_scen.Run (False) MsgBox "scnario en cours d'excution", vbInformation, "Exemple 2"

ControlBuild Guide

75 / 81

Utilisation de lAPI COM

' Fermeture du synoptique root.HideMimic ("perceuse") ' Arrt de la simulation res = task.EndExecution If res = 4097 Then GoTo handleError ' Libration des ressources mmoires Set server = Nothing Set project = Nothing Set application = Nothing Set task = Nothing Set root = Nothing Set start_scen = Nothing Exit Sub ' Gestion des erreurs handleError: MsgBox server.LastError, vbOK + vbCritical, "Erreur" End Sub

ControlBuild Guide

76 / 81

Utilisation de lAPI COM

Annexe : lliste des erreurs possibles Annexe iste des erreurs possibles

Les tableaux ci-dessous prsentent les messages derreur en anglais et en franais en rapport avec le code derreur associ. Le code correspond la valeur retourne par lattribut LastErrorCode. Lattribut LastError est compos du numro de lerreur donn sur 3 caractres, suivi par le texte correspondant lerreur, en fonction de la langue dans laquelle ControlBuild a t install (exemple : "002-Arguments invalides"). Code 1 2 3 4 5 6 7 8 9 10 11 12 Texte anglais Project <projectName> is already opened Invalid arguments Unable to open project <projectPath>\<projectName> An application is opened. Unable to close the current project Application <applicationName> does not exist Application of ID <ID> does not exist Organic device <organicDeviceName> does not exist Functional task <taskName> is opened. Unable to close the current application Configuration <configurationName> is opened. Unable to close the current application Configuration <configurationName> is already opened Configuration <configurationName> does not exist A problem occurred when opening <configurationName> <specificError> * cf. Nota erreur 12 Configuration of ID <ID> does not exist A problem occurred when opening configuration of ID <ID> <specificError>* * cf. Nota erreur 12 Functional task <taskName> is already opened Functional task <taskName> does not exist Target of ID <ID> does not exist Target <targetName> does not exist Organ of ID <ID> does not exist Organ <organName> does not exist Task of ID <ID> does not exist Task <taskName> does not exist <taskName>: unable to end execution Texte franais Le projet <projectName> est dj ouvert Arguments invalides Impossible d'ouvrir le projet <projectPath>\<projectName> Une application est ouverte. Impossible de fermer le projet courant L'application <applicationName> n'existe pas L'application d'ID <ID> n'existe pas L'organe <organicDeviceName> n'existe pas La tche fonctionnelle <taskName> est ouverte. Impossible de fermer l'application courante La configuration <configurationName> est ouverte. Impossible de fermer l'application courante La configuration <configurationName> est dj ouverte La configuration <configurationName> nexiste pas Un problme est survenu lors de l'ouverture de <configurationName> <specificError> * cf. Nota erreur 12 La configuration dID <ID> n'existe pas Un problme est survenu lors de l'ouverture de la configuration d'ID <ID><specificError> * cf. Nota erreur 12 La tche fonctionnelle <taskName> est dj ouverte La tche fonctionnelle <taskName> n'existe pas La cible d'ID <ID> n'existe pas La cible <targetName> n'existe pas L'organe d'ID <ID> n'existe pas L'organe <organName> n'existe pas La tche d'ID <ID> n'existe pas La tche <taskName> n'existe pas <taskName> : impossible darrter lexcution

13 14

15 16 17 18 19 20 21 22 23

ControlBuild Guide

77 / 81

Utilisation de lAPI COM

Code 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

Texte anglais <taskName>: unable to execute one step <taskName>: unable to start the trace <taskName>: unable to resume execution <taskName>: unable to stop the trace <taskName>: unable to suspend execution Component of ID <ID> does not exist Component <componentName> does not exist Instance of ID <ID> does not exist Instance <instanceName> does not exist Current task is not running <taskName>: unable to start simulation Variable of nickname <nickname> does not exist Unable to hide behavior Scenario <scenarioName> does not exist Unable to show behavior Variable of ID <ID> does not exist Variable <variableName> does not exist Incorrect component type Component not found Grafcet not found Step not found Behavior already opened Unable to open console Console already opened Unable to hide console Unable to open mimic Mimic already opened Unable to hide mimic Unexpected type String size greater than expected size Array size not equal to expected size No producer available Internal error: unable to find producer Unknown property No default value for property named <propertyName> No value available Unable to open scenario Unable to load task: <errorString> Unable to open project of ID <ID> in <projectPath> No organic configuration defined A problem occurred when opening organic configuration <errorString>* * cf. Nota erreur 64

Texte franais <taskName> : impossible d'effectuer un pas d'excution <taskName> : impossible de dmarrer la trace <taskName> : impossible de reprendre l'excution <taskName> : impossible d'arrter la trace <taskName> : impossible de suspendre l'excution Le composant d'ID <ID> n'existe pas Le composant <componentName> n'existe pas L'instance d'ID <ID> n'existe pas L'instance <instanceName> n'existe pas La tche courante n'est pas en cours d'excution <taskName> : impossible de dmarrer la simulation La variable de mnmonique <nickname> n'existe pas Impossible de fermer le comportement Le scnario <scenarioName> n'existe pas Impossible d'ouvrir le comportement La variable d'ID <ID> n'existe pas La variable <variableName> n'existe pas Type de composant incorrect Composant introuvable Grafcet non dfini Etape non dfinie Le comportement est dj ouvert Impossible d'ouvrir le pupitre Le pupitre est dj ouvert Impossible de fermer le pupitre Impossible d'ouvrir le synoptique Le synoptique est dj ouvert Impossible de fermer le synoptique Type incorrect Chane trop grande Tableau de taille incorrecte Aucun producteur pour cette variable Erreur interne : impossible de trouver le producteur Proprit inconnue La proprit <propertyName> ne possde pas de valeur par dfaut Aucune valeur dfinie Impossible d'ouvrir le scnario Chargement de la tche impossible : <errorString> Impossible douvrir le projet dID <ID> dans le rpertoire <projectPath> Il nexiste pas de configuration organique Un problme est survenu lors de louverture de la configuration organique <errorString>* * cf. Nota erreur 64

ControlBuild Guide

78 / 81

Utilisation de lAPI COM

Code 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98

Texte anglais Function not available in organic view Unable to get signature of current task <value> is not a valid value for this property Not yet implemented Unable to find task of current instance Not embedded variable Unable to find corresponding organic variable Unable to start the trace Unable to stop the trace No root instance No root instance Not an array variable Empty collection Subscript out of bounds Target already connected Unable to connect Target not connected: unable to disconnect Action not allowed: a simulation is running Obsolete function Unable to create project <projectPath>\<projectName> Unable to create organic device <organicDeviceName> Unable to modify organic device <organicDeviceName> Unable to delete organic device <organicDeviceName> Unable to modify embedded configuration <embeddedConfigurationName> Unable to delete embedded configuration <embeddedConfigurationName> Unable to create target <targetName> Unable to modify target <targetName> Unable to delete target <targetName> Configuration <configurationName> already exists Unable to create configuration <configurationName> Unable to assign organ <organName> to target <targetName> A problem occurred while generating embedded code <userName> : unknown user A problem occurred while creating

Texte franais Fonction non disponible en vue organique Impossible dobtenir la signature de la tche courante <valeur> n'est pas une valeur valide pour cette proprit Non implment Impossible de trouver la tche de linstance courante Variable non embarque Impossible de trouver la variable organique correspondante Impossible de dmarrer la trace Impossible darrter la trace La configuration organique courante ne possde pas dinstance racine La tche courante ne possde pas dinstance racine La variable nest pas un tableau Collection vide Indice en dehors des bornes de la collection La cible est dj connecte Connexion impossible La cible n'est pas connecte : dconnexion impossible Action non autorise : une simulation est en cours Fonction obsolte Impossible de crer le projet <projectPath>\<projectName> Impossible de crer lorgane <organicDeviceName> Impossible de modifier lorgane <organicDeviceName> Impossible de supprimer lorgane <organicDeviceName> Impossible de modifier la configuration embarque <embeddedConfigurationName> Impossible de supprimer la configuration embarque <embeddedConfigurationName> Impossible de crer la cible <targetName> Impossible de modifier la cible <targetName> Impossible de supprimer la cible <targetName> La configuration <configurationName> existe dj Impossible de crer la configuration <configurationName> Impossible daffecter lorgane <organName> la cible <targetName> Un problme est survenu lors de la gnration du code embarqu <userName> : utilisateur inconnu Un problme est survenu lors de la

ControlBuild Guide

79 / 81

Utilisation de lAPI COM

Code 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129

Texte anglais Windows executable Users management is not used Unknown or unauthorized function A problem occurred while generating documentation Unable to assign organ of ID <organID> to target of ID <targetID> Authentification failed, make sure you have entered a valid User Name and Password. All editors have not been closed Unable to subscribe to variable Unable to force local or bit variable <IdentificationProduct> COM/DCOM server unvailable: <licenseProtectionError> Group <Name> already exists or is not a valid group name Application or library <FileName> does not exist Application or library <Name> is not a valid application name Unable to save project in Directory <ProjectPath> Unable to load mnemonics from <FileName> file Errors appeared when importing mnemonics : <ErrorReport> Unable to save mnemonics to <FileName> file Unable to load properties from <FileName> file Unable to save properties to <FileName> file Unable to load values from <FileName> file Unable to save values to <FileName> file Application or library <Name> already exists Unable to import <FileName> file XML component Library <Name> does not exist Library of ID <Identifier> does not exist Section <Name> does not exist Library type <Type> is invalid Section <Name> already exists View <Name> already exists Unable to export component to <FileName> file Unable to import component from <FileName> file Unable to export variables to <FileName>

Texte franais cration de lexcutable Windows La gestion des utilisateurs nest pas utilise Fonction inconnue ou non autorise Un problme est survenu lors de la gnration de la documentation Impossible daffecter lorgane dID <organID> la cible dID <targetID> L'authentification a chou, assurez-vous que vous avez entr un nom d'utilisateur et un mot de passe valides Tous les diteurs nont pas t ferms Impossible dabonner la variable Impossible de forcer une variable locale ou un bit Le server COM/DCOM <IdentificationProduct> n'est pas disponible : <licenseProtectionError> Le groupe <Name> existe dj ou son nom n'est pas un nom de groupe valide L'application ou la bibliothque <FileName> n'existe pas L'application ou la bibliothque <Name> n'est pas un nom d'application valide Impossible de sauvegarder le projet dans le rpertoire <ProjectPath> Impossible d'importer les mnmoniques depuis le fichier <FileName> Des erreurs sont apparu lors de l'import des mnmoniques : <ErrorReport> Impossible d'exporter les mnmoniques vers le fichier <FileName> Impossible d'importer les proprits depuis le fichier <FileName> Impossible d'exporter les proprits vers le fichier <FileName> Impossible d'importer les variables depuis le fichier <FileName> Impossible d'exporter les variables vers le fichier <FileName> L'application ou la bibliothque <Name> existe dj Impossible d'importer le fichier composant XML <FileName> La bibliothque <Name> n'existe pas La bibliothque d'ID <Identifier> n'existe pas La section <Name> n'existe pas Le type de bibliothque <Type> n'est pas valide La section <Name> existe dj La vue <Name> existe dj Impossible d'exporter le composant vers le fichier <FileName> Impossible d'importer le composant depuis le fichier <FileName> Impossible d'exporter les variables vers le

ControlBuild Guide

80 / 81

Utilisation de lAPI COM

Code 130 133 134 135 136 138 139 140 141 142 143 144 145 146 147 148 149 150

Texte franais fichier <FileName> Impossible d'importer les variables depuis le fichier <FileName> Aucun projet n'est ouvert Le composant <Name> existe dj Aucun diteur n'est ouvert Impossible d'ouvrir l'diteur Impossible d'importer la vue depuis le fichier <FileName> Vous devez tre administrateur pour modifier les droits utilisateur L'diteur <Editor> n'est pas un diteur valide Right <Right> is not a valid right Le droit <Right> n'est pas un droit valide Type view <Name> does not exist for this Le type de vue <Name> n'existe pas pour component ce composant Type component <CBType> does not exist Le type de composant <CBType> n'existe for this application or library pas pour cette application ou cette bibliothque Name component <Name> is invalid Le nom <Name> n'est pas un nom de composant valide Console <Name> does not exist Le pupitre <Name> n'existe pas MAN <Name> does not exist Le MAN <Name> n'existe pas Mimic <Name> does not exist Le synoptique <Name> n'existe pas Unable to import Mimic view into non MAC Impossible d'importer une vue synoptique Component dans un composant non MAC Unable to force current variable Impossible de forcer la variable courante Unable to unforce variable Impossible d'annuler le forage de la variable

Texte anglais file Unable to import variables from <FileName> file No project is open Component <Name> already exists No editor is open Unable to open editor Unable to import view from <FileName> file You must be administrator for modify user rights Editor <Editor> is not a valid editor

Nota erreur 12 : Lerreur spcifique est lune des suivantes : Texte anglais Unable to read configuration file <configurationFile> Incorrect number of organs Organ <organName> not defined in embedded configuration Incorrect number of tasks Task <taskName> not defined in organ <organName> Nota erreur 64 : Lerreur spcifique est lune des suivantes : Texte anglais No organic configuration defined Action not allowed: a simulation is running Texte franais Il nexiste pas de configuration organique Action non autorise : une simulation est en cours Texte franais Impossible de lire le fichier de configuration <configurationFile> Nombre dorganes incorrect Lorgane <organName> nest pas dfini dans la configuration embarque Nombre de tches incorrect La tche <taskName> nest pas dfinie dans lorgane <organName>

ControlBuild Guide

81 / 81

You might also like