Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
P
proview
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Esteban Blanc
proview
Commits
bdd4327d
Commit
bdd4327d
authored
Feb 16, 2005
by
claes
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
*** empty log message ***
parent
5fdc84d4
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
865 additions
and
0 deletions
+865
-0
src/wbl/ssab/src/ssab_c_antiswaya.wb_load
src/wbl/ssab/src/ssab_c_antiswaya.wb_load
+438
-0
src/wbl/ssab/src/ssab_c_antiswaym.wb_load
src/wbl/ssab/src/ssab_c_antiswaym.wb_load
+427
-0
No files found.
src/wbl/ssab/src/ssab_c_antiswaya.wb_load
0 → 100644
View file @
bdd4327d
! 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
src/wbl/ssab/src/ssab_c_antiswaym.wb_load
0 → 100644
View file @
bdd4327d
! 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
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment