UnderAutomation
질문이요?

[email protected]

문의하기
UnderAutomation
⌘Q

Fanuc SDK

GitHub stars
1100 (EUR)1300 (USD)

$

1300

평생 동안

$

780

대학용 (40% 할인)

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

프로젝트에 적합한 라이선스를 선택하세요
주문하다견적 요청하기

.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);

Motion Interfaces

Fanuc RMI(R912) 및 Stream Motion(J519) 프로토콜을 구현하면 간단히 로봇에 이동 명령을 보낼 수 있을 뿐만 아니라 로봇의 입력, 출력 및 레지스터를 읽고 쓸 수 있습니다.
// 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 년의 유지 보수 기간이있어 지원 및 업데이트 가능성에 우선적으로 액세스 할 수 있습니다. 사용할 라이센스를 구매하면 로봇 브랜드와 연결되어 있으며 고객에게 재분배하는 로봇, 개발자 또는 소프트웨어의 수에 관계없이 반복 비용없이 영원히 사용할 수 있습니다. 유통 업체이고 고객에게 당사 제품 중 하나를 제공하려면 특별 조건과 가격에 대해 문의하십시오.

표준 사이트 라이센스

1100 (EUR)$1300 (USD)

$

1300

평생 동안

$

780

대학용 (40% 할인)
개인 용도 또는 민첩한 개발자가 개념 증명 또는 경량 프로젝트를 구축하는 데 적합합니다.
1년 유지 관리 포함(업데이트 액세스)
지원이 우선시되지 않고 원격 지원이 포함되지 않으며 유지 관리 기간이 1년이라는 점을 제외하면 프로 라이선스와 조건이 동일합니다.
내부 소스가 없습니다. 난독화된 DLL만 제공됩니다.
화상회의 지원은 없습니다(이메일을 통해서만 가능).
지금 구매
가장 인기있는

프로 라이선스

1700 (EUR)$2000 (USD)

$

2000

$2960
평생 동안

$

1200

대학용 (40% 할인)
우선적인 지원과 장기적인 안정성이 요구되는 미션 크리티컬 프로덕션 환경에 적합합니다.
3년 유지 관리 포함(업데이트 액세스), 해당 기간 동안 갱신 주문 없음(서류 작업 없음)
완전하고 영구적 인 SDK : 반복 구독이 필요하지 않으며 라이센스는 영원히 귀하의 것이며 로봇 브랜드의 모든 프로그래밍 언어로 작동합니다.
명시된 우편 주소에서 라이센스를 보유한 조직에서만 사용할 수 있습니다. 모든 팀 개발자는 개발 기계의 수에 관계없이 동일한 라이센스를 공유합니다.
SDK를 사용하여 개발 된 모든 응용 프로그램은 연결 로봇 수에 관계없이 추가 비용없이 무제한 수의 고객에게 전달할 수 있습니다.
라이센스는 기능을 잠금 해제하는 코드에서 호출하는 일종의 암호입니다. 설치할 추가 소프트웨어가 없습니다. USB 키가 없습니다.
우선 지원(평균 24시간 미만)
원격 지원(이메일 및 최대 2시간 화상 회의)
내부 소스가 없습니다. 난독화된 DLL만 제공됩니다.
언제든지 Source로 업그레이드(차액 지불)
지금 구매

소스 코드 라이선스

3400 (EUR)$4000 (USD)

$

4000

평생 동안

$

2400

대학용 (40% 할인)
완전한 기술 주권, 심층적인 맞춤화, 완전한 독립성을 보장합니다.
Pro 라이센스와 동일한 조건
C로 라이브러리의 완전한 내부 코드
수년에 걸쳐 개발된 수천 줄의 코드가 포함된 Visual Studio 솔루션
이 소스 코드를 수정하여 일반 이용 약관에 정의된 제한 내에서 애플리케이션에서 사용할 수 있습니다.
지금 구매

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

UnderAutomation
문의하기Legal

© All rights reserved.