https://www.google.fr/url?sa=t&rct=j…LK4PFfQ&cad=rja
You might be interested.
https://www.google.fr/url?sa=t&rct=j…LK4PFfQ&cad=rja
You might be interested.
QuoteMy question is: Is there a way to have the controller AUTOMATICALLY keep the calender/clock up to date if it is networked? Hopefully without having to buy expensive software and/or licenses?
Thanks for providing this forum, I read it nearly every day!
Surely there are some way you could investigate :
1. Communicate with a remote PC, make this remote PC send the date/time value, retrieve the value from the robot and increment the variables storing date and time value
2. I believe Fanuc has an option to use SNTP protocol with the robot, this protocol was made for what you want to do (i do not know the cost of this though)
It is 10 of each by default. This numbers can be up by modifying the variables
Quote
$SCR.$MAXNUMFRAM
$SCR.$MAXNUMTOOL
This phenomenom occurs because the origin and axis orientation of the CAD model is retained. When importing your model, roboguide will match the CAD origin with the Flange origin.
To get back on your feet you either have to change the properties of the model or export a new CAD model with a new origin.
Tried it with Roboguide, produced the same result.
I guess your best bet is to retrieve the seconds from the integer value out of GET_TIME.
QuoteDisplay MoreA.4.34 CNV_TIME_STR Built-In Procedure
Purpose: Converts an INTEGER representation of time to a STRING
Syntax : CNV_TIME_STR(source, target)
Input/Output Parameters :
[in] source :INTEGER
[out] target :STRING
%ENVIRONMENT Group :TIM
Details:
l The GET_TIME Built-In Procedure is used to determine the INTEGER representation of time. CNV_TIME_STR is used to convert source to target , which will be displayed in ``DD-MMM-YYY HH:MM:'' format.
from what i read, the routine does not convert the values for seconds
Hello,
Maybe you can specify a skip condition while returning to the end position ?
The skip condition will trigger a JMP LBL for as long as your linear axis is in the way but won't disturb the robot if the path is clear. The LBL can be used to either wait a certain amount of time or just loop until the way is clear.
Run this .PC program as you would normally do with a .tp program using SHIFT and FWD after selecting it on the TP in the SELECT menu.
Hello,
RUN_TASK create a child task of the caller. This child task can be paused or aborted separatly from the caller. Execution of the caller continues while the child task is running.
CALL_PROG works similary to a ROUTINE call inside a KAREL program. Execution is passed from the caller to the new task. When the new task is complete, execution of the caller program is resumed.
CONT_TASK is used to resume execution of a paused task.
PAUSE_TASK is used to pause execution of a running task
QuoteThe problem is going the other way, trying to save a UFrame to PR. Regardless of what representation the PR was originally saved in, PR[8]=UFrame[1] (or PR[8]=$MNUFRAME[1,1]) always results in PR[8] being saved as a matrix representation of the UFrame. I.e, instead of xyzwpr or joint angles, it's saved as NX NY NZ OX OY OZ AX AY AZ LX LY LZ.
Why not assigning values from each component of $MNUFRAME to the corresponding component of the position register ?
Also this can be done much easily using Karel if you have access to it.
From what i know, there is only one rule : Protective ground must be green or green with yellow stripes.
Though they are some general rules that should be used for wires color :
- Each Voltage/type should have a different color :
- Only one color should be used for each Voltage/type (24V DC shouldn't be red on one end and grey on the other end or in another place)
- Neutral/Return use different color from Phase/Feed
You can set a PR in cartesian representation using the statement PR[*] = LPOS or joint representation with PR[*]=JPOS.
Then assign your PR value to UFRAME[*].
If the offset is simple enough (like one dimensionnal) you could simply use the IO as groups ?
Hello,
QuoteI read through your posts. So basically I have socket messaging R636, (is it the same as user socket messaging) and there is Karel cmd. Language (J650) Karel Run-Time Env (J539) option intalled as well. I have access to roboguide. So it seems possible right? or do I need something called ethernet adapter option which I dont have for TCP/IP? i can purchase it if needed.
If you have all this 3 options installed on your controller plus roboguide then you have everything needed to establish a TCP/IP communication with your robot.
Quote1) what is the the client application you are referring to? Is it a software you created in C++ to communicate from labview to controller?
This client application is a Software i made with Labview to communicate with the controller. An other version was made (not entirely by me though) using C++ and Qt.
Quote2) I have never created any application but would definitely want to learn and do it. Could you guide me to someplace to read from and get started?
For the robot side of your application, i would advice you to read the Client/Server exemple programs from the R-30iB_Ethernet_function_[B-82974EN03] or KAREL Reference Manual B-83144EN-1. manuals
For the Software side, this will be highly dependent on your needs and what you're using to make it. For my particular application in Labview, i used a Queued Message Handler architecture to handle Sending and Receving of the message from and to the robot and update an UI on a PC.
Hello,
This subject treats about Labview but it is working the same with Matlab, the only changes are how you create your application to connect to the robot with Matlab.
Quote
I'm also pretty sure Matlab has some kind of librairies to make TCP/IP communication so it might be a goood idea to search into the help tab for more information on the subject.
QuoteToday I spoke with a Fanuc specialist and He told me that I have to get the next Items for being able to control my robot:
QuoteKarel Software for fanuc controller
May be already installed on your robot. you can verify that on the TP in MENU - STATUS - Version ID - CONFIG tab and check for :
* Karel cmd. Language (J650)
* Karel Run-Time Env (J539)
QuoteKarel Compilator for PC
You can use Roboguide or WinOLPC to compile KAREL code on PC. I dont know the policies of FANUC in your country but if you're a student you may ask for a trial version of any of this software (most likely Roboguide)
I don't know the price of Roboguide software because it was comprised in an offer with the robots we bought.
Quote-Compact Flash to load the software (This compact flash is the one that is used to make program back ups)
-License code for the compact flash (Provided by fanuc)
As i understand it, they will send you a License code for the option and you will have to enter this code in the Teach Pendant in Controlled Start mode to activate the option.
I can't be sure about the last part because FANUC in my country doesn't seems to proceed this way. Maybe someone in this forum living in the same area as you will be able to further assist you with the last part.
Here is an example for this program :
QuoteDisplay MorePROGRAM FRM_OVD_XMPL
VAR
origin:POSITION
point1:POSITION
point2:POSITION
newframe:POSITION
STATUS:INTEGER
entry:INTEGER
BEGIN
origin = GET_POS_REG(1,STATUS) -- retrieve coordinates values from position register
point1 = GET_POS_REG(2,STATUS)
point2 = GET_POS_REG(3,STATUS)newframe = FRAME(origin,point1,point2) -- Calculate frame
SET_VAR(entry, '*SYSTEM*','$MNUFRAME[1,1]',newframe,STATUS) -- Assign newframe value to UFRAME[1]
END FRM_OVD_XMPL
QuoteHello,
If this may help, you can use Karel FRAME function to generate a frame and override the '$CB_GRP[1].$FRM_OFFSET' variable with your newly created frame.
I meant the '$MNUFRAME[1,*]' variable
Hello,
If this may help, you can use Karel FRAME function to generate a frame and override the '$CB_GRP[1].$FRM_OFFSET' variable with your newly created frame.
Hello,
Fanuc usually ask for a backup image of the controller. They update it with the new software and send back a modified image of the robot. Then just load this new image on your controller and the software is installed.