meaning of "=>" ? 
Author Message
 meaning of "=>" ?

Hi,
I try to model a three-axis synchronous machine. Actually I found a
two-axis sample modell, which is supposed to help me. There is sth I
can't figure out.
Please see the following lines:

wink => phi0,
y => p * phi0,
omega => n0 * n2om,

i1beta =>  bc2beta * (i1b0 - i1c0),

... to be continued ...

What does the operator "=>" mean? Is it kind of an assignment?
Note: "phi0", "p", "n0", "n2om", "bc2beta", "i1b0" and "i1c0" are
given, "wink", "y", "omega" and "i1beta" has just been defined.

Can anybody explain?

Thanks in advance and best regards,

Stephan Schulte

Appendix:
complete sample file:

LIBRARY IEEE;
USE IEEE.ELECTRICAL_SYSTEMS.ALL;
USE IEEE.MATH_REAL.ALL;

ENTITY SYME_SN IS
    GENERIC(
        l1d  : real := 0.042;
        l1q  : real := 0.042;
        le   : real := 0.050;
        p    : real := 2.0;
        j    : real := 0.075;
        i1a0 : real := 0.0;
        i1b0 : real := 0.0;
        i1c0 : real := 0.0;
        ie0  : real := 0.0;
        n0   : real := 1500.0;
        phi0 : real := 0.0 );

    PORT( TERMINAL a, b, c, e1, e2 : ELECTRICAL;

          QUANTITY  load : IN REAL := 0.0 ;
          QUANTITY  r1 : IN REAL := 0.4 ;
          QUANTITY  re : IN REAL := 1.0 ;    
          QUANTITY  lm1ed: IN real := 0.035;          
          QUANTITY i1d, i1q: OUT REAL;
          QUANTITY n, phi : OUT REAL);

END ENTITY SYME_SN;

ARCHITECTURE behav OF SYME_SN IS

        TERMINAL x : ELECTRICAL;

        QUANTITY vab ACROSS a to b;
        QUANTITY vbc ACROSS b to c;
        QUANTITY vca ACROSS c to a;

        QUANTITY v1a ACROSS i1a THROUGH a TO x;
        QUANTITY v1b ACROSS i1b THROUGH b TO x;
        QUANTITY v1c ACROSS i1c THROUGH c TO x;

        QUANTITY ved ACROSS ied THROUGH e1 TO e2;

        QUANTITY speed, mi, omega,  wink : REAL;
        QUANTITY v1d, v1q, psi1d, psi1q : REAL ;
        QUANTITY i1beta, v1alpha, v1beta, y, psied: REAL;

        CONSTANT bc2beta   : real := sqrt(3.0) / 3.0;
        CONSTANT n2om    : real := 2.0 * math_pi / 60.0;
        CONSTANT om2n    : real := 60.0 / (2.0 * math_pi);
        CONSTANT one_three : real := 1.0 / 3.0;
        CONSTANT two_three : real := 2.0 / 3.0;
        CONSTANT kmi     : real := 1.5 * p;  

BEGIN

        BREAK
        wink => phi0,
        y => p * phi0,
        omega => n0 * n2om,

        i1beta =>  bc2beta * (i1b0 - i1c0),

        i1d => i1a0 * cos(y) + i1beta * sin(y),
        i1q => - i1a0 * sin(y) + i1beta * cos(y),

        psied => i1d * lm1ed  + ie0 * le,

        psi1d => i1d * l1d + ied * lm1ed,
        psi1q => i1q * l1q;

        i1beta ==  bc2beta * (i1b - i1c);

        i1d == i1a * cos(y) + i1beta * sin(y);
        i1q == - i1a * sin(y) + i1beta * cos(y);

        psied == i1d * lm1ed  + ied * le;

        psi1d == i1d * l1d + ied * lm1ed;
        psi1q == i1q * l1q;

        y == p * wink;

        omega'dot == (1.0/j) * (mi - load);

        v1a == vbc * one_three + vab * two_three;
        v1d == i1d * r1 + psi1d'dot - p * omega * psi1q;
        v1q == i1q * r1 + psi1q'dot + p * omega * psi1d;

        mi == kmi * (psi1d * i1q - psi1q * i1d);

        v1alpha == two_three * v1a - one_three * (v1b + v1c);
        v1beta == bc2beta * (v1b - v1c);

        v1d == v1alpha * cos(y) + v1beta * sin(y);
        v1q == - v1alpha * sin(y) + v1beta * cos(y);

        ved == ied * re + psied'dot;

        speed == omega * om2n;
        wink == omega'integ;

        n == speed;
        phi == wink;

