Logische bit-instructies I. I. (MCRA) I. (MCR<) ( ) I.2 M. SR S Q Q9.3 I.3 R pagina
NC- en NO-contacten - Sensoren en afvraaginstructies Proces Interpretatie van het programma in de PLC De sensor is een... Het sensorcontact is... Spanning op de ingang is... Signaaltoestand op de ingang Afvragen op Symbool / instructie Logisch resultaat Afvragen op Symbool / instructie Logisch resultaat NO-contact geactiveerd aanwezig LAD: NO-contact ja LAD: NC-contact neen niet geactiveerd niet aanwezig FBD: neen" FBD: ja NC-contact geactiveerd niet aanwezig neen" ja niet geactiveerd aanwezig STL: A I x.y ja STL: AN I x.y neen 2 Proces Afvraagsymbolen Voorbeeld De aansluiting van een normaal open contact of een normaal gesloten contact aan de PLC is afhankelijk van de veiligheidsmaatregelen die in de installatie voorzien zijn. Over het algemeen zijn eindpuntsensoren en veiligheidsschakelaars zoals noodstopschakelaars normaal gesloten contacten; met dit soort contacten kan de installatie uitgeschakeld worden in geval van kabelbreuk van de sensor. Om dezelfde reden zijn de stopknoppen van de installatie ook normaal gesloten contacten. In ladderdiagram gebruiken we, om op signaaltoestand af te vragen, het symbool van een zogeheten "normaal open" contact. Het is beter om dit contact "contact voor het afvragen op signaaltoestand " te noemen. Om op signaal-toestand af te vragen, gebruiken we het symbool van een zogeheten "normaal gesloten" contact. Dit contact zou "contact voor het afvragen op signaaltoestand " moeten heten. Het symbool van een normaal open of een normaal gesloten contact betekent dus niet dat de toestand afkomstig is van een geactiveerd normaal open of normaal gesloten contact. Het symbool "afvragen op signaaltoestand " geeft als afvraagresultaat "", wanneer een normaal gesloten contact niet geactiveerd wordt in de installatie. pagina 2
Opdracht: In de drie voorbeelden moet de lamp gaan branden wanneer S geactiveerd is en S2 niet. Hardware Voorbeeld S () S2 () S () S2 () S () S2 () E. E. E. E. E. E. PLC PLC PLC La La La Software LAD FBD STL A AN A A AN A 3 Oefening Pas op Vervolledig de programma's in bovenstaande figuur, zodanig dat de volgende functie door de PLC wordt uitgevoerd: wanneer de schakelaar S geactiveerd is en de schakelaar S2 niet, moet in de 3 gevallen de lamp gaan branden. Maak een onderscheid tussen de normaal open contacten en de normaal gesloten contacten op de machine buiten de PLC en de symbolen voor het afvragen op de signaaltoestanden en in het programma dat uitgevoerd wordt door de PLC. pagina 3
Logische bit-instructies: AND, OR Elekt. schema LAD FBD STL AND S (I.) S2 (I.) I. I. I. I. A I. A I. L () L2 () OR S3 (I.2) S4 (I.3) I.2 I.3 Q8.2 I.2 I.3 > Q8.2 O I.2 O I.3 Q8.2 L3 (Q8.2) 4 Waarheidstabellen AND I. I. Q 8. OR I.2 I.3 Q 8.2 pagina 4
Logische bit-instructies: Exclusieve OF (XOR) LAD FBD STL I.4 I.5 I.4 I.5 I.4 I.5 I.4 I.5 > A I.4 AN I.5 O AN I.4 A I.5 I.4 I.5 XOR X I.4 X I.5 5 Waarheidstabel XOR I.4 I.5 Q 8. Regel Pas op In geval van een XOR-combinatie van twee operanden is de volgende regel van toepassing: de uitgang staat op ", als één enkele van de twee afvragingen een "" levert. Voor een XOR-combinatie van verschillende operanden, kan deze regel niet veralgemeend worden tot "één enkele van n afvragingen. Vanaf de derde XOR-instructie, is het het oude RLO dat gecombineerd wordt met het nieuwe logische resultaat van de afvraging met XOR. pagina 5
Toewijzing, set, reset LAD FBD STL Toewijzing ( ) A A Set I.2 I.3 (S) I.2 I.3 S A I.2 A I.3 S Reset I.4 I.5 (R) I.4 I.5 > R O I.4 O I.5 R 6 Toewijzing Set Reset De toewijzingsinstructie kopieert het RLO naar de operand van de instructie (Q, M, D). Wanneer het RLO van toestand verandert, verandert de toestand van de operand op dezelfde manier. Wanneer het RLO de toestand heeft, wordt de operand van de instructie geset of op gezet. Deze operand blijft op staan, totdat een andere instructie hem opnieuw op zet. Wanneer het RLO de toestand heeft, wordt de operand van de instructie gereset of op gezet. Deze operand blijft op staan, totdat een andere instructie hem opnieuw op zet. pagina 6
Flip/flop-schakelaar set-reset LAD FBD STL Reset prioritair I.2 I.3 M. SR S R Q M. Q9.3 A I.2 SR I.2 S S M. A I.3 Q9.3 R M. I.3 R Q A M. Q9.3 Set prioritair I.3 I.2 M. RS R S Q M. Q9.3 A I.3 RS I.3 R R M. A I.2 Q9.3 S M. I.2 S Q A M. Q9.3 7 Flip-flop Prioriteit Nota Een flip-flop is voorzien van een set-ingang en een reset-ingang. De merker die boven de flip-flop is ingegeven, wordt op of op gezet, wanneer het RLO de toestand heeft, respectievelijk op de set-ingang of de reset-ingang. Wanneer de twee ingangen tegelijkertijd een logisch resultaat leveren, stelt zich de vraag van de prioriteit. In LAD of FBD zijn er verschillende flip-flop-symbolen beschikbaar in de functiebibliotheek. De ene flip-flop heeft een prioritaire set-functie en de andere flip-flop heeft een prioritaire reset-functie. De prioritaire ingang is de onderste. In STL is de laatst geprogrammeerde instructie prioritair. Wanneer een uitgang op wordt gezet door een set-instructie, wordt deze terug op gezet, wanneer de CPU herstart (geïnitialiseerd) wordt. Wanneer, in het voorbeeld hierboven, M. geparametreerd is als remanente merker, blijft zijn toestand bewaard na het herstarten van de CPU en wordt de uitgang Q9.3, die gewist was bij het herstarten van de CPU, op gezet door een kopie van de toestand van de remanente merker, als deze op staat. pagina 7
Connector LAD STL FBD M. I2. I2. ( ) M. I2. M. NOT ( ) ( ) M. A I. A I. M. A M. A I 2. A I 2. NOT M. A M. I2. 8 Connector De connector is een tussenelement met toewijzingsfunctie, dat het actuele RLO in een specifieke operand opslaat. Wanneer we verschillende elementen in serie programmeren, functioneert de connector zoals een contact. De connector mag nooit: net naast de linkse spanningslijn getekend worden, direct aan het begin van een parallelle tak getekend worden, als afsluiting van een tak, dus als een spoel, gebruikt worden. Een connector die de toestand van het RLO omkeert, kan geprogrammeerd worden door de normale connector te combineren met de instructie NOT. pagina 8
Instructies die het RLO beïnvloeden LAD FBD STL NOT I. I. NOT ( ) I. I. A I. A I. NOT CLR niet voorstelbaar niet voorstelbaar CLR SET niet voorstelbaar niet voorstelbaar SET SAVE I.6 ( SAVE ) I.6 SAVE A I.6 SAVE BR BR ( ) BR A BR Statuswoord 5 8 BR RLO 9 NOT CLR SET SAVE BR De instructie NOT keert het RLO om. De wisinstructie CLEAR zet het RLO op (enkel beschikbaar in STL). De instructie SET zet het RLO op (enkel beschikbaar in STL). De bewaarinstructie SAVE bewaart de inhoud van het RLO in de flag van het bitresultaat dat deel uitmaakt van het statuswoord. Met de instructie A BR kan het opgeslagen RLO opnieuw afgevraagd worden. pagina 9
Flankdetectie op het RLO LAD FBD STL M. M8. P M. M8. N M. M8. P M. M8. N A A FP M. M8. A A FN M. M8. OB-cyclus Voorbeeld RLO M. M. M8. M8. Flank op het RLO Stijgende flank Dalende flank We spreken van een flank op het RLO, wanneer het resultaat van een instructie verandert. Wanneer het RLO of het resultaat van de logische combinatie van "" naar "" gaat, levert de positieve-flankdetectie-instructie "FP" een toestand "" (bijvoorbeeld op M8.) gedurende de tijd van een cyclus. Opdat het systeem deze toestandsverandering zou kunnen detecteren, moet het RLO opgeslagen worden in een FP-merker (of FP-gegeven), bijvoorbeeld M.. Wanneer het RLO of het resultaat van de logische combinatie van "" naar "" gaat, levert de negatieve-flankdetectie-instructie "FN" een toestand "" (bijvoorbeeld op M8.) gedurende de tijd van een cyclus. Opdat het systeem deze toestandsverandering zou kunnen detecteren, moet het RLO opgeslagen worden in een FN-merker (of FN-gegeven), bijvoorbeeld M.. pagina
LAD Flankdetectie op signalen FBD STL M. M. POS M_BIT NEG M_BIT Q Q M8. M8. M. M. POS M_BIT NEG M_BIT M8. M8. A A ( A FP M. ) M8. A A ( A FN M. ) M8. Voorbeeld M. M. M8. OB-cyclus M8. Flanken op signalen Voorbeeld Stijgende flank Dalende flank We spreken van een flank op een signaal wanneer de signaaltoestand verandert. De ingang heeft een statisch effect als een vrijgave. De ingang moet dynamisch bewaakt worden en elke statusverandering van het signaal moet gedetecteerd worden. Wanneer de signaaltoestand van de ingang van "" naar "" gaat, levert de positieve-flankdetectie-instructie "POS" op dit signaal een status "" op de uitgang Q gedurende de tijd van een cyclus, voor zover de ingang ook de status "" heeft (zoals in bovenstaand voorbeeld). Om een flank te detecteren, moet de CPU de actuele toestand van de ingang vergelijken met de toestand van de ingang in de vorige cyclus. Deze toestand wordt opgeslagen in een nog niet gebruikte merker in het programma. De merker wordt ingegeven in de parameter M_BIT (bijvoorbeeld M.). Wanneer de signaaltoestand van de ingang van "" naar "" gaat, levert de negatieve-flankdetectie-instructie "NEG" op dit signaal een status "" op de uitgang Q gedurende de tijd van een cyclus, voor zover de ingang ook de status "" heeft (zoals in bovenstaand voorbeeld). Om een flank te detecteren, moet de CPU de actuele toestand van de ingang vergelijken met de toestand van de ingang in de vorige cyclus. Deze toestand wordt opgeslagen in een nog niet gebruikte merker in het programma. De merker wordt ingegeven in de parameter M_BIT (bijvoorbeeld M.). pagina