Korte beschrijving
Het blok "Analoge aritmetica" rekent de waarde AQ van een vergelijking uit door de gebruiker gedefinieerde operanden en operatoren.
Schakeling |
Omschrijving |
Ingang En |
Activering van het functieblok voor de analoge aritmetica. |
Parameters |
V1:Waarde 1: Eerste operand V2:Waarde 2: Tweede operand V3:Waarde 3: Derde operand V4:Waarde 4: Vierde operand
Operator1: Eerste operator Operator2: Tweede operator Operator3: Derde operator
Prioriteit1: Prioriteit van de eerste operatie Prioriteit2: Prioriteit van de tweede operatie Prioriteit3: Prioriteit van de derde operatie
p: aantal plaatsen achter de komma |
Uitgang AQ |
De uitgang AQ is het resultaat van de vergelijking uit operandenwaarden en operatoren. AQ wordt op 32767 gezet, indien zich deling door 0 of overloop voordoet. AQ wordt op -32768 gezet, indien zich negatieve overloop (onderloop) voordoet. |
|
0BA1- 0BA5: Het functieblok "Analoge aritmetica" bestaat pas vanaf de modulelijn 0BA6.
|
Parameters V1, V2, V3 en V4
De waarden voor V1, V2, V3 en V4 kunnen ook een actuele waarde van een reeds geprogrammeerde andere functie zijn.
Analoge comparator: Ax – Ay
Analoge drempelwaardeschakelaar: Ax
Analoge versterker: Ax
Analoge multiplexer: AQ
Analoge flank: AQ
Analoge aritmetica: AQ
PI-regelaar: AQ
Voor-/achterwaartsteller: Cnt
Parameter p (aantal plaatsen achter de komma)
Parameter p geldt voor de weergave van V1, V2, V3, V4 en AQ in een meldingtekst.
Functiebeschrijving
De analoge aritmetica koppelt de vier operanden en drie operatoren tot een vergelijking. De operator kan één van vier standaardoperatoren zijn: +, -, *, of /. Voor iedere operator moet u een eenduidige prioriteit High ("H"), Medium ("M") of Low ("L") instellen. De operatie met de prioriteit High wordt het eerst uitgevoerd, daarna de operatie met de prioriteit Medium en tot slot de operatie met de prioriteit Low. U moet exact een operatie met iedere prioriteit aangeven. De operandenwaarden kunnen naar een vooraf gedefinieerde functie verwijzen om de betreffende waarde te leveren.
Het aantal operandenwaarden is op 4 vastgesteld, het aantal operatoren is op 3 vastgesteld. Wanneer u minder operanden nodig heeft, gebruikt u constructies als "+ 0" of " * 1" om de overige parameters aan te geven.
U kunt ook het gedragspatroon van de functie configureren, wanneer de vrijgaveparameter En = 0 is. Het functieblok kan ofwel de laatste waarde handhaven of op 0 woorden gezet.
Mogelijke fouten: Deling door nul en overloop
Wanneer de uitvoering van het functieblok Analoge Aritmetica resulteert in deling door nul of overloop, worden er interne bits gezet die de opgetreden fout aangeven. U kunt in uw schakelprogramma een functieblok Foutdetectie analoge aritmetica programmeren om deze fouten te herkennen en het programmagedrag op de vereiste manier te sturen. U programmeert voor ieder functieblok "Analoge Aritmetica" een functieblok "Foutdetectie analoge arithmetica".
Voorbeelden
De volgende tabellen geven enkele eenvoudige voorbeelden van blokparameters voor analoge aritmetica met de resulterende vergelijking en de uitgangswaarden aan:
V1 |
Operator1 (Prioriteit 1) |
V2 |
Operator2 (Prioriteit 2) |
V3 |
Operator3 (Prioriteit 3) |
V4 |
12 |
+ (M) |
6 |
/ (H) |
3 |
- (L) |
1 |
Vergelijking: (12 + (6 / 3)) - 1
Resultaat: 13
V1 |
Operator1 (Prioriteit 1) |
V2 |
Operator2 (Prioriteit 2) |
V3 |
Operator3 (Prioriteit 3) |
V4 |
2 |
+ (L) |
3 |
* (M) |
1 |
+ (H) |
4 |
Vergelijking: 2 + (3 * (1 + 4))
Resultaat: 17
V1 |
Operator1 (Prioriteit 1) |
V2 |
Operator2 (Prioriteit 2) |
V3 |
Operator3 (Prioriteit 3) |
V4 |
100 |
- (H) |
25 |
/ (L) |
2 |
+ (M) |
1 |
Vergelijking: (100 – 25) / (2 + 1)
Resultaat: 25