3. Fondamenti del Robot

3.1. Istanziazione del Robot

1/**
2* @brief  Costruttore della classe interfaccia robot
3*/
4Robot robot = new Robot();

3.2. Stabilire Comunicazione con il Controllore

1/**
2* @brief  Stabilisce comunicazione con il controllore del robot
3* @param  [in] ip  Indirizzo IP del controllore, di fabbrica default 192.168.58.2
4* @return Codice errore
5*/
6int RPC(String ip);

3.3. Chiudere Comunicazione con il Robot

1/**
2* @brief Chiude la comunicazione con il robot
3* @return Codice errore
4*/
5int CloseRPC();

3.4. Interrogare Numero Versione SDK

1/**
2* @brief Interroga il numero di versione SDK
3* @return Numero versione
4*/
5String GetSDKVersion();

3.5. Ottenere IP Controllore

1/**
2* @brief  Ottiene l'IP del controllore
3* @param  [out] ip  IP controllore
4* @return  Codice errore
5*/
6int GetControllerIP(String[] ip);

3.6. Controllare Ingresso/Uscita Robot dalla Modalità Insegnamento Trascinamento

1/**
2* @brief  Controlla l'ingresso o l'uscita del robot dalla modalità di insegnamento trascinamento
3* @param  [in] state 0-esci dalla modalità insegnamento trascinamento, 1-entra nella modalità insegnamento trascinamento
4* @return  Codice errore
5*/
6int DragTeachSwitch(int state);

3.7. Interrogare Se il Robot è in Modalità Insegnamento Trascinamento

1/**
2* @brief  Interroga se il robot è in modalità insegnamento trascinamento
3* @param  [in] state 0-non in modalità insegnamento trascinamento, 1-in modalità insegnamento trascinamento
4* @return  Codice errore
5*/
6int IsInDragTeach(List<Number> state);

3.8. Controllare Abilitazione/Disabilitazione del Robot

1/**
2* @brief  Controlla l'abilitazione o la disabilitazione del robot, dopo l'accensione il robot è abilitato automaticamente di default
3* @param  [in] state  0-disabilita, 1-abilita
4* @return  Codice errore
5*/
6int RobotEnable(int state);

3.9. Controllare Passaggio Modalità Manuale/Automatica del Robot

1/**
2* @brief Controlla il passaggio tra modalità manuale e automatica del robot
3* @param [in] mode 0-modalità automatica, 1-modalità manuale
4* @return Codice errore
5*/
6int Mode(int mode);

3.10. Spegnere Sistema Operativo Robot

Nuovo nella versione Java: SDK-v1.0.4-3.8.1

1/**
2* @brief Spegne il sistema operativo del robot
3* @return Codice errore
4*/
5int ShutDownRobotOS();

3.11. Impostare Parametri Reconnessione Comunicazione con il Robot

1/**
2* @brief Imposta i parametri di riconnessione per la comunicazione con il robot
3* @param [in] enable Se abilitare, true: abilita, false: non abilitare
4* @param [in] times Numero tentativi di riconnessione
5* @param [in] period Intervallo di tempo tra riconnessioni
6* @return Codice errore
7*/
8int SetReconnectParam(boolean enable, int times, int period);

3.12. Inizializzare Parametri Log

 1/**
 2* @brief Inizializza i parametri del log
 3* @param [in] logType Modalità di output, DIRECT-output diretto; BUFFER-output bufferizzato; ASYNC-output asincrono
 4* @param [in] logLevel Livello di filtro log, ERROR-errore; WARNING-avviso; INFO-informazione; DEBUG-debug
 5* @param [in] filePath Percorso salvataggio file, es. "D://Log/"
 6* @param [in] saveFileNum Numero file da salvare, i file che superano sia il numero di file salvati che i giorni di salvataggio saranno eliminati
 7* @param [in] saveDays Giorni di salvataggio file, i file che superano sia il numero di file salvati che i giorni di salvataggio saranno eliminati
 8* @return Codice errore
 9*/
10int LoggerInit(FrLogType logType, FrLogLevel logLevel, String filePath, int saveFileNum, int saveDays)

3.13. Impostare Livello di Filtro Log

1/**
2* @brief Imposta il livello di filtro del log
3* @param [in] logLevel Livello di filtro log, ERROR-errore; WARNING-avviso; INFO-informazione; DEBUG-debug
4* @return Codice errore
5*/
6int SetLoggerLevel(FrLogLevel logLevel)

