Advanced Robot Control System  5.1-REV.51SF170515
PCIe-AC01.hh
[詳解]
1 //
6 // Copyright (C) 2011-2016 Yuki YOKOKURA
7 // This program is free software;
8 // you can redistribute it and/or modify it under the terms of the BSD License.
9 // For details, see the License.txt file.
10 
11 #ifndef PCIEAC01
12 #define PCIEAC01
13 
14 #include <unistd.h>
15 #include <stdint.h>
16 #include <string>
17 
18 namespace ARCS { // ARCS名前空間
23  class PCIeAC01 {
24  public:
25  PCIeAC01(const off_t BaseAddress, unsigned int CPUNum); // コンストラクタ
26  ~PCIeAC01(); // デストラクタ
27  static const unsigned int MaxAxis = 16;
28  void GetEncorderData(uint32_t EncData[MaxAxis]); // エンコーダデータを読み込む関数
29  void GetQaxisCurrent(double Iq[MaxAxis]); // q軸電流を読み込む関数
30  void SetQaxisCurrentRef(double Iqref[MaxAxis]); // q軸電流指令を書き込む関数
31 
32  private:
33  PCIeAC01(const PCIeAC01&); // コピーコンストラクタ使用禁止
34  const PCIeAC01& operator=(const PCIeAC01&); // 代入演算子使用禁止
35  static void ExecLinuxCommand(std::string CommandLine); // Linuxコマンドを実行する関数
37  enum ReadDataList {
38  Read_Status = 0x0001,
39  Read_DaxisCurrent = 0x0002,
40  Read_QaxisCurrent = 0x0004,
41  Read_EncoderData = 0x0008,
42  Read_EchoBack = 0x0010,
43  };
46  Write_Command = 0x0001,
49  Write_EchoForward = 0x0010,
50  };
53  uint32_t binary_data[MaxAxis];
55  };
56  const std::string ShellPath;
57  const std::string StartPath;
58  const std::string StopPath;
59  int fd;
60  cpu_set_t cpuset;
61  };
62 }
63 
64 #endif
65 
const PCIeAC01 & operator=(const PCIeAC01 &)
ステータスレジスタ
Definition: PCIe-AC01.hh:38
const std::string ShellPath
シェルまでのファイルパス
Definition: PCIe-AC01.hh:56
コマンドレジスタ
Definition: PCIe-AC01.hh:46
static void ExecLinuxCommand(std::string CommandLine)
Linuxコマンドを実行する関数
Definition: PCIe-AC01.cc:50
const std::string StartPath
開始スクリプトまでのファイルパス
Definition: PCIe-AC01.hh:57
q軸電流
Definition: PCIe-AC01.hh:40
uint32_t←→float 変換用共用体
Definition: PCIe-AC01.hh:52
~PCIeAC01()
デストラクタ
Definition: PCIe-AC01.cc:43
ReadDataList
readデータの定義
Definition: PCIe-AC01.hh:37
cpu_set_t cpuset
CPU設定用変数
Definition: PCIe-AC01.hh:60
void GetQaxisCurrent(double Iq[MaxAxis])
q軸電流を読み込む関数
Definition: PCIe-AC01.cc:65
PCIe-AC01 インタフェースクラス
Definition: PCIe-AC01.hh:23
int fd
ファイルデスクリプタ
Definition: PCIe-AC01.hh:59
WriteDataList
writeデータの定義
Definition: PCIe-AC01.hh:45
d軸電流指令
Definition: PCIe-AC01.hh:47
Definition: ControlFunctions.hh:17
void SetQaxisCurrentRef(double Iqref[MaxAxis])
q軸電流指令を書き込む関数
Definition: PCIe-AC01.cc:76
float float_data[MaxAxis]
Definition: PCIe-AC01.hh:54
エコーバック
Definition: PCIe-AC01.hh:42
static const unsigned int MaxAxis
PCIe-AC01が対応できる最大の軸数
Definition: PCIe-AC01.hh:27
void GetEncorderData(uint32_t EncData[MaxAxis])
エンコーダデータを読み込む関数
Definition: PCIe-AC01.cc:58
q軸電流指令
Definition: PCIe-AC01.hh:48
PCIeAC01(const off_t BaseAddress, unsigned int CPUNum)
コンストラクタ
Definition: PCIe-AC01.cc:21
const std::string StopPath
停止スクリプトまでのファイルパス
Definition: PCIe-AC01.hh:58
uint32_t binary_data[MaxAxis]
Definition: PCIe-AC01.hh:53
d軸電流
Definition: PCIe-AC01.hh:39
エンコーダデータ
Definition: PCIe-AC01.hh:41
エコーフォワード
Definition: PCIe-AC01.hh:49