Commit bdd4327d authored by claes's avatar claes

*** empty log message ***

parent 5fdc84d4
! ssab_c_antiswaya.wb_load -- Defines the class AntiSwayA.
!
! PROVIEW/R
!
! <Description>.
!
SObject SSAB:Class
!/**
! @Version 1.0
! @Author Jonas Haulin
! @Code rt_plc_macro_logic.h
! @Summary Antisway auto
!
! @image orm_antiswaya_fo.gif
! No documentation yet...
!*/
Object AntiSwayA $ClassDef 26
Body SysBody
Attr Editor = 0
Attr Method = 0
Attr Flags = 16
EndBody
Object RtBody $ObjBodyDef 1
Body SysBody
Attr StructName = "AntiSwayA"
EndBody
!/**
! Pointer to other antisway object. If this input is used, objects
! operating in x- and y-direction will communicate and match their
! set extensions as much as possible. The result will be that the
! path travelled by the crane ressembles a straight line. The total
! travel time will not be different, however. If not connected, each
! object operates individually.
!*/
Object other $Input 1
Body SysBody
Attr PgmName = "other"
Attr Flags |= PWR_MASK_POINTER
Attr TypeRef = "pwrs:Type-$Float32"
Attr GraphName = "Other"
EndBody
EndObject
!/**
! Integer that defines the impulse shaping technique / antisway strategy.
! Current available IST:s are
!
! 0 No antisway
! 1 Double pulse
! 2 Robust, or double double pulse
! 3 Unity-magnitude negative ZV, or triple pulse
! 4 Unity-magnitude negative ZVS, robust variant of triple pulse above
! 5 Time-optimal negative ZV
! 6 Time-optimal negative ZVD, robust variant of ZV122.
!*/
Object mode $Input 2
Body SysBody
Attr PgmName = "mode"
Attr TypeRef = "pwrs:Type-$Int32"
Attr GraphName = "Mode"
EndBody
EndObject
!/**
! Command position. Assumed to be in interval [0, xmax].
!*/
Object xCommand $Input 3
Body SysBody
Attr PgmName = "xCommand"
Attr TypeRef = "pwrs:Type-$Float32"
Attr GraphName = "XCOM"
EndBody
EndObject
!/**
! Current position
!*/
Object xc $Input 4
Body SysBody
Attr PgmName = "xc"
Attr TypeRef = "pwrs:Type-$Float32"
Attr GraphName = "POS"
EndBody
EndObject
!/**
! Current pendulum length.
! The pendulum length of a crane is best calibrated by measuring a number
! of periods of oscillation and calculating L as L=g*(T/(2pi))^2
!*/
Object Lc $Input 5
Body SysBody
Attr PgmName = "Lc"
Attr TypeRef = "pwrs:Type-$Float32"
Attr GraphName = "L"
EndBody
EndObject
!/**
! Boolean activation switch
!*/
Object enable $Input 6
Body SysBody
Attr PgmName = "enable"
Attr TypeRef = "pwrs:Type-$Boolean"
Attr GraphName = "en"
EndBody
EndObject
!/**
! Boolean. Start the travel after a new command position has been given.
!*/
Object autoGo $Input 7
Body SysBody
Attr PgmName = "autoGo"
Attr TypeRef = "pwrs:Type-$Boolean"
Attr GraphName = "go"
EndBody
EndObject
!/**
! Boolean switch for resetting calculated sway angle.
! The calculated sway angle is not used for anything in the algorithms,
! but is merely a demo/diagnose output.
!*/
Object zeroTh $Input 8
Body SysBody
Attr PgmName = "zeroTh"
Attr TypeRef = "pwrs:Type-$Boolean"
Attr GraphName = "zth"
EndBody
EndObject
!/**
! amax[0] Hard limit of acceleration.
! amax[1] Soft limit of acceleration. Normally, this is the acceleration
! that will be used by the object, and it should be slightly lower than
! the hard limit, amaxH.
! Having a soft limit serves two purposes. Firstly, compensation for
! hoisting requires some extra acceleration that can be kicked in when
! needed. Secondly, a frequency converter will have better chances of
! tracking the trajectory if not operating at its acceleration limit.
! A control strategy to ensure trajectory tracking also has better chances
! of being successful.
! A suitable value of amaxS that will leave enough acceleration space for
! the hoisting compensation can be calculated from the formula;
! amaxS = amaxH/(1.0+(1.5*DLMax/sqrt(g*LMin))),
! where DLMax is the maximum hoisting speed, g the acceleration of gravity
! and LMin the minimum pendulum length.
!*/
Object amax $Intern 9
Body SysBody
Attr PgmName = "amax"
Attr Flags = PWR_MASK_ARRAY
Attr Elements = 2
Attr TypeRef = "pwrs:Type-$Float32"
EndBody
EndObject
!/**
! umax[0] - Hard limit of velocity
! umax[1] - Soft limit of velocity
!*/
Object umax $Intern 11
Body SysBody
Attr PgmName = "umax"
Attr Flags = PWR_MASK_ARRAY
Attr Elements = 2
Attr TypeRef = "pwrs:Type-$Float32"
EndBody
EndObject
!/**
! Some operating max and min limits. They have been made an internal
! array in the object for greater flexibility. The limits are:
!
! 0 AS_OBJ_UR_ZEROLIM Default 0.001.
! Will set uR to zero if |uR| < limit
! 1 AS_OBJ_UR_MAX_ERRFACT Default 2.0.
! Will disable object if |uR|>limit*umaxH
! 2 AS_OBJ_UR_MIN Default 0.01.
! Minimum steady reference velocity that can be passed to frequency
! converter
! 3 AS_OBJ_XMAX Default 99999.0.
! Maximum reference position (minumum assumed to be zero).
! 4 AS_OBJ_UR_ATTAIN_ERRLIM Default 0.001.
! Will warn if final uR misses uCommand (or zero if auto) with more
! than limit
! 5 AS_OBJ_XR_ATTAIN_ERRLIM Default 0.001.
! Will warn if final xR misses xCommand with more than limit. Auto only.
! 6 AS_OBJ_XCOM_MIN_CHANGE Default 0.01.
! Minimum change in command position that will invoke a new call.
! Auto only.
!*/
Object limits $Intern 12
Body SysBody
Attr PgmName = "limits"
Attr Flags = PWR_MASK_ARRAY
Attr Elements = 7
Attr TypeRef = "pwrs:Type-$Float32"
EndBody
EndObject
!/**
! Boolean switch for enabling queue generation. The pointers to the
! acceleration queue will be stored in QP[]
!*/
Object generateQ $Intern 13
Body SysBody
Attr PgmName = "generateQ"
Attr TypeRef = "pwrs:Type-$Boolean"
EndBody
EndObject
!/**
! Integer value. If verbose !=0, the object will tell you about
! its progress (or failure) by printouts to the terminal window.
! There are three degrees of verbosity:
!
! 1 AS_VERB_DISABLED Object will print message if disabled
! 2 AS_VERB_ERR Object will print message if any error occurs
! 3 AS_VERB_ALL Object will print message when anything new happens
!*/
Object verbose $Intern 14
Body SysBody
Attr PgmName = "verbose"
Attr TypeRef = "pwrs:Type-$Int32"
EndBody
EndObject
!/**
! Integer bit mask keeping information of major and minor errors that
! has occurred since last reset.
! If errstatus > AS_ERR_MINOR, the object will disable itself (it will
! not affect the value of enable, though). errstatus is reset by
! switching enable.
!*/
Object errstatus $Intern 15
Body SysBody
Attr PgmName = "errstatus"
Attr TypeRef = "pwrs:Type-$Mask"
EndBody
EndObject
!/**
! Integer bit mask used for displaying auto status and for
! communication between objects.
!*/
Object autostatus $Intern 16
Body SysBody
Attr PgmName = "autostatus"
Attr TypeRef = "pwrs:Type-$Mask"
EndBody
EndObject
!/**
! Reference acceleration, 64-bit.
!*/
Object aR $Intern 17
Body SysBody
Attr PgmName = "aR"
Attr Flags |= PWR_MASK_STATE
Attr Flags |= PWR_MASK_NOEDIT
Attr TypeRef = "pwrs:Type-$Float64"
EndBody
EndObject
!/**
! Reference velocity, 64-bit.
!*/
Object uR $Intern 18
Body SysBody
Attr PgmName = "uR"
Attr Flags |= PWR_MASK_STATE
Attr Flags |= PWR_MASK_NOEDIT
Attr TypeRef = "pwrs:Type-$Float64"
EndBody
EndObject
!/**
! xR[0] - Reference position, 64-bit.
! xR[1] - Reference position at last time step, 64-bit.
!*/
Object xR $Intern 19
Body SysBody
Attr PgmName = "xR"
Attr Flags |= PWR_MASK_STATE
Attr Flags |= PWR_MASK_NOEDIT
Attr Flags |= PWR_MASK_ARRAY
Attr Elements = 2
Attr TypeRef = "pwrs:Type-$Float64"
EndBody
EndObject
!/**
! thR[0] - Reference sway angle, 64-bit.
! thR[1] - Reference sway angle at previous time step, 64-bit.
!*/
Object thR $Intern 20
Body SysBody
Attr PgmName = "thR"
Attr Flags |= PWR_MASK_STATE
Attr Flags |= PWR_MASK_NOEDIT
Attr Flags |= PWR_MASK_ARRAY
Attr Elements = 2
Attr TypeRef = "pwrs:Type-$Float64"
EndBody
EndObject
!/**
! Pointers to the acceleration queue (if generated). Pointers to
! 64-bit floats.
! A queue may be generated if the antisway object is used with a
! regulator to ensure good trajectory tracking. The performance of
! the regulator may then be enhanced if it has access to all known
! future acceleration commands. The queue is generated whenever
! the set is changed.
!
! 0 AS_OBJ_AQP Queue pointer
! 1 AS_OBJ_ACP Pointer to current command
! 2 AS_OBJ_AEP Pointer to last command
!*/
Object QP $Intern 23
Body SysBody
Attr PgmName = "QP"
Attr Flags |= PWR_MASK_POINTER
Attr Flags |= PWR_MASK_ARRAY
Attr Flags |= PWR_MASK_INVISIBLE
Attr Flags |= PWR_MASK_PRIVATE
Attr Elements = 3
Attr TypeRef = "pwrs:Type-$Float64"
EndBody
EndObject
!/**
! The phasor set contains all future acceleration commands,
! in the form of an array of phasors. The set is represented
! as a 16-byte string. If the struct is changed or if int +
! double + pointer != 16 byte, it has to be changed. phasor set members are:
!
! int N Number of phasors in the set
! double extSum Acceleration-weighted phase extension sum.
! extSum = sum (|phiEnd - phiStart|*Sa),
! where the sum is taken over all the phasors in the set.
! Positive for positive acc.
! Usage: Divide by omega to get the velocity change of
! the set.
! AS_phasor *ph Pointer to the array of phasors. Memory is allocated
! dynamically.
! (see AS_phasor_methods.h for a description of the phasor
! struct)
!*/
Object Set $Intern 25
Body SysBody
Attr PgmName = "Set"
Attr Flags |= PWR_MASK_STATE
Attr Flags |= PWR_MASK_NOEDIT
Attr TypeRef = "pwrs:Type-$String16"
EndBody
EndObject
!/**
! Reference acceleration, 32-bit.
!*/
Object aRO $Output 26
Body SysBody
Attr PgmName = "aRO"
Attr Flags |= PWR_MASK_STATE
Attr Flags |= PWR_MASK_NOEDIT
Attr TypeRef = "pwrs:Type-$Float32"
Attr GraphName = "AR"
EndBody
EndObject
!/**
! Reference velocity, 32-bit.
!*/
Object uRO $Output 27
Body SysBody
Attr PgmName = "uRO"
Attr Flags |= PWR_MASK_STATE
Attr Flags |= PWR_MASK_NOEDIT
Attr TypeRef = "pwrs:Type-$Float32"
Attr GraphName = "UR"
EndBody
EndObject
!/**
! Reference position, 32-bit.
!*/
Object xRO $Output 28
Body SysBody
Attr PgmName = "xRO"
Attr Flags |= PWR_MASK_STATE
Attr Flags |= PWR_MASK_NOEDIT
Attr TypeRef = "pwrs:Type-$Float32"
Attr GraphName = "XR"
EndBody
EndObject
!/**
! Reference sway angle, 32-bit.
!*/
Object thRO $Output 31
Body SysBody
Attr PgmName = "thRO"
Attr Flags |= PWR_MASK_STATE
Attr Flags |= PWR_MASK_NOEDIT
Attr TypeRef = "pwrs:Type-$Float32"
Attr GraphName = "THR"
EndBody
EndObject
EndObject
Object DevBody $ObjBodyDef 2
Object PlcNode $Buffer 1
Body SysBody
Attr Flags |= PWR_MASK_INVISIBLE
Attr Class = "pwrs:Class-$PlcNode"
EndBody
EndObject
EndObject
Object GraphPlcNode $GraphPlcNode
Body SysBody
Attr object_type = 11
Attr parameters[0] = 8
Attr parameters[1] = 13
Attr parameters[2] = 4
Attr parameters[3] = 0
Attr graphmethod = 0
Attr graphindex = 0
Attr default_mask[0] = 126
Attr default_mask[1] = 15
Attr segname_annotation = 1
Attr compmethod = 4
Attr compindex = 0
Attr tracemethod = 0
Attr traceindex = 0
Attr connectmethod = 0
Attr executeordermethod = 2
Attr objname = "antiswayA"
Attr graphname = "AntiSwayA"
EndBody
EndObject
Object Template AntiSwayA
Body RtBody
Attr Lc = 3.000000e+00
Attr amax[0] = 2.500000e-01
Attr amax[1] = 2.300000e-01
Attr umax[0] = 5.000000e-01
Attr umax[1] = 4.500000e-01
Attr limits[0] = 1.000000e-03
Attr limits[1] = 2.000000e+00
Attr limits[2] = 1.000000e-02
Attr limits[3] = 9.999900e+04
Attr limits[4] = 1.000000e-03
Attr limits[5] = 1.000000e-03
Attr limits[6] = 1.000000e-02
Attr verbose = 1
EndBody
EndObject
EndObject
EndSObject
! ssab_c_antiswaym.wb_load -- Defines the class AntiSwayM.
!
! PROVIEW/R
!
! <Description>.
!
SObject SSAB:Class
!/**
! @Version 1.0
! @Author Jonas Haulin
! @Code rs_plc_antisway.c
! @Summary Antisway manual
!
! @image orm_antiswaym_fo.gif
! No documentation yet...
!*/
Object AntiSwayM $ClassDef 25
Body SysBody
Attr Editor = 0
Attr Method = 0
Attr Flags = 16
EndBody
Object RtBody $ObjBodyDef 1
Body SysBody
Attr StructName = "AntiSwayM"
EndBody
!/**
! Integer that defines the impulse shaping technique / antisway strategy.
! Current available IST:s are
!
! 0 No antisway
! 1 Double pulse
! 2 Robust, or double double pulse
! 3 Unity-magnitude negative ZV, or triple pulse
! 4 Unity-magnitude negative ZVS, robust variant of triple pulse above
! 5 Time-optimal negative ZV
! 6 Time-optimal negative ZVD, robust variant of ZV122.
!*/
Object mode $Input 1
Body SysBody
Attr PgmName = "mode"
Attr TypeRef = "pwrs:Type-$Int32"
Attr GraphName = "Mode"
EndBody
EndObject
!/**
! Command velocity
!*/
Object uCommand $Input 2
Body SysBody
Attr PgmName = "uCommand"
Attr TypeRef = "pwrs:Type-$Float32"
Attr GraphName = "UCOM"
EndBody
EndObject
!/**
! Current velocity. This input is only used when enabling the object
! (e.g. when switching from auto to manual in travel). The value is
! then stored in uR and uCommand, so that a smooth transition will take
! place.
!*/
Object uc $Input 71
Body SysBody
Attr PgmName = "uc"
Attr TypeRef = "pwrs:Type-$Float32"
Attr GraphName = "VEL"
EndBody
EndObject
!/**
! Current position
!*/
Object xc $Input 3
Body SysBody
Attr PgmName = "xc"
Attr TypeRef = "pwrs:Type-$Float32"
Attr GraphName = "POS"
EndBody
EndObject
!/**
! Current hoisting velocity (defined as dL/dt, i.e. positive direction down)
!*/
Object DLc $Input 4
Body SysBody
Attr PgmName = "DLc"
Attr TypeRef = "pwrs:Type-$Float32"
Attr GraphName = "dL/dt"
EndBody
EndObject
!/**
! Current pendulum length.
! The pendulum length of a crane is best calibrated by measuring a number
! of periods of oscillation and calculating L as L=g*(T/(2pi))^2
!*/
Object Lc $Input 5
Body SysBody
Attr PgmName = "Lc"
Attr TypeRef = "pwrs:Type-$Float32"
Attr GraphName = "L"
EndBody
EndObject
!/**
! Boolean activation switch
!*/
Object enable $Input 6
Body SysBody
Attr PgmName = "enable"
Attr TypeRef = "pwrs:Type-$Boolean"
Attr GraphName = "en"
EndBody
EndObject
!/**
! Boolean switch for resetting calculated sway angle.
! The calculated sway angle is not used for anything in the algorithms,
! but is merely a demo/diagnose output.
!*/
Object zeroTh $Input 8
Body SysBody
Attr PgmName = "zeroTh"
Attr TypeRef = "pwrs:Type-$Boolean"
Attr GraphName = "zth"
EndBody
EndObject
!/**
! amax[0] Hard limit of acceleration.
! amax[1] Soft limit of acceleration. Normally, this is the acceleration
! that will be used by the object, and it should be slightly lower than
! the hard limit, amaxH.
! Having a soft limit serves two purposes. Firstly, compensation for
! hoisting requires some extra acceleration that can be kicked in when
! needed. Secondly, a frequency converter will have better chances of
! tracking the trajectory if not operating at its acceleration limit.
! A control strategy to ensure trajectory tracking also has better chances
! of being successful.
! A suitable value of amaxS that will leave enough acceleration space for
! the hoisting compensation can be calculated from the formula;
! amaxS = amaxH/(1.0+(1.5*DLMax/sqrt(g*LMin))),
! where DLMax is the maximum hoisting speed, g the acceleration of gravity
! and LMin the minimum pendulum length.
!*/
Object amax $Intern 9
Body SysBody
Attr PgmName = "amax"
Attr Flags = PWR_MASK_ARRAY
Attr Elements = 2
Attr TypeRef = "pwrs:Type-$Float32"
EndBody
EndObject
!/**
! umax[0] - Hard limit of velocity
! umax[1] - Soft limit of velocity
!*/
Object umax $Intern 11
Body SysBody
Attr PgmName = "umax"
Attr Flags = PWR_MASK_ARRAY
Attr Elements = 2
Attr TypeRef = "pwrs:Type-$Float32"
EndBody
EndObject
!/**
! limits[7] - Some operating max and min limits. They have been made an
! internal array in the object for greater flexibility. The limits are:
!
! 0 AS_OBJ_UR_ZEROLIM Default 0.001.
! Will set uR to zero if |uR| < limit
! 1 AS_OBJ_UR_MAX_ERRFACT Default 2.0.
! Will disable object if |uR|>limit*umaxH
! 2 AS_OBJ_UR_MIN Default 0.01.
! Minimum steady reference velocity that can be passed to frequency
! converter
! 3 AS_OBJ_XMAX Default 99999.0.
! Maximum reference position (minumum assumed to be zero).
! 4 AS_OBJ_UR_ATTAIN_ERRLIM Default 0.001.
! Will warn if final uR misses uCommand (or zero if auto) with more
! than limit
! 5 AS_OBJ_L_MIN_CHANGE Default 0.005.
! Length interval between compensation for new pendulum length = 5mm.
! Manual only.
! 6 AS_OBJ_DL_MIN Default 0.005.
! Minimum hoisting speed that will be compensated for = 5 mm/s.
! Manual only. */
!*/
Object limits $Intern 13
Body SysBody
Attr PgmName = "limits"
Attr Flags = PWR_MASK_ARRAY
Attr Elements = 7
Attr TypeRef = "pwrs:Type-$Float32"
EndBody
EndObject
!/**
! Boolean switch for enabling queue generation. The pointers to the
! acceleration queue will be stored in QP[]
!*/
Object generateQ $Intern 14
Body SysBody
Attr PgmName = "generateQ"
Attr TypeRef = "pwrs:Type-$Boolean"
EndBody
EndObject
!/**
! Integer value. If verbose !=0, the object will tell you about
! its progress (or failure) by printouts to the terminal window.
! There are three degrees of verbosity:
!
! 1 AS_VERB_DISABLED Object will print message if disabled
! 2 AS_VERB_ERR Object will print message if any error occurs
! 3 AS_VERB_ALL Object will print message when anything new happens
!*/
Object verbose $Intern 15
Body SysBody
Attr PgmName = "verbose"
Attr TypeRef = "pwrs:Type-$Int32"
EndBody
EndObject
!/**
! Integer bit mask keeping information of major and minor errors that
! has occurred since last reset.
! If errstatus > AS_ERR_MINOR, the object will disable itself (it will
! not affect the value of enable, though). errstatus is reset by
! switching enable.
!*/
Object errstatus $Intern 16
Body SysBody
Attr PgmName = "errstatus"
Attr TypeRef = "pwrs:Type-$Mask"
EndBody
EndObject
!/**
! Reference acceleration, 64-bit.
!*/
Object aR $Intern 17
Body SysBody
Attr PgmName = "aR"
Attr Flags |= PWR_MASK_STATE
Attr Flags |= PWR_MASK_NOEDIT
Attr TypeRef = "pwrs:Type-$Float64"
EndBody
EndObject
!/**
! Reference velocity, 64-bit.
!*/
Object uR $Intern 18
Body SysBody
Attr PgmName = "uR"
Attr Flags |= PWR_MASK_STATE
Attr Flags |= PWR_MASK_NOEDIT
Attr TypeRef = "pwrs:Type-$Float64"
EndBody
EndObject
!/**
! xR[0] - Reference position, 64-bit.
! xR[1] - Reference position at last time step, 64-bit.
!*/
Object xR $Intern 19
Body SysBody
Attr PgmName = "xR"
Attr Flags |= PWR_MASK_STATE
Attr Flags |= PWR_MASK_NOEDIT
Attr Flags |= PWR_MASK_ARRAY
Attr Elements = 2
Attr TypeRef = "pwrs:Type-$Float64"
EndBody
EndObject
!/**
! thR[0] - Reference sway angle, 64-bit.
! thR[1] - Reference sway angle at previous time step, 64-bit.
!*/
Object thR $Intern 20
Body SysBody
Attr PgmName = "thR"
Attr Flags |= PWR_MASK_STATE
Attr Flags |= PWR_MASK_NOEDIT
Attr Flags |= PWR_MASK_ARRAY
Attr Elements = 2
Attr TypeRef = "pwrs:Type-$Float64"
EndBody
EndObject
!/**
! Pointers to the acceleration queue (if generated). Pointers to
! 64-bit floats.
! A queue may be generated if the antisway object is used with a
! regulator to ensure good trajectory tracking. The performance of
! the regulator may then be enhanced if it has access to all known
! future acceleration commands. The queue is generated whenever
! the set is changed.
!
! 0 AS_OBJ_AQP Queue pointer
! 1 AS_OBJ_ACP Pointer to current command
! 2 AS_OBJ_AEP Pointer to last command
!*/
Object QP $Intern 23
Body SysBody
Attr PgmName = "QP"
Attr Flags |= PWR_MASK_POINTER
Attr Flags |= PWR_MASK_ARRAY
Attr Flags |= PWR_MASK_INVISIBLE
Attr Flags |= PWR_MASK_PRIVATE
Attr Elements = 3
Attr TypeRef = "pwrs:Type-$Float64"
EndBody
EndObject
!/**
! The phasor set contains all future acceleration commands,
! in the form of an array of phasors. The set is represented
! as a 16-byte string. If the struct is changed or if int +
! double + pointer != 16 byte, it has to be changed. phasor set members are:
!
! int N Number of phasors in the set
! double extSum Acceleration-weighted phase extension sum.
! extSum = sum (|phiEnd - phiStart|*Sa),
! where the sum is taken over all the phasors in the set.
! Positive for positive acc.
! Usage: Divide by omega to get the velocity change of
! the set.
! AS_phasor *ph Pointer to the array of phasors. Memory is allocated
! dynamically.
! (see AS_phasor_methods.h for a description of the phasor
! struct)
!*/
Object Set $Intern 25
Body SysBody
Attr PgmName = "Set"
Attr Flags |= PWR_MASK_STATE
Attr Flags |= PWR_MASK_NOEDIT
Attr TypeRef = "pwrs:Type-$String16"
EndBody
EndObject
!/**
! Reference acceleration, 32-bit.
!*/
Object aRO $Output 26
Body SysBody
Attr PgmName = "aRO"
Attr Flags |= PWR_MASK_STATE
Attr Flags |= PWR_MASK_NOEDIT
Attr TypeRef = "pwrs:Type-$Float32"
Attr GraphName = "AR"
EndBody
EndObject
!/**
! Reference velocity, 32-bit.
!*/
Object uRO $Output 27
Body SysBody
Attr PgmName = "uRO"
Attr Flags |= PWR_MASK_STATE
Attr Flags |= PWR_MASK_NOEDIT
Attr TypeRef = "pwrs:Type-$Float32"
Attr GraphName = "UR"
EndBody
EndObject
!/**
! Reference position, 32-bit.
!*/
Object xRO $Output 28
Body SysBody
Attr PgmName = "xRO"
Attr Flags |= PWR_MASK_STATE
Attr Flags |= PWR_MASK_NOEDIT
Attr TypeRef = "pwrs:Type-$Float32"
Attr GraphName = "XR"
EndBody
EndObject
!/**
! Reference sway angle, 32-bit.
!*/
Object thRO $Output 31
Body SysBody
Attr PgmName = "thRO"
Attr Flags |= PWR_MASK_STATE
Attr Flags |= PWR_MASK_NOEDIT
Attr TypeRef = "pwrs:Type-$Float32"
Attr GraphName = "THR"
EndBody
EndObject
EndObject
Object DevBody $ObjBodyDef 2
Object PlcNode $Buffer 1
Body SysBody
Attr Flags |= PWR_MASK_INVISIBLE
Attr Class = "pwrs:Class-$PlcNode"
EndBody
EndObject
EndObject
Object GraphPlcNode $GraphPlcNode
Body SysBody
Attr object_type = 11
Attr parameters[0] = 8
Attr parameters[1] = 12
Attr parameters[2] = 4
Attr parameters[3] = 0
Attr graphmethod = 0
Attr graphindex = 0
Attr default_mask[0] = 115
Attr default_mask[1] = 15
Attr segname_annotation = 1
Attr compmethod = 4
Attr compindex = 0
Attr tracemethod = 0
Attr traceindex = 0
Attr connectmethod = 0
Attr executeordermethod = 2
Attr objname = "antiswayM"
Attr graphname = "AntiSwayM"
EndBody
EndObject
Object Template AntiSwayM
Body RtBody
Attr Lc = 3.000000e+00
Attr amax[0] = 2.500000e-01
Attr amax[1] = 2.300000e-01
Attr umax[0] = 5.000000e-01
Attr umax[1] = 4.500000e-01
Attr limits[0] = 1.000000e-03
Attr limits[1] = 2.000000e+00
Attr limits[2] = 1.000000e-02
Attr limits[3] = 9.999900e+04
Attr limits[4] = 1.000000e-03
Attr limits[5] = 5.000000e-03
Attr limits[6] = 5.000000e-03
Attr verbose = 1
EndBody
EndObject
EndObject
EndSObject
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