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

ABB IO

#1
]I'm having a issue with IO while running a online simulation first photo is robodk post process program 
second photo is irc5 rapid program that works just wondering if I need to change any thing in the robodk serial drive to make the IO to work  
last photo is the error I'm getting seems to stop at digital IO I've check the labels are correct in irc5 controller mapped to 0 which is digital output 1 label is colletOpen ive also added the Robodk file 


Attached Files Thumbnail(s)
               

.rdk   io.rdk (Size: 235.17 KB / Downloads: 516)
#2
After working with it I found it work if I transfer the program from USB to controller but when running the program with serial driver the comms drops out when it gets to IO Set colletOpen =1 ?
#3
   
#4
You need to modify the MOD file of the robot driver to properly integrate your inputs and outputs. There is a small comment in the file with suggestions. It may be best to define a switch case to map input/output IDs to their corresponding variable names in the controller.

A similar question was asked here:
https://robodk.com/forum/Thread-ABB-IRC5...m-with-I-O
However, I believe the % sign works only for calling functions without parameters (Jeremy's answer is not accepted by the controller).
#5
(11-04-2019, 11:54 AM)Albert Wrote: You need to modify the MOD file of the robot driver to properly integrate your inputs and outputs. There is a small comment in the file with suggestions. It may be best to define a switch case to map input/output IDs to their corresponding variable names in the controller.

A similar question was asked here:
https://robodk.com/forum/Thread-ABB-IRC5...m-with-I-O
However, I believe the % sign works only for calling functions without parameters (Jeremy's answer is not accepted by the controller).

Hi any chance to show a example please of a MOD file I believe your referring to is case number 14 in the serial driver
Say if I've mapped the digital output 0 and label is colletOpen in the robot controller
#6
Hi Patrick,

Yes, I was referring to case 14 of the serial driver. If you have a dionum called colletOpen mapped to digital output 0 you can do the following:

Code:
IF num1 == 0 THEN
   SetDO colletOpen, num2;
ELSEIF num2 == 1 THEN
   SetDO dionum1, num2;
ELSE
   TPWrite "Unknown Output ID: " \Num:=num1;
   STOP;
ENDIF

You can implement this in an IF THEN ELSE or a SWITCH CASE.

Albert
#7
(11-06-2019, 12:02 PM)Albert Wrote: Hi Patrick,

Yes, I was referring to case 14 of the serial driver. If you have a dionum called colletOpen mapped to digital output 0 you can do the following:

Code:
IF num1 == 0 THEN
   SetDO colletOpen, num2;
ELSEIF num2 == 1 THEN
   SetDO dionum1, num2;
ELSE
   TPWrite "Unknown Output ID: " \Num:=num1;
   STOP;
ENDIF

You can implement this in an IF THEN ELSE or a SWITCH CASE.

Albert

Thank you for example
  




Users browsing this thread:
1 Guest(s)