Functiebloktimergebruik
In Fulmatic 7 PLC's kunnen statische commando's zoals Timer en Counter niet binnen functieblokken worden gebruikt. U moet uw eigen timers of tellers voor functieblokken maken. U kunt de voorbeeldcode hier downloaden.
Het Speed PLC-programma bevat 256 timers van 1 milliseconde. Dit aantal is onvoldoende voor grote projecten. U kunt het aantal timers verhogen door softwaretimers te gebruiken. Functieblokken zijn ontworpen om dezelfde taak voor veel verschillende adressen uit te voeren. Hardwarematige commando's zoals Timers en Counters kunnen niet in deze blokken worden gebruikt. U moet uw eigen aangepaste softwaretimers binnen functieblokken gebruiken. U kunt het gebruik van softwaretimers in functieblokken zien in ons voorbeeld. U kunt de voorbeeldcode hier downloaden.
Bij PLC-programmering is het soms nodig om timers gedurende zeer lange perioden te laten lopen. Hiervoor kunnen softwaretimers worden gebruikt. Timers met een lange looptijd moeten soms permanent actief blijven, zelfs wanneer de stroom wordt uitgeschakeld. Ook hiervoor kunnen softwaretimers worden ingezet. Om ervoor te zorgen dat de timer permanent actief blijft, zijn mogelijk extra bewerkingen nodig in de StartUp- en ShutDown-blokken. Een veiligere methode voor timers met een lange looptijd is het gebruik van de PLC-klok. Dit kan eenvoudig worden gedaan met behulp van vergelijkingscommando's.
Laten we nog een paar tips geven voor functieblokken. Een functieblok kan 8 vooraf geladen parameters bevatten. Het is heel normaal dat dit aantal onvoldoende kan zijn. Er zijn een paar manieren om het aantal parameters te verhogen.
- Bit-adressen kunnen worden gebruikt als 32-bits getallen. Laten we bijvoorbeeld Temp0 een 32-bits getal noemen. In het functieblok is onze eerste bewerking het overdragen van de waarde van Temp0 naar FD0 met behulp van de MOV_D-opdracht. Binnen het blok kunnen we nu de bits van FD0 gebruiken voor de bits van Temp0. De laatste opdracht van het blok moet ook MOV_D zijn, en ditmaal moet FD0 worden overgedragen naar Temp0.
- Binnen het functieblok zijn alle variabelen toegankelijk via de commando's FIELD_R en FIELD_W. Raadpleeg de help-pagina's van het Speed PLC-programma voor meer informatie over deze commando's.
