Do you have example code of how User Frames can be created using a .cm program? I am able to create User Models and CPC models easily, but having trouble finding the variables needed to create frames in the system for CPC user frame definitions.
Syntax for command files (.CM)
-
Nation -
November 28, 2016 at 5:13 PM -
Thread is Resolved
-
-
CiaoMKDIR UD1:test
IGALBKUP UD1:\test
EXITThis code will automatically create a TEST folder on the USB and put AOA and IMAGE on it
Does anyone know how to create an image backup on the USB instead of an AOA?
-
Figured out another command:
DELAY #
Delays execution of the .cm file by that many milliseconds. DELAY 1000 will wait 1 second.
-
Do you have example code of how User Frames can be created using a .cm program? I am able to create User Models and CPC models easily, but having trouble finding the variables needed to create frames in the system for CPC user frame definitions.Just wondering if anybody had some luck with this. There is the Variable $MNUFRAME and MNUTOOL, but there is no way to access the individual XYZWPR elements. I seen in some Karel and tp programs you can assign data to a pr and reference the pr to transfer the values, but a XYZWPR variable needs to be declared.
Is it possible to create variables within the CM file to transfer the data?
-
Ok thanks. I did find out how to write to the MNUFRAME and MNUTOOL:
Each element on the is equal to the XYZWPR respectively
KCL SET VARIABLE $MNUTOOL[1, 1 ]= 1 , 2 , 3 , 4 , 5 , 6
I am having trouble with the payload variables. they are all write protected even controlled start. Any ideas on how to get around this. I have something like this:
KCL SET VARIABLE $PLST_GRP1[1].$COMMENT = 'Hello World'
KCL SET VARIABLE $PLST_GRP1[1].$PAYLOAD = 12.706
KCL SET VARIABLE $PLST_GRP1[1].$PAYLOAD_X = 0.0410
KCL SET VARIABLE $PLST_GRP1[1].$PAYLOAD_Y = -1.3870
KCL SET VARIABLE $PLST_GRP1[1].$PAYLOAD_Z = 3.2050
KCL SET VARIABLE $PLST_GRP1[1].$PAYLOAD_IX = 0.9010
KCL SET VARIABLE $PLST_GRP1[1].$PAYLOAD_IY = 1.3140
KCL SET VARIABLE $PLST_GRP1[1].$PAYLOAD_IZ = 1.3140 -
Hi,
anyone knows how to prompt user before continuing with cm execution?
Something like press ok to continue, or press 1 to do this and 2 to do that...Thanks in advance
-
I am creating a CM load file, and Im trying to set the collision detection in there but I get variable write protected. If i create a TP program I can set collision guard, but isnt allowing me to in CM load, was using KCL variable.
Is there something I am doing wrong or can I not do it unless in a TP load?? any advice would be great
Thanks
-
When I run a TP program with this variable it works ;
150: !Set Coll Guard to 140;
151: $HSCDMNGRP[1].$THRESHOLD=140;
****************************************************
Heres the CM file ive created and am trying to set collision guard within it..!
PRINT "Set Coll Guard to 140"
KCL SET VAR $HSCDMNGRP[1].$THRESHOLD=140
!
PRINT "Enable Coll Guard"
KCL SET VAR $HSCDMNGRP[1].$COLL_MODE=True
!And it gives me the write protected error
Thank you,
Derock -
-
Has anyone found a way to set up the password protection system using .cm files? We are looking at 30-50 users on 90 robots, and i have had nothing but disaster trying to load SYSPASS files from robot to robot. Being able to go through and set up each robot with a cm file would be incredible.
-
Another useful CM file i would be interested in would be one that would read through the entire System Variable tree and print the name of the variable and the value. I would then be able to make small controlled changes and compare the print out before and after to narrow down exactly which system variable controls what parameters.
-
In attached a simple config that show how fanuc charge each option inside the controller.
They create a simple orderfil.dat including the variuous option and then by using a simple usb or cf reboot the controller and select the option "software install" in boot mode.
The CM file inside the device automatrically add each option inside the desidered path and load each components of controller.
I found this by debugging a Fanuc mistake...
Example of option charge
Code
Display More! Generated by XX (XXXXXXX) PRINT "menu.com for VXXXXXX(XXXXXXX)" ! ! h510.fd - Kernel + Basic S/W ! IF ORDER H510 H541 H590 H573 H596 H558 H549 H574 H552 H551 H548 ASLOAD h510 ENDIF ! h510.fd ! ! h510.fd - Kernel + Basic S/W ! IF ORDER H510 H541 H590 H573 H596 H558 H549 H574 H552 H551 H548 ASLOAD h560 ENDIF ! h510.fd ! ! h541.fd - ArcTool ! IF ORDER H541 ASLOAD alarms ENDIF ! h541.fd ! ! h510.fd - Kernel + Basic S/W ! IF ORDER H510 H541 H590 H573 H596 H558 H549 H574 H552 H551 H548 IF ORDER H560 ELSE ASLOAD rj2 ENDIF ASLOAD crmn ASLOAD password ENDIF ! h510.fd ! ! spotplug.fd - Spot Plug-in ! IF ORDER SPPG H590 H573 ASLOAD swipen ENDIF ! spotplug.fd ! ! sftpanel.fd - Common softpanel ! IF ORDER CMSP H541 H590 H573 R645 H549 H574 ASLOAD csfpanel ELSE IF ORDER H548 H551 H552 ! Primary IF ORDER R590 R813 R593 J949 J989 ! Tertiary ELSE ASLOAD csfpanel ENDIF ! Tertiary ENDIF ! Primary ENDIF ! sftpanel.fd ! ! iwc.fd - Integral Weld Control ! IF ORDER R555 ASLOAD swdep ASLOAD iwmd ENDIF ! iwc.fd ! ! swtolutl.fd - Program ToolBox ! IF ORDER R598 H590 H573 IF ORDER H573 ASLOAD splus ASLOAD alarms ENDIF ! h573.fd ! ! paint.fd - PaintTool (N. A.) ! IF ORDER H596 ASLOAD paint ASLOAD alarms ENDIF ! paint.fd ! ! h558.fd - LR PaintTool (N. A.) ! IF ORDER H558 ASLOAD paint ASLOAD alarms ENDIF ! h558.fd ! ! j944.fd - iRPickTool Basic ! IF ORDER J944 J945 ASLOAD j944 ENDIF ! j944.fd and so on.....
Best regards
-
Has anyone found a way to set up the password protection system using .cm files? We are looking at 30-50 users on 90 robots, and i have had nothing but disaster trying to load SYSPASS files from robot to robot. Being able to go through and set up each robot with a cm file would be incredible.Hello, try this... else as you already used replace the syspass [it work well only on the same fw relase...]
The following program cracks the rbt passwd, remember that in this case you will lost the older psw.
Let us know.
Regards
M
Code
Display Moreprogram jumPass -- %nolockgroup %environment regope %comment = 'PASS REM' -- var entry, status, i :integer montanaro87: string[25] -- begin montanaro87 = '' set_var(entry,'*system*','$passsuper.$password',montanaro87,status) set_var(entry,'*system*','$passsuper.$name',montanaro87,status) set_var(entry,'*system*','$passsuper.$level',0,status) set_var(entry,'*system*','$passsuper.$time_out',0,status) set_var(entry,'*system*','$passname[1].$name',montanaro87,status) set_var(entry,'*system*','$passname[1].$level',0,status) set_var(entry,'*system*','$passname[1].$time_out',0,status) set_var(entry,'*system*','$passname[2].$name',montanaro87,status) set_var(entry,'*system*','$passname[2].$level',0,status) set_var(entry,'*system*','$passname[2].$time_out',0,status) set_var(entry,'*system*','$passname[3].$name',montanaro87,status) set_var(entry,'*system*','$passname[3].$level',0,status) set_var(entry,'*system*','$passname[3].$time_out',0,status) set_var(entry,'*system*','$passname[4].$name',montanaro87,status) set_var(entry,'*system*','$passname[4].$level',0,status) set_var(entry,'*system*','$passname[4].$time_out',0,status) set_var(entry,'*system*','$passname[5].$name',montanaro87,status) set_var(entry,'*system*','$passname[5].$level',0,status) set_var(entry,'*system*','$passname[5].$time_out',0,status) set_var(entry,'*system*','$passname[6].$name',montanaro87,status) set_var(entry,'*system*','$passname[6].$level',0,status) set_var(entry,'*system*','$passname[6].$time_out',0,status) set_var(entry,'*system*','$passname[7].$name',montanaro87,status) set_var(entry,'*system*','$passname[7].$level',0,status) set_var(entry,'*system*','$passname[7].$time_out',0,status) set_var(entry,'*system*','$passname[8].$name',montanaro87,status) set_var(entry,'*system*','$passname[8].$level',0,status) set_var(entry,'*system*','$passname[8].$time_out',0,status) set_var(entry,'*system*','$passname[9].$name',montanaro87,status) set_var(entry,'*system*','$passname[9].$level',0,status) set_var(entry,'*system*','$passname[9].$time_out',0,status) set_var(entry,'*system*','$passname[10].$name',montanaro87,status) set_var(entry,'*system*','$passname[10].$level',0,status) set_var(entry,'*system*','$passname[10].$time_out',0,status) set_var(entry,'*system*','$passname[1].$name',montanaro87,status) set_var(entry,'*system*','$passname[1].$level',0,status) set_var(entry,'*system*','$passname[1].$time_out',0,status) end jumPass
-
Werner Hampel
August 17, 2019 at 10:45 AM Moved the thread from forum Fanuc Robot Forum to forum Downloads, Manuals, Tools and Freeware for Fanuc Robots (No copyright manuals permitted). -
Is there a way to generate a Folder named like a System variable?
I tryed with the KCL code but it dose not work. In Karel i got it work with this code:
KCL('MKDIR UD1:\E'+$APPLICATION[3]+'',STATUS)
-
Another useful CM file i would be interested in would be one that would read through the entire System Variable tree and print the name of the variable and the value. I would then be able to make small controlled changes and compare the print out before and after to narrow down exactly which system variable controls what parameters.
You can do that with Robogoide.
In the Workcell tree, you can go to Variables, SystemVariables, right click, save, save as *.VA
Then you get the ASCII Code of the System Variables.If you do that before and after your changes, you can compare the two files with a texteditor / compare program like Meld
-
Very usefull! Thank you very much for sharing this!
-
Does anyone here know how to use a .cm file to configure the I/O on a FANUC robot? (i.e. Rack, Slot, Starting point) I have placed an example of the file that I am attempting to use, but it will only map the flags I/O as I have it written. (Rack 33 and 34).
!MAPS DIGITAL INPUTS
DIOASG 1 1 16 34 1 0 1
DIOASG 1 17 16 34 1 0 17
!MAPS DIGITAL OUTPUTS
DIOASG 2 1 16 34 1 0 1
DIOASG 2 17 16 34 1 0 17
Also, there are 7 digits in this assignment. what does the 6th digit represent? The digit that is currently a "0" in the two above examples.
The above code will work on an actual robot, and Roboguide. But if I try and use it to map another types of I/O, it does nothing.
Thanks for you knowledge and time.
-
I'm writing a .CM file and cannot figure out how to set the Program select mode through the variables.
Under $SHELL_CFG. $SEL_TYPE I can change the mode from PNS to RSR and STYLE, but NOT "OTHER".
Anyone able to help me out?
-
$SHELL_CFG.$SEL_TYPE=9
-
Thanks HawkME!!!
-