Differenze tra le versioni di "EEIP.NET Libreria Open Source Ethernet IP"
| Riga 1: | Riga 1: | ||
| − | I sorgenti sono nella cartella: \\ | + | I sorgenti sono nella cartella: \\Lucaufficio2\eth ip\EEIP.NET-master (OK KEYENCE) |
Il protocollo lato .net è MASTER | Il protocollo lato .net è MASTER | ||
| Riga 5: | Riga 5: | ||
Per facilitare le cose bisognerebbe avere il file .eds del dispositivo con il quale si vuole comunicare (SLAVE) | Per facilitare le cose bisognerebbe avere il file .eds del dispositivo con il quale si vuole comunicare (SLAVE) | ||
| − | - Bisogna configurare l'indirizzo IP (la porta con keyence e sherlock è quella di default:44818) | + | - Bisogna configurare l'indirizzo IP (la porta con keyence e sherlock è quella di default:'''44818''') |
- Nel file .eds bisogna andare al fondo(vedi sotto) dove saranno presenti n connessioni (dipende dal dispositivo) | - Nel file .eds bisogna andare al fondo(vedi sotto) dove saranno presenti n connessioni (dipende dal dispositivo) | ||
| Riga 74: | Riga 74: | ||
TCP, | TCP, | ||
"Ethernet Port", | "Ethernet Port", | ||
| − | "20 F5 24 01", | + | '''"20 F5 24 01", ------------> la porta di connessione''' |
1; | 1; | ||
| Riga 98: | Riga 98: | ||
$ 31 = client 0 (don't care for classes 0 and 1) | $ 31 = client 0 (don't care for classes 0 and 1) | ||
0x44640405, $ connection parameters | 0x44640405, $ connection parameters | ||
| − | $ 0 = O=>T fixed (1 = supported) ---------------------------> eeipClient.O_T_VariableLength = false; | + | '''$ 0 = O=>T fixed (1 = supported) ---------------------------> eeipClient.O_T_VariableLength = false;''' |
$ 1 = O=>T variable (0 = not supported) | $ 1 = O=>T variable (0 = not supported) | ||
| − | $ 2 = T=>O fixed (1 = supported) ---------------------------> eeipClient.T_O_VariableLength = false; | + | '''$ 2 = T=>O fixed (1 = supported) ---------------------------> eeipClient.T_O_VariableLength = false;''' |
$ 3 = T=>O variable (0 = not supported) | $ 3 = T=>O variable (0 = not supported) | ||
$ 4-7 = reserved (must be zero) | $ 4-7 = reserved (must be zero) | ||
| − | $ 8-11 = O=>T header (4 byte run/idle) ---------------------------> eeipClient.O_T_RealTimeFormat = Sres.Net.EEIP.RealTimeFormat.Header32Bit; | + | '''$ 8-11 = O=>T header (4 byte run/idle) ---------------------------> eeipClient.O_T_RealTimeFormat = Sres.Net.EEIP.RealTimeFormat.Header32Bit; |
$ 12-15 = T=>O header (no header) ---------------------------> eeipClient.T_O_RealTimeFormat = Sres.Net.EEIP.RealTimeFormat.ZeroLength; | $ 12-15 = T=>O header (no header) ---------------------------> eeipClient.T_O_RealTimeFormat = Sres.Net.EEIP.RealTimeFormat.ZeroLength; | ||
$ 16-19 = O=>T connection type (point-to-point) ---------------------------> eeipClient.O_T_ConnectionType = Sres.Net.EEIP.ConnectionType.Point_to_Point; | $ 16-19 = O=>T connection type (point-to-point) ---------------------------> eeipClient.O_T_ConnectionType = Sres.Net.EEIP.ConnectionType.Point_to_Point; | ||
$ 20-23 = T=>O connection type (multicast, point-to-point) ---------------------------> eeipClient.T_O_ConnectionType = Sres.Net.EEIP.ConnectionType.Multicast; | $ 20-23 = T=>O connection type (multicast, point-to-point) ---------------------------> eeipClient.T_O_ConnectionType = Sres.Net.EEIP.ConnectionType.Multicast; | ||
$ 24-27 = O=>T priority (scheduled) ---------------------------> eeipClient.O_T_Priority = Sres.Net.EEIP.Priority.Scheduled; | $ 24-27 = O=>T priority (scheduled) ---------------------------> eeipClient.O_T_Priority = Sres.Net.EEIP.Priority.Scheduled; | ||
| − | $ 28-31 = T=>O priority (scheduled) ---------------------------> eeipClient.T_O_Priority = Sres.Net.EEIP.Priority.Scheduled; | + | $ 28-31 = T=>O priority (scheduled) ---------------------------> eeipClient.T_O_Priority = Sres.Net.EEIP.Priority.Scheduled;''' |
Param100,Param2,Assem101, $ O=>T RPI,Size,Format | Param100,Param2,Assem101, $ O=>T RPI,Size,Format | ||
Param100,Param1,Assem100, $ T=>O RPI,Size,Format | Param100,Param1,Assem100, $ T=>O RPI,Size,Format | ||
| Riga 115: | Riga 115: | ||
"Class1", $ connection name | "Class1", $ connection name | ||
"", $ Help string | "", $ Help string | ||
| − | "20 04 24 01 2C 65 2C 64"; $ inputs only path --------------> eeipClient.O_T_InstanceID = 0x65; (output) eeipClient.T_O_InstanceID = 0x64; (input) | + | '''"20 04 24 01 2C 65 2C 64"; $ inputs only path --------------> eeipClient.O_T_InstanceID = 0x65; (output) eeipClient.T_O_InstanceID = 0x64; (input)''' |
- Se dopo aver fatto questo non si bomba la connessione funziona. | - Se dopo aver fatto questo non si bomba la connessione funziona. | ||
| + | |||
| + | |||
| + | Nella cartella: \\Lucaufficio2\eth ip\V2.3 (ODVA) | ||
| + | |||
| + | è presente un software che ti aiuta a scoprire '''InstanceID''' se non si ha il file .eds | ||
Versione delle 16:01, 31 gen 2018
I sorgenti sono nella cartella: \\Lucaufficio2\eth ip\EEIP.NET-master (OK KEYENCE)
Il protocollo lato .net è MASTER
Per facilitare le cose bisognerebbe avere il file .eds del dispositivo con il quale si vuole comunicare (SLAVE)
- Bisogna configurare l'indirizzo IP (la porta con keyence e sherlock è quella di default:44818)
- Nel file .eds bisogna andare al fondo(vedi sotto) dove saranno presenti n connessioni (dipende dal dispositivo)
[Connection Manager]
Connection1 =
0x04030002, $ trigger & transport
$ 0-15 = supported transport classes (class 1)
$ 16 = cyclic (1 = supported)
$ 17 = change of state (1 = supported)
$ 18 = on demand (0 = not supported)
$ 19-23 = reserved (must be zero)
$ 24-27 = exclusive owner
$ 28-30 = reserved (must be zero)
$ 31 = client 0 (don't care for classes 0 and 1)
0x44640405, $ connection parameters
$ 0 = O=>T fixed (1 = supported)
$ 1 = O=>T variable (0 = not supported)
$ 2 = T=>O fixed (1 = supported)
$ 3 = T=>O variable (0 = not supported)
$ 4-7 = reserved (must be zero)
$ 8-11 = O=>T header (4 byte run/idle)
$ 12-15 = T=>O header (no header)
$ 16-19 = O=>T connection type (point-to-point)
$ 20-23 = T=>O connection type (multicast, point-to-point)
$ 24-27 = O=>T priority (scheduled)
$ 28-31 = T=>O priority (scheduled)
Param100,Param2,Assem101, $ O=>T RPI,Size,Format
Param100,Param1,Assem100, $ T=>O RPI,Size,Format
,, $ config part 1 (not used)
,, $ config part 2 (not used)
"Class1", $ connection name
"", $ Help string
"20 04 24 01 2C 65 2C 64"; $ inputs only path
Connection2 =
0x02030002, $ trigger & transport
$ 0-15 = supported transport classes (class 1)
$ 16 = cyclic (1 = supported)
$ 17 = change of state (1 = supported)
$ 18 = on demand (0 = not supported)
$ 19-23 = reserved (must be zero)
$ 24-27 = input only
$ 28-30 = reserved (must be zero)
$ 31 = client 0 (don't care for classes 0 and 1)
0x44640305, $ connection parameters
$ 0 = O=>T fixed (1 = supported)
$ 1 = O=>T variable (0 = not supported)
$ 2 = T=>O fixed (1 = supported)
$ 3 = T=>O variable (0 = not supported)
$ 4-7 = reserved (must be zero)
$ 8-11 = O=>T header (0 byte heartbeat)
$ 12-15 = T=>O header (no header)
$ 16-19 = O=>T connection type (point-to-point)
$ 20-23 = T=>O connection type (multicast,point-to-point)
$ 24-27 = O=>T priority (scheduled)
$ 28-31 = T=>O priority (scheduled)
Param100,0,, $ O=>T RPI,Size,Format
Param100,Param1,Assem100, $ T=>O RPI,Size,Format
,, $ config part 1 (not used)
,, $ config part 2 (not used)
"Class1 (Input-Only)", $ connection name
"", $ Help string
"20 04 24 01 2C FE 2C 64"; $ inputs only path
[Port]
Port1 =
TCP,
"Ethernet Port",
"20 F5 24 01", ------------> la porta di connessione
1;
[Capacity]
MaxIOConnections = 32;
MaxMsgConnections = 32;
MaxConsumersPerMcast = 32;
TSpec1 = TxRx, 2, 400;
TSpec2 = TxRx, 496, 400;
TSpec3 = TxRx, 1436, 400;
-Prendiamo in esame la connessione 1, questo è quello che ha logica sono riuscito a collegare tra il file .eds e le variabile della classe .net
Connection1 =
0x04030002, $ trigger & transport
$ 0-15 = supported transport classes (class 1)
$ 16 = cyclic (1 = supported)
$ 17 = change of state (1 = supported)
$ 18 = on demand (0 = not supported)
$ 19-23 = reserved (must be zero)
$ 24-27 = exclusive owner
$ 28-30 = reserved (must be zero)
$ 31 = client 0 (don't care for classes 0 and 1)
0x44640405, $ connection parameters
$ 0 = O=>T fixed (1 = supported) ---------------------------> eeipClient.O_T_VariableLength = false;
$ 1 = O=>T variable (0 = not supported)
$ 2 = T=>O fixed (1 = supported) ---------------------------> eeipClient.T_O_VariableLength = false;
$ 3 = T=>O variable (0 = not supported)
$ 4-7 = reserved (must be zero)
$ 8-11 = O=>T header (4 byte run/idle) ---------------------------> eeipClient.O_T_RealTimeFormat = Sres.Net.EEIP.RealTimeFormat.Header32Bit;
$ 12-15 = T=>O header (no header) ---------------------------> eeipClient.T_O_RealTimeFormat = Sres.Net.EEIP.RealTimeFormat.ZeroLength;
$ 16-19 = O=>T connection type (point-to-point) ---------------------------> eeipClient.O_T_ConnectionType = Sres.Net.EEIP.ConnectionType.Point_to_Point;
$ 20-23 = T=>O connection type (multicast, point-to-point) ---------------------------> eeipClient.T_O_ConnectionType = Sres.Net.EEIP.ConnectionType.Multicast;
$ 24-27 = O=>T priority (scheduled) ---------------------------> eeipClient.O_T_Priority = Sres.Net.EEIP.Priority.Scheduled;
$ 28-31 = T=>O priority (scheduled) ---------------------------> eeipClient.T_O_Priority = Sres.Net.EEIP.Priority.Scheduled;
Param100,Param2,Assem101, $ O=>T RPI,Size,Format
Param100,Param1,Assem100, $ T=>O RPI,Size,Format
,, $ config part 1 (not used)
,, $ config part 2 (not used)
"Class1", $ connection name
"", $ Help string
"20 04 24 01 2C 65 2C 64"; $ inputs only path --------------> eeipClient.O_T_InstanceID = 0x65; (output) eeipClient.T_O_InstanceID = 0x64; (input)
- Se dopo aver fatto questo non si bomba la connessione funziona.
Nella cartella: \\Lucaufficio2\eth ip\V2.3 (ODVA)
è presente un software che ti aiuta a scoprire InstanceID se non si ha il file .eds