Cb Guide Comment Utiliser API Com Fr

Embed Size (px)

Citation preview

GuideL'utilisation de l'API COM

Utilisation de lAPI COM

TABLE DES MATIERES1 22.1 2.2 2.3 2.4

Introduction GnralitsStructure de linterface Cration de la communication Gestion des erreurs2.3.1 2.3.2 Utilisation des attributs LastError et LastErrorCode Interface IErrorInfo

4 55 5 88 10

Gestion des collections

11

33.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 disponiblesCBCOMServer 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

1818 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

44.1 4.2

ExemplesExemple 1 Exemple 2

7474 75

5

Annexe : liste des erreurs possibles

77

ControlBuild Guide

2 / 81

Utilisation de lAPI COM

ControlBuild Guide

3 / 81

Utilisation de lAPI COM

1

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

22.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 communicationAfin 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 // 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 erreursDans 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 LastErrorCodeLorsquune 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 #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 IErrorInfoLinterface 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 #include #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 collectionsUne 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 #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 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

3

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

CBCOMServerIl 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

CBCOMUserCette 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

CBCOMProjectCette 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

CBCOMOrganicDeviceCette 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

CBCOMSectionCette 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

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

3.7

CBCOMApplicationCette 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

CBCOMLibraryCette 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

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

3.10

CBCOMOrganicConfigurationCette 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

CBCOMEmbeddedConfigurationCette 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

CBCOMTargetCette 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

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

3.14

CBCOMVirtualOrganCette 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

CBCOMOrganCette 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

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

3.17

CBCOMFunctionalTaskCette 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

CBCOMOrganicTaskCette 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

CBCOMEmbeddedTaskCette 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.