42 // Block 1 |
44 // Block 1 |
43 ECAT_INIT_SLAVE(Beckhoff_EK1100), |
45 ECAT_INIT_SLAVE(Beckhoff_EK1100), |
44 ECAT_INIT_SLAVE(Beckhoff_EL4102), |
46 ECAT_INIT_SLAVE(Beckhoff_EL4102), |
45 ECAT_INIT_SLAVE(Beckhoff_EL3162), |
47 ECAT_INIT_SLAVE(Beckhoff_EL3162), |
46 ECAT_INIT_SLAVE(Beckhoff_EL1014), |
48 ECAT_INIT_SLAVE(Beckhoff_EL1014), |
47 ECAT_INIT_SLAVE(Beckhoff_EL2004), |
49 |
48 ECAT_INIT_SLAVE(Beckhoff_EL3102), |
|
49 ECAT_INIT_SLAVE(Beckhoff_EL4102), |
50 ECAT_INIT_SLAVE(Beckhoff_EL4102), |
50 ECAT_INIT_SLAVE(Beckhoff_EL4102), |
51 ECAT_INIT_SLAVE(Beckhoff_EL4102), |
51 ECAT_INIT_SLAVE(Beckhoff_EL4102), |
52 ECAT_INIT_SLAVE(Beckhoff_EL4102), |
|
53 |
52 ECAT_INIT_SLAVE(Beckhoff_EL3162), |
54 ECAT_INIT_SLAVE(Beckhoff_EL3162), |
53 ECAT_INIT_SLAVE(Beckhoff_EL3162), |
55 ECAT_INIT_SLAVE(Beckhoff_EL3162), |
54 ECAT_INIT_SLAVE(Beckhoff_EL3162), |
56 ECAT_INIT_SLAVE(Beckhoff_EL3162), |
55 ECAT_INIT_SLAVE(Beckhoff_EL3102), |
57 ECAT_INIT_SLAVE(Beckhoff_EL3102), |
56 ECAT_INIT_SLAVE(Beckhoff_EL3102), |
58 ECAT_INIT_SLAVE(Beckhoff_EL3102), |
57 ECAT_INIT_SLAVE(Beckhoff_EL2004), |
59 ECAT_INIT_SLAVE(Beckhoff_EL3102), |
58 ECAT_INIT_SLAVE(Beckhoff_EL2004), |
60 |
59 ECAT_INIT_SLAVE(Beckhoff_EL2004), |
61 #endif |
60 ECAT_INIT_SLAVE(Beckhoff_EL2004), |
62 |
61 #endif |
63 #if 1 |
62 |
|
63 // Block 2 |
64 // Block 2 |
64 ECAT_INIT_SLAVE(Beckhoff_EK1100), |
65 ECAT_INIT_SLAVE(Beckhoff_EK1100), |
65 ECAT_INIT_SLAVE(Beckhoff_EL4102), |
66 ECAT_INIT_SLAVE(Beckhoff_EL4102), |
66 ECAT_INIT_SLAVE(Beckhoff_EL1014), |
67 ECAT_INIT_SLAVE(Beckhoff_EL1014), |
67 ECAT_INIT_SLAVE(Beckhoff_EL3162), |
68 ECAT_INIT_SLAVE(Beckhoff_EL3162), |
68 ECAT_INIT_SLAVE(Beckhoff_EL2004), |
69 ECAT_INIT_SLAVE(Beckhoff_EL2004), |
69 ECAT_INIT_SLAVE(Beckhoff_EL3102), |
70 ECAT_INIT_SLAVE(Beckhoff_EL3102), |
|
71 ECAT_INIT_SLAVE(Beckhoff_EL2004), |
|
72 ECAT_INIT_SLAVE(Beckhoff_EL2004), |
|
73 ECAT_INIT_SLAVE(Beckhoff_EL2004), |
|
74 ECAT_INIT_SLAVE(Beckhoff_EL2004), |
|
75 ECAT_INIT_SLAVE(Beckhoff_EL2004), |
70 |
76 |
71 // Block 3 |
77 // Block 3 |
72 ECAT_INIT_SLAVE(Beckhoff_EK1100), |
78 ECAT_INIT_SLAVE(Beckhoff_EK1100), |
73 ECAT_INIT_SLAVE(Beckhoff_EL1014), |
79 ECAT_INIT_SLAVE(Beckhoff_EL1014), |
74 ECAT_INIT_SLAVE(Beckhoff_EL1014), |
80 ECAT_INIT_SLAVE(Beckhoff_EL1014), |
80 ECAT_INIT_SLAVE(Beckhoff_EL2004), |
86 ECAT_INIT_SLAVE(Beckhoff_EL2004), |
81 ECAT_INIT_SLAVE(Beckhoff_EL2004), |
87 ECAT_INIT_SLAVE(Beckhoff_EL2004), |
82 ECAT_INIT_SLAVE(Beckhoff_EL1014), |
88 ECAT_INIT_SLAVE(Beckhoff_EL1014), |
83 ECAT_INIT_SLAVE(Beckhoff_EL1014), |
89 ECAT_INIT_SLAVE(Beckhoff_EL1014), |
84 ECAT_INIT_SLAVE(Beckhoff_EL1014) |
90 ECAT_INIT_SLAVE(Beckhoff_EL1014) |
|
91 #endif |
85 }; |
92 }; |
86 |
93 |
87 #define ECAT_SLAVES_COUNT (sizeof(ecat_slaves) / sizeof(EtherCAT_slave_t)) |
94 #define ECAT_SLAVES_COUNT (sizeof(ecat_slaves) / sizeof(EtherCAT_slave_t)) |
88 |
95 |
89 #endif // ECAT_SLAVES |
96 #endif // ECAT_SLAVES |
90 |
97 |
91 #endif // ECAT |
98 #endif // ECAT |
92 |
99 |
93 #ifdef ECAT_CYCLIC_DATA |
100 #ifdef ECAT_CYCLIC_DATA |
94 |
101 |
|
102 int value; |
95 int dig1; |
103 int dig1; |
96 |
104 |
97 struct timer_list timer; |
105 struct timer_list timer; |
98 unsigned long last_start_jiffies; |
106 unsigned long last_start_jiffies; |
99 |
107 |
172 #endif |
180 #endif |
173 |
181 |
174 // Prozessdaten lesen |
182 // Prozessdaten lesen |
175 if (!firstrun) |
183 if (!firstrun) |
176 { |
184 { |
|
185 EtherCAT_read_process_data(ecat_master); |
|
186 |
|
187 // Daten lesen und skalieren |
|
188 // value = EtherCAT_read_value(&ecat_master->slaves[5], 0) / 3276; //.7; FIXME kein FP im Kernel ohne Schutz !! |
|
189 // dig1 = EtherCAT_read_value(&ecat_master->slaves[3], 0); |
|
190 } |
|
191 else |
177 klemme = next2004(&wrap); |
192 klemme = next2004(&wrap); |
178 |
193 |
179 EtherCAT_read_process_data(ecat_master); |
|
180 |
|
181 // Daten lesen und skalieren |
|
182 //value = EtherCAT_read_value(&ecat_master->slaves[5], 0) / 3276.7; |
|
183 dig1 = EtherCAT_read_value(&ecat_master->slaves[3], 0); |
|
184 } |
|
185 |
194 |
186 #if 0 |
195 #if 0 |
187 // Daten schreiben |
196 // Daten schreiben |
188 EtherCAT_write_value(&ecat_master->slaves[4], 0, ms > 500 ? 1 : 0); |
197 EtherCAT_write_value(&ecat_master->slaves[4], 0, ms > 500 ? 1 : 0); |
189 EtherCAT_write_value(&ecat_master->slaves[4], 1, ms > 500 ? 0 : 1); |
198 EtherCAT_write_value(&ecat_master->slaves[4], 1, ms > 500 ? 0 : 1); |
206 else up_down = 1; |
215 else up_down = 1; |
207 } |
216 } |
208 } |
217 } |
209 } |
218 } |
210 |
219 |
211 if (klemme >= 0) |
220 if (klemme >= 0) { |
212 EtherCAT_write_value(&ecat_master->slaves[klemme], kanal,up_down); |
221 EtherCAT_write_value(&ecat_master->slaves[klemme], kanal,up_down); |
|
222 //printk("ECAT write: Klemme: %d, Kanal: %d, Wert: %d\n",klemme,kanal,up_down); |
|
223 } |
213 |
224 |
214 #if 0 |
225 #if 0 |
215 EtherCAT_write_value(&ecat_master->slaves[13], 1, ms > 500 ? 0 : 1); |
226 EtherCAT_write_value(&ecat_master->slaves[13], 1, ms > 500 ? 0 : 1); |
216 EtherCAT_write_value(&ecat_master->slaves[14], 2, ms > 500 ? 0 : 1); |
227 EtherCAT_write_value(&ecat_master->slaves[14], 2, ms > 500 ? 0 : 1); |
217 EtherCAT_write_value(&ecat_master->slaves[15], 3, ms > 500 ? 1 : 0); |
228 EtherCAT_write_value(&ecat_master->slaves[15], 3, ms > 500 ? 1 : 0); |