Macro's

<< Klik om de inhoudsopgave weer te geven >>

Navigatie:  »Geen onderwerpen boven dit niveau«

Macro's

Cable kent een aantal modules voor enkelvoudige berekeningen. Soms is het echter wenselijk om een berekening een aantal keren achter elkaar te doen, met veranderende invoer. Om dit mogelijk te maken is Cable voorzien van een programmeertaal: een macrotaal.

 

De macro's worden opgeslagen als tekstbestanden. Voor het invoeren van een macro is een macro-editor beschikbaar.

 

Als invoer voor een macro dient de actuele locatie, eventueel aangevuld met gegevens uit een Excel-bestand. De resultaten kunnen naar Excel worden geschreven of in tekstvorm worden gepresenteerd.

 

Zie:

Macro-editor

Berekeningen met macro's

Macro structuur en syntax

Objecten

Waarden

Variabelen

Standaardobjecten

Attributen

Macro commando's en parameters

 

De macro's worden opgeslagen als tekstbestanden met de extensie cmf: Cable Macro File. Voor het invoeren van een macro is een macro-editor beschikbaar, die te vinden is bij Extra | Macro’s.

Als invoer voor een macro dient de actuele locatie, eventueel aangevuld met gegevens uit een Excel-bestand. De resultaten kunnen naar Excel worden geschreven of in tekstvorm worden gepresenteerd.

 

De uitvoering van een macro vindt plaats op de actuele locatie, via Berekening | Macro. Kies hier een macrobestand. Het is ook mogelijk de macro vanuit de macro-editor te starten met Macro | Uitvoeren. Voor de uitvoering van de macro wordt een kopie van de locatie gemaakt, in het geheugen. De actuele locatie wordt zodoende niet aangetast. Dat betekent dus dat veranderingen in de locatie, die door de macro worden uitgevoerd, na afloop van de macroberekening niet meer beschikbaar zijn.

 

Alle componenten in de locatie worden ten behoeve van de macrotaal algemeen aangeduid met de verzamelnaam Object. Zo zijn bijvoorbeeld circuits en warmtebronnen Objecten. Een specifiek Object wordt aangeduid met zijn naam. Dat kan een tekst zijn of een tekstvariabele. De naam van het object is hoofdlettergevoelig.

 

In de macro's wordt gebruik gemaakt van het begrip waarde. Een directe waarde kan zijn tekst tussen enkele aanhalingstekens ('Abcde…'), een getal, een object ( Circuit( 'MijnCircuit' ) ) of een gereserveerde term.

 

De gebruiker kan in zijn macro zelf variabelen definiëren. Deze kunnen bijvoorbeeld worden gebruikt als teller of als hulpvariabele om de attributen te bewerken. Er zijn variabelen mogelijk die een tekst, een getal, een waarheidswaarde (boolean), een stand van een schakelaar of de richting van het vermogen of een object kunnen bevatten.

 

Alle objecten hebben attributen. Dat zijn aan de ene kant de invoergegevens, zoals die (in de formulieren) in Cable door de gebruiker in te vullen zijn. Aan de andere kant zijn er de berekende uitvoergegevens, zoals die na een berekening in het schema of in het detailscherm te bekijken zijn.

 

Voor elk commando is een bepaald aantal parameters nodig. Parameters staan tussen twee haakjes achter een commando, gescheiden door komma’s. Een parameter kan een waarde, een attribuut of een vergelijkingsteken zijn.

Een waarde kan een tekst, getal, logische waarde (true/false) of object zijn. Deze waarde kan opgeslagen zijn in een variabele of in een attribuut van een object (bijvoorbeeld de diepte van een circuit).

Een attribuut is een invoergegeven of een uitvoergegeven van een van de objecten in de locatie. In de macrotaal kunnen de invoergegevens gewijzigd en geraadpleegd worden. De uitvoergegevens kunnen alleen geraadpleegd worden.

Een vergelijkingsteken is nodig voor logische functies. Binnen de macrotaal zijn beschikbaar: = (gelijk), <> (ongelijk), < (kleiner dan), <= (kleiner dan of gelijk aan), > (groter dan), >= (groter dan of gelijk aan). Deze vergelijkingstekens kunnen gebruikt worden voor de commando's: If, While en Until.

 

Er zijn commando’s beschikbaar voor:

Bewerkingen: wijzigen van de locatie of variabelen

Rekenkundige functies: enkele basisfuncties (afronden, pi, kwadrateren, worteltrekken en goniometrie)

Procedures: door de gebruiker te definiëren procedures

Conditional: afhankelijk van waarden wordt een stukje macro uitgevoerd of overgeslagen

Loop: afhankelijk van waarden wordt een stukje macro herhaaldelijk uitgevoerd of overgeslagen

Berekening: resultaten berekenen

Rapportage: uitvoeren en formatteren

Inlezen: cellen uit Excel inlezen voor bewerking met een macro

Locatiecommando's: opslaan van door de macro bewerkte locaties.