I/O: Difference between revisions
no edit summary
No edit summary |
No edit summary |
||
Line 1:
This page details the use of the input and output instructions within a program. [[File:Inst-digital-outputs orig.gif|thumb|How to add an instruction that changes a digital output.]]
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 20 ⟶ 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
On our robots, we interface with these through optical isolators to ensure no damage can come to the robot.
Line 39 ⟶ 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 44 ⟶ 41:
An Analog input with a 12 bit resolution will pull data in as one of 4096 discrete values, from 0 to 4095.
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===
|