Currently, I am trying to run an IRC5 Robot Controller from an Allen-Bradley PLC (AB HMIs). I was informed that the PLC codes that the partdata programs use must be above 111, as the ones below are menudata or error codes. For an 8-bit SINT, the last bit is a positive or negative bit, meaning that the maximum value I can send through a SINT is 127. I had heard that you must use SINTs to send data to the ABB robot controller. I would like to be able to send PLC codes that are larger than 127, as our robot program has more than 17 different programs it needs to run. How do I go about doing so? I have seen in videos where people set the "Group Input"/"Group Output" to larger than 8-bits, but do not understand how I will combine multiple SINTs on the AB PLC side to send the correct values for the programs I wish to run. Thank you for your time.
Group Inputs/Group Outputs between RobotStudio and Allen-Bradley PLC
-
PhilC -
September 13, 2023 at 9:38 PM -
Thread is Unresolved
-
-
panic mode
September 13, 2023 at 10:21 PM Approved the thread. -
First off, there is absolutely no need to send a signed integer. Why would a negative value be sent for a program number? Especially when you have stated that it must be over 111. Secondly, 8 bits is more than enough, you ca n send up to 255 as an unsigned integer.
-
There is nearly nothing correct you have heard.
The thing with 111 I don't understand, if you use a self declared i/o group, you can use all numbers from zero to the maximum the number of bits allows. Makes only sense if you use some kind of very restricted template.
The Abb robot doesn't use highest bit in a group as sign, if you want to transfer signed integer, you must calculate them in the program.
You can group up to 32 bit to one large dnum. If your AB plc supports double words you can transfer up to 4.294.967.295 program numbers, should be enough .
-
There is nearly nothing correct you have heard.
The thing with 111 I don't understand, if you use a self declared i/o group, you can use all numbers from zero to the maximum the number of bits allows. Makes only sense if you use some kind of very restricted template.
The Abb robot doesn't use highest bit in a group as sign, if you want to transfer signed integer, you must calculate them in the program.
You can group up to 32 bit to one large dnum. If your AB plc supports double words you can transfer up to 4.294.967.295 program numbers, should be enough .
The group intput type is unsigned and can hold up to 32 bits.
But analog input type can be interprated as signed (two complement), so by using analog input type you don't need to make any calculations in rapid.
-
-
I was informed that the PLC codes that the partdata programs use must be above 111, as the ones below are menudata or error codes.
Not on anything inherent to the IRC5, as far as I know. How was this robot set up? Typical IRC5 configuration, in my experience, is to assign a single Main program, then have Main evaluate a GI value and call sub-programs based on that value, usually using a TEST command.
I'm at a bit of a loss as to why anyone would include menu data or error codes in the same byte as the program numbers.
For an 8-bit SINT,
The PLC should be using a UINT, not a SINT, for this kind of data.