Date: November 04, 2008
Os: 13.15.2811
RoboxLib: 3.4.0
Derived from: RTE 33.11.7
Note: suite with >= RDE3.5.0
Note: suite with >= RC3E v33.2.4
build7
•IMPLEMENTATION
MV_TO_CJV_INFO
This function calculates the space and time required to reach the desired velocity with acceleration equal to 0. Current kinematics data and desired velocity, acceleration, and jerk values must be provided. The position at which the desired target velocity will be reached and the time required is then returned.
Syntax: result = MV_TO_CJV_INFO (struct STRU_MVTOCJV_INFO dm)
Parameters:
oresult returns true if all parameters are OK , otherwise if acceleration or jerk is equal to 0 returns false and alarm is generated
9900 Illegal Arg. A:1 T:xx St:yyyy
odm structs of type stru_mv_to_cjv_info or type STRU_MVTOCJV_INFO containing the working data.
incoming data are:
▪current data (cPos, cSpeed, cAcc)
▪desired data (dAcc, dJerk, targetSpeed)
the outgoing data are:
▪posInfo end position value
▪timeInfo mission time
Note: Typically this function is used in conjunction with MV_TO_CJV or MV_TO_CJVE. In that case, it is essential to provide the same input data such as current values, acceleration and jerk.
•IMPLEMENTATION
DISPAN_ON.
Added directive to associate dispan with the specified serial
•IMPLEMENTATION
SYS_LOG.
Added information (before report) of reference times and current time to be used as possible reference for conversion from report times to date/time
•IMPLEMENTATION
SYS_FLAG
Added the bit
obit 10 0x00000400 enables, by diagnostic, the internal information report for instruction MV_TO_CJV
build6
•IMPLEMENTATION
TM2DATE
Directive to convert report time to date and time.
Syntax - In the following commands, the optional parameter -REP is used to insert the result of the command into the report as well:
oTM2DATE [-REP] displays the current time value in the two formats.
oTM2DATE -REF [-REP] displays the reference data used to reconstruct the time
oTM2DATE tm [-REP] converts TM time to date and time using the reference data from the current switch on.
oTM2DATE tm initTM date time [-REP] converts TM time to date and time using reference data specified on command
•CORRECTION
SERIALS
Serials that are not present are no longer mistakenly initialized
•IMPLEMENTATION
MV_TO_CJV
This function takes you from the current speed to the target speed by controlling the acceleration with the specified jerk.
The function ends its work when you stop at the specified target position. Variation of the desired units (target position, steady state speed, acceleration and jerk) is possible at any time.
Syntax: result = MV_TO_CJV ( struct STRU_MVTOCJV dm, [holdflag [, fr]])
result = MV_TO_CJV ( struct STRU_MVTOCJVE dm, [holdflag [, fr]])
Parameters:
ooutcome code returned by the function. Possible values are:
▪MV_IN_ALARM
▪MV_POSITIONING
▪MV_OVERSHOOTING
▪MV_ACCEL
▪MV_AT_SPEED
▪MV_DECEL
▪MV_REACHED
odm structs of type STRU_MVTOCJV or type STRU_MVTOCJVE containing the working data.
The current data (cPos, cSpeed, cAcc) typically are imposed only when the first call to the function is made, after which they are updated by the Instruction and external must used after the instruction is executed.
Note: If this function is used to move an axis, the imposition of kinematic units MUST be done using the SET_KINEMATICS instruction (e.g., SET_KINEMATICS(nax, dm.cPos, dm.vPos, dm.APos)).
The desired data (dpos, dspeed, dacc, djerk) can only be set at any time.
The reserved area of the struct contains diagnostic information to be communicated to the Robox in case of functioning anomalies.
oholdflg optional parameter - movement hold request flag (default 0)
ofr optional parameter - runtime reduction value (0 -:- 1) of the handling execution speed (default 1.0)
In the case of structs of type STRU_MVTOCJVE, data on the location of any immediate stop and the relative time required are also provided
•CORRECTION
AM(0)
Avoided imposing AM(0).9 bit to 1 when an undefined alarm was generated
•CORRECTION
SYS_LOG.
Fixed error that erroneously limited the composite report (os+rte)
•IMPLEMENTATION
BCC_REPLY_NACK
Instruction to return a NACK message.
Syntax : return = BCC_REPLAY_NACK (bRx, nack [, par])
Where :
oreturned 0 --> result with error, 1 OK
obRx structs of type BCC_MSGUSER in which the message was received
onack nack code to respond to
opar optional -- additional parameter of some NACK codes.
•IMPLEMENTATION
BCC_REPLY_MSG
Instruction to reply a message
Syntax : returned = BCC_REPLY_MSG (bRx, bTx [, msgCode [, lendata])
Where :
oreturned 0 --> result with error, 1 OK
obRx structs of type BCC_MSGUSER in which the message was received
obTx structs of type BCC_MSGUSER with data to be sent
omsgCode optional - code of the message to be sent, if not specified keeps the one in bTx
opar optional - length of the data area of the message to be sent, if not specified keeps the one present in bTx
build4
•IMPLEMENTATION : LADDER OB
Integration of Ob handling in ladder. Accepts files of type 1.2.0 1.3.1 and temporarily 1.3.0 (intended to be no longer accepted)
build3
•IMPLEMENTATION : MVA_ZC
Added handling of bit 0x800 (bit.11). The bit is used only if you have selected the 0 cycle of monodirectional type, with the u0 and searching for the initial variation. In this case if the bit is in 1, after the variation of u0 is found the positioning speed "velPos" is held for a space equal to the parameter "spSch". Indi we switch to the speed "velZc" to make the final step. In practice of lengthening the initial positioning step (after u0 is found) by "spSch".
With zcFlag = 0x813 -(bit11) 1000 0001 0011 (bit0)
v
velPos . . ./------------- ------------\
. . . . . . . ./ . . . . . . . . . . . . . . . . . \
velZc. . ./ . . . . . . . . . . . . . . . . . . . \ ________
. . . . . . / . . . . . . . . . . . . . . . . . . . . . . . . . . . . . \
---------------------------------------------------------- > space
. . . . . . . . . . . |<----- spSch --->|
. . . . . . . . . . . _ . . . . . . . . . . . . . . . . . . . . . . . . _
u0. . . ______| |________________________| |______
with zcFlag = 0x013 -(bit11) 0000 0001 0011 (bit0)
v
velPos . . ./----\.
. . . . . . . ./. . . . \
velZc. . ./ . . . . . \ _______________________
. . . . . . / . . . . . . . . . . . . . . . . . . . . . . . . . . . . . \
---------------------------------------------------------- > space
. . . . . . . . . . . _ . . . . . . . . . . . . . . . . . . . . . . . . _
u0. . . ______| |________________________| |______
build1
•CORRECTION : DF1
Removed generation of 'Undefined opcode' that occurred in the following condition:
ouse of multiple serials
oerror in file df1.cfg from the line of the definition of the second serial.
oline communication from operator panel on configured serial.
•CORRECTION : TRANSDUCERS R or RR.
If R or RR (used incrementally or in absolute mode) is selected as the translator type, the corresponding bit of C0_DONE is reset at switch on.
If NVR or NVRR (used in incremental mode or absolute mode) is selected as the translator type, the related bit of C0_DONE is NOT reset to zero at switch on.
•CORRECTION : F_CLOSE
Checks that the file handler is not null, in case of error alarm 9900 with code 1 is generated
The routine also resets stru_filehnd to zero.
•CORRECTION : F_PUTS
Checking that the file handler is not null, in case of error it generates alarm 9900 with code 2
•CORRECTION : F_GETS F_SEEK
Checking that the file handler is not null, in case of error it generates alarm 9900 with code 3
•CORRECTION : F_WRITE F_READ
Checking that the file handler is not null, in case of error it generates alarm 9900 with code 4
•CORRECTION : TIME HOUR MINUTE SECOND
At switch on the system time could be mistakenly reset to zero.
Fixed this issue that arose from version 33.8.1
build0
•IMPLEMENTATION : MV_TO_CJ
Implementation Instruction and function OB
pos = MV_TO_CJ (result, start, struct STRU_MVTOCJ dm, [holdflag [, fr]])
Execution of a movement to a target of a generic unit by specifying desired velocity, acceleration, and jerk
Data are assumed only on start. On start with velocity other than 0, there is a stop phase of the unit before starting toward the programmed target.
Hold and fr changes are handled using a linear velocity ramp.
Returns:
opos -> unit position value
Parameters:
oresult name of an integer-type variable in which the instruction writes the result code
▪MV_IN_ALARM
▪MV_POSITIONING
▪MV_INITIALIZING
▪MV_ACCEL
▪MV_AT_SPEED
▪MV_DECEL
▪MV_HOLDED
▪MV_REACHED
ostart name of an integer type variable used to have the mission data acquired (any value other than 0), Instruction resets the request by writing 0 to it
odm structs of type STRU_MVTOCJ containing the job data. The current data (cpos, cspeed, cacc) must be imposed only at start time, after which it is updated by the instruction and externally can be used after the instruction is executed. The desired data (dpos, dspeed, dacc, djerk) must be set only at the start time, after which it is no longer used by the instruction. The only data that can be updated runtime is delta. The reserved area of the struct should not be written at all since it contains all the data si mission.
oholdflg optional parameter - movement hold request flag (default 0)
ofr optional parameter - runtime reduction value (0 -:- 1) of the handling execution speed (default 1.0)
•FIX : MVA_TO_N_CJ
Removed excessively slow start. Fixed this drawback
•FIX : MV_TABLE
Eliminated position generation error if the supplied 'x' was greater than or equal to the last 'x' in the table (only on CAM1)
However, the problem was fixable by adding an extra (undeclared) structs at the bottom of the buffer containing the same data as the previous element
•CORRECTION : MVA_TO_N_CJ
By doing a null mission the return code was not MV_REACHED but MV_HOLDED. Fixed this inconvenience