Friday, August 31, 2012

Integer to Real scaling block


Integer top Real scaling block with optional output limiting.

This block converts an integer to a real and scales using linear interpolation.
By setting the #Limit_Out bit the output can be limited to the minimum and
maximum scale values.

Linear interpolation:

                       (#Raw - #Raw_Min)(#Scale_Max - #Scale_Min)
         #Scaled= ------------------------------------------------------     +  #Scale_Min
                                 (#Raw_Max - #Raw_Min)
In
#Raw                 Int
#Raw_Min          Int
#Raw_Max         Int
#Scale_Min         Real
#Raw_Max         Real
OUT
# Scaleed           Real
Network: 01 Convert integers to reals


  L     #Raw
      ITD
      DTR
      T     #_Raw_R
      L     #Raw_Min
      ITD
      DTR
      T     #_Raw_Min_R
      L     #Raw_Max
      ITD
      DTR
      T     #_Raw_Max_R
Network: 02 Calculation
// Raw - Raw_Min
      L     #_Raw_R
      L     #_Raw_Min_R
      -R    
      T     #_temp_real

// Scale_Max - Scale_Min
      L     #Scale_Max
      L     #Scale_Min
      -R    
//(Raw - Raw_Min) * (Scale_Max - Scale_Min)
      L     #_temp_real
      *R    
      T     #_temp_real

// Raw_Max - Raw_Min
      L     #_Raw_Max_R
      L     #_Raw_Min_R
      -R    
      T     #_temp_real2
//(Raw - Raw_Min) * (Scale_Max - Scale_Min) / (Raw_Max - Raw_Min)
      L     #_temp_real
      L     #_temp_real2
      /R    
//(Raw - Raw_Min) * (Scale_Max - Scale_Min) / (Raw_Max - Raw_Min) + Scale_Min
      L     #Scale_Min
      +R    
      T     #_Output



 Network:03Turn on output for cascade 
A      #Always on bit
AN   #Always on bit
SAVE



!--RELATED-POSTS-STARTS-->

Sunday, August 19, 2012

How To create S120 drive control/status word read write by one block

Answer:
Create a  FB block for getting this advantage

In                   Data type     Address           Initial Value                   Comment
Drive Run                Bool                0.0                     False                             OFF1
Flt ACK                  Bool                0.1                    False                             Fault Reset
F_Jog                      Bool                0.2                     False                          
R_Jog                      Bool                0.3                     False                          
Main_N_Set            Int                    2.0                      0                                Speed Set Point
Pos_Torque             Int                    4.0                      0                              Positive torque Limit
Neg_Torque            Int                     6.0                     0                               Negative Torque Limit
IO_address              Int                     8.0                     0                               Device Address

Out              Data type     Address                  Initial Value                   Comment


RTS              Bool               10.0                         False                                 Ready to Start
Rdy_op         Bool               10.1                         False                             Ready to Operation
IOP               Bool              10.2                         False                              In Operation
Fault              Bool               10.3                        False                            Fault Presen 
Jogging           Bool               10.4                       False                              Jogging With Jog Speed
Mtr_Speed   Int                 12.0                          0                               Speed of mtr in RPM
Mtr_Torq        Int                 14.0                          0                                      Mtr torque
Mtr_I              Int                  16.0                         0                                  Mtr Current
Mtr_Kw          Int                  18.0                         0                                    Mtr Kw
CommErr         Int                  20.0                        0                                  Comm Err

State                   Data type     Address           Initial Value                   Comment
Control word
B08_Inch0              Bool                   22.0                   False                                 .....
B09_Inch1              Bool                   22.1                   False                                 ......
B10_Plc_Contl        Bool                   22.2                    True                                 ......
B11_F_Enable        Bool                    22.3                    True                                Jog Forwad
B12_R_Enable        Bool                    22.4                    True                               Jog Reverse
B13_Mop_Up         Bool                    22.5                      False                               ...........
B14_Mop_Dn        Bool                     22.6                     False                                ....
B15_Ex_Flt            Bool                    22.7                    Fase                                    ..........
B00_On                 Bool                    23.0                    False                             OFF1
B01_NO_Coast       Bool                    23.1                   True                              OFF2
B02_NO_Qstop      Bool                     23.2                  True                              OFF3
B03_Enable            Bool                     23.3                  True                              
B04_RFG_Enable   Bool                     23.4                  True                            
B05_RFG_SRT     Bool                      23.5                  True                               ...........
B06_SP_Enable     Bool                       23.6                 True                                 ....
B07_Flt_ACK        Bool                       23.7                  False                              Fault Reset
W_2                     Int                         24.0                     0                                     spare
Speed_Set             Int                         26.0                     0                                  Main N Set
Torq_Pos              Int                          28.0                    0                                Torque positive
Torq_Neg             Int                          30.0                     0                                Torque Negative
STATUS WORD
Out0                   Byte                 32.0                         B#16#0                            spare
B00_RTS              Bool               33.0                         False                                 Ready to Start
B01_Rdy_op         Bool               33.1                         False                             Ready to Operation
B02_IOP               Bool              33.2                         False                                   In Operation
B03_Fault             Bool               33.3                          False                                 Fault Present
B04_OFF2           Bool               33.4                          False                                 Coast
B05_OFF3           Bool               33.5                          False                                 Q_Stop
B06_Inhibit           Bool               33.6                          False                               .......
B07_Warning        Bool               33.7                         False                                 ..............
W2                     Int                  34.0                          0                                   Spare
W3_Mtr_Speed     Int                  36.0                          0                              Speed of mtr in RPM
W4_Mtr_Torq            Int                  38.0                         0                             Mtr torque
W5_Mtr_I                  Int                  40.0                          0                            Mtr Current
W6_Mtr_Kw              Int                  42.0                          0                              Mtr Kw
CommErr            Int                  44.0                          0                                Comm Err

TEMP                          Data type                Address            Initial Value                 
Address_W                       WORD                               0.0                        
Ret_Val0                          Int                               2.0
Ret_Val1                           Int                              4.0

Block: FB100

Network: 1

L   #IO_adss
T   #Adress_W
NOP 0

Network: 2
A   #Drive Run
=   #B00_ON
A   #Flt ACK
=    #B07_Flt_ACK
A    #F_JoG
=    #B011_F_Jog
A    #R_Jog
=    #B12_R_Jog
Network: 03
L   # Main _N_Set
T   #Speed Set
L   #Pos_Torque
T   #Torq_pos
L   #Neg_Torque
T   # Torq_Neg
L    #IO_Address
T    # Address_W

Network:  04 (DATA SEND TO DRIVE)
Call    "DPWR_DAT"                            SFC15
   LADDR     :=Adress_w
   RECORD  :=P#DB100.DBX22.0 BYTE 10
   RET_VAL :=Ret_Val0

Network: 05

L   #Ret_Val0
T   # CommErr
NOP 0



Network: 06(DATA RECEIVE FROM DRIVE)

Call    "DPRD_DAT"                            SFC14
   LADDR     :=Adress_w
   RECORD  :=P#DB100.DBX32.0 BYTE 14
   RET_VAL :=Ret_Val1

Network: 07

L   #Ret_Val1
T   # CommErr
NOP 0

Network: 08
A   #B00_RTS
=   #RTS
A   #B01_Rdy_OP
=   #Rdy_op
A   #B02_IOP
=   #IOP
A   #B03_Fault
=    #Fault

Network:  09
L  #W3_Mtr_Speed
T  #Mtr_Speed
L   #W4_Mtr_Torq
T   #Mtr_Torq
L   # W5_Mtr_I
T   #Mtr_I  
L   #W6_Mtr_Kw
T   #Mtr_Kw





NOTE: Create DB100  block as Instant data block of FB100
CONTROL/Status word can be changed by your setting in STARTER/SCOUT







!--RELATED-POSTS-STARTS-->