三菱的我不知道,但是我用西门子的也是没有这个功能的,估计是XXX委员会没有这个规定。但是有高人自己开发了一套程序,用来实现这个功能。明天上网找一下,代码发给你,看看能不能同等转换成三菱的语言,总之希望对你有帮助吧。 FUNCTION "POW" : VOID TITLE =Raises 'x' to the power of 'b' //y = x ^ b AUTHOR : AS_CS_21 FAMILY : MATH NAME : POW VERSION : 1.0
VAR_INPUT x : REAL ; b : REAL ; END_VAR VAR_OUTPUT y : REAL ; END_VAR VAR_TEMP tBase : REAL ; tExp : REAL ; Exponent : DINT ; inverted : BOOL ; END_VAR BEGIN NETWORK TITLE =Entscheide Sonderf鋖le -> direkt Ausgeben //y = a^b L #b; T #tExp; L 0.000000e+000; ==R ; L 1.000000e+000; JC Fast; TAK ; L #tExp; >R ; = #inverted; JCN cOne; NEGR ; T #tExp; cOne: L 1.000000e+000; ==R ; L #x; JC Fast; T #tBase; TRUNC ; DTR ; L #tBase; ==R ; ON #inverted; JC vBas; R #inverted; L 0.000000e+000; JC EXIT; NETWORK TITLE =Entscheide ganzzahliger Exponent -> Schleife
vBas: L #tExp; TRUNC ; DTR ; L #tExp; <>R ; JC cExp; TRUNC ; + L#-1; PWR: T #Exponent; L #x; L #tBase; *R ; T #tBase; L #Exponent; LOOP PWR; L #tBase; JU Fast; NETWORK TITLE =Entscheide gebrochenrationaler Exponent -> Exp (#tExp Ln #tBase)
cExp: L #tBase; LN ; L #tExp; *R ; EXP ; NETWORK TITLE =
Fast: AN #inverted; JC EXIT; L 1.000000e+000; TAK ; /R ; EXIT: T #y; BE ; END_FUNCTION