3.14. Esempio di Codice Controllo Base Robot

 1public static void main(String[] args)
 2{
 3    Robot robot = new Robot();
 4    robot.SetReconnectParam(true,20,500);
 5    robot.LoggerInit(FrLogType.DIRECT, FrLogLevel.INFO, "D://log", 10, 10);
 6    int rtn = robot.RPC("192.168.58.2");
 7    if(rtn == 0)
 8    {
 9        System.out.println("Connessione Rpc success");
10    }
11    else
12    {
13        System.out.println("Connessione Rpc fail");
14        return ;
15    }
16    String[] ip={""};
17    String version = "";
18    version=robot.GetSDKVersion();
19    System.out.println("SDK version : " + version);
20    int rtn = robot.GetControllerIP(ip);
21    System.out.println("controller ip : " +  ip[0] + "  " + rtn);
22    robot.Mode(1);//1-modalità manuale  0-modalità automatica
23    robot.Sleep(1000);
24    robot.DragTeachSwitch(1);//entra in modalità trascinamento
25    robot.Sleep(1000);
26    ROBOT_STATE_PKG pkg = robot.GetRobotRealTimeState();
27    System.out.println("drag state : " + pkg.robot_state);
28    robot.Sleep(1000);
29    robot.DragTeachSwitch(0);//esce dalla modalità trascinamento
30    robot.Sleep(1000);
31    pkg = robot.GetRobotRealTimeState();
32    System.out.println("drag state : " + pkg.robot_state);
33
34    if (pkg.robot_state ==4){
35       System.out.println("modalità trascinamento");
36    }else {
37       System.out.println("non in modalità trascinamento");
38    }
39}

3.15. Ottenere Versione Software Robot

1/**
2* @brief Ottiene la versione software del robot
3* @param [out] robotModel Modello robot
4* @param [out] webVersion Versione web
5* @param [out] controllerVersion Versione controllore
6* @return Codice errore
7*/
8int GetSoftwareVersion(String robotModel, String webVersion, String controllerVersion);

3.16. Ottenere Versione Hardware Robot

 1/**
 2* @brief Ottiene la versione hardware del robot
 3* @param [out] ctrlBoxBoardVersion Versione hardware scheda principale del cabinet di controllo
 4* @param [out] driver1Version Versione hardware azionamento 1
 5* @param [out] driver2Version Versione hardware azionamento 2
 6* @param [out] driver3Version Versione hardware azionamento 3
 7* @param [out] driver4Version Versione hardware azionamento 4
 8* @param [out] driver5Version Versione hardware azionamento 5
 9* @param [out] driver6Version Versione hardware azionamento 6
10* @param [out] endBoardVersion Versione hardware scheda terminale
11* @return Codice errore
12*/
13int GetHardwareVersion(String ctrlBoxBoardVersion, String driver1Version, String driver2Version, String driver3Version,
14                                      String driver4Version, String driver5Version, String driver6Version, String endBoardVersion);

3.17. Ottenere Versione Firmware Robot

 1/**
 2* @brief Ottiene la versione firmware del robot
 3* @param [out] ctrlBoxBoardVersion Versione firmware scheda principale del cabinet di controllo
 4* @param [out] driver1Version Versione firmware azionamento 1
 5* @param [out] driver2Version Versione firmware azionamento 2
 6* @param [out] driver3Version Versione firmware azionamento 3
 7* @param [out] driver4Version Versione firmware azionamento 4
 8* @param [out] driver5Version Versione firmware azionamento 5
 9* @param [out] driver6Version Versione firmware azionamento 6
10* @param [out] endBoardVersion Versione firmware scheda terminale
11* @return Codice errore
12*/
13int GetFirmwareVersion(String ctrlBoxBoardVersion, String driver1Version, String driver2Version, String driver3Version,
14                                      String driver4Version, String driver5Version, String driver6Version, String endBoardVersion);

3.18. Esempio di Codice Ottenimento Versioni Software/Firmware Robot

 1public static void main(String[] args)
 2{
 3    Robot robot = new Robot();
 4    robot.SetReconnectParam(true,20,500);//imposta numero tentativi di riconnessione, intervallo
 5    robot.LoggerInit(FrLogType.DIRECT, FrLogLevel.INFO, "D://log", 10, 10);
 6    int rtn = robot.RPC("192.168.58.2");
 7    if(rtn == 0)
 8    {
 9        System.out.println("Connessione Rpc success");
10    }
11    else
12    {
13        System.out.println("Connessione Rpc fail");
14        return ;
15    }
16    String ctrlBoxBoardVersion = "";
17    String driver1Version = "";
18    String driver2Version = "";
19    String driver3Version = "";
20    String driver4Version = "";
21    String driver5Version = "";
22    String driver6Version = "";
23    String endBoardVersion = "";
24    robot.GetHardwareVersion(ctrlBoxBoardVersion ,driver1Version,  driver2Version,  driver3Version,
25             driver4Version,  driver5Version,  driver6Version,  endBoardVersion);
26
27    robot.GetFirmwareVersion(ctrlBoxBoardVersion, driver1Version, driver2Version, driver3Version,
28            driver4Version, driver5Version, driver6Version, endBoardVersion);
29}