Posts by Sergei Troizky
-
-
No need for analog.
For higher range, use 16-bit GIs.
For negative values, see my post here: RE: Sending and recieving numeric values as DO and DI -
Did you enable UI signals and select Remote control in the System Configuration?
-
IMSTP and ENBL UI signals must be On in order for the robot to operate.
Also, the SFSPD UI signal should be On in order to run at full programmed speed. -
You don't "start" explicit messaging. Just send a message whenever necessary.
I almost never used it, and cannot help with.Implicit messaging is continuous cyclic exchange between master (aka scanner) and slave(s) (aka adapter(s)).
However, registers cannot be implicit messaging destination in the robot, only DI/DO, including GI/GO.
.nvf file is created in Network Configurator, and configures the PLC for implicit messaging. -
Seems like you are trying to establish implicit, not explicit messaging.
Have you configured Ethernet/IP in Network Configurator?
Post your .nvf file -
I've seen weird issues in Fanuc with setting UFRAMES and UTOOLS. For example, I've set frames to RZ = 180 and when I open the tab, the RZ is -180. These are technically equal, but causes issues with the check.
It seems this is a result of the following internal conversion from 0..360° to 0..±180°:
If R>=180 then R=R-360
which converts 180 to -180.
This would not happen if the comparison was R>180. -
It would be also interesting to try this:
!Store the actual user frame number.
R[1]=($MNUFRAMENUM)
!Create auxiliary user frame with origin in the target.
UFRAME[9]=PR[1:TARGET]
!Read the position in the auxiliary user frame.
UFRAME_NUM=9
PR[2:DEVIATION]=LPOS
!Restore the original user frame number.
UFRAME_NUM=R[1]
!PR[2] now contains the signed deviations from the target, in every component (XYZWPR).
!They can be now directly compared with signed minimum and maximum deviation limits. -
It looks like you misunderstood the idea.
You should always use a valid tool number, e.g.Utool 1.
Instead of changing UTOOL number, you reassign the tool frame values, from certain PR. -
Not exact syntax. Illustration only:
!Convert ±180° values to 0..360°
IF POSITION<0 THEN
POS360=POSITION+360
ELSE POS360=POSITION
ENDIF
IF TARGET<0 THEN
TARG360=TARGET+360
ELSE TARG360=TARGET
ENDIF
!TOLERANCE must be non-negative.
!All-non-negative comparison logic is:
!IN_RANGE=(POS360>=(TARG360-TOLERANCE) AND POS360<=(TARG360+TOLERANCE))
!Adding TOLERANCE to all members
!ensures no negative low limit.
IN_RANGE=((POS360+TOLERANCE)>=TARG360) AND (POS360+TOLERANCE)<=(TARG360+2*TOLERANCE)) -
Just tried it on live robot.
It works. Did not try to evaluate speed-related imprecision.
The program called by the monitor cannot refer a motion group.
Registered the actual position per axis: R[n]=($SV_INFO[1].$CART_POS[j]) -
Is not Condition Monitor Function a paid option?
-
I've never tried the following, but you can test whether this loop will result in uninterrupted motion.
Not exact syntax, illustration only.R[1]=100
SKIP CONDITION DI[x]
LBL[1]
MOVE, SKIP PR[99] LBL[2]
PR[R[1]]=PR[99]
R[1]=R[1]+1
JMP LBL[1]
LBL[2]
!Nothing or nothing more found.If the motion stops on every skip, you have no choice but BG logic.
-
You can do it in background logic, or using high-speed skip option in the move instruction.
The position registration precision will depend on the move speed. -
-
Try in the following order:
1. Ensure the Ignore Pause is OFF in the program Detail.
2. Enable UOP Auto Assignment in the system configuration.
"Full" is matching your assignment anyways.
3. Try removing the program from autoexec.
Set program selection method to "Other" and choose the program in Details. Since you want to start/pause/restart/abort by UI signals, autoexec makes no sense. -
-
Well, in case of deficiency of tool frames, I would store them in position registers and emulate selecting tool frame by executing UFRAME[..]=PR[..]
-
In the Jog coordinate System when i select for example Tool 15...
Not clear what procedure you mean by this.
Are you able to set it as active tool in the Frame setup menu?
-
Can you see all 25 tool frames in the Frames menu?
And how do you try to "work with any of them"?