Monitoring Function of the Position Deviations Between Axes
(Original Document)
Description
The monitoring function of the position deviations between axes allows any deviations between the independent axes (real, imaginary, or external setpoint) of the module to be monitored.
This function can be instantiated several times with lists of different axes.
The function will be ensured by 3 opcodes:
Launch of Monitoring
Enables monitoring to start by calling a function TRF_RECIPE (opcode 26200) on channel 0.
When the function is called, the module takes a snapshot of the different positions of the axes to be monitored and then:
Object
Type
Explanation
Comment
%MF r.m.0.15
Floating point
Instance number
Parameter of the TRF_RECIPE, converted to an integer by the module
%MF i
Floating point
Alarm threshold
In position units of the reference axis
%MF i+2
Floating point
Default threshold
In position units of the reference axis
%MW i+4
Word
Reference axis
%MW i+5
Word
Axis 1
%MF i+6
Floating point
Axis 1 numerator
%MF i+8
Floating point
Axis 1 denominator
.. .. ..
..
..
%MW i+5+5(N-1)
Word
Axis N
%MF i+5+5(N-1)+1
Floating point
Axis N numerator
%MF i+5+5(N-1)+3
Floating point
Axis N denominator
Example:
Monitoring of axes 8, 12 and 7:
The alarm threshold is 4 mm.
The default threshold is 10 mm.
IF %MW104.0.0: X3 = 0 THEN (* no TRF_RECIPE in progress *)
%MW104.0.10:= 26200; (* Action 26200 = GAP_CONTROL *)
%MF104.0.15:= 1.0; (* Instance number *
%MF150:=4.0; (* Alarm threshold *)
%MF152:= 10.0; (* Default threshold *)
%MW154:= 8; (* Reference axis *)
%MW155:= 12; (* Second axis to monitor *)
%MF156:= 4.0.0; (* Numerator of the ratio between the 2nd axis and the reference axis *)
%MF158:= 1.0; (* Denominator of the ratio between the 2nd axis and the reference axis *)
%MW160:=7.0; (* Third axis to monitor *)
%MF161:= 1.0; (* Numerator of the ratio between the 3rd axis and the reference axis *)
%MF163:= 10.0; (* Denominator of the ratio between the 3rd axis and the reference axis *)
TRF_RECIPE %CH 104.0 (15,150);
END_IF;
An alarm will be triggered if axis 8 moves 5 mm when axis 12 has only moved 4°.
A fault will be triggered if axis 8 moves 20 mm when axis 12 has only moved 4°.
Refusal of the TRF_ RECIPE 26200: error on the word %MWr.m.0.3
Rereading of the Function Parameters
Enables monitoring parameters to be reread for a given instance, by calling a function TRF_RECIPE (opcode 16200) on channel 0.
The result of the function can be read on the universal %M.
Object
Type
Explanation
Comment
%MF i
Floating point
Alarm threshold
In position units of the reference axis
%MF i+2
Floating point
Default threshold
In position units of the reference axis
%MW i+4
Word
Reference axis
%MW i+5
Word
Axis 1
%MF i+6
Floating point
Axis 1 numerator
%MF i+8
Floating point
Axis 1 denominator
.. .. ..
..
..
%MW i+5+5(N-1)
Word
Axis N
%MF i+5+5(N-1)+1
Floating point
Axis N numerator
%MF i+5+5(N-1)+3
Floating point
Axis N denominator
Example:
IF %MW104.0.0: X3 = 0 THEN (* No TRF_RECIPE in progress *)
%MW104.0.10:= 16200; (* Action 26200 = GAP_CONTROL *)
%MF104.0.15:= 1.0 (* Instance to be reread*)
TRF_RECIPE %CH 104.0 (15,150);
END_IF;
Refusal of the TRF_ RECIPE 16200: error on the word %MWr.m.0.3
Stop Monitoring
Enables monitoring of a given instance to be deleted, by calling a function TRF_RECIPE (opcode 14200) on channel 0.
Example:
IF %MW104.0.0: X3 = 0 THEN (* no TRF_RECIPE in progress *)
%MW104.0.10:= 14200; (* Action 14200 = GAP_CONTROL *)
%MF104.0.15:= 1.0 (* Instance to be deleted*)
TRF_RECIPE %CH 104.0 (0,0);
END_IF;
Refusal of the TRF_ RECIPE 14200: error on the word %MWr.m.0.3
Check of the Monitoring Activity
Allows a check to be made on whether an instance is active or inactive, by calling a function TRF_RECIPE (opcode 16201) on channel 0.
The result of the function can be read on a universal %MW.
TRF_RECIPE %CH4.0(1,150)
with 1= length and 150 = offset return.
Each bit in the first byte is the image of the activity of the corresponding instance (example: Bit 0 => Instance 0, etc....)
Example: Is the instance active?
IF %M9 AND NOT %MW4.0:X3 THEN
%MW4.0.10:=16201;
TRF_RECIPE %CH4.0(1,150);
RESET %M9;
END_IF;
The result can be accessed on the %MW150 word.
If %MW150 = 3 the 0 and 1 instances are active.
Refusal:error on the word %MWr.m,i,3: