Formelfönster
Detta avsnitt gäller om variabler tillämpas i produktkonfiguratorn. Användning av variabler aktiveras med systemparametern Tillämpa variabler under Produktkonfigurator på fliken System i rutin Systeminställningar.
Då variabler tillämpas i produktkonfiguratorn kan du i rutin Uppdatering konfigurationsgrupper ange regelformler för valgrupper och valalternativen i valgrupperna. För valalternativen kan du även ange kvantitetsformler. För numeriska variabler kan du ange berärkningsformler och för textvariabler kan du ange textvärden.
I rutin Uppdatering artiklar och Beredning kan du ange prisformler på artiklarna. I Beredning kan du även ange formler för ställ- och stycktid på operationsrader. På materialrader kan du ange kvantitetsformler. Dessutom kan du ange instruktionsformler på både operations- och materialrader.
Nedan beskrivs formelfönstren med några exempel av formler och funktioner som går att ange.
Mer avancerade formler vänder sig till dig som redan har beräkningserfarenhet, är beräkningsingenjör eller liknande. Alternativt är att du tar fram avancerade formler i samråd med utbildare/konsult från Monitor ERP System AB. Du kan också gå en utbildning i produktkonfigurering med variabler. Kontakta Monitor ERP System AB på tel. 0650-766 00 om detta.
Beräkningsformel för numeriska variabler
För en variabel av typen Numerisk i Uppdatering konfigurationsgrupper kan du ange en sammansatt beräkningsformel som består av andra numeriska variabler och textvariabler. Du kan också göra variabeln till en konstant genom att enbart ange ett numeriskt värde i formelfönstret.
De variabler som är definierade på konfigurationsgruppen visas under Variabler i fönstret, förutom den variabel som formelfönstret gäller för. För att bygga upp beräkningsformler använder du Variabler, Operatorer, Villkor och i vissa fall även Funktioner.
En formel byggs upp genom att du ställer markören i området Formel i fönstret och klickar på önskad variabel, operator, villkor och eventuell funktion.
Formelfönster till beräkningsformel för numerisk variabel.
Textvärde för textvariabler
För en variabel av typen Text kan du i samma rutin ange ett sammansatt textvärde som består av andra numeriska variabler, textvariabler och variabelnamn.
De variabler som är definierade på konfigurationsgruppen visas under Variabler i fönstret, förutom den variabel som formelfönstret gäller för. För att bygga upp textvärden använder du Variabler (Tomt om inget värde) och Variabler (Namn om inget värde).
En formel byggs upp genom att du ställer markören i området Formel i fönstret och klickar på önskad variabel (värde och/eller namn). Textvärden för textvariabler kan med fördel kombineras med statisk text.
Formelfönster till textvärde för textvariabel.
Kvantitetsformel
På ett valalternativ till valgrupp i Uppdatering konfigurationsgrupper kan du ange en kvantitetsformel. Formeln anges i ett fönster som öppnas under knappen f(x) på raden för valalternativet. En kvantitetsformel ger ett numeriskt värde som resultat.
På materialrader i rutin Beredning kan du också ange kvantitetsformler för inställningskvantitet samt för kvantitet. För att tillämpa kvantitetsformler på materialrader ska systemparameter Använda kvantitetsformel (endast konfig) vara vald till "Ja, kvantitet" eller "Ja, både inst.kvant- och kvantitet", under Beredning på fliken Tillverkning i Systeminställningar.
De variabler som är definierade på konfigurationsgruppen visas under Variabler i fönstret. För att bygga upp kvantitetsformler använder du Variabler, Operatorer, Villkor och i vissa fall även Funktioner. Det går även att ange tal i en formel genom att du skriver in det manuellt i formeln.
Exempelvis i kvantitetsformeln nedan divideras [H] * [B] med konstanten 1000000 för att få enheten m2, eftersom höjd och bredd i detta fall anges i enheten mm.
Formelfönster till kvantitetsformel.
Regelformel
På en valgrupp eller ett valalternativ till en valgrupp kan du även ange en regelformel. Detta görs i ett annat formelfönster under Rf(x) på raden för valgruppen eller valalternativet. En regelformel ger ett sant eller falskt värde som resultat. Det går att välja att utesluta eller inkludera valalternativet om villkoret är uppfyllt eller ej.
För att bygga upp regelformler använder du Villkor, förutom variabler, operatorer och funktioner. Det går även att bygga upp mer avancerade regelformler med hjälp av if-satser som villkor.
I exemplet med regelformeln nedan utesluts valalternativet "H141 Krok, liten" om [H] * [B] är större än 1000000 (i detta fall mm2).
Formelfönster till regelformel.
Prisformel
På en artikel kan du ange en prisformel. Det görs under knappen Prisformel i Uppdatering artiklar eller i Beredning. En prisformel är en kvantitetsformel som sedan multipliceras med pris på artikeln i konfigureringsfönstret, för att räkna fram korrekt pris på artikeln baserat på variablerna i formeln. En artikel med prisformel kan ingå i flera konfigurationsgrupper, därför kan du lägga till de berörda konfigurationsgrupperna överst i det här formelfönstret.
Formelfönster till prisformel.
Formler för ställtid och stycktid
Du kan ange formler för både ställ- och stycktid på operationsrader i rutin Beredning. Formler för ställ- och stycktid ger ett numeriskt värde. För att tillämpa formler för ställ- och stycktid ska systemparameter Använda tidsformel (endast konfig) vara vald till "Ja, stycktid" eller "Ja, både ställ- och stycktid", under Beredning på fliken Tillverkning i Systeminställningar. Formlerna räknar fram ställ- och stycktiden baserat på de variabler som anges i konfigurationen på en tillverkningsorder.
Instruktionstexter med formler
Du kan ange instruktionstexter med formler på valalternativ i Uppdatering konfigurationsgrupper samt på operationsrader och materialrader i rutin Beredning. Formlerna fungerar som variabla värden i instruktionstexterna. En instruktionstext med formler kan ju ingå i flera konfigurationsgrupper, därför kan du lägga till de berörda konfigurationsgrupperna överst i det här formelfönstret.
För att tillämpa instruktionstexter med formler i beredningar ska systemparameter Använda instruktionsformel (endast konfig) vara vald till "Ja, operation", "Ja, material" eller "Ja, både operation och material", under Beredning på fliken Tillverkning i Systeminställningar.
Formlerna är vanliga kvantitetsformler (se ovan) som kombineras med en instruktionstext i fönstret. Det görs under knappen IK (Instruktion för Konfiguration) på valalternativ samt på operations- och materialrader. I beredningar ersätter instruktionstexter med formler ordinarie instruktionstexter under knappen I.
Instruktionstexter med formler på operationer och materialrader kommer med på tillverkningsorder, där instruktionstext och resultatvärdet från formlerna visas.
Instruktionstexter med formler på valalternativ och materialrader kan även komma med på inköpsorderförslag och inköpsorder om systemparametern Infoga textrader på i-order från instruktion på material är satt, under Produktkonfigurator på fliken System i Systeminställningar.
I exemplet nedan ger instruktionsformeln ett värde på skärmåttet för spegelglaset, enligt formlerna: Höjd = [H]-2*[RB] och Bredd = [B]-2*[RB]
[H] = Höjd inkl. ram, [B] = Bredd inkl. ram, [RB] = Rambredd.
Formelfönster till instruktionsformel.
I fönstret lägger du till formler med knappen Lägg till... En formel infogas där markören står i textrutan. Du tar bort markerad formel med knappen Ta bort. Du kan editera en formel genom att dubbelklicka på formelnumret "{n}" i textrutan eller klicka på knappen [#]f(x) i tabellen i nedre delen av fönstret.
Observera att formelnumret i textrutan ska omslutas med klammerparenteser "{}" om du t.ex. vill flytta på formeln i textrutan och ska skriva in den manuellt på annat ställe i instruktionstexten.
Formel
I denna sektion skapas och editeras formlerna. Variabler, villkor och funktioner adderas till formlerna genom att du klickar på dem. Det går även bra att skriva direkt i formlerna, t.ex. om du vill ange ett tal. Om du gör långa och komplexa formler kan du behöva dela upp dem med radbrytningar. Radbrytningar och mellanslag negligeras i formlerna.
Observera att om decimaltal anges i en formel måste decimalavskiljaren vara en punkt "." annars blir det ett syntaxfel.
Variabler
Här visas de variabler som finns definierade i konfigurationsgruppen.
Operatorer
De operatorer som går att använda i formler är:
- + addition
- - subtraktion
- * multiplikation
- / division
- % procent
- () parentes
Villkor
De villkor som går att använda i formler är:
- < mindre än
- > större än
- = lika med
- <> skiljt från
- if(condition, true, false) if-sats
- and
- or
- not
Exempel på hur villkor anges:
Här är ett exempel på hur villkoret if(condition, true, false) anges: Villkoret talar om att om variabeln [L] är större än 100 använd värdet 5, annars använd värdet 3. Värdena 5 och 3 kan även vara matematiska funktioner.
if([L]>100,5,3)
Funktioner
Den uppsättning av funktioner som följer med och som går att använda i formler är:
- Abs(x) - absolutvärde av x
- Acos(x) - arcuscosinus av x
- Asin(x) - arkussinus av x
- Atan(x) - arkustangens av x
- Ceiling(x) - avrundning uppåt till närmsta heltal av x (beroende av positivt eller negativt tal)
- Cos(x) - cosinus av x
- Exp(x) - exponentialfunktionen av x
- Floor(x) - avrundning nedåt till närmsta heltal av x (beroende av positivt eller negativt tal)
- Log(x) - logaritmen av x
- Log10(x) - 10-logaritmen av x
- Max(x,y) - maxvärde av x eller y
- Min(x,y) - minvärde av x eller y
- Pi() - värdet av pi (3,14159)
- Pow(x,y) - potens av x till y
- Round(x, decimals) - avrundning av x, antal decimaler
- Sign(x) - värdet 1 för positivt x, värdet -1 för negativt x, värdet 0 för x=0
- Sin(x) - sinus av x
- Sqrt(x) - kvadratroten ur x
- Tan(x) - tangens av x
- Truncate(x) - avrundning nedåt till närmsta heltal av x (ej beroende av positivt eller negativt tal)
- Deg(x) - grader
- Rad(x) - radianer
Exempel på hur funktioner anges i formler:
Första exemplet nedan gäller en kvantitetsformel som är angiven på materialraden för clips till spegelramen i beredningen och som räknar ut hur många clips som behöver användas till spegelramen, baserat på spegelramens bredd [B] och höjd [H] i mm. Eftersom antalet clips bara kan vara ett heltal som vi dessutom ska avrunda nedåt används här funktionen Floor(x), så att det minsta antal clips som ska användas erhålls.
Floor(2*([B]+[H])/1000)
Ett annat exempel beskriver avrundning där decimaler i avrundningen kan ingå. Här används funktionen Round(x, decimals). I exemplet delas måttet i variabeln [L] med 3, och med avrundning till noll i antal decimaler (blir ett heltal).
Round([L]/3,0)
Här är ett exempel på hur du kan använda funktionen Round(x, decimals) om du vill åstadkomma jämna 10-tal, 100-tal osv. Här avrundas variabeln [L] till jämt 100-tal.
Round([L]/100,0)*100
Detta exempel beskriver funktionen Max(x,y). Funktionen tar det största värdet i variablerna [H] eller [B]. Motsatta funktionen Min(x,y) tar det minsta värdet i variablerna.
Max([H],[B])
Detta exempel beskriver hur funktioner anges då vinklar förekommer. Enligt matematikens regelverk vet vi att följande gäller för en rätvinklig triangel:
Vi antar att det är längden (b) som ska beräknas. Om vi har längden (a) som variabeln [A] och har vinkeln (v) som variabeln [V], kan vi lösa ut (b) enligt regelverket ovan. Här får vi använda funktionen Tan(x) för att beräkna (b). Formeln anger vi då som:
Tan([V]*Pi()/180)*[A]
Observera att vinkelgrader beräknas i radianer och måste därför multipliceras med Pi()/180, i de funktioner där vinkelgrader förekommer. Observera även att funktionen Pi() alltid ska skrivas precis så i en formel.
Det sista exemplet beskriver funktioner för att beräkna längder på sidor i rätvinkliga trianglar som den i ovanstående exempel. Här använder vi oss av en annan matematisk regel, "Pythagoras sats". Enligt den regeln gäller följande:
Vi antar att det är längden (c) i triangeln ovan som ska beräknas. Om vi har längden (a) som variabeln [A] och längden (b) som variabeln [B] kan vi lösa ut (c) enligt Pythagoras sats. Formeln anger vi då som:
Sqrt(Pow([A],2)+Pow([B],2))
Knappen Testa formel
Med denna knapp kan du testa att formeln ger korrekta resultat om det t.ex. är en kvantitetsformel. Är det en regelformel ger formeln ett sant eller falskt resultat. I ett fönster som visas kan du ange valfria variabelvärden och se resultatet i nedre delen av fönstret. Om det är ett syntaxfel i formeln upplyses du om det i ett meddelande.
Observera att om decimaltal anges här måste decimalavskiljaren vara ett komma "," annars blir det ett syntaxfel.
Knappen Rensa formel
Med denna knapp tömmer du hela sektionen där formeln är angiven.