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を直接アクセスします。すべてデコードされ、構造化された.NETオブジェクトで使用できます。
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 パラメータからの直接運動学および逆運動学の代数計算。
// 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

ファナック 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を使用して「Self Conted」および「Single File」でコンパイルされています。アプリケーションはインストールなしでポータブルです。

ダウンロードすることにより、一般的な使用条件を受け入れます。
利用規約を見る
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 のみが提供されます。
いつでもソースにアップグレード (差額を支払う)
今すぐ購入

ソースコードライセンス

3400 (EUR)$4000 (USD)

$

4000

一生

$

2400

大学向け (40% 割引)
完全な技術主権、詳細なカスタマイズ、完全な独立性を実現します。
プロライセンスと同じ条件
C によるライブラリの完全な内部コード
数年かけて開発された数千行のコードを含む Visual Studio ソリューション
一般利用規約で定義されている制限内で、このソース コードを変更してアプリケーションで使用できます。
今すぐ購入

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

UnderAutomation
お問い合わせLegal

© All rights reserved.