You can't have motion in BG logic. So you can't have moves or calls to a program that has moves. You would still need a main program that has a loop. The BG logic could set a "flag" that causes the main program to call a motion program if you wanted to do the scanning in the BG program.
Posts by DaveP
-
-
You can enable/disable zones using the DCS I/O inputs depending on whether you are in production mode or teaching mode. You will need the DCS I/O option and hardware for the robot and a safety circuit to select the mode of operation.
-
You need to set the Mount Angle so the collision guard, etc. works correctly. The notes below were for an LR Mate, should be similar for other models.
•Robot must be in Controlled Start (hold PREV & NEXT on startup)
•Press Menu, Maintenance, then F4-Manual
•Press Enter to select the default value for the Cartesian Motion Option
•Set the Mount Angle then press Enter (180 for upside down)
Press FCTN and Cold Start the robot
-
Can you modify the User Frame X and Y values then "move" to the same point that the operator touches up? We've done this for some applications picking parts out of a tray. Store the original User Frame values in a PR to restore later or modify the values of another User Frame that is set to the original at the start of the cut.
-
Possible cause if you didn't know to do this. The program list defaults to TP programs but you can hit the F keys to show the MACRO and KAREL programs in the list.
-
You can try to change the Representation of the points from Joint to Cartesian. I think you have to this for every point, I don't know of a way to change all the points in a TP program. I changed a point in Roboguide and the LS file that I view from the webserver changes from degrees to the Cartesian values. I don't think changing to the Cartesian values will affect how the robot moves but you should test it out on a few points.
-
-
I found a post where someone is using Red Lion HMI's to communicate with Fanuc Robots. I'm not sure what driver you use in your Red Lion HMI. You can search for SNPX and also $SNPX_ASG in the forum for more information. You can write directly to robot registers once you set up the $SNPX_ASG setting for it. You should also change the $NUM_CIMP parameter in $SNPX_PARAM from 0 to a 1.
-
I have a few robots with Ethernet/IP connected to Cognex cameras. It has pretty limited capability compared to a serial interface or using Karel. My application is very basic so I'm triggering the camera with EIP and then using the CIO-Micro to read the discrete outputs from the camera. I didn't spend much time getting specific X, Y, Angle data out of the camera. The attachment shows the DIO configuration that matches the EIP config in the Cognex camera and the EIP config in the robot.
-
One possibility is that the robot has a newer software version than your Roboguide Virtual robot. The image you posted shows a software version of V8.3P/06 and the numbers after are 8.30 35 which might be the issue. You can download the Roboguide V8 Rev M2 and install the latest revision of the Virtual Robot Controllers without installing Roboguide. Look in the install folder for the FRVRC830 folder and run the setup.exe file in that folder. I had to run it as administrator to get mine to work correctly.
-
You could teach a Position Register at the location near the spindle then set a User Frame to that PR. You can offset that PR with the X and Z values to move the Frame. You can then do a Joint move in axis 6 only in the user frame. That point will move with the frame as you offset the PR.
-
Along with what robotero said, you may need to reset the pulsecoder. This can be done in the Master/Cal screen. We just moved a LR Mate from our development area to the shop floor and the process of rolling the frame through the building made the arm move a bit because we left the arm straight out. It powered up with pulsecoder mismatch, so we reset the pulsecoder alarm, then did exactly what robotero described and it was fine.
-
I did a quick search on "Robot Home" and found this thread, https://www.robot-forum.com/robotforum/fan…98991/#msg98991 This one has some code for homing. There are several more that you can look at for examples. The main idea is to set a PR equal to the current position. ex. PR[10]=LPOS You can then access the individual values of the PR for X, Y, Z, etc. in your IF statements. I believe the active user frame will determine what values are stored in the PR.
-
The LS file that Fabian Munoz mentioned is the Ascii text version of the program that you can open in a text editor. In the Cell Browser window of Roboguide, find the Programs list and Right click on your TP program, select SAVE, change the Save as type to TPP Listing Files (*.ls), then click the Save button. Note the folder that it is saving the LS file to. You can change that folder if you want to. Use Windows Explorer to find the LS file in that folder.
The TP program (binary file) can be saved in the same method, just make sure the Save as type is set to TPP Binary files (*.tp). You can also find the TP files using Windows Explorer without saving a copy. Look in your My Documents folder to find Workcells folder where the projects are stored. In you project folder, go into the SavePoints folder, then AutoSave, then Robot_1 and you should see a listing of the files in the virtual robot. Your TP file should be in that list and you can copy it from there.
-
We are using ModbusTCP to communicate between a Fanuc robot and a python program in a PC. I'm assuming you could do the same with Linux. We've had great success transferring DO/DI, Registers, String Registers, system variable information, etc.
-
You can't overlap the DI and DO with the same MemPort addresses for the inputs and outputs. change it to be like this, DI[1-20] Rack 0 Slot 0 Start 1 DO[1-10] Rack 0 Slot 0 Start 21
-
The HMI option works well for direct access to robot registers, see this post. https://www.robot-forum.com/robotforum/fan…98354/#msg98354
-
We do something similar with our robots but we set "Abort all programs by CSTOPI" to FALSE. I think you are breaking the chain back to the original program when the CSTOPI input turns ON. The routine you just aborted is now the active program because of the Abort.
-
excerpt from DCS Function Operator's Manual MAROBDLCH04121E Rev. H:
The following is the significant differences of Safety PMC function from Integrated PMC function.
- Safety PMC function is the safety function as Category 4, PL e, SIL 3.
- Safety PMC function can output to Safe I/O.
- The available signals of Safety PMC program is only Safe I/O and internal relay(R). Safety PMC
function cannot use the normal I/O such as DI/DOThis seems like you can do your safety logic in the Safety PMC to monitor e-stop's, door sensors, etc.
-
You can download the latest revision for Version 8 without paying or messing up your license. Correct, you will have to pay for V9. The last one I downloaded was rev M2 and that had V8.30 virtual controller. I think you need to login to the customer portal for this though. Contact Fanuc about getting access, shouldn't be an issue.