END ARCHITECTURE behav;



Mon, 12 Sep 2005 00:40:03 GMT  
 meaning of "=>" ?

Quote:
> I try to model a three-axis synchronous machine. Actually I found a
> two-axis sample modell, which is supposed to help me. There is sth I
> can't figure out.

I must admit that you had me baffled there for a moment, but a quick Google
performs miracles. :)

From what I understand, you have managed to find a file in accordance with
the Analog and Mixed-Signal extention of VHDL. You can find more
information at:
http://www.eda.org/vhdl-ams/
http://opensource.ethz.ch/emacs/vhdlams_syntax.html

Regards,

Pieter Hulshoff



Mon, 12 Sep 2005 02:05:55 GMT  
 meaning of "=>" ?
Initial conditions are specified this way.

For more detail have a look at:
http://www.eda.org/vhdl-ams/ftp_files/documentation/tutdac99.pdf
page 56

Egbert Molenkamp



Quote:
> Hi,
> I try to model a three-axis synchronous machine. Actually I found a
> two-axis sample modell, which is supposed to help me. There is sth I
> can't figure out.
> Please see the following lines:

> wink => phi0,
> y => p * phi0,
> omega => n0 * n2om,

> i1beta =>  bc2beta * (i1b0 - i1c0),

> ... to be continued ...

> What does the operator "=>" mean? Is it kind of an assignment?
> Note: "phi0", "p", "n0", "n2om", "bc2beta", "i1b0" and "i1c0" are
> given, "wink", "y", "omega" and "i1beta" has just been defined.

> Can anybody explain?

> Thanks in advance and best regards,

> Stephan Schulte

> Appendix:
> complete sample file:

> LIBRARY IEEE;
> USE IEEE.ELECTRICAL_SYSTEMS.ALL;
> USE IEEE.MATH_REAL.ALL;

> ENTITY SYME_SN IS
>     GENERIC(
>         l1d  : real := 0.042;
>         l1q  : real := 0.042;
>         le   : real := 0.050;
>         p    : real := 2.0;
>         j    : real := 0.075;
>         i1a0 : real := 0.0;
>         i1b0 : real := 0.0;
>         i1c0 : real := 0.0;
>         ie0  : real := 0.0;
>         n0   : real := 1500.0;
>         phi0 : real := 0.0 );

>     PORT( TERMINAL a, b, c, e1, e2 : ELECTRICAL;

>           QUANTITY  load : IN REAL := 0.0 ;
>           QUANTITY  r1 : IN REAL := 0.4 ;
>           QUANTITY  re : IN REAL := 1.0 ;
>           QUANTITY  lm1ed: IN real := 0.035;
>           QUANTITY i1d, i1q: OUT REAL;
>           QUANTITY n, phi : OUT REAL);

> END ENTITY SYME_SN;

> ARCHITECTURE behav OF SYME_SN IS

> TERMINAL x : ELECTRICAL;

> QUANTITY vab ACROSS a to b;
> QUANTITY vbc ACROSS b to c;
> QUANTITY vca ACROSS c to a;

> QUANTITY v1a ACROSS i1a THROUGH a TO x;
> QUANTITY v1b ACROSS i1b THROUGH b TO x;
> QUANTITY v1c ACROSS i1c THROUGH c TO x;

> QUANTITY ved ACROSS ied THROUGH e1 TO e2;

> QUANTITY speed, mi, omega,  wink : REAL;
> QUANTITY v1d, v1q, psi1d, psi1q : REAL ;
> QUANTITY i1beta, v1alpha, v1beta, y, psied: REAL;

> CONSTANT bc2beta   : real := sqrt(3.0) / 3.0;
> CONSTANT n2om : real := 2.0 * math_pi / 60.0;
> CONSTANT om2n : real := 60.0 / (2.0 * math_pi);
> CONSTANT one_three : real := 1.0 / 3.0;
> CONSTANT two_three : real := 2.0 / 3.0;
> CONSTANT kmi : real := 1.5 * p;

> BEGIN

> BREAK
> wink => phi0,
> y => p * phi0,
> omega => n0 * n2om,

> i1beta =>  bc2beta * (i1b0 - i1c0),

> i1d => i1a0 * cos(y) + i1beta * sin(y),
> i1q => - i1a0 * sin(y) + i1beta * cos(y),

> psied => i1d * lm1ed  + ie0 * le,

> psi1d => i1d * l1d + ied * lm1ed,
> psi1q => i1q * l1q;

> i1beta ==  bc2beta * (i1b - i1c);

