Uiteenzetting van de workflow van het PLC-programma
Om de meegeleverde code te gebruiken, kopieert u de Octalarm-mappen uit zowel de Program Blocks- als de PLC Data Types-secties.

Roep de functie FC_OctalarmMain aan vanuit het main block van uw PLC. Deze functie beheert alle taken met betrekking tot de communicatie met het Octalarm-systeem.
Tijdens de eerste scan-cyclus van de PLC leest het systeem het configuratiebestand dat op de geheugenkaart staat. De FileReadC-instructie voert deze actie uit en blijft actief totdat het proces succesvol is afgerond. Daarna is de configuratiedata geladen in een PLC-datablok en hoeft u de instructie niet meer aan te roepen.

De byte-array ReadData fungeert als bestemming voor de configuratiedata die door de FileReadC-instructie gelezen wordt. U kunt de lengte van de array aanpassen aan de grootte van het configuratiebestand. Als u de arraygroottes wijzigt, stelt u ook de beginwaarde van ConfigLength overeenkomstig in om de gegevens correct te verwerken.

ReadData bevat de ASCII-codes van elk karakter. Gebruik de BYTE_TO_CHAR-instructie om deze codes om te zetten naar karakters en op te slaan in hetzelfde datablock, specifiek in de array ReadDataInChar.
Het configuratiebestand wijzigen
Als de webserver op de PLC is ingeschakeld en de gebruiker de juiste rechten voor Filebrowser access ontvangt, kunt u het configuratiebestand via een webbrowser benaderen. U kunt het bestand downloaden, aanpassen en opnieuw uploaden indien nodig. Deze functie is handig voor het bijwerken van configuratiegegevens, zoals het toevoegen van een nieuwe locatie, categorie of alarm, of het wijzigen van bestaande parameters.

Wanneer u het configuratiebestand wijzigt, zet u de variabele ConfigFileIsChanged in DB_Filehandling op true. Hierdoor leest de PLC de configuratie opnieuw van de geheugenkaart en worden de betreffende datablocks bijgewerkt.
Functieblokken met bijbehorende voorwaarden
Na het inlezen van de configuratiegegevens roept de PLC twee functieblokken aan met bijbehorende voorwaarden:
FB_Config_Watchstuurt configuratiegegevens naar de melder en verstuurt vervolgens watchdog-aanvragen om de communicatie te bewaken.FB_SendAlarmsbeheert de rapportage van de alarmstatus naar de melder.
Beide functieblokken zijn geïmplementeerd in SCL.

FB_Config_Watch
FB_Config_Watch gebruikt een instantie van LHTTP_POSTPUT_L. Deze instantie configureert eerst de melder en stuurt vervolgens periodiek watchdog-aanvragen.
In de initiate-toestand bereidt de functie de te verzenden gegevens voor via HTTP POST door ze van de geheugenkaart te lezen. Na het versturen van de configuratiegegevens bereidt hij watchdog-gegevens voor en verstuurt deze op regelmatige intervallen naar de melder.
Het onderstaande stroomdiagram schetst de vereenvoudigde werking van het functieblok FB_Config_Watch. Het toont ook de mogelijke waarden voor de variabele StateMachine.

Standaard is het maximale interval tussen twee watchdog-aanvragen 60 seconden. Het systeem probeert elke 30 seconden een aanvraag te sturen. Pas IDB_Config_Watch aan om deze parameters te wijzigen.
Om de body van de watchdog API-aanvraag aan te passen, voert u de gewenste tekenreeks in bij sNextKick en zet u StateMachine op 20 (cInitWatchDogData) om de wijziging toe te passen.
U kunt het aanroepinterval voor de watchtime-API instellen door sPT te wijzigen. Dit bepaalt hoe vaak de PLC de API-aanroep uitvoert.

FB_SendAlarms

Het datablock bevat een array met alarmen:
Alarm[0]is gereserveerd om een communicatiestoring aan te geven;Alarms[1]tot en metAlarms[Count](in ons voorbeeldAlarms[12]) zijn de alarmen die in het configuratiebestand staan.
Om het nde alarm uit het configuratiebestand door te geven, zet u DB_Alarms.Alarms[n] op true of false. Het array-index geeft de volgorde aan waarin de alarmen in het configuratiebestand staan.
In UDT_Alarm geeft het veld status de huidige status van het alarm weer, die de PLC-programmeur moet bijwerken. Het veld Status_Mem bevat de laatst verzonden status naar de melder.
Als de huidige status is gewijzigd en verschilt van Status_Mem, past de PLC het Octalarm-systeem dienovereenkomstig aan. Zodra aan deze voorwaarde is voldaan, verstuurt de PLC de bijgewerkte status met een POST-aanvraag naar de melder.