UnderAutomation
질문이요?

[email protected]

문의하기
UnderAutomation
⌘Q

Fanuc SDK

GitHub stars
1090 (EUR)1290 (USD)

$

1290

평생 동안

$

774

대학용 (40% 할인)

Fanuc Industrial Robot과 통신하는 .NET 응용 프로그램을 신속하게 만듭니다.

사이트 라이선스와 소스 라이선스의 차이점 보기(EN)
주문하다견적 요청하기

.NET

Python

LabVIEW

일반 이용약관 보기
Plug & Play

단 몇 분만에 로봇을 연결하세요. 설치할 라이센스 관리자도 없고 USB 키도 없습니다. 라이브러리만 참조하세요.

로봇에 설치할 플러그인이 없습니다

로봇 컨트롤러가 표준으로 제공 한 네트워크 프로토콜 사용.
Karel ROS

30일 평가판

30 일 동안 무료, 헌신, 등록이 필요하지 않습니다.

한 번 지불하고 영원히 사용하십시오

로봇, 개발자 또는 재배포 된 소프트웨어에 관계없이 영구 라이센스, 구독 필요 없음

고객 성공 사례

고객이 UnderAutomation 솔루션을 산업 프로젝트에 어떻게 통합하는지 알아보세요.

GE
Aerospace / Healthcare

GE: Aerospace & Healthcare Automation

GE Accelerates Industrial Automation with UnderAutomation SDKs for Universal Robots and FANUC.

기능 미리보기

원격 명령

Telnet Kcl (키보드 명령 줄)을 사용하면 명령을 보내서 로봇을 원격으로 제어 할 수 있습니다. 컨트롤러에서 추가 옵션이 필요하지 않습니다.
// Reset alarms
robot.Telnet.Reset();
// Run a program
robot.Telnet.Run("MyProgram");
robot.Telnet.Pause("MyProgram");
robot.Telnet.Hold("MyProgram");
robot.Telnet.Continue("MyProgram");
robot.Telnet.Abort("MyProgram", force: true);
// Set a variable
robot.Telnet.SetVariable("$RMT_MASTER", 1);
// Set an output port (example: DOUT port 2 = 0)
robot.Telnet.SetPort(KCLPorts.DOUT, 2, 0);
// Simulate an input port (example: DIN port 3 = 1)
robot.Telnet.Simulate(KCLPorts.DIN, 3, 1);
robot.Telnet.Unsimulate(KCLPorts.DIN, 3);

고속 데이터 읽기 및 쓰기

SNPX (SRTP/Robotif라고도 함)는 로봇과 신속하고 구조화 된 데이터 통신을 허용합니다. 레지스터를 읽고 쓰고, 알람을 모니터링하고 로봇의 상태를 확인하는 데 사용됩니다.
// Read a register
Position posReg1 = robot.Snpx.PositionRegisters.Read(1);
float numReg5 = robot.Snpx.NumericRegisters.Read(5);
string strReg10 = robot.Snpx.StringRegisters.Read(10);
// Write a register
posReg1.CartesianPosition.X = 100;
robot.Snpx.PositionRegisters.Write(1, posReg1);
robot.Snpx.NumericRegisters.Write(2, 123.45f);
robot.Snpx.StringRegisters.Write(3, "Hello, world!");
// Read a variable
int rmtMaster = robot.Snpx.IntegerSystemVariables.Read("$RMT_MASTER");
string lastAlm = robot.Snpx.StringSystemVariables.Read("$ALM_IF.$LAST_ALM");
Position cellFloor = robot.Snpx.PositionSystemVariables.Read("$CELL_FLOOR");
// Write a system variable
robot.Snpx.IntegerSystemVariables.Write("$RMT_MASTER", 1);
robot.Snpx.StringSystemVariables.Write("$ALM_IF.$LAST_ALM", "No alarms");
robot.Snpx.PositionSystemVariables.Write("$CELL_FLOOR", cellFloor);
// Write a Karel program variable
robot.Snpx.IntegerSystemVariables.Write("$[KarelProgram]KarelVariable", 1);
// Read and Write I/O (SDI,SDO,RDI,RDO,UI,UO,SI,SO,WI,WO,WSI,PMC_K,PMC_R)
robot.Snpx.RDO.Write(1, true);
ushort ai5 = robot.Snpx.AI.Read(5);
// Read and Write analogs (AI,AO,GI,GO,PMC_D)
robot.Snpx.AO.Write(2, 5);
ushort ao3 = robot.Snpx.AO.Read(3);
// Clear alarms
robot.Snpx.ClearAlarms();