> i1d == i1a * cos(y) + i1beta * sin(y);
> i1q == - i1a * sin(y) + i1beta * cos(y);

> psied == i1d * lm1ed  + ied * le;

> psi1d == i1d * l1d + ied * lm1ed;
> psi1q == i1q * l1q;

> y == p * wink;

> omega'dot == (1.0/j) * (mi - load);

> v1a == vbc * one_three + vab * two_three;
> v1d == i1d * r1 + psi1d'dot - p * omega * psi1q;
> v1q == i1q * r1 + psi1q'dot + p * omega * psi1d;

> mi == kmi * (psi1d * i1q - psi1q * i1d);

> v1alpha == two_three * v1a - one_three * (v1b + v1c);
> v1beta == bc2beta * (v1b - v1c);

> v1d == v1alpha * cos(y) + v1beta * sin(y);
> v1q == - v1alpha * sin(y) + v1beta * cos(y);

> ved == ied * re + psied'dot;

> speed == omega * om2n;
> wink == omega'integ;

> n == speed;
> phi == wink;

> END ARCHITECTURE behav;



Mon, 12 Sep 2005 21:44:22 GMT  
 meaning of "=>" ?

Quote:

> Initial conditions are specified this way.

> For more detail have a look at:
> http://www.eda.org/vhdl-ams/ftp_files/documentation/tutdac99.pdf
> page 56

> Egbert Molenkamp

OK, I see that initial conditions are defined that way.
Does this mean, that these lines are executed once and are not subject
to simulation relevant contents for all further cycles of the
simulation (since more recent values have been calculated afterwards)?

Another item: I guess that the operator "==" indicates an equation.
So does this mean, that I can establish a set of equations as a formal
description for the machine - which means: is this equation system
solved automatically?

Thanks in advance,

Stephan Schulte

Quote:

> "Stephan Schulte" schreef in bericht

> > Hi,
> > I try to model a three-axis synchronous machine. Actually I found a
> > two-axis sample modell, which is supposed to help me. There is sth I
> > can't figure out.
> > Please see the following lines:

> > wink => phi0,
> > y => p * phi0,
> > omega => n0 * n2om,

> > i1beta =>  bc2beta * (i1b0 - i1c0),

> > ... to be continued ...

> > What does the operator "=>" mean? Is it kind of an assignment?
> > Note: "phi0", "p", "n0", "n2om", "bc2beta", "i1b0" and "i1c0" are
> > given, "wink", "y", "omega" and "i1beta" has just been defined.

> > Can anybody explain?

> > Thanks in advance and best regards,

> > Stephan Schulte

> > Appendix:
> > complete sample file:

> > LIBRARY IEEE;
> > USE IEEE.ELECTRICAL_SYSTEMS.ALL;
> > USE IEEE.MATH_REAL.ALL;

> > ENTITY SYME_SN IS
> >     GENERIC(
> >         l1d  : real := 0.042;
> >         l1q  : real := 0.042;
> >         le   : real := 0.050;
> >         p    : real := 2.0;
> >         j    : real := 0.075;
> >         i1a0 : real := 0.0;
> >         i1b0 : real := 0.0;
> >         i1c0 : real := 0.0;
> >         ie0  : real := 0.0;
> >         n0   : real := 1500.0;
> >         phi0 : real := 0.0 );

> >     PORT( TERMINAL a, b, c, e1, e2 : ELECTRICAL;

> >           QUANTITY  load : IN REAL := 0.0 ;
> >           QUANTITY  r1 : IN REAL := 0.4 ;
> >           QUANTITY  re : IN REAL := 1.0 ;
> >           QUANTITY  lm1ed: IN real := 0.035;
> >           QUANTITY i1d, i1q: OUT REAL;
> >           QUANTITY n, phi : OUT REAL);

> > END ENTITY SYME_SN;

> > ARCHITECTURE behav OF SYME_SN IS

> > TERMINAL x : ELECTRICAL;

> > QUANTITY vab ACROSS a to b;
> > QUANTITY vbc ACROSS b to c;
> > QUANTITY vca ACROSS c to a;

> > QUANTITY v1a ACROSS i1a THROUGH a TO x;
> > QUANTITY v1b ACROSS i1b THROUGH b TO x;
> > QUANTITY v1c ACROSS i1c THROUGH c TO x;

> > QUANTITY ved ACROSS ied THROUGH e1 TO e2;

> > QUANTITY speed, mi, omega,  wink : REAL;
> > QUANTITY v1d, v1q, psi1d, psi1q : REAL ;
> > QUANTITY i1beta, v1alpha, v1beta, y, psied: REAL;

