Commit 8e542743 authored by claes's avatar claes

Ssab_RemoteRack added

parent a451af5f
/*
* Proview $Id: rt_io_m_ssab_remoterack.c,v 1.1 2006-02-10 14:32:36 claes Exp $
* Copyright (C) 2005 SSAB Oxelsund AB.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation, either version 2 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with the program, if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* rt_io_m_ssab_remoterack.c -- io methods for ssab remote rack objects. */
#include <stdio.h>
#include <errno.h>
#include <unistd.h>
#include <fcntl.h>
#include "pwr.h"
#include "pwr_baseclasses.h"
#include "pwr_basecomponentclasses.h"
#include "pwr_ssaboxclasses.h"
#include "rt_io_base.h"
#include "rt_errh.h"
#include "rt_io_rack_init.h"
#include "rt_io_msg.h"
typedef struct {
int xxx;
} io_sRackLocal;
/*----------------------------------------------------------------------------*\
\*----------------------------------------------------------------------------*/
static pwr_tStatus IoRackInit (
io_tCtx ctx,
io_sAgent *ap,
io_sRack *rp
)
{
errh_Info( "Init of IO remote rack %s", rp->Name);
return 1;
}
static pwr_tStatus IoRackClose (
io_tCtx ctx,
io_sAgent *ap,
io_sRack *rp
)
{
return 1;
}
static pwr_tStatus IoRackRead (
io_tCtx ctx,
io_sAgent *ap,
io_sRack *rp
)
{
return 1;
}
static pwr_tStatus IoRackWrite (
io_tCtx ctx,
io_sAgent *ap,
io_sRack *rp
)
{
return 1;
}
/*----------------------------------------------------------------------------*\
\*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*\
Every method to be exported to the workbench should be registred here.
\*----------------------------------------------------------------------------*/
pwr_dExport pwr_BindIoMethods(Ssab_RemoteRack) = {
pwr_BindIoMethod(IoRackInit),
pwr_BindIoMethod(IoRackClose),
pwr_BindIoMethod(IoRackRead),
pwr_BindIoMethod(IoRackWrite),
pwr_NullMethod
};
...@@ -4,6 +4,7 @@ Ssab_AouP ...@@ -4,6 +4,7 @@ Ssab_AouP
Ssab_Di Ssab_Di
Ssab_Do Ssab_Do
Ssab_Co Ssab_Co
Ssab_RemoteRack
Di_DIX2 Di_DIX2
Do_HVDO32 Do_HVDO32
Ao_HVAO4 Ao_HVAO4
......
Volume SsabOx $ClassVolume 0.0.250.5 Volume SsabOx $ClassVolume 0.0.250.5
Body SysBody 01-JAN-1970 01:00:00.00 Body SysBody 01-JAN-1970 01:00:00.00
Attr NextOix = "_X151" Attr NextOix = "_X157"
Attr NextCix = "_X29" Attr NextCix = "_X30"
Attr NextTix[0] = "_X4" Attr NextTix[0] = "_X4"
EndBody EndBody
Object Type $TypeHier 138 30-DEC-2005 14:28:03.99 Object Type $TypeHier 138 30-DEC-2005 14:28:03.99
...@@ -6676,7 +6676,7 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -6676,7 +6676,7 @@ Volume SsabOx $ClassVolume 0.0.250.5
!/** !/**
! Pointer to another antisway object. If this input is used, objects ! Pointer to another antisway object. If this input is used, objects
! operating in the x- and y-directions (the two horizontal directions of a crane ! operating in the x- and y-directions (the two horizontal directions of a crane
! operating in treedimensional space) will communicate and match their ! operating in treedimensional space) will communicate and match their
! set extensions as much as possible, in automatic mode. The result will be that the ! set extensions as much as possible, in automatic mode. The result will be that the
! path travelled by the crane ressembles a straight line. The total ! path travelled by the crane ressembles a straight line. The total
! travel time will not be different, however. If not connected, or if in manual mode, each ! travel time will not be different, however. If not connected, or if in manual mode, each
...@@ -6710,9 +6710,9 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -6710,9 +6710,9 @@ Volume SsabOx $ClassVolume 0.0.250.5
EndObject EndObject
!/** !/**
! Switch that sets the object in manual (1) or automatic (0) mode. ! Switch that sets the object in manual (1) or automatic (0) mode.
! The mode can be switched at any time during operation. ! The mode can be switched at any time during operation.
! A typical use of the input would be to set the object in manual mode whenever a manual command is given. ! A typical use of the input would be to set the object in manual mode whenever a manual command is given.
! Thus an automatic travel can be aborted by touching a joystick or controller used for manual operation. ! Thus an automatic travel can be aborted by touching a joystick or controller used for manual operation.
!*/ !*/
Object manual $Input 157 16-JAN-2006 11:27:48.46 Object manual $Input 157 16-JAN-2006 11:27:48.46
Body SysBody 16-JAN-2006 11:27:48.46 Body SysBody 16-JAN-2006 11:27:48.46
...@@ -6775,7 +6775,7 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -6775,7 +6775,7 @@ Volume SsabOx $ClassVolume 0.0.250.5
EndObject EndObject
!/** !/**
! Digital input used to switch to a second UMAXSA, (soft maximum velocity in automatic mode) ! Digital input used to switch to a second UMAXSA, (soft maximum velocity in automatic mode)
! provided in the umax attribute. ! provided in the umax attribute.
! In automatic mode, the object will accomodate the trajectory to the new maximum velocity. ! In automatic mode, the object will accomodate the trajectory to the new maximum velocity.
! The feature may be used if low-speed restrictions apply to parts of the operation area. ! The feature may be used if low-speed restrictions apply to parts of the operation area.
!*/ !*/
...@@ -6788,7 +6788,7 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -6788,7 +6788,7 @@ Volume SsabOx $ClassVolume 0.0.250.5
EndObject EndObject
!/** !/**
! On/Off switch. If the object has been stopped due to an error of some kind, ! On/Off switch. If the object has been stopped due to an error of some kind,
! the error status can be reset, and the object reactivated by toggling enable. ! the error status can be reset, and the object reactivated by toggling enable.
!*/ !*/
Object enable $Input 164 16-JAN-2006 11:27:48.46 Object enable $Input 164 16-JAN-2006 11:27:48.46
Body SysBody 16-JAN-2006 11:27:48.46 Body SysBody 16-JAN-2006 11:27:48.46
...@@ -6851,23 +6851,23 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -6851,23 +6851,23 @@ Volume SsabOx $ClassVolume 0.0.250.5
! Array of adjustable parameter limits. In most cases the default values will do. ! Array of adjustable parameter limits. In most cases the default values will do.
! !
! limits[0] - ZEROLIM. Default 0.001. Will set reference velocity ! limits[0] - ZEROLIM. Default 0.001. Will set reference velocity
! uR to zero if |uR| < limit. ! uR to zero if |uR| < limit.
! limits[1] - ERRFACT. Default 2.0. Will stop/deactivate object ! limits[1] - ERRFACT. Default 2.0. Will stop/deactivate object
! if |uR|>limit*umaxH. ! if |uR|>limit*umaxH.
! limits[2] - UR_MIN. Default 0.01. Minimum steady state reference ! limits[2] - UR_MIN. Default 0.01. Minimum steady state reference
! velocity that can be passed to frequency converter. ! velocity that can be passed to frequency converter.
! limits[3] - XMAX. Default 99999.0. Maximum reference position. ! limits[3] - XMAX. Default 99999.0. Maximum reference position.
! limits[4] - XMIN. Default -99999.0. Minimum reference position. ! limits[4] - XMIN. Default -99999.0. Minimum reference position.
! limits[5] - ATTAIN_ERRLIM. Default 0.001. Will warn if final uR ! limits[5] - ATTAIN_ERRLIM. Default 0.001. Will warn if final uR
! misses uCommand (or zero if auto) with more than limit. ! misses uCommand (or zero if auto) with more than limit.
! limits[6] - L_MIN_CHANGE. Default 0.005. Length interval between ! limits[6] - L_MIN_CHANGE. Default 0.005. Length interval between
! compensation for new pendulum length. ! compensation for new pendulum length.
! limits[7] - DL_MIN. Default 0.005. Minimum hoisting speed that will ! limits[7] - DL_MIN. Default 0.005. Minimum hoisting speed that will
! be compensated for. ! be compensated for.
! limits[8] - XR_ATTAIN_ERRLIM. Default 0.001. Will warn if final xR ! limits[8] - XR_ATTAIN_ERRLIM. Default 0.001. Will warn if final xR
! misses xCommand with more than limit. Auto only ! misses xCommand with more than limit. Auto only
! limits[9] - XCOM_MIN_CHANGE. Default 0.01. Minimum change in command ! limits[9] - XCOM_MIN_CHANGE. Default 0.01. Minimum change in command
! position that will invoke a new call. Auto only. ! position that will invoke a new call. Auto only.
! !
!*/ !*/
Object limits $Intern 167 16-JAN-2006 11:27:48.46 Object limits $Intern 167 16-JAN-2006 11:27:48.46
...@@ -6887,7 +6887,7 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -6887,7 +6887,7 @@ Volume SsabOx $ClassVolume 0.0.250.5
! !
! Compensation in automatic mode can reduces time performance, and may not be necessary. ! Compensation in automatic mode can reduces time performance, and may not be necessary.
! Often an automated crane will not lift and move simultaneously, ! Often an automated crane will not lift and move simultaneously,
! and the effect of not compensating may be negligible even if it does. ! and the effect of not compensating may be negligible even if it does.
! An alternative to compensation is to use a more robust antisway strategy, see the mode attribute. ! An alternative to compensation is to use a more robust antisway strategy, see the mode attribute.
! !
!*/ !*/
...@@ -6900,7 +6900,7 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -6900,7 +6900,7 @@ Volume SsabOx $ClassVolume 0.0.250.5
!/** !/**
! Integer value. If verbose =0, the object will tell you about ! Integer value. If verbose =0, the object will tell you about
! its progress (or failure) by printouts to the terminal window ! its progress (or failure) by printouts to the terminal window
! (i.e. it only makes sense if proview is started from a terminal window..). ! (i.e. it only makes sense if proview is started from a terminal window..).
! There are three degrees of verbosity: ! There are three degrees of verbosity:
! !
! 1 AS_VERB_DISABLED Object will print message if disabled ! 1 AS_VERB_DISABLED Object will print message if disabled
...@@ -6915,7 +6915,7 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -6915,7 +6915,7 @@ Volume SsabOx $ClassVolume 0.0.250.5
EndObject EndObject
!/** !/**
! Boolean switch for resetting calculated sway angle ! Boolean switch for resetting calculated sway angle
! (there is no damping modeled in the sway simuluation). ! (there is no damping modeled in the sway simuluation).
! The calculated sway angle is not used for anything in the algorithms, ! The calculated sway angle is not used for anything in the algorithms,
! but is merely a demo/diagnose output. ! but is merely a demo/diagnose output.
!*/ !*/
...@@ -6950,7 +6950,7 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -6950,7 +6950,7 @@ Volume SsabOx $ClassVolume 0.0.250.5
EndObject EndObject
!/** !/**
! Reset errstatus and autostatus. If set, "reset" is automatically reset once ! Reset errstatus and autostatus. If set, "reset" is automatically reset once
! the errstatus and autostatus attributes have been reset. ! the errstatus and autostatus attributes have been reset.
!*/ !*/
Object reset $Intern 173 16-JAN-2006 11:27:48.46 Object reset $Intern 173 16-JAN-2006 11:27:48.46
Body SysBody 16-JAN-2006 11:27:48.46 Body SysBody 16-JAN-2006 11:27:48.46
...@@ -6960,7 +6960,7 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -6960,7 +6960,7 @@ Volume SsabOx $ClassVolume 0.0.250.5
EndObject EndObject
!/** !/**
! Array that contains the individual status bits of errstatus and autostatus. ! Array that contains the individual status bits of errstatus and autostatus.
! Used for display in the class graph. ! Used for display in the class graph.
!*/ !*/
Object flags $Intern 174 16-JAN-2006 11:27:48.46 Object flags $Intern 174 16-JAN-2006 11:27:48.46
Body SysBody 16-JAN-2006 11:27:48.46 Body SysBody 16-JAN-2006 11:27:48.46
...@@ -7052,7 +7052,7 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -7052,7 +7052,7 @@ Volume SsabOx $ClassVolume 0.0.250.5
EndObject EndObject
!/** !/**
! Current / Last warning (message[1]) and error (message[0]) messages. ! Current / Last warning (message[1]) and error (message[0]) messages.
! An error means that the object has deactivated itself, and needs to be restarted. ! An error means that the object has deactivated itself, and needs to be restarted.
!*/ !*/
Object message $Intern 181 16-JAN-2006 11:27:48.46 Object message $Intern 181 16-JAN-2006 11:27:48.46
Body SysBody 16-JAN-2006 11:27:48.46 Body SysBody 16-JAN-2006 11:27:48.46
...@@ -7124,7 +7124,7 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -7124,7 +7124,7 @@ Volume SsabOx $ClassVolume 0.0.250.5
EndObject EndObject
!/** !/**
! True if antisway travel is completed. Can be used in automatic mode to activate ! True if antisway travel is completed. Can be used in automatic mode to activate
! a positioning regulator if not close enough to the command position at end of travel. ! a positioning regulator if not close enough to the command position at end of travel.
!*/ !*/
Object done $Output 187 16-JAN-2006 11:27:48.46 Object done $Output 187 16-JAN-2006 11:27:48.46
Body SysBody 16-JAN-2006 11:27:48.46 Body SysBody 16-JAN-2006 11:27:48.46
...@@ -7236,23 +7236,23 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -7236,23 +7236,23 @@ Volume SsabOx $ClassVolume 0.0.250.5
! The features may be used individually or all at once. ! The features may be used individually or all at once.
! It was developed to ensure trajectory tracking and positioning in automated cranes with anti-sway control, ! It was developed to ensure trajectory tracking and positioning in automated cranes with anti-sway control,
! but can be deployed for any positioning problem. The output of the function is a velocity reference. ! but can be deployed for any positioning problem. The output of the function is a velocity reference.
! !
! A brief description of the features: ! A brief description of the features:
! !
! 1. The servo regulator is used to enhance the real-time reference tracking of a system. ! 1. The servo regulator is used to enhance the real-time reference tracking of a system.
! It is a simple three-term regulator, where the output is determined as ! It is a simple three-term regulator, where the output is determined as
! !
! uReg = kP*(uReference - uMeasured) + kI*(xR - xM) + kD*(aR - aM) ! uReg = kP*(uReference - uMeasured) + kI*(xR - xM) + kD*(aR - aM)
! !
! If a non-zero PID delay time is set (see DelayPID attribute), input reference ! If a non-zero PID delay time is set (see DelayPID attribute), input reference
! values will be placed in a queue and extracted to the PID regulator with the given delay. ! values will be placed in a queue and extracted to the PID regulator with the given delay.
! This is useful if a delay is unavoidable, but acceptable if it is uniform throughout travel. ! This is useful if a delay is unavoidable, but acceptable if it is uniform throughout travel.
! The D-part should not be used if a low-noise measured signal aM is not available. ! The D-part should not be used if a low-noise measured signal aM is not available.
! !
! 2. The positioning ramp limits the output according to the equation ! 2. The positioning ramp limits the output according to the equation
! !
! uRamp = -DelayRamp*amaxS + sqrt(DelayRamp^2*amaxS^2 + 2.0*|Delta x|*amaxS) ! uRamp = -DelayRamp*amaxS + sqrt(DelayRamp^2*amaxS^2 + 2.0*|Delta x|*amaxS)
! !
! where Delta x is the remaining distance to the command position. ! where Delta x is the remaining distance to the command position.
! In the case of zero delay, uRamp(x) is just a constant deceleration curve, ! In the case of zero delay, uRamp(x) is just a constant deceleration curve,
! where amaxS is the magnitude of deceleration. ! where amaxS is the magnitude of deceleration.
...@@ -7274,7 +7274,7 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -7274,7 +7274,7 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr StructName = "Ssab_ServoReg" Attr StructName = "Ssab_ServoReg"
Attr NextAix = "_X171" Attr NextAix = "_X171"
EndBody EndBody
!/** !/**
! Current reference acceleration of the desired trajectory. The input is used by the PID regulator of the object. ! Current reference acceleration of the desired trajectory. The input is used by the PID regulator of the object.
!*/ !*/
Object aR $Input 141 25-JAN-2006 14:57:10.82 Object aR $Input 141 25-JAN-2006 14:57:10.82
...@@ -7284,7 +7284,7 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -7284,7 +7284,7 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr GraphName = "AR" Attr GraphName = "AR"
EndBody EndBody
EndObject EndObject
!/** !/**
! Current reference velocity of the desired trajectory. The input is used by the PID regulator of the object. ! Current reference velocity of the desired trajectory. The input is used by the PID regulator of the object.
!*/ !*/
Object uR $Input 142 25-JAN-2006 14:57:10.82 Object uR $Input 142 25-JAN-2006 14:57:10.82
...@@ -7294,7 +7294,7 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -7294,7 +7294,7 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr GraphName = "UR" Attr GraphName = "UR"
EndBody EndBody
EndObject EndObject
!/** !/**
! Current reference position of the desired trajectory. The input is used by the PID regulator of the object. ! Current reference position of the desired trajectory. The input is used by the PID regulator of the object.
!*/ !*/
Object xR $Input 143 25-JAN-2006 14:57:10.82 Object xR $Input 143 25-JAN-2006 14:57:10.82
...@@ -7304,7 +7304,7 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -7304,7 +7304,7 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr GraphName = "XR" Attr GraphName = "XR"
EndBody EndBody
EndObject EndObject
!/** !/**
! Current measured acceleration. The input is used by the PID regulator of the object. ! Current measured acceleration. The input is used by the PID regulator of the object.
!*/ !*/
Object ac $Input 144 25-JAN-2006 14:57:10.82 Object ac $Input 144 25-JAN-2006 14:57:10.82
...@@ -7314,7 +7314,7 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -7314,7 +7314,7 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr GraphName = "AM" Attr GraphName = "AM"
EndBody EndBody
EndObject EndObject
!/** !/**
! Current measured velocity. The input is used by the PID regulator of the object. ! Current measured velocity. The input is used by the PID regulator of the object.
!*/ !*/
Object uc $Input 145 25-JAN-2006 14:57:10.82 Object uc $Input 145 25-JAN-2006 14:57:10.82
...@@ -7324,7 +7324,7 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -7324,7 +7324,7 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr GraphName = "UM" Attr GraphName = "UM"
EndBody EndBody
EndObject EndObject
!/** !/**
! Current measured position. The input is used by the PID regulator of the object. ! Current measured position. The input is used by the PID regulator of the object.
!*/ !*/
Object xc $Input 146 25-JAN-2006 14:57:10.82 Object xc $Input 146 25-JAN-2006 14:57:10.82
...@@ -7334,7 +7334,7 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -7334,7 +7334,7 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr GraphName = "XM" Attr GraphName = "XM"
EndBody EndBody
EndObject EndObject
!/** !/**
! Command position. Final travel destination. ! Command position. Final travel destination.
!*/ !*/
Object xCommand $Input 147 25-JAN-2006 14:57:10.82 Object xCommand $Input 147 25-JAN-2006 14:57:10.82
...@@ -7344,7 +7344,7 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -7344,7 +7344,7 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr GraphName = "XCOM" Attr GraphName = "XCOM"
EndBody EndBody
EndObject EndObject
!/** !/**
! Maximum positive output velocity. This value may depend on other system variables, ! Maximum positive output velocity. This value may depend on other system variables,
! such as local low-speed restrictions etc, and is therefore supplied as an input. ! such as local low-speed restrictions etc, and is therefore supplied as an input.
!*/ !*/
...@@ -7355,9 +7355,9 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -7355,9 +7355,9 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr GraphName = "MAXP" Attr GraphName = "MAXP"
EndBody EndBody
EndObject EndObject
!/** !/**
! Maximum negative output velocity. Same as above, but this value should be < 0, ! Maximum negative output velocity. Same as above, but this value should be < 0,
! and reflects a restriction on movement in the other direction. ! and reflects a restriction on movement in the other direction.
!*/ !*/
Object umaxN $Input 149 25-JAN-2006 14:57:10.82 Object umaxN $Input 149 25-JAN-2006 14:57:10.82
Body SysBody 25-JAN-2006 14:57:10.82 Body SysBody 25-JAN-2006 14:57:10.82
...@@ -7366,12 +7366,12 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -7366,12 +7366,12 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr GraphName = "MAXN" Attr GraphName = "MAXN"
EndBody EndBody
EndObject EndObject
!/** !/**
! If true, and if the ramp is enabled, the control output is initially set to umaxP or umaxN, ! If true, and if the ramp is enabled, the control output is initially set to umaxP or umaxN,
! depending on the sign of Delta x, the distance to the command position. ! depending on the sign of Delta x, the distance to the command position.
! The output is then limited by the ramp. The effect is a very accurate positioning, given that ! The output is then limited by the ramp. The effect is a very accurate positioning, given that
! the relevant parameters are set correctly. ! the relevant parameters are set correctly.
! Direct positioning disables the PID regulator, as the two cannot be used simultaneously. ! Direct positioning disables the PID regulator, as the two cannot be used simultaneously.
!*/ !*/
Object positioning $Input 150 25-JAN-2006 14:57:10.82 Object positioning $Input 150 25-JAN-2006 14:57:10.82
Body SysBody 25-JAN-2006 14:57:10.82 Body SysBody 25-JAN-2006 14:57:10.82
...@@ -7380,7 +7380,7 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -7380,7 +7380,7 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr GraphName = "pos" Attr GraphName = "pos"
EndBody EndBody
EndObject EndObject
!/** !/**
! On/Off switch. If false, uR is simply passed untouched through the object. ! On/Off switch. If false, uR is simply passed untouched through the object.
!*/ !*/
Object enable $Input 151 25-JAN-2006 14:57:10.82 Object enable $Input 151 25-JAN-2006 14:57:10.82
...@@ -7390,9 +7390,9 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -7390,9 +7390,9 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr GraphName = "en" Attr GraphName = "en"
EndBody EndBody
EndObject EndObject
!/** !/**
! "Soft" maximum acceleration, i.e. the acceleration or deceleration that the system ! "Soft" maximum acceleration, i.e. the acceleration or deceleration that the system
! can be guaranteed to uphold. ! can be guaranteed to uphold.
!*/ !*/
Object amaxS $Intern 152 25-JAN-2006 14:57:10.82 Object amaxS $Intern 152 25-JAN-2006 14:57:10.82
Body SysBody 25-JAN-2006 14:57:10.82 Body SysBody 25-JAN-2006 14:57:10.82
...@@ -7400,7 +7400,7 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -7400,7 +7400,7 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr TypeRef = "pwrs:Type-$Float32" Attr TypeRef = "pwrs:Type-$Float32"
EndBody EndBody
EndObject EndObject
!/** !/**
! Enabling or disabling of PID regulator. The positioning input overrides this setting, however. ! Enabling or disabling of PID regulator. The positioning input overrides this setting, however.
!*/ !*/
Object enablePID $Intern 153 25-JAN-2006 14:57:10.82 Object enablePID $Intern 153 25-JAN-2006 14:57:10.82
...@@ -7409,11 +7409,11 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -7409,11 +7409,11 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr TypeRef = "pwrs:Type-$Boolean" Attr TypeRef = "pwrs:Type-$Boolean"
EndBody EndBody
EndObject EndObject
!/** !/**
! PID constants: ! PID constants:
! kPID[0] - kP ! kPID[0] - kP
! kPID[1] - kI ! kPID[1] - kI
! kPID[2] - kD ! kPID[2] - kD
!*/ !*/
Object kPID $Intern 154 25-JAN-2006 14:57:10.82 Object kPID $Intern 154 25-JAN-2006 14:57:10.82
Body SysBody 25-JAN-2006 14:57:10.82 Body SysBody 25-JAN-2006 14:57:10.82
...@@ -7423,7 +7423,7 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -7423,7 +7423,7 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr TypeRef = "pwrs:Type-$Float32" Attr TypeRef = "pwrs:Type-$Float32"
EndBody EndBody
EndObject EndObject
!/** !/**
! Reference delay in seconds. ! Reference delay in seconds.
!*/ !*/
Object DelayPID $Intern 155 25-JAN-2006 14:57:10.82 Object DelayPID $Intern 155 25-JAN-2006 14:57:10.82
...@@ -7432,9 +7432,9 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -7432,9 +7432,9 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr TypeRef = "pwrs:Type-$Float32" Attr TypeRef = "pwrs:Type-$Float32"
EndBody EndBody
EndObject EndObject
!/** !/**
! Limit as to how many time steps will be stored in the queue. ! Limit as to how many time steps will be stored in the queue.
! If DelayPID / ScanTime > maxdelaysteps, the full delay will not be realized. ! If DelayPID / ScanTime > maxdelaysteps, the full delay will not be realized.
!*/ !*/
Object maxdelaysteps $Intern 156 25-JAN-2006 14:57:10.82 Object maxdelaysteps $Intern 156 25-JAN-2006 14:57:10.82
Body SysBody 25-JAN-2006 14:57:10.82 Body SysBody 25-JAN-2006 14:57:10.82
...@@ -7442,7 +7442,7 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -7442,7 +7442,7 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr TypeRef = "pwrs:Type-$Int32" Attr TypeRef = "pwrs:Type-$Int32"
EndBody EndBody
EndObject EndObject
!/** !/**
! Pointer to the reference list / queue. ! Pointer to the reference list / queue.
!*/ !*/
Object RefListp $Intern 157 25-JAN-2006 14:57:10.82 Object RefListp $Intern 157 25-JAN-2006 14:57:10.82
...@@ -7452,7 +7452,7 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -7452,7 +7452,7 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr TypeRef = "pwrs:Type-$Float32" Attr TypeRef = "pwrs:Type-$Float32"
EndBody EndBody
EndObject EndObject
!/** !/**
! Pointer to the reference list / queue. ! Pointer to the reference list / queue.
!*/ !*/
Object enableRamp $Intern 158 25-JAN-2006 14:57:10.82 Object enableRamp $Intern 158 25-JAN-2006 14:57:10.82
...@@ -7461,7 +7461,7 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -7461,7 +7461,7 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr TypeRef = "pwrs:Type-$Boolean" Attr TypeRef = "pwrs:Type-$Boolean"
EndBody EndBody
EndObject EndObject
!/** !/**
! Delay parameter in the ramp model. A larger delay causes a less steep deceleration. ! Delay parameter in the ramp model. A larger delay causes a less steep deceleration.
!*/ !*/
Object DelayRamp $Intern 159 25-JAN-2006 14:57:10.82 Object DelayRamp $Intern 159 25-JAN-2006 14:57:10.82
...@@ -7470,7 +7470,7 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -7470,7 +7470,7 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr TypeRef = "pwrs:Type-$Float32" Attr TypeRef = "pwrs:Type-$Float32"
EndBody EndBody
EndObject EndObject
!/** !/**
! Enabling or disabling of deadzone. ! Enabling or disabling of deadzone.
!*/ !*/
Object enableDZ $Intern 160 25-JAN-2006 14:57:10.82 Object enableDZ $Intern 160 25-JAN-2006 14:57:10.82
...@@ -7479,9 +7479,9 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -7479,9 +7479,9 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr TypeRef = "pwrs:Type-$Boolean" Attr TypeRef = "pwrs:Type-$Boolean"
EndBody EndBody
EndObject EndObject
!/** !/**
! Determines the extension of the deadzone in both directions about the command position. ! Determines the extension of the deadzone in both directions about the command position.
! Interval = [xCommand - DeadZone, xCommand + DeadZone] ! Interval = [xCommand - DeadZone, xCommand + DeadZone]
!*/ !*/
Object DeadZone $Intern 161 25-JAN-2006 14:57:10.82 Object DeadZone $Intern 161 25-JAN-2006 14:57:10.82
Body SysBody 25-JAN-2006 14:57:10.82 Body SysBody 25-JAN-2006 14:57:10.82
...@@ -7489,7 +7489,7 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -7489,7 +7489,7 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr TypeRef = "pwrs:Type-$Float32" Attr TypeRef = "pwrs:Type-$Float32"
EndBody EndBody
EndObject EndObject
!/** !/**
! Enabling or disabling of timer deadzone. ! Enabling or disabling of timer deadzone.
!*/ !*/
Object enableTDZ $Intern 162 25-JAN-2006 14:57:10.82 Object enableTDZ $Intern 162 25-JAN-2006 14:57:10.82
...@@ -7498,9 +7498,9 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -7498,9 +7498,9 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr TypeRef = "pwrs:Type-$Boolean" Attr TypeRef = "pwrs:Type-$Boolean"
EndBody EndBody
EndObject EndObject
!/** !/**
! Determines the extension of the deadzone in both directions about the command position. ! Determines the extension of the deadzone in both directions about the command position.
! Interval = [xCommand - TimerDeadZone, xCommand + TimerDeadZone] ! Interval = [xCommand - TimerDeadZone, xCommand + TimerDeadZone]
!*/ !*/
Object TimerDeadZone $Intern 163 25-JAN-2006 14:57:10.82 Object TimerDeadZone $Intern 163 25-JAN-2006 14:57:10.82
Body SysBody 25-JAN-2006 14:57:10.82 Body SysBody 25-JAN-2006 14:57:10.82
...@@ -7508,9 +7508,9 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -7508,9 +7508,9 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr TypeRef = "pwrs:Type-$Float32" Attr TypeRef = "pwrs:Type-$Float32"
EndBody EndBody
EndObject EndObject
!/** !/**
! Waiting time for the timer deadzone. The deadzone is activated after ! Waiting time for the timer deadzone. The deadzone is activated after
! TDZTime seconds within the timer deadzone. ! TDZTime seconds within the timer deadzone.
!*/ !*/
Object TDZTime $Intern 164 25-JAN-2006 14:57:10.82 Object TDZTime $Intern 164 25-JAN-2006 14:57:10.82
Body SysBody 25-JAN-2006 14:57:10.82 Body SysBody 25-JAN-2006 14:57:10.82
...@@ -7518,7 +7518,7 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -7518,7 +7518,7 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr TypeRef = "pwrs:Type-$Float32" Attr TypeRef = "pwrs:Type-$Float32"
EndBody EndBody
EndObject EndObject
!/** !/**
! Time counter of the timer deadzone. ! Time counter of the timer deadzone.
!*/ !*/
Object TDZElapsedTime $Intern 165 25-JAN-2006 14:57:10.82 Object TDZElapsedTime $Intern 165 25-JAN-2006 14:57:10.82
...@@ -7534,7 +7534,7 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -7534,7 +7534,7 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr TypeRef = "pwrs:Type-$Float32" Attr TypeRef = "pwrs:Type-$Float32"
EndBody EndBody
EndObject EndObject
!/** !/**
! Control output velocity. ! Control output velocity.
!*/ !*/
Object uReg $Output 167 25-JAN-2006 14:57:10.82 Object uReg $Output 167 25-JAN-2006 14:57:10.82
...@@ -7545,9 +7545,9 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -7545,9 +7545,9 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr GraphName = "UREG" Attr GraphName = "UREG"
EndBody EndBody
EndObject EndObject
!/** !/**
! Indicates whether the ramp is active or not, that is if it currently ! Indicates whether the ramp is active or not, that is if it currently
! limits the magnitude of the control output. ! limits the magnitude of the control output.
!*/ !*/
Object RampActive $Output 168 25-JAN-2006 14:57:10.82 Object RampActive $Output 168 25-JAN-2006 14:57:10.82
Body SysBody 25-JAN-2006 14:57:10.82 Body SysBody 25-JAN-2006 14:57:10.82
...@@ -7557,10 +7557,10 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -7557,10 +7557,10 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr GraphName = "ramp" Attr GraphName = "ramp"
EndBody EndBody
EndObject EndObject
!/** !/**
! Indicates whether the deadzone is active or not, that is if it currently ! Indicates whether the deadzone is active or not, that is if it currently
! limits the magnitude of the control output. ! limits the magnitude of the control output.
! The output may be used as a confirmation of completed positioning. ! The output may be used as a confirmation of completed positioning.
!*/ !*/
Object DZActive $Output 169 25-JAN-2006 14:57:10.82 Object DZActive $Output 169 25-JAN-2006 14:57:10.82
Body SysBody 25-JAN-2006 14:57:10.82 Body SysBody 25-JAN-2006 14:57:10.82
...@@ -7570,10 +7570,10 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -7570,10 +7570,10 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr GraphName = "dz" Attr GraphName = "dz"
EndBody EndBody
EndObject EndObject
!/** !/**
! Indicates whether the timer deadzone is active or not, that is if it currently ! Indicates whether the timer deadzone is active or not, that is if it currently
! limits the magnitude of the control output. ! limits the magnitude of the control output.
! The output may be used as a confirmation of completed positioning. ! The output may be used as a confirmation of completed positioning.
!*/ !*/
Object TDZActive $Output 170 25-JAN-2006 14:57:10.82 Object TDZActive $Output 170 25-JAN-2006 14:57:10.82
Body SysBody 25-JAN-2006 14:57:10.82 Body SysBody 25-JAN-2006 14:57:10.82
...@@ -7617,8 +7617,8 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -7617,8 +7617,8 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr graphname = "ServoReg" Attr graphname = "ServoReg"
EndBody EndBody
EndObject EndObject
Object Template Ssab_ServoReg Object Template Ssab_ServoReg 2155053056 26-JAN-2006 13:34:01.00
Body RtBody Body RtBody 01-JAN-1970 01:00:00.00
Attr umaxP = 2.000000e+00 Attr umaxP = 2.000000e+00
Attr umaxN = -2.000000e+00 Attr umaxN = -2.000000e+00
Attr amaxS = 3.800000e-01 Attr amaxS = 3.800000e-01
...@@ -7630,7 +7630,78 @@ Volume SsabOx $ClassVolume 0.0.250.5 ...@@ -7630,7 +7630,78 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr TimerDeadZone = 5.000000e-02 Attr TimerDeadZone = 5.000000e-02
Attr TDZTime = 5.000000e+00 Attr TDZTime = 5.000000e+00
EndBody EndBody
Body DevBody Body DevBody 01-JAN-1970 01:00:00.00
EndBody
EndObject
EndObject
Object Ssab_RemoteRack $ClassDef 29 10-FEB-2006 15:50:27.32
Body SysBody 10-FEB-2006 15:49:38.85
Attr Editor = 0
Attr Method = 1
Attr Flags = 2128
EndBody
Object RtBody $ObjBodyDef 1 10-FEB-2006 15:49:38.87
Body SysBody 10-FEB-2006 15:49:38.87
Attr StructName = "RemoteRack_SSAB"
Attr NextAix = "_X7"
EndBody
Object Description $Attribute 1 10-FEB-2006 15:49:38.87
Body SysBody 10-FEB-2006 15:49:38.87
Attr PgmName = "Description"
Attr TypeRef = "pwrs:Type-$String80"
EndBody
EndObject
Object Address $Attribute 3 10-FEB-2006 15:52:17.37
Body SysBody 10-FEB-2006 15:52:18.34
Attr PgmName = "Address"
Attr TypeRef = "pwrs:Type-$String80"
EndBody
EndObject
Object Port $Attribute 4 10-FEB-2006 15:52:23.44
Body SysBody 10-FEB-2006 15:52:24.23
Attr PgmName = "Port"
Attr TypeRef = "pwrs:Type-$UInt16"
EndBody
EndObject
Object Process $Attribute 5 10-FEB-2006 15:59:53.79
Body SysBody 10-FEB-2006 15:59:53.79
Attr PgmName = "Process"
Attr TypeRef = "pwrs:Type-$UInt32"
EndBody
EndObject
Object ThreadObject $Intern 6 10-FEB-2006 15:59:53.79
Body SysBody 10-FEB-2006 15:59:53.79
Attr PgmName = "ThreadObject"
Attr TypeRef = "pwrs:Type-$Objid"
EndBody
EndObject
EndObject
Object IoMethods $RtMethod 153 10-FEB-2006 16:02:06.68
Object IoRackInit $Method 154 10-FEB-2006 16:02:06.68
Body SysBody 10-FEB-2006 16:02:28.88
Attr MethodName = "Ssab_RemoteRack-IoRackInit"
EndBody
EndObject
Object IoRackClose $Method 155 10-FEB-2006 16:02:06.68
Body SysBody 10-FEB-2006 16:03:47.40
Attr MethodName = "Ssab_RemoteRack-IoRackClose"
EndBody
EndObject
Object IoRackRead $Method 157 10-FEB-2006 16:04:09.57
Body SysBody 10-FEB-2006 16:04:16.52
Attr MethodName = "Ssab_RemoteRack-IoRackRead"
EndBody
EndObject
Object IoRackWrite $Method 156 10-FEB-2006 16:04:41.17
Body SysBody 10-FEB-2006 16:04:47.63
Attr MethodName = "Ssab_RemoteRack-IoRackWrite"
EndBody
EndObject
EndObject
Object Template Ssab_RemoteRack 2155315200 01-JAN-1970 01:00:00.00
Body RtBody 10-FEB-2006 16:02:52.70
Attr Port = 9000
Attr Process = 2
EndBody EndBody
EndObject EndObject
EndObject EndObject
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment