Can you tell me what exact syntax is required by the robot controller for the Pause and IO command? The post-processor may required some small adjustment.
I'm not sure - I'll find out if I can. If anyone else happens to know this, please add to this thread as getting info on Staubli programming seems to be difficult.
I've had this response from Staubli re the Digital IO:
You should create a dio variable in you VAL3 application. That variable then needs to be linked to a real physical IO before it can be used. This can be done from the interface on the pendant (application manager – application – global data –dio) or from SRS or using the command dioLink. This variable can then be set to true of false from a program if linked to an output.
Does RoboDk already to that as part of the programme build?
The Staubli VAL3 post processor automatically creates an array of data to manage digital outputs when you use the set digital output instruction. If the post processor doesn't generate what you need it would be best if you indicate what changes you need to make and we'll update the post accordingly.
06-30-2020, 06:04 PM(This post was last modified: 06-30-2020, 06:06 PM byjonathan.hancock.)
Hi Albert / Jeremy
I have made some progress - I can get the Outputs to switch (they needed to be mapped within the CS8 controller before being used), but they don't operate in the way I expected.
When running the attached program on the controller, it switches outputs 0-3 on and off with a 0.5 second delay in between switching,thenmoves the arm through the sequence with no other control of the Outputs.
I was expecting the Outputs to switch, move the arm, wait for 0.5seconds, switch the Outputs, move, wait again, switch the Outputs etc.
Do I need to add a 'wait for move to finish' command before the IO command perhaps?
07-03-2020, 04:27 PM(This post was last modified: 07-03-2020, 04:28 PM byjonathan.hancock.)
That works. Thank you Jeremy; that's been bugging me for ages! If you could update the post-processor, that would be great.
For anyone else that's struggling with IO on the CS8, here's a quick list of things to do for mapping the Outputs:
Open the program created in RoboDK in the Applications module on the CS8 and move down to 'Global data', then open it.
Move down to '+Outputs (16)' and open it.
Select the Output you need to map and press 'Link', then 'Edit', then select the one you want by finding it in the list. Save the changes and 'minus' your way back to the top.
I'm happy that this fixed your problem. This command was part of the Staubli Val3 programming manual.
After my last message, I realized that modifying the post-processor for this issue is not necessarily the best option. What you could do instead is use this:
You can add this program instruction by adding a "Program Call" and using the dropdown menu to select "Insert Code". This option lets you insert any custom snippet of code in the generated program.
You should end up with the exact same result as the one you modified manually.