06.07.2013 09:46 | |
Beigetreten: 28.01.2009 Letzter Bes: 26.10.2024 Beiträge: 6852 Bewertung: (1365) |
Hallo Als eine vorherige Diskussion über dasselbe Problem hier klingt es interessant hier veröffentlicht werden. Leute in TIA Portal Konferenz kann diese Version in "SCL" in ihre Plattform konvertieren. Real: X ^ N: = EXP (N * LN (X)); Komplex: LN(-X): = LN (ABS(X)) + j 3.14 und EXP (a + j b)=EXP(a){cos(b) + j sin(b)} [code]FUNCTION_BLOCK FB100 TITLE = 'General X^N' // // Block Comment... // VERSION: '1.0' AUTHOR: hdhosseini NAME: COMPLEX_CALC FAMILY: FORUM_D // Block Parameters VAR_INPUT // Input Parameters base:REAL:=1.0; Power:REAL:=1.0; END_VAR VAR_OUTPUT // Output Parameters Error:BOOL:=false; complex:BOOL:=false; // true, wenn komplexe Ergebnis---falsche Real R_part:REAL:=0.0; I_part:REAL:=0.0; END_VAR VAR // Static Variables END_VAR IF ((base=0) AND (Power=0)) OR (base=0) THEN error:=1; complex:=0; R_part:=0; I_part:=0; else IF (base<0) THEN error:=0; complex:=1; R_part:=EXP (POWER* (LN(ABS(base)))) * COS (POWER*3.14); I_part:=EXP (POWER* (LN(ABS(base)))) * SIN (POWER*3.14);; END_IF; IF (base>0) THEN error:=0; complex:=0; R_part:=EXP (POWER* (LN((base)))) ; I_part:=0.0; END_IF; END_IF; ; END_FUNCTION_BLOCK[/code] Gruß Hamid Hoßeini |
Zuletzt bearbeitet von: hdhosseini am: 04.10.2013 12:29Zuletzt bearbeitet von: hdhosseini am: 06.07.2013 11:43 |
|
Für diesen Beitrag bedanken sich1 Benutzer |
04.10.2013 08:25 | |
Beigetreten: 10.10.2005 Letzter Bes: 18.10.2024 Beiträge: 1921 Bewertung: (136) |
Hallo, es gibt in dem nachfolgenden Beitrag (Link) auch so eine programmierte Funktion für STEP 7, wenn jemand nicht in SCL programmieren will oder kann: http://support.automation.siemens.com/WW/view/de/8795702 Mit freundlichem Gruß |
04.10.2013 11:45 | |
Beigetreten: 28.01.2009 Letzter Bes: 26.10.2024 Beiträge: 6852 Bewertung: (1365) |
Hallo, Ich hoffe, dass Sie zuerst 1 - Sie lesen hier 2-wissen komplex Variablen Gruß Hamid Hoßeini |
Zuletzt bearbeitet von: hdhosseini am: 23.10.2013 15:19 |
|
Folgen Sie uns auf