> > CONSTANT bc2beta   : real := sqrt(3.0) / 3.0;
> > CONSTANT n2om : real := 2.0 * math_pi / 60.0;
> > CONSTANT om2n : real := 60.0 / (2.0 * math_pi);
> > CONSTANT one_three : real := 1.0 / 3.0;
> > CONSTANT two_three : real := 2.0 / 3.0;
> > CONSTANT kmi : real := 1.5 * p;

> > BEGIN

> > BREAK
> > wink => phi0,
> > y => p * phi0,
> > omega => n0 * n2om,

> > i1beta =>  bc2beta * (i1b0 - i1c0),

> > i1d => i1a0 * cos(y) + i1beta * sin(y),
> > i1q => - i1a0 * sin(y) + i1beta * cos(y),

> > psied => i1d * lm1ed  + ie0 * le,

> > psi1d => i1d * l1d + ied * lm1ed,
> > psi1q => i1q * l1q;

> > i1beta ==  bc2beta * (i1b - i1c);

> > i1d == i1a * cos(y) + i1beta * sin(y);
> > i1q == - i1a * sin(y) + i1beta * cos(y);

> > psied == i1d * lm1ed  + ied * le;

> > psi1d == i1d * l1d + ied * lm1ed;
> > psi1q == i1q * l1q;

> > y == p * wink;

> > omega'dot == (1.0/j) * (mi - load);

> > v1a == vbc * one_three + vab * two_three;
> > v1d == i1d * r1 + psi1d'dot - p * omega * psi1q;
> > v1q == i1q * r1 + psi1q'dot + p * omega * psi1d;

> > mi == kmi * (psi1d * i1q - psi1q * i1d);

> > v1alpha == two_three * v1a - one_three * (v1b + v1c);
> > v1beta == bc2beta * (v1b - v1c);

> > v1d == v1alpha * cos(y) + v1beta * sin(y);
> > v1q == - v1alpha * sin(y) + v1beta * cos(y);

> > ved == ied * re + psied'dot;

> > speed == omega * om2n;
> > wink == omega'integ;

> > n == speed;
> > phi == wink;

> > END ARCHITECTURE behav;



Tue, 13 Sep 2005 15:37:19 GMT  
 meaning of "=>" ?



Quote:
> > Initial conditions are specified this way.

> > For more detail have a look at:
> > http://www.eda.org/vhdl-ams/ftp_files/documentation/tutdac99.pdf
> > page 56

> > Egbert Molenkamp

> OK, I see that initial conditions are defined that way.
> Does this mean, that these lines are executed once and are not subject
> to simulation relevant contents for all further cycles of the
> simulation (since more recent values have been calculated afterwards)?

The break also can have a condition.
Suppose you write a description of a bouncing ball.
It could have the following form copied from a tutorail from
Kazmierski, University of Southampton.

Notice that the inital high of the ball is 10.0 meters (break statement
is used).
Then the ball will fall, but when it hits the ground the
direction of the ball is changed. The latter is also
written with a break statement.

architecture bouncing of ball is
  quantity v: velocity;
  quantity s: displacement;
  constant G: real  := 9.81; -- G-force
  constant AirResistance: real  := 0.1;
 begin
  -- Specify initial conditions
  break v => 0.0, s => 10.0 ;
 -- Introduce discontinuity when ball hits ground and reset velocity value:
  break v => -v when v'ABOVE(0.0) and not s'ABOVE(0.0);
   s'DOT == -v;
   if v > 0.0 use
            v'DOT == G  - AirResistance*v**2; -- falling
   else   v'DOT == G + AirResistance*v**2; -- rising
   end if;
end architecture bouncing;

Quote:
> Another item: I guess that the operator "==" indicates an equation.
> So does this mean, that I can establish a set of equations as a formal
> description for the machine - which means: is this equation system
> solved automatically?

Yes.

Egbert Molenkamp



Tue, 13 Sep 2005 17:53:28 GMT  
 
 [ 6 post ] 

 Relevant Pages 

1. gsub means "core dump"?

2. Meaning of "Relate"

3. Meaning of "set clipper=f55"

4. Meaning of "threshold" in Peak Detector

5. Calculating Average Values using "Mean" vi

6. what does mean "Plug-ins"?

7. HELP!: what does "?=" do or mean

8. OT: Meaning of the word "free"

9. OT: Meaning of the word "free"

10. meaning of "current instance"

11. Meaning of "Duplicate public name"

12. Meaning of "-I/J"

 

 
Powered by phpBB® Forum Software