CoCoS Scripting : PHP
In CoCoS kunnen scripts worden ontwikkelt en worden uitgevoerd in diverse talen. Eén van deze talen is het breedt gedocumenteerde en veel gebruikte PHP. Indien u niet bekend bent met PHP kunnen we de volgende websites ten zeerste aanbevelen:
https://www.w3schools.com/php/
Script Parameter
| $value | Meegestuurde waarde in het script. Als een script wordt aangestoten vanuit een tag-trigger, dan is de waarde $value de waarde van de tag die de trigger veroorzaakte. |
| $source | De naam van het 'bron-object' wat zorgde voor de aanroep van dit script. Dit kan bijvoorbeeld de naam van een tag zijn (bij een tag-trigger) of de naam van een item, bijvoorbeeld wanneer een script wordt aangeroepen vanuit een hmi-item / event. |
| $arguments | |
| $bucket | |
| $trace | |
| $arguments_ref | |
| $return_tag | |
| $cocos | Object (klasse) met functionaliteiten t.b.v. het ophalen/schrijven/aanmaken van tags, alsmede het schrijven van regels in het logboek. Hierbinnen zijn onderstaande methoden/funties beschikbaar. |
tagGet functies
tagGet functies zijn functie die gebruikt kunnen worden om de actuele waarde van een tag op te halen. Indien de normale $cocos->tagGet wordt gebruikt, betreft het altijd de laatste waarde, dit kan zowel de ontvangen als de verstuurde waarde zijn. Gebruik voor het ophalen van de laatste verstuurde waarde $cocos->tagGetSent en voor het ophalen van de laatst ontvangen waarde $cocos->tagGetRecveived.
tagGet ( string : $name ) : string
tagGet ( string : $name ) : string
CoCoS v4, v5
Description
Haalt de laatst bekende waarde op van een tag. Dit kan zowel de laatst ontvangen als de laatst verstuurde waarde zijn.
Parameters
| name | name of the tag. |
Return values
Returns the value of the tag in string format. For nummeric values conversion (typec asting) is required.
Examples :
// get a string value
$tagValue = $cocos->tagGet("tagname");
// get the tag value in integer formace
$tagValue = intval($cocos->tagGet("tagname"));
tagGetSent ( string : $name ) : string
tagGetSent ( string : $name ) : string
CoCoS v4, v5
Description
Haalt de laatste waarde op van een tag die door een CoCoS is geschreven in de tag (verstuurd is naar de tag toe)
Parameters
| name | name of the tag. |
Return value
Returns the value of the tag in string format. For nummeric values conversion (typec asting) is required.
Examples :
// get a string value
$tagValue = $cocos->tagGetValue("tagname");
// get the tag value in integer formace
$tagValue = intval($cocos->tagGetValue("tagname"));
tagGetReceived ( string : $name ) : string
tagGetReceived ( string : $name ) : string
CoCoS v4, v5
Description
Haalt de laatste waarde op van een tag die door een extern apparaat is opgestuurd naar de tag in CoCoS.
Parameters
| name | name of the tag. |
Return value
Returns the value of the tag in string format. For nummeric values conversion (typec asting) is required.
Examples :
// get a string value
$tagValue = $cocos->tagGetReceived("tagname");
// get the tag value in integer formace
$tagValue = intval($cocos->tagGetReceived("tagname"));
tagGetPrevious functies
tagGetPrevious functies kunnen gebruikt worden om niet de actuele waarde van een tag, maar de voorlaatste waarde op te halen. Indien de normale $cocos->tagGetPrevious wordt gebruikt, betreft het altijd de laatste waarde, dit kan zowel de ontvangen als de verstuurde waarde zijn. Gebruik voor het ophalen van de laatste verstuurde waarde $cocos->tagGetSentValuePrevious en voor het ophalen van de laatst ontvangen waarde $cocos->tagGetReceivedPrevious.
tagGetPrevious ( string : $name ) : string
tagGetPrevious ( string : $name ) : string
CoCoS v4, v5
Description
Haalt de voorlaatste waarde op van een tag. Dit kan zowel de voorlaatste ontvangen als de voorlaatste verstuurde waarde zijn.
Parameters
| name | name of the tag. |
Return value
Returns the value of the tag in string format. For nummeric values conversion (typec asting) is required.
Examples :
// examples heren
tagGetSentPrevious ( string : $name ) : string
tagGetPreviousSent ( string : $name ) : string
CoCoS v4, v5
Description
Haalt de voorlaatste verstuurde waarde op van een tag die anders was dan de huidige waarde. Dus als een tag 1 heeft ontvangen en daarna meerdere keren 6, dan zal de previous value 1 zijn. Een verstuurde waarde is een waarde die door CoCoS onderdelen is geschreven in de tag met uitzondering van connectors / services.
Parameters
| name | name of the tag. |
Return value
Returns the value of the tag in string format. For nummeric values conversion (typec asting) is required.
Examples :
// examples heren
tagGetReceivedPrevious ( string : $name ) : string
tagGetPreviousReceived( string : $name ) : string
CoCoS v4, v5
Description
Haalt de voorlaatste ontvangen waarde op van een tag die anders was dan de huidige waarde. Dus als een tag 1 heeft ontvangen en daarna meerdere keren 6, dan zal de previous value 1 zijn. Received values zijn ontvangen vanaf een Device of een Service.
Parameters
| name | name of the tag. |
Return value
Returns the value of the tag in string format. For nummeric values conversion (typec asting) is required.
Examples :
// examples heren
TagWait functies
tagWait functies kunnen gebruikt worden om te wachten totdat de opgegeven tag de opgegeven waarde bevat. Wanneer bijvoorbeeld een reactie wordt verwacht na het uitvoeren van een bepaalde actie, zoals bijv. $cocos->tagSet, kan $cocs->tagWait gebruikt worden om hierop te wachten.
Let op! Gedurende de $cocos->tagWait, doet het scripts niets anders dan wachten. Dit betreft een synchrone uitvoering en 'blokkeert' de uitvoeren van het script zolang er gewacht wordt op deze waarde. Houdt er rekening mee dat wanneer meerdere scripts met een $cocos->tagWait bezig zijn, dit er mogelijk voor kan zorgen dat hiervoor andere scripts tijdelijk niet uitgevoerd kunnen worden.
$cocos->tagWait(string $name, $value, int $timeout [optional, default: 20000]) : bool
Wacht totdat de opgegeven tag de opgegeven waarde bevat. Optioneel kan hieraan een timeout worden meegegeven hoelang er gewacht mag worgen.$cocos->tagWaitValue(string $name, $value, int $timeout [optional, default: 20000]) : string
Alias van$cocos->tagWait()$cocos->tagWaitSentValue(string $name, $value, int $timeout [optional, default: 20000]) : bool
Wacht totdat de opgegeven tag de opgegeven waarde verstuurd heeft. Optioneel kan hieraan een timeout worden meegegeven hoelang er gewacht mag worgen.$cocos->tagWaitReceivedValue(string $name, $value, int $timeout [optional, default: 20000]) : bool
Wacht totdat de opgegeven tag de opgegeven waarde ontvangen heeft. Optioneel kan hieraan een timeout worden meegegeven hoelang er gewacht mag worgen.
TagSet functies
Tag functies (overig)
$cocos->tagGetTimestamp(string $name) : float
Haalt de tijdstempel op van wanneer deze tag voor het laatste een waarde heeft gehad. Dit kan zowel de ontvangen als de verstuurde waarde zijn.$cocos->tagGetCreate(string $name, string $value=null, string $type [optional, default:'text'], string $comments [optional])
Haalt de laatst bekende waarde op van een tag. Indien de tag niet bestaat wordt deze aangemaakt. Het op te geven$typekan zijn: 'text', 'bool', 'int', 'decimal' of 'color'. Indien geen$typewordt meegegeven, zal hier standaard de waarde 'text' gebruikt worden. Zie hiervoor ook de pagina TagTypes Gebruik$commentsom de nieuw aan te maken tag te voorzien van commentaar/een beschrijving Indien voor$valueeen waarde wordt opgegeven zal deze (wanneer de tag niet bestond) gelijk worden ingesteld, er vind dan dus óók een tagSet plaats.$cocos->tagsFind(string $search) : array
Haal de namen op van alle tags die overeenkomen met de opgegeven zoekterm. De gevonden tags worden teruggestuurd in een array, waarbij elk element één tagnaam bevat. Gebruik bijvoorbeeld$cocos->tagsFind('*.status')voor het ophalen van alle statussen van alle apparaten. Of bijvoorbeeld$cocos->tagsFind('device_PLC001.*')om alle tags op te halen van apparaat PLC001.$cocos->tagExists(string $name) : bool
Controlleeert of de tag met de opgegeven naam bestaat.$cocos->tagIncrease(string $name, int $amount [optional, default: 1]) : bool
Haalt de huidige, actuele waarde op van de opgegeven tag en hoogte deze op met het opgegeven aantal.$cocos->tagDecrease(string $name, int $amount [optional, default: 1]) : bool
Haalt de huidige, actuele waarde op van de opgegeven tag en verminderd deze op met het opgegeven aantal.$cocos->tagMultiply(string $name, int $amount [optional, default: 1]) : bool
Haalt de huidige, actuele waarde op van de opgegeven tag en vermenigvuldigt deze met de opgegeven waarde.$cocos->tagDivide(string $name, int $amount [optional, default: 1]) : bool
Haalt de huidige, actuele waarde op van de opgegeven tag en deelt deze door de opgegeven waarde.$cocos->tagCopy(string $nameOfSourceTag, string $nameOfTargetTag) : bool
Kopieer de waarde van de opgegeven bron-tag ($nameOfSourceTag) naar de opgegeven doel-tag ($nameOfTargetTag).$cocos->tagMove(string $nameOfSourceTag, string $nameOfTargetTag) : bool
Verplaatst de waarde van de opgegeven bron-tag ($nameOfSourceTag) naar de opgegeven doel-tag ($nameOfTargetTag).
Let op! Bij een
tagMovewordt de waarde uit de bron-tag weggehaald. Het gaat hier dus écht om het verplaatsen van de waarde van de ene naar de andere tag.
TagStatus functies
$cocos->tagGetStatus(string $name) : int
Verkrijg de status van de tag met de opgegeven naam. 0x0 = Offline, 0x1 = Actief, 0x2 = Gearchiveerd, 0x4 = Verwijderd.
Op de pagina TagStatussen staat een volledig overzicht van alle tagstatussen die binnen CoCoS gebruikt worden.
$cocos->tagGetState(string $name) : int
Verkrijg de staat van de tag met de opgegeven naam, bijvoorbeeld 'Ok', 'Warning' of 'Unreliable'.$cocos->tagStateOk(string $name) : bool
Geeft aan of de tag met de opgegeven naam de status 'Ok' heeft.$cocos->tagStateWarning(string $name) : bool
Geeft aan of de tag met de opgegeven naam de status 'Warning' heeft.$cocos->tagStateError(string $name) : bool
Geeft aan of de tag met de opgegeven naam de status 'Error' heeft.$cocos->tagStateUnreliable(string $name) : bool
Geeft aan of de tag met de opgegeven naam de status 'Unreliable' (onbetrouwbaar) heeft.$cocos->tagStateUnavailable(string $name) : bool
Geeft aan of de tag met de opgegeven naam de status 'Unavailable' (niet beschikbaar) heeft.
TagLog functies:
$cocos->tagLogGetLastSample(string $name) : float
Haalt de tijdstempel op van de laatste keer dat er samples/waardes zijn opgeslagen voor de taglog met de opgegeven naam.$cocos->tagLogSampleNow(string $name) : float
Forceer het opslaan van samples/waardes van alle tags uit de taglog met de opgegeven naam.
Config functies:
$cocos->configGet(string $name, string $library [optional], string $collection [optional], string $type [optional]) : string
Haal een waarde op uit de configuratie van het systeem. Geef hierbij eventueel op voor welke biblotheek, collectie en type item deze configuratie van toepassing is.$cocos->configSet(string $name, string $value, string $library [optional], string $collection [optional], string $type [optional]) : string
Schrijf een waarde in de configuratie van het systeem. Geef hierbij eventueel op voor welke biblotheek, collectie en type item deze configuratie van toepassing is.$cocos->configSetCreate(string $name, string $value, string $library [optional], string $collection [optional], string $type [optional], string $form [optional, default 'input'], string $comments [optional]) : string
Schrijf een waarde in de configuratie van het systeem. Geef hierbij eventueel op voor welke biblotheek, collectie en type item deze configuratie van toepassing is. Indien de configuratie-variabele niet bestaat wordt deze aangemaakt. De op te geven$formkan zijn: 'input', 'number', 'toggle', 'select' of 'duration'. Dit bepaald op welke manier de configuratie-variabele ingevoerd kan worden.
Notificatie functies:
$cocos->notificationSet(string $notification, array $params);
Activeer een notificatie. Gebruik $notification om aan te geven om welke notificatie het gaat, de waardes uit$parameterszullen gebruikt worden voor het dynamisch genereren van het juiste bericht in de notificatie-lijst.$cocos->notificationAcknowledge(string $notification, array $params);
Bevestig een notificatie. Gebruik $notification om aan te geven om welke notificatie het gaat. Op basis van de waardes uit$parameterskan een reeds geactiveerde noficatie bevestigd worden.$cocos->notificationAck(string $name);
Alias van$cocos->notificationAcknowledge()$cocos->notificationSetAndAcknowledge(string $notification, array $params);
Activeer én bevestig een notificatie. Gebruik$notificationom aan te geven om welke notificatie het gaat. Op basis van de waardes uit$parameterskan een reeds geactiveerde noficatie bevestigd worden.$cocos->notificationSetAndAck(string $name);
Alias van$cocos->notificationSetAndAcknowledge()$cocos->notificationReset(string $notification, array $params);
Reset een notificatie. Gebruik$notificationom aan te geven om welke notificatie het gaat. Op basis van de waardes uit$parameterskan een reeds geactiveerde/bevestigde noficatie gereset worden.$cocos->notificationResetAll(string $notification);
Reset alle notificaties. Deze functie werkt dus zonder$parameters, maar zal ervoor zorgen dat alle meldingen uit de notificatie-lijst van hetzelfde type gereset worden.
Invoker functies:
Wanneer een script, al dan niet middels een trigger op bijvoorbeeld een tag, wordt uitgevoerd als gevolg van de actie van een gebruiker (bijvoorbeeld iemand die is ingelogd op een bedieningsinterface) kan met behulp van de invoker functies informatie worden opgehaald over wie/welke persoon/vanaf welke locatie/met welk toestel verantwoordelijk was voor de uitvoer van het script.
$cocos->getInvokerData() : array
Haalt alle informatie op van de 'invoker' van dit script. Deze informatie bevat met welke applicatie, door welke gebruiker, met welke apparaat en vanaf welke locatie dit script is aangestoten/uitgevoerd.$cocos->getInvokerRelationName() : string
De naam van de relatie die dit script heeft aangestoten/uitgevoerd.$cocos->getInvokerUsersName() : string
De naam van de gebruiker die dit script heeft aangestoten/uitgevoerd.$cocos->getInvokerName() : string
De naam van de relatie (indien beschikbaar) die dit script heeft aangestoten/uitgevoerd. Indien niet beschikbaar zal de naam van de gebruiker worden teruggestuurd.$cocos->getInvokerLocation() : string
De naam van de topologie/locatie vanaf waar dit script is aangestoten/uitgevoerd.$cocos->getInvokerIntercomNumber() : string
Intercom-nummer van het toestel, gekoppeld aan de topologie/locatie vanaf waar dit script is aangestoten/uitgevoerd.
Apparaat functies:
$cocos->deviceRestart(string $prefix) : bool
Markeer het apparaat, op basis van de prefix, om te gaan herstarten$cocos->deviceRestartByPrefix(string $name);
Alias van $cocos->deviceRestart()$cocos->deviceRestartByName(string $name) : bool
Markeer het apparaat, op basis van de naam, om te gaan herstarten
ApparaatStatus functies:
$cocos->deviceGetStatus(string $name) : int
Verkrijg de status van het apparaat met de opgegeven naam. 0x0 = Offline, 0x1 = Actief, 0x2 = Gearchiveerd, 0x4 = Verwijderd.$cocos->tagGetState(string $name) : int
Verkrijg de staat (waarde van de status-tag) van het apparaat met de opgegeven naam. 0x2 = Running, 0x20 = Connected, 0x4000 = Available etc.
Op de pagina CoCoS Apparaat Statussen staat een volledig overzicht van alle apparaatstatussen die binnen CoCoS gebruikt worden.
$cocos->deviceStateRunning(string $name) : bool
Geeft aan of de status-tag van het apparaat met de opgegeven naam de waarde 'Running' (0x2) heeft.$cocos->deviceStateConnected(string $name) : bool
Geeft aan of de status-tag van het apparaat met de opgegeven naam de waarde 'Connected' (0x20) heeft.$cocos->deviceStateAvailable(string $name) : bool
Geeft aan of de status-tag van het apparaat met de opgegeven naam de waarde 'Available' (0x4000) heeft.$cocos->deviceStatePingOk(string $name) : bool
Geeft aan of de status-tag van het apparaat met de opgegeven naam de waarde 'PingOk' (0x100000) heeft.$cocos->deviceStateWarning(string $name) : bool
Geeft aan of de status-tag van het apparaat met de opgegeven naam de waarde 'Warning' (0x100) heeft.$cocos->deviceStateError(string $name) : bool
Geeft aan of de status-tag van het apparaat met de opgegeven naam de waarde 'Error' (0x200) heeft.$cocos->deviceStateLost(string $name) : bool
Geeft aan of de status-tag van het apparaat met de opgegeven naam de waarde 'Lost' (0x10000) heeft.$cocos->deviceStateGone(string $name) : bool
Geeft aan of de status-tag van het apparaat met de opgegeven naam de waarde 'Gone' (0x20000) heeft.
URL functies:
$cocos->urlCall(string $url, array $headers [optional]) : string
Gebruik deze functie om een URL aan te roepen. Optioneel kan een array met header worden opgegeven, die zullen worden meegestuurd met het request. Bijvoorbeeld$headers = array('User-Agent' => 'CoCoS').$cocos->urlGet(string $url, array $headers [optional]) : string
Alias van$cocos->urlCall()$cocos->urlPost(string $url, $data [optional], string $format [optional], array $headers [optional]) : string
Deze functie roept een URL aan, door gebruik te maken van de POST methode. Gebruik de$data-parameter om extra data mee te sturen met het request. Dit kan zowel een string als een array zijn. In het geval van een array wordt deze, op basis van het opgegeven$format, geconverteerd. Gebruik 'json' voor de parameter$formatom de opgegeven array in de$data-parameter om te vormen naar een JSON-object. Indien er geen$formatwordt opgegeven, zal de array in de$data-parameter gebruikt worden als regulieren URL-parameters. Indien de$data-parameter een string is, zal deze 1-op-1 worden doorgestuurd. Gebruik optioneel de$headers-parameters om extra headers mee te sturen met het request.$cocos->urlPut(string $url, $data [optional], string $format [optional], array $headers [optional]) : string
Deze functie roept een URL aan, door gebruik te maken van de PUT methode. Zie de functie$cocos->urlPost()voor het gebruik van de parameters$data,$formaten$headers.$cocos->urlPatch(string $url, $data [optional], string $format [optional], array $headers [optional]) : string
Deze functie roept een URL aan, door gebruik te maken van de PATCH methode. Zie de functie$cocos->urlPost()voor het gebruik van de parameters$data,$formaten$headers.$cocos->urlDelete(string $url, $data [optional], string $format [optional], array $headers [optional]) : string
Deze functie roept een URL aan, door gebruik te maken van de DELETE methode. Zie de functie$cocos->urlPost()voor het gebruik van de parameters$data,$formaten$headers.
Log functies:
$cocos->logError(string $message, string $comments [optional, default: '']);
Log een bericht naar het systeem van het type error. Gebruik$messagevoor het bericht dat getoond wordt in het logboek. Gebruik$commentsom de log-regel te voorzien van extra commentaar/opmerkingen.$cocos->logWarning(string $message, string $comments [optional, default: '']);
Log een bericht naar het systeem van het type error. Gebruik$messagevoor het bericht dat getoond wordt in het logboek. Gebruik$commentsom de log-regel te voorzien van extra commentaar/opmerkingen.$cocos->logInfo(string $message, string $comments [optional, default: '']);
Log een bericht naar het systeem van het type error. Gebruik$messagevoor het bericht dat getoond wordt in het logboek. Gebruik$commentsom de log-regel te voorzien van extra commentaar/opmerkingen.$cocos->logDebug(string $message, string $comments [optional, default: '']);
Log een bericht naar het systeem van het type error. Gebruik$messagevoor het bericht dat getoond wordt in het logboek. Gebruik$commentsom de log-regel te voorzien van extra commentaar/opmerkingen.
script functies
script functies zijn functies/methodes die gebruikt kunnen worden om vanuit het ene script een ander script aan te roepen. Dit script wordt dan toegevoegd aan de 'script wachtrij' en asynchroon uitgevoerd.
getScriptName() : string
getScriptName() : string
CoCoS v5 (ScriptHandler v5.1.2+24047 en hoger).
Description:
Haalt de naam op van het huidige script.
Parameters:
Geen parameters
Return values:
Returned de naam van het huidige script.
Examples :
// Store the name of the current script into variable $myName.
//
$myName = $cocos->getScriptName();
runScript ( string $name, string $source = null, string $value = null ) : bool
runScript ( string $name, string $source = null, string $value = null ) : bool
CoCoS v5 (ScriptHandler v5.1.2+24047 en hoger).
Description:
Voert asycnroon het script met de opgegeven naam uit.
Parameters:
| name | Naam van het script dat uitgevoerd dient te worden |
| source | (Optioneel) De waarde voor parameter $source, welke aan het uit te voeren script wordt meegestuurd. Indien géén waarde wordt meegestuurd, wordt de $source gebruikt van het script van waaruit de functie runScript() wordt aangeroepen. |
| values | (Optioneel) De waarde voor parameter $value, welke aan het uit te voeren script wordt meegestuurd. Indien géén waarde wordt meegestuurd, wordt de $source gebruikt van het script van waaruit de functie runScript() wordt aangeroepen. |
Return values:
Returned true indien het script met de opgegeven naam gevonden kon worden en succesvol is toegevoegd aan de 'script wachtrij'. Returned false indien niet gevonden of bij een fout.
Examples :
// Run script with name 'someScript'. Use the same values for parameters $source
// and $value as the original script.
//
$cocos->runScript("someScript");
// Run script with name 'someScript'. Use custom values for parameters $source
// and $value.
//
$cocos->runScript("someScript", "someSource", "someValue");
// Run script with name 'someScript'. Use the same value for parameter $source,
// but a custom value for parameter $value
//
$cocos->runScript("someScript", $source, "someOtherValue");
// Run script with name 'someScript'. Use a custom value for parameter $source,
// but the same value for parameter $value
//
$cocos->runScript("someScript", "someOtherSource", $value);
// Run script with name 'someScript'. Use the name of the current script as value
// for parameter $source and a custom vlaue for parameter $value.
//
$cocos->runScript("someScript", $cocos->getScriptName(), 'someValue');
No comments to display
No comments to display