파일 및 디코딩

파일 전송, 읽기 변수 및 로봇 상태 관리에 대한 로봇 메모리에 FTP를 직접 액세스하십시오.
IOState ioState = robot.Ftp.GetIOState();
// Read a variable
var variableFiles = robot.Ftp.GetAllVariables();
foreach (var variableFile in variableFiles)
foreach (var variable in variableFile.Variables)
Console.WriteLine($"{variable.Name} = {variable.Value}");
// Read system variable $RMT_MASTER
int remoteMode = robot.Ftp.KnownVariableFiles.GetSystemFile().RmtMaster;
// Read safety status
SafetyStatus safetyStatus = robot.Ftp.GetSafetyStatus();
Console.WriteLine($"Emergency Stop: {safetyStatus.ExternalEStop}");
Console.WriteLine($"Teach Pendant Enabled: {safetyStatus.TPEnable}");
// Get current position for each arm (Joints, World position of each tool, user frame positions)
CurrentPosition currentPosition = robot.Ftp.GetCurrentPosition();
// Upload a TP program to the controller
robot.Ftp.DirectFileHandling.UploadFileToController(@"C:\Programs\MyPrg.tp", "md:/MyPrg.tp");
// Download a file from the robot
robot.Ftp.DirectFileHandling.DownloadFileFromController("md:/Backup.va", @"C:\Backup\Backup.va");
// Delete a file on the robot
robot.Ftp.DirectFileHandling.DeleteFile("md:/OldProgram.tp");

역기구학

DH 매개변수를 통해 Fanuc 로봇 또는 협동로봇의 직접 및 역운동학을 대수적으로 계산합니다.
// Get DH parameters
// Example: CRX-10iA/L
DhParameters dh = new DhParameters(-540, 150, -160, 0, 710, 0);
// From a known arm model
dh = DhParameters.FromArmKinematicModel(ArmKinematicModels.CRX10iA);
// From OPW parameters: M10iA/7L
dh = DhParameters.FromOpwParameters(0.15, -0.20, 0.60, 0.86, 0.10);
// From an online robot (SYSMOTN file)
dh = DhParameters.FromSymotnFile(_robot.Ftp.KnownVariableFiles.GetSymotnFile())[0];
// Forward kinematics
CartesianPosition pose = KinematicsUtils.ForwardKinematics(position, dh);
// Inverse kinematics with multiple solutions
JointsPosition[] positions = KinematicsUtils.InverseKinematics(pose, dh);

Remote Motion Interface

로봇에 이동 명령을 간단히 보낼 수 있을 뿐만 아니라 로봇의 입력, 출력 및 레지스터를 읽고 쓸 수 있는 Fanuc RMI 프로토콜 구현.
// Get the robot status
ControllerStatus s = robot.Rmi.GetStatus();
// Read digital input
DigitalInputValue din2 = robot.Rmi.ReadDIN(2);
// Read the current Cartesian position
CartesianPosition pose = robot.Rmi.ReadCartesianPosition();
// Command joint motion
robot.Rmi.JointMotion(...);

오프라인 도구

로봇이없는 기능을 사용하면 표준 파일 형식 (변수 파일, 오류 목록, 로봇 상태 등)을 처리 할 수 ​​있습니다.
// Parse a variable file and extract a hierarchical list of variables
GenericVariableFile vaFile = FanucFileReaders.VariableReader.ReadFile("C:/path/to/variable.va");
foreach (var variable in vaFile.Variables)
Console.WriteLine($"{variable.Name} = {variable.Value} [{variable.Type}]");
// Edit and regenerate the variable file
vaFile.GenerateVa("C:/path/to/variable_modified.va\"");
// Parse several types of files
FanucFileReaders.ErrorListReader.ReadFile("C:/path/to/errall.ls");
FanucFileReaders.IOStateReader.ReadFile("C:/path/to/iostate.dg");
FanucFileReaders.SafetyStatusReader.ReadFile("C:/path/to/safety.dg");
FanucFileReaders.CurrentPositionReader.ReadFile("C:/path/to/curpos.dg");

문서를 찾아보십시오

문서를 찾아보십시오

문서를 사용하면 라이브러리로 신속하게 개발을 시작할 수 있습니다. 모든 지원되는 언어에서 동일한 기능을 사용할 수 있습니다.

다운로드 및 테스트

Nuget을 통해 다운로드하십시오
Nuget을 통해 다운로드하십시오

Nuget 패키지 관리자를 통해이 SDK를 Visual Studio 프로젝트에 쉽게 추가하십시오.

Nuget를 참조하십시오
Github의 예
Github의 예

이 SDK의 사용 예는 Github에서 사용할 수 있습니다.

Windows 응용 프로그램 예제
Windows 응용 프로그램 예제

간단한 인터페이스로 SDK의 모든 기능을 테스트 할 수 있습니다. 이 예제는 .NET 8을 사용하여 "자체 포함 된"및 "단일 파일"으로 편집되어 있습니다. 응용 프로그램은 설치없이 휴대용입니다.

다운로드하면 일반적인 사용 조건을 수락합니다.
일반 이용약관 보기
UnderAutomation.Fanuc.Showcase.Forms.exe (139 MB)
LabView 라이브러리 및 샘플 앱
LabView 라이브러리 및 샘플 앱
Github를 참조하십시오UnderAutomation.Fanuc.lvlib

견적 및 주문을 요청하십시오

물가

라이브러리는 무료로 다운로드 할 수 있으며 30 일 동안 테스트 할 수 있습니다. 이 기간이 지나면 시험 기간을 연장하거나 가장 적합한 라이센스를 구입하도록 요청할 수 있습니다 : 사이트 (가로 된 바이너리 전용) 또는 소스 (소스 코드). 구매 후 1 년의 유지 보수 기간이있어 지원 및 업데이트 가능성에 우선적으로 액세스 할 수 있습니다. 사용할 라이센스를 구매하면 로봇 브랜드와 연결되어 있으며 고객에게 재분배하는 로봇, 개발자 또는 소프트웨어의 수에 관계없이 반복 비용없이 영원히 사용할 수 있습니다. 유통 업체이고 고객에게 당사 제품 중 하나를 제공하려면 특별 조건과 가격에 대해 문의하십시오.

가장 인기있는

사이트 라이선스

1290 (EUR)1290 (USD)

$

1290

평생 동안

$

774

대학용 (40% 할인)
완전하고 영구적 인 SDK : 반복 구독이 필요하지 않으며 라이센스는 영원히 귀하의 것이며 로봇 브랜드의 모든 프로그래밍 언어로 작동합니다.
명시된 우편 주소에서 라이센스를 보유한 조직에서만 사용할 수 있습니다. 모든 팀 개발자는 개발 기계의 수에 관계없이 동일한 라이센스를 공유합니다.
SDK를 사용하여 개발 된 모든 응용 프로그램은 연결 로봇 수에 관계없이 추가 비용없이 무제한 수의 고객에게 전달할 수 있습니다.
라이센스는 기능을 잠금 해제하는 코드에서 호출하는 일종의 암호입니다. 설치할 추가 소프트웨어가 없습니다. USB 키가 없습니다.
1년 유지 관리 포함(업데이트 액세스)
은행 송금으로 결제하려면 당사에 문의하세요. 이 SDK의 라이선스를 구매하면 라이선스 번호와 인보이스를 이메일로 받게 됩니다.
내부 소스가 없습니다. 난독화된 DLL만 제공됩니다.
지금 구매

소스 라이선스

7740 (EUR)7740 (USD)

$

7740

평생 동안

$

4644

대학용 (40% 할인)
C#으로 라이브러리의 내부 코드 완성
수년에 걸쳐 개발된 수천 줄의 코드가 포함된 Visual Studio 솔루션
귀하는 일반 이용 약관에 정의된 한도 내에서 이 소스 코드를 수정하여 애플리케이션에 사용할 수 있습니다.
지금 구매

Universal Robots, Fanuc, Yaskawa 또는 Staubli 로봇을 .NET, Python, LabVIEW 또는 Matlab 애플리케이션에 쉽게 통합

UnderAutomation
문의하기Legal

© All rights reserved.