Look into eg. Handling tool manual - it's exaplained when is N, U etc. Look below..
it will be better if there are some math expressions to explain the relationship
Look into eg. Handling tool manual - it's exaplained when is N, U etc. Look below..
it will be better if there are some math expressions to explain the relationship
Hello guys,
I need to know how to get the robot configuration (F/N,U/D,T/B) when i have all the robot axis (j1,j2,j3,j4,j5,j6). are there any math fomulas to be referred, thanks
thank you very much for your answer, i am confused what is the diffrence between ofs_type and dpm_type , according to the fanuc dpm reference document named <<MAROBDPMD04121E REV A>> , ofs_type : 1 for inline ; 2 for modal ; but i cann't find anything about dpm_type in the v9.1 system software version , so i just treat it equally , i am doubt whether i am confused by the difference of ofs_type and dpm_type , so the correct result should be like this :
For ofs_type: 1 for inline ; 2 for modal ;
For dpm_type:2 for inline ; 1 for modal ;
am i right ? notion. looking forward to your reply.
hello guys:
there is an intractability problem when i try to use fanuc Modal DPM function in modal mode, here are my Modal DPM mode configurations and related attachments, i am very grateful if somebody could give me a help
DPM modal mode configuration:
$dpm_cfg.$enable = TRUE
$dpm_cfg.$grp_msk = 1
$dpm_cfg.$ori_ctl = TRUE
$dpm_cfg.$inline = FALSE
$dpm_cfg.$bef_jbf= FALSE
$dpm_sch[1].$dpm_on = TRUE
$dpm_sch[1].$grp[1].$dpm_type = 2
$dpm_sch[1].$grp[1].$ofs_fram = 3
$dpm_sch[1].$grp[1].$ofs_accu = FALSE
$dpm_sch[1].$grp[1].$trk_mode = 0
$dpm_sch[1].$grp[1].$sync_di = 0;
i am sorry that the error description is in Chinese in the attachments because of language setting problem.
the error translatedin English is : " DPMO-027 Compensation Target is not the same(inconformity)"
The above problem has been resolved by using function "GET_VAR(...)" in karel to get the system variables, then there is no need to load the "srdef.ev" library.
Hello, Friends
I am making a karel program for adaptive welding but when I am trying to compile it, it gives me an error
..\adapt2.kl(11)
11 %ENVIRONMENT srdef
^ ERROR
File cannot be opened or created. File: SRDEF.ev
We are using translator directive %Enviornment and given the pathname "srdef".
How should I configure the "srdef" library environment.
can someone help me in explanation.
Regards
Franktly
i have no find the answer yet... , the windows telnet client could telnet to he dx200 robot controller and display the debug information from MOTOPLUS extensional C program using the debug function such as printf() and puts()f
have you ever contact the Fanuc representative in your country? they have the 3D file completely.
yes, thanks for your reply, i have contact the Fanuc representative and get the 3D model, it seems that the ROBOTGUIDE fanuc robot simulation software can export the 3D models as well
hi,
i am trying to debug dx200 motoplus program via MotoPlusIDE , when i use the Start Telnet Session and try to connect the controller , it always comes to the following connection failure error:
“Failed to connect to controller. Please verify the IP address settings of the controller and PC
Details: You are using the incompatible protocol address”
I am sure that i have set the correct IP: (PC IP: 192.168.255.2; Robot Controller IP:192.168.255.1) , i could use the windows telnet client to telnet the Controller vxWorks OS successfully via PC which is recorded by the picture attachment
the picture attachment shows the details of the failure. i am very grateful if somebody could help me or give some clues about this problem.
hi,
anyone knows how could i find the fanuc m-10id12 3D models? i have tried to look for it via website of 3dmdb.com and 3dcadbrowser.com, but it did not work, i am very grateful if someone could provide the 3D models whether free or not.
hi, everyone:
any guys knows how could we change the EGM path correction move speed in the correction direction (not in the teaching point move direction), i have written a simple demo which implements the function of the stardard sin(x) curve line path correction by EGM path correction option and it seems that the faster the EGM runs in the teaching point direction, the worse the path correction effect becomes, i guess the reason is that EGM moves too slow in the correction direction, but i can not find how to adjust it, i have tried to change the system configuration parameters such as Proportional Gain , Band Width, Ramp Time which are in the topic of Configuration-- Motion--- External Motion Interface Data, but it does not seem to work, anyone who could give me a clue to find out how could we adjust the EGM path correction speed would be a great help for me, Thanks very much
PS: the attachments show the different path correction effects by using EGM path correction option, v20 means the speed parameter of the EGMMoveL RAPID function and so as V30,v40;
dstPos means the target movement path;
curPos means the real EGM movement path;
intPos means the intersection path which is used to help calculating the correction.
Anyone have the manual for Application manual RobotWare Add-Ins?? I can't find it. Thank you.
i have the english version, if you have not found yet , i can send it to you by email
hello guys:
i am trying to make a high speed data exchange between robot and sensor, so i choose the ABB RRI(Robot Reference Interface) engineering tool option and follow the following official tech doc(in the chapter 9.4):
Application manual
Controller software IRC5
RobotWare 6.06
Document ID: 3HAC050798-001
here is my steps:
firstly, on the robot side, write the configuration XML files and put it under the GSI directory(including Settings.xml, Configuration.xml, Description.xml) and the directory tree is listed in the attachment area
the details of every XML configuration file are listed here:
Settings.xml:
<?xml version="1.0" encoding="utf-8"?>
<Settings>
<Servers>
<Servers/>
<Clients>
<Client Convention="CDP" Name="MyDevice" />
</Clients>
</Settings>
Configuration.xml
<?xml version="1.0" encoding="utf-8" ?>
<Configuration>
<Enums>
<Enum Name="OperationMode" Link="Intern">
<Member Name="Automatic" Alias="Auto" />
<Member Name="ReducedSpeed" Alias="ManRS" />
<Member Name="FullSpeed" Alias="ManFS" />
</Enum>
</Enums>
<Records>
<Record Name="RobotData">
<Field Name="OperationMode" Type="OperationMode" Link="Intern" Alias="RobMode" />
<Field Name="FeedbackTime" Type="Time" Link="Intern" Alias="Ts_act" />
<Field Name="FeedbackPose" Type="Frame" Link="Intern" Alias="P_act" />
<Field Name="FeedbackJoints" Type="Joints" Link="Intern" Alias="J_act" />
<Field Name="PredictedTime" Type="Time" Link="Intern" Alias="Ts_des" />
<Field Name="PlannedPose" Type="Frame" Link="Intern" Alias="P_des" />
<Field Name="PlannedJoints" Type="Joints" Link="Intern" Alias="J_des" />
<Field Name="TestData" Type="Num" Size="1" Alias="T_tst" />
</Record>
<Record Name="SensorData">
<Field Name="ErrorString" Type="String" Alias="EStr" />
<Field Name="Correction" Type="Num" Size="6" Alias="Corr" />
</Record>
</Records>
<Properties>
<Property Name="RobData" Type="RobotData" Flag="WriteOnly"/>
<Property Name="SensData" Type="SensorData" Flag="ReadOnly"/>
</Properties>
</Configuration>
Display More
Description.xml(use the Robot Studio to simulate the RRI communication between robot and sensor, so i just fill the Network Address with local IP)
<?xml version="1.0" encoding="utf-8"?>
<Description>
<Name>MyDevice</Name>
<Convention>CDP</Convention>
<Type>SmartEyesSensor</Type>
<Class>MachineVision</Class>
<Network Address="127.0.0.1" Port="Service">
<Channel Type="Cyclic" Protocol="Udp" Port="3002" />
</Network>
<Settings>
<TimeOut>2000</TimeOut>
<MaxLost>30</MaxLost>
<DryRun>false</DryRun>
</Settings>
</Description>
Display More
secondly, on the robot side, code the RAPID test code and the record definition is a corresponding to the above XML configuration:
RECORD MY_POS
num x;
num y;
num z;
num rx;
num ry;
num rz;
ENDRECORD
RECORD sensdata
string ErrorString;
MY_POS Correction;
ENDRECORD
RECORD robdata
num TestData;
ENDRECORD
! Sensor Declarations
PERS sensor MyDevice := [1,0,1];
PERS robdata DataOut := [9];
PERS sensdata DataIn :=["No",[1.0, 2.0, 3.0, 0.0, 0.0, 0.0]];
PROC main()
RRITest;
ENDPROC
! Setup Interface Procedure
PROC RRI_Open()
SiConnect MyDevice \NoStop;
! Send and receive data cyclic with 64 ms rate
SiSetCyclic MyDevice, DataOut, 64;
SiGetCyclic MyDevice, DataIn, 64;
ENDPROC
! Close the connection
PROC RRI_Close()
SiClose MyDevice;
ENDPROC
PROC RRITest()
RRI_Open;
RRI_Close;
ENDPROC
Display More
finally, on the sensor side, i start a UDP socket server on the port 3002 to communicate with the robot
but, when i start the simulation on the Robot Studio, a communication init error occurs, the error and trans configuration are listed in the attachment area
i have found the cause of the error by comparing the log
@SAABoholic provided for me, i fill the wrong body length field of the multi-data read request from the robot, very grateful to SAABoholic's help.
but still have some doubt that the path correction is too large , i guess the AGE filed may be incorrect, here is my c# code snippet:
any guys could explain the meaning of LTAPP_AGE, here is the official doc explains , but i still cannot understand how to implement it by code to mate with ABB robot:
Quote
LTAPP_AGE: Time since profile acquisition(ms), unsigned word
yes , i have received a verification email and after i click the verification URL , abb official email informs me that i have verified the email successfully... i have never used abb product before, and this is my first time to use the abb robot and i just want to join in the official forum to discuss problems about robot studio, but permission deny occurred when i try to log in
hi:
does anybody know why ABB official robot studio forum (https://forums.robotstudio.com) denys the permission to login a new registered account, thanks .
hello everyone:
when i try to use my own sensor(not standard kind of sensor that is supported by ABB such as Meta or Scansonic) to mate with ABB robot using ABB optical tracking arc option, it comes to a general sensor error (see the attachment);
i have done the following steps:
1. install the arc & optical tracking arc option and config the my own senor configuration for abb Arc system
2. accomplish the abb sensor calibration and verification( using the kind of ABB0 calibration plate )
3. code the RAPID optical tracking arc test program, here is the code snippet :
PERS seamdata seam1:=[0,0,[0,0,0,0,0,0,0,0,0],0,0,0,0,0,[0,0,0,0,0,0,0,0,0],0,0,[0,0,0,0,0,0,0,0,0],0,0,[0,0,0,0,0,0,0,0,0],0];
PERS welddata weld1:=[6,0,[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];
PERS optscandata optscan1:=[6,6,0,0,0,0,FALSE];
PERS trackdata track1:=[1,FALSE,20,[0,0,0,0,0,0,0,0,0],[1,5,0,0,0,0,0]];
PROC main()
ArcTrackTest;
ENDPROC
PROC ArcTrackTest()
MoveJ p0, v200, z20, tWeldGun;
ArcLStart pS, v50, seam1, weld1, fine, tWeldGun\Track:=track1\PreProcessTracking;
ArcL weldTrackStartPoint, v50, seam1, weld1, z20, tWeldGun\Track:=track1;
ArcLEnd weldTrackEndPoint, v50, seam1, weld1, fine, tWeldGun\Track:=track1;
MoveJ p1, v200, z20, tWeldGun;
ENDPROC
4. code the sensor server program: i implement the ABB LTAPPTCP protocol by C# and set up a TCP server on the sensor side to parse and response the request from abb optical tracking arc rapid API(such as ArcL,ArcC), here is the key LTAPPTCP protocol instruction parsing snippets log from the senor server by c# when ArcL function is executed:
**********Recv request body len = 12**********
2018/9/6 21:05:25 : Recv Raw Msg is: 00 00 00 06 01 60 00 01 00 06 0A BB
2018/9/6 21:05:25 : Recv read req msg is: msgType = 1 header = 96 number = 1
2018/9/6 21:05:25 : Recv read req data is: var = LTAPP_POWER_UP
2018/9/6 21:05:25 : Send read resp msg len is: 11
2018/9/6 21:05:25 : Send read resp raw msg is 00 00 00 05 81 60 00 00 01 0A BB parse: bodyLen = 5 msgType = 129 header = 96 status = 0
2018/9/6 21:05:25 : Send read resp data is: value = 1
2018/9/6 21:05:25 :
**********Recv request body len = 12**********
2018/9/6 21:05:25 : Recv Raw Msg is: 00 00 00 06 01 60 00 01 00 07 0A BB
2018/9/6 21:05:25 : Recv read req msg is: msgType = 1 header = 96 number = 1
2018/9/6 21:05:25 : Recv read req data is: var = LTAPP_LASER_OFF
2018/9/6 21:05:25 : Send read resp msg len is: 11
2018/9/6 21:05:25 : Send read resp raw msg is 00 00 00 05 81 60 00 00 00 0A BB parse: bodyLen = 5 msgType = 129 header = 96 status = 0
2018/9/6 21:05:25 : Send read resp data is: value = 0
2018/9/6 21:05:25 :
**********Recv request body len = 12**********
2018/9/6 21:05:25 : Recv Raw Msg is: 00 00 00 06 01 60 00 01 00 08 0A BB
2018/9/6 21:05:25 : Recv read req msg is: msgType = 1 header = 96 number = 1
2018/9/6 21:05:25 : Recv read req data is: var = LTAPP_X
2018/9/6 21:05:25 : Send read resp msg len is: 11
2018/9/6 21:05:25 : Send read resp raw msg is 00 00 00 05 81 60 00 00 00 0A BB parse: bodyLen = 5 msgType = 129 header = 96 status = 0
2018/9/6 21:05:25 : Send read resp data is: value = 0
2018/9/6 21:05:25 :
**********Recv request body len = 12**********
2018/9/6 21:05:25 : Recv Raw Msg is: 00 00 00 06 01 60 00 01 00 09 0A BB
2018/9/6 21:05:25 : Recv read req msg is: msgType = 1 header = 96 number = 1
2018/9/6 21:05:25 : Recv read req data is: var = LTAPP_Y
2018/9/6 21:05:25 : Send read resp msg len is: 11
2018/9/6 21:05:25 : Send read resp raw msg is 00 00 00 05 81 60 00 FD 41 0A BB parse: bodyLen = 5 msgType = 129 header = 96 status = 0
2018/9/6 21:05:25 : Send read resp data is: value = 64833
2018/9/6 21:05:25 :
**********Recv request body len = 12**********
2018/9/6 21:05:25 : Recv Raw Msg is: 00 00 00 06 01 60 00 01 00 0A 0A BB
2018/9/6 21:05:25 : Recv read req msg is: msgType = 1 header = 96 number = 1
2018/9/6 21:05:25 : Recv read req data is: var = LTAPP_Z
2018/9/6 21:05:25 : Send read resp msg len is: 11
2018/9/6 21:05:25 : Send read resp raw msg is 00 00 00 05 81 60 00 F9 DE 0A BB parse: bodyLen = 5 msgType = 129 header = 96 status = 0
2018/9/6 21:05:25 : Send read resp data is: value = 63966
2018/9/6 21:05:25 :
**********Recv request body len = 12**********
2018/9/6 21:05:25 : Recv Raw Msg is: 00 00 00 06 01 60 00 01 00 0B 0A BB
2018/9/6 21:05:25 : Recv read req msg is: msgType = 1 header = 96 number = 1
2018/9/6 21:05:25 : Recv read req data is: var = LTAPP_GAP
2018/9/6 21:05:25 : Send read resp msg len is: 11
2018/9/6 21:05:25 : Send read resp raw msg is 00 00 00 05 81 60 00 01 2C 0A BB parse: bodyLen = 5 msgType = 129 header = 96 status = 0
2018/9/6 21:05:25 : Send read resp data is: value = 300
2018/9/6 21:05:25 :
**********Recv request body len = 12**********
2018/9/6 21:05:25 : Recv Raw Msg is: 00 00 00 06 01 60 00 01 00 13 0A BB
2018/9/6 21:05:25 : Recv read req msg is: msgType = 1 header = 96 number = 1
2018/9/6 21:05:25 : Recv read req data is: var = LTAPP_UNIT
2018/9/6 21:05:25 : Send read resp msg len is: 11
2018/9/6 21:05:25 : Send read resp raw msg is 00 00 00 05 81 60 00 00 01 0A BB parse: bodyLen = 5 msgType = 129 header = 96 status = 0
2018/9/6 21:05:25 : Send read resp data is: value = 1
2018/9/6 21:05:25 :
**********Recv request body len = 12**********
2018/9/6 21:05:25 : Recv Raw Msg is: 00 00 00 06 01 60 00 01 00 10 0A BB
2018/9/6 21:05:25 : Recv read req msg is: msgType = 1 header = 96 number = 1
2018/9/6 21:05:25 : Recv read req data is: var = LTAPP_JOINT_NO
2018/9/6 21:05:25 : Send read resp msg len is: 11
2018/9/6 21:05:25 : Send read resp raw msg is 00 00 00 05 81 60 00 00 02 0A BB parse: bodyLen = 5 msgType = 129 header = 96 status = 0
2018/9/6 21:05:25 : Send read resp data is: value = 2
5. when the rapid code runs to the ArcL command, the controller will send position request to sensor (X,Y,Z coordinate) and i have response the position(related to the sensor coordinate frame) request correctly (just as i response the position request during the abb sensor calibration process, and i have accomplish the calibration), but the controller comes to a general sensor error (see the attachment);
i am very grateful if any guys could give me a clue about this problem , thank you very much
You should also have your instruction in a system module which will be declared noview or nostepin.
thanks, Lemster68, yes it is right to to declare a noview or nostepin attribution for a system module, but it seems that when we backup or edit the system module , we still can see the source rapid code although can not see it in the flexpendant...
Make a backup or save the system parameters and take a look at the MMC.cfg file, that's where you'd add it so that it shows up in the picklist.
thanks,SAABoholic; i have found an abb document about how to do this:
《Application manual RobotWare Add-Ins》
but it is a little complex, i am trying to following this guide, in this guide, we need to create MMC.cfg files and cmd script and then use a Add-In Packaging tool to take effect, i am trying to do this, thanks for you clues.
hello, does any guys know about how to integrate our own defined rapid function (encapsulate origin rapid api) into the flexpendant "Add Instruction"(see the attachment) , i am very appreciate if anyone can give me a clue, thanks very much.