I/O: Difference between revisions

1,056 bytes added ,  3 years ago
no edit summary
No edit summary
No edit summary
 
(One intermediate revision by the same user not shown)
Line 3:
 
FANUC robots have the capacity to communicate with the real world. This means communicating with other robots, sensors, human interface devices, plc's, electromechanical devices...
[[File:inst-open-close-gripper_orig.gif|thumb|How to add an instruction that changes a robot output (The gripper tool)]]The robot's I/O operate much like register instructions. A value is placed within an outputs variable and that appears as a voltage on the corresponding output pin. Inputs read the voltage placed to them by an external device and respond by providing a numerical value in an instruction that uses it.
 
 
Line 18:
==Physical I/O Options==
===Robot I/O===
Robot I/O is reserved for devices directly related to the robot operations. This includes devices like the gripper, pneumatics, end of arm sensors. Robot I/O is functionally identical to Digital I/O.
 
Digital Output 101 is connected to the laser built into the robot gripper.
===Digital I/O===
[[File:Honda connector.jpg|thumb|Honda Connector Pinouts|link=https://mh142.com/wiki/File:Honda_connector.jpg]]This is the pinout diagram for the internal I/O connections. They are 24 volts and cannotshould directlybe driveconsidered anythingto be signal, only able to power relays and signal inputs on other devices.
 
On our robots, we interface with these through optical isolators to ensure no damage can come to the robot.
Line 37 ⟶ 35:
*Inputs come from sensors and other devices to feed data and direction into programs.
**Our Digital Inputs begin at 101 and run to 120.
Digital Output 101 is connected to the laser built into the robot gripper.
 
===Analog I/O===
Line 42 ⟶ 41:
 
 
An Analog input with a 12 bit resolution will pull data in as one of 4096 discrete values, from 0 to 4095.
Analog inputs read a voltage, but can derive many values from that reading with minimal external circuitry. Examples are current, resistance, distance, weight, and even reflectivity.
 
For example, with the minimum voltage being 0 volts and the maximum being 24, a 12 volt signal will give the value of (12/24)*4096 = 2048. 12 is halfway between 0 and 24, and is mapped to be halfway between 0 and 4095.
 
 
Analog inputs read a voltage, but this voltage is often set by external sensors. For example, a distance sensor may output 1 volt for every 1 inch an object is away from it. Therefore an object 12 inches away would read as 12 volts, and the analog input would give the value of 2048.
 
For the purpose of programming, you might convert this number to something useful:
 
R[4:Inches] = AI[10:Sensor] / 170.6
 
Since it would read a maximum of 24 inches, and that value is 4095, you can divide 4095 by 24 to get 170.6. Every inch is a multiple of 170.6.
===User I/O===