UnderAutomation
質問ですか?

[email protected]

お問い合わせ
UnderAutomation
⌘Q
This page is only available in English.

Inputs & Outputs

Read, write, simulate, and unsimulate digital, analog, group, and robot I/O ports via CGTP.

  • Supported I/O types
  • Read & Write I/O
  • Simulate and unsimulate
  • Complete example
  • API reference

CGTP enables reading, writing, simulating, and unsimulating I/O ports on your Fanuc robot. Requires firmware V8.30+.

Supported I/O types

CgtpIoPortTypeDescription
DI / DODigital Input / Output
AI / AOAnalog Input / Output
RI / RORobot Input / Output
GI / GOGroup Input / Output
FlagFlags (F[])

Read & Write I/O

FanucRobot robot = new FanucRobot();
robot.Connect("192.168.0.1");
// Read I/O
int di1 = robot.Cgtp.ReadIo(CgtpIoPortType.DI, 1);
int ao5 = robot.Cgtp.ReadIo(CgtpIoPortType.AO, 5);
int flag10 = robot.Cgtp.ReadIo(CgtpIoPortType.Flag, 10);
// Write I/O
robot.Cgtp.WriteIo(CgtpIoPortType.DO, 1, 1);
robot.Cgtp.WriteIo(CgtpIoPortType.AO, 1, 500);
robot.Cgtp.WriteIo(CgtpIoPortType.GO, 1, 255);
}
}
Click to see the full code

Simulate and unsimulate

Simulation forces an I/O to a specific value, ignoring the physical signal:

FanucRobot robot = new FanucRobot();
robot.Connect("192.168.0.1");
// Simulate DI[5]
robot.Cgtp.SimulateIo(CgtpIoPortType.DI, 5);
// Check if DI[5] is simulated
bool isSimulated = robot.Cgtp.GetIoSimulationStatus(CgtpIoPortType.DI, 5);
// Unsimulate DI[5]
robot.Cgtp.UnsimulateIo(CgtpIoPortType.DI, 5);
}
}
Click to see the full code

Complete example

using UnderAutomation.Fanuc;
using UnderAutomation.Fanuc.Cgtp;
public class CgtpIo
{
public static void Main()
{
FanucRobot robot = new FanucRobot();
ConnectionParameters parameters = new ConnectionParameters("192.168.0.1");
parameters.Cgtp.Enable = true;
robot.Connect(parameters);
// Read digital input
int di1 = robot.Cgtp.ReadIo(CgtpIoPortType.DI, 1);
// Write digital output
robot.Cgtp.WriteIo(CgtpIoPortType.DO, 1, 1);
// Read analog input
int ai1 = robot.Cgtp.ReadIo(CgtpIoPortType.AI, 1);
// Write analog output
robot.Cgtp.WriteIo(CgtpIoPortType.AO, 1, 500);
// Read group input
int gi1 = robot.Cgtp.ReadIo(CgtpIoPortType.GI, 1);
// Write group output
robot.Cgtp.WriteIo(CgtpIoPortType.GO, 1, 255);
// Read/write robot I/O
int ri1 = robot.Cgtp.ReadIo(CgtpIoPortType.RI, 1);
robot.Cgtp.WriteIo(CgtpIoPortType.RO, 1, 1);
// Read/write flag
int flag = robot.Cgtp.ReadIo(CgtpIoPortType.Flag, 10);
robot.Cgtp.WriteIo(CgtpIoPortType.Flag, 10, 1);
// Simulate an I/O
robot.Cgtp.SimulateIo(CgtpIoPortType.DI, 5);
// Check simulation status
bool isSimulated = robot.Cgtp.GetIoSimulationStatus(CgtpIoPortType.DI, 5);
// Unsimulate
robot.Cgtp.UnsimulateIo(CgtpIoPortType.DI, 5);
}
}

API reference

Enum
CgtpIoPortType
C#Python

Type of I/O port on the controller.

NameValueDescription
AI
3
Analog input.
AO
4
Analog output.
DI
1
Digital input.
DO
2
Digital output.
Flag
35
Flag.
GI
18
Group input.
GO
19
Group output.
RI
8
Robot input.
RO
9
Robot output.

Universal Robots、Fanuc、Yaskawa、ABB、Staubli ロボットを .NET、Python、LabVIEW、または Matlab アプリケーションに簡単に統合

UnderAutomation
お問い合わせLegal

© All rights reserved.