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日間無料で試してみてください、コミットメントなし、登録は必要ありません

一度支払い、永遠に使用してください

ロボット、開発者、または再配布されたソフトウェアの数に関係なく、永続的なライセンス、サブスクリプションは必要ありません

機能のプレビュー

リモートコマンド

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

Remote Motion Interface

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

ダウンロードすることにより、一般的な使用条件を受け入れます。
利用規約を見る
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.