27 // EtherCAT |
27 // EtherCAT |
28 ec_master_t *master = NULL; |
28 ec_master_t *master = NULL; |
29 ec_domain_t *domain1 = NULL; |
29 ec_domain_t *domain1 = NULL; |
30 |
30 |
31 // Datenfelder |
31 // Datenfelder |
32 void *r_ssi; |
32 void *r_field[9]; |
|
33 void *r_4102[3]; |
33 |
34 |
34 // Kanäle |
35 // Kanäle |
35 uint32_t k_pos; |
36 uint32_t k_pos; |
36 |
37 |
37 ec_field_init_t domain1_fields[] = { |
38 ec_field_init_t domain1_fields[] = { |
38 {&r_ssi, "1", "Beckhoff", "EL5001", "InputValue", 0, 1}, |
39 {&r_field[0], "1", "Beckhoff", "EL5001", "InputValue", 0, 1}, |
|
40 {&r_field[1], "2", "Beckhoff", "EL4132", "OutputValue", 0, 1}, |
|
41 {&r_field[2], "3", "Beckhoff", "EL3162", "InputValue", 0, 1}, |
|
42 {r_4102, "4", "Beckhoff", "EL4102", "OutputValue", 0, 3}, |
|
43 {&r_field[4], "5", "Beckhoff", "EL5001", "InputValue", 0, 1}, |
|
44 {&r_field[5], "6", "Beckhoff", "EL1014", "InputValue", 0, 1}, |
|
45 {&r_field[6], "7", "Beckhoff", "EL2004", "OutputValue", 0, 1}, |
|
46 {&r_field[7], "8", "Beckhoff", "EL4132", "OutputValue", 0, 1}, |
|
47 {&r_field[8], "9", "Beckhoff", "EL4132", "OutputValue", 0, 1}, |
39 {} |
48 {} |
40 }; |
49 }; |
41 |
50 |
42 /*****************************************************************************/ |
51 /*****************************************************************************/ |
43 |
52 |
49 // Prozessdaten emfpangen |
58 // Prozessdaten emfpangen |
50 ecrt_master_async_receive(master); |
59 ecrt_master_async_receive(master); |
51 ecrt_domain_process(domain1); |
60 ecrt_domain_process(domain1); |
52 |
61 |
53 // Prozessdaten verarbeiten |
62 // Prozessdaten verarbeiten |
54 k_pos = EC_READ_U32(r_ssi); |
63 // k_pos = EC_READ_U32(r_ssi); |
55 |
64 |
56 // Prozessdaten senden |
65 // Prozessdaten senden |
57 ecrt_domain_queue(domain1); |
66 ecrt_domain_queue(domain1); |
58 ecrt_master_async_send(master); |
67 ecrt_master_async_send(master); |
59 #else |
68 #else |
88 if ((master = ecrt_request_master(0)) == NULL) { |
97 if ((master = ecrt_request_master(0)) == NULL) { |
89 printk(KERN_ERR "Error requesting master 0!\n"); |
98 printk(KERN_ERR "Error requesting master 0!\n"); |
90 goto out_return; |
99 goto out_return; |
91 } |
100 } |
92 |
101 |
93 //ecrt_master_print(master); |
102 ecrt_master_print(master); |
94 |
103 |
95 printk(KERN_INFO "Registering domain...\n"); |
104 printk(KERN_INFO "Registering domain...\n"); |
96 |
105 |
97 if (!(domain1 = ecrt_master_create_domain(master))) |
106 if (!(domain1 = ecrt_master_create_domain(master))) |
98 { |
107 { |