Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

Yaskawa Motoman I/O GPIO Board

#1
Hello everyone, 
I'm currently working on a Yaskawa motoman GP7 robot and i need to control the GPIO output pin from software. i'm using robodk and/or python. I made a programme in robodk that change the value of the output, but i don't know the pin layout or name in robodk.
Where can i find the name of thoses I/O and how can i control them in python too.
Sincerly,
Thomas PIVETEAU
#2
When you run a program using the "Run on robot" option (driver), the driver can read the entire range of the robot IOs but can only set the network IO values (3701 to 3956). You would need to use the ladder programmer to connect these IO to the ones for the GPIO board. 

In addition to the RoboDK API and Run on robot, you can also trigger programs on the robot controller than could be used to update IO values.
#3
Thanks for the answer.

"When you run a program via "run on robot" the driver can read from the entire ranger of the robots IO but can only set the network IO values (3701 to 3956). You would need to use the ladder programmer to connect these IO to the ones for the GPIO board. "

I've tried to edit the ladder to connect my I/O #3701 to my GPIO Output (#30010) and it didn't work.

On the robot controller, it seems that the network output is named #3701X and i think the X correspond to the attribute (cf. attachement). and i don't know what it is used for.


"In addition the api and run on robot can also trigger programs on the robot controller than could be used to update IO values."
I'va made a pogram on my robot controller, a job named "OUTPUT".
How can i call this programme in roboDK or with python API to test it ?


Attached Files Thumbnail(s)
   
Image(s)
   
#4
For the problem setting 3701, I'll need to investigate further at a later date, for calling a program on the robot you can do so via the gui or the api so I'll explain the GUI since it's the easiest to test.

You need to add program call instruction to your program configured to "run on robot" and make sure the name matches what's on the controller even if said program doesn't exist in robodk

Next go to tools -> options -> driver and enable the second checkmark so that program calls with be forward to the driver and then change the option "Only when program does not exist in robodk" so that regular program calls work as intended


Attached Files Image(s)
       
#5
Thanks for all the information about running a program that's on robot. It works flawlessly Thanks 👏

I can work with this methode, but if you are able to investigate about the IP I/O data it would be perfect. Let me know if you need further information.

Thanks again, have a great day
#6
EDIT : I sayed flawlessly, but i got 2 problems now.

1 rst : If i call a program on my robot with roboDK, the name is useless because the program that is launched is the one selected on my robot controller (job selected). I can call "OUTPUT_ON-OF" or even "AnyName" the same job will be launched.

2nd : After the program on the robot execute, there is no information for roboDK to check if the program was succesfull or not, thus the next instruction in my roboDK program won't launch.

If you got any workaround i'm glad to hear them.

Thanks again for your help


Attached Files Thumbnail(s)
   
  




Users browsing this thread:
1 Guest(s)