basic i/o setup, how to for beginner

  • Hello,


    I have a up6 w/xrc control. I am using a plc with remote terminals for i/o.


    I'd like to setup a WAIT in the job, but I don't know how to setup the input so that I can point to the input in the wait command.


    for example, i want to wait for external input 2041 to turn on. I can turn on this input with my plc. I can see it change in the i/o screen where under external inputs, 204X I can see 0000_0010 if I turn this input on.


    but, when teaching a job, all I get there is IN#( ), where I can type only 3 numbers.


    so, there must be a place to assign external input 2041 to IN#(041) or whatever. or a table in a manual somewhere, or something readable somewhere that lets you correlate the 3 digit IN# to external input number 2041. I have tried to rtfm. I looked thru the xrc manuals, cio, user, etc. I didnt see any correlation table for example.


    I do see in the CIO manual classification of I/O signals where 0xxx is a general input, 1xxx is general output, 2xxx is external input, however I don't see any correlating table or similar to set IN#( ) so that I can use the external input in my job.


    any help would be greatly appreciated.

  • I see in the CIO manual that the default user ladder program uses 2041


    --|2041|-----( 4181)---SENSOR INPUT 2


    so, presumably if I turn on this 2041, then 4181 would be on. 4181 for handling is called 'sensor input 2' and is in the specific input catagory


    I also read for Handling 4180-4187 have to do with the HSEN instruction, which is along the lines of what I'd like to do. I have a vacuum valve, with a sensor, I need to WAIT until the sensor is on to know the vac is good, then the robot could move onto the next MOVJ or similar instruction.


    I don't know how to use the HSEN function. I could maybe do that instead of using a WAIT instruction to wait for a vac sensor to turn on.


    at any rate, I'm not seeing how to correlate the i/o values that I can read in the i/o menus, to the usable IN#( ) values that you use in the job files.

  • I can see in the specific input menu that 4181 turns on when I turn on 2041 using the PLC. this has a SIN#138.


    you can view this by searching for a relay number (#4181), then changing the display to 'detail' instead of simple.


    is there a way to scroll through pages in detail views in these i/o menus? if you use the arrow keys, it wont scroll down, but if you change the display to 'simple' where it shows bits xxxx_xxxx then it will scroll. or is it really that you can only search for a relay number then change to detail or similar?

  • I can try to use a SIN#, I can type 058 and that gets replaced with 58. that will run, but if I try to type in SIN#137 to use with external input 2040 which turns on specific input 4180, I get an error on the teach pendant which says 'enter correct value'.


    any idea about what to do here?

  • another option here may be to use the HSEN instruction, since I happen to have hooked up my tool sensor to the input that is meant for this it seems.


    HSEN 1, B, T it seems are the options? Im reading this in the inform ii manual.


    I tried HSEN 1 ON with the sensor off (no vac) and the robot just kept on executing the program it didn't wait for the sensor.


    I'm not sure how to add tags to the HSEN command to try out some of the functions like the wait etc.

  • The HAND and HSEN are only used when the controller is initialized as a Handling application. What application are you set up for? What does the icon say in the Top Menu between JOB and VARIABLE?

    I know a thing or two, because I’ve seen a thing or two. Don't even ask about a third thing. I won't know it.

  • Hi 95devils, this xrc is init for handling. it has the default handling ladder and default user ladder for handling. I have the HSEN and HAND functions.


    I do not have the HAND io setup properly though in that I didnt physically connect the outputs to do the HAND instruction yet. I might not bother with it. Right now I have OUT#9 gen output working as a valve on instruction. that's working good with my PLC.


    the HSEN i would use if it works. I may be able to get it to work with a little more time and understanding of the HSEN function. the manual says it uses B006 as the status for the input 4180.

  • Since you are using the material handling ladder, the HAND is wired to 3040 through 3047. The HSEN is wired 2040 through 2047. You can see the bits change states in IN/OUT, either UNIVERSAL INPUT or UNIVERSAL OUTPUT. Since these are dedicated, in the jobs you use HAND x ON or OFF to actuate a valve. For an input you would use HSENS x ON or OFF. WIth the HSENS the job is asking a question is the sensor true or false. You would then get the answer from the controller with GETS B006 $B006. If B006 is a 1 the answer is YES. If B006 is a 0 the answer is NO. It is then up to you to react on the value. Maybe a JUMP *LABEL IF, RET IF, or CALL JOB: xxx IF.


    I used B006 in the GETS as an example. You can use any unused address of your liking,

    I know a thing or two, because I’ve seen a thing or two. Don't even ask about a third thing. I won't know it.

  • Thanks for your replies on this.


    The HSEN instruction is working for me now when I set a time value. It seems that if you dont set a time to some number or seconds, or to forever, then the robot just ignores the sensor value, or at least the HSEN instruction is complete despite the sensor not being on.


    I now have a time value on my HSEN instruction set for 10.0s Now when I put a part on the vac gripper the robot sees the sensor and resumes playback.

  • Since you are using the material handling ladder, the HAND is wired to 3040 through 3047. The HSEN is wired 2040 through 2047. You can see the bits change states in IN/OUT, either UNIVERSAL INPUT or UNIVERSAL OUTPUT. Since these are dedicated, in the jobs you use HAND x ON or OFF to actuate a valve. For an input you would use HSENS x ON or OFF. WIth the HSENS the job is asking a question is the sensor true or false. You would then get the answer from the controller with GETS B006 $B006. If B006 is a 1 the answer is YES. If B006 is a 0 the answer is NO. It is then up to you to react on the value. Maybe a JUMP *LABEL IF, RET IF, or CALL JOB: xxx IF.


    I used B006 in the GETS as an example. You can use any unused address of your liking,

    I think I understand what you're saying here. even if I didnt set a time value the HSEN will interrogate the i/o and set B006 and then I can do an additional function after that using the B006 state. makes sense.

  • I can see in the specific input menu that 4181 turns on when I turn on 2041 using the PLC. this has a SIN#138.


    you can view this by searching for a relay number (#4181), then changing the display to 'detail' instead of simple.


    is there a way to scroll through pages in detail views in these i/o menus? if you use the arrow keys, it wont scroll down, but if you change the display to 'simple' where it shows bits xxxx_xxxx then it will scroll. or is it really that you can only search for a relay number then change to detail or similar?

    for anyone new to xrc as i was at the time of this posting looking to scroll pages, the top right of the 4 upper keys on the teach pendant is the page key and its available in some menus, shift+page goes the other way

  • between looking at the cio manual in the user ladder section and going thru the io that are hooked up on this robot, i think i get it finally. for anyone looking for general io, take a look at inputs in the 2050 range for example where the cio manual says io group as a block icon, those are setup on the universal inputs on the default user ladder.

Advertising from our partners