27 unsigned char sm2_31xx[] = {0x00, 0x10, 0x04, 0x00, 0x24, 0x00, 0x00, 0x00}; |
35 unsigned char sm2_31xx[] = {0x00, 0x10, 0x04, 0x00, 0x24, 0x00, 0x00, 0x00}; |
28 unsigned char sm3_31xx[] = {0x00, 0x11, 0x06, 0x00, 0x20, 0x00, 0x01, 0x00}; |
36 unsigned char sm3_31xx[] = {0x00, 0x11, 0x06, 0x00, 0x20, 0x00, 0x01, 0x00}; |
29 |
37 |
30 unsigned char sm2_41xx[] = {0x00, 0x10, 0x04, 0x00, 0x24, 0x00, 0x01, 0x00}; |
38 unsigned char sm2_41xx[] = {0x00, 0x10, 0x04, 0x00, 0x24, 0x00, 0x01, 0x00}; |
31 |
39 |
32 /* Konfigurationen der Memory-Management-Units */ |
40 unsigned char sm2_5001[] = {0x00, 0x10, 0x04, 0x00, 0x24, 0x00, 0x00, 0x00}; |
|
41 unsigned char sm3_5001[] = {0x00, 0x11, 0x05, 0x00, 0x20, 0x00, 0x01, 0x00}; |
|
42 |
|
43 /* |
|
44 Konfigurationen der Memory-Management-Units |
|
45 |
|
46 Byte 1-4: Logical Start Address (is set later) |
|
47 Byte 5-6: Length |
|
48 Byte 7: Logical start bit |
|
49 Byte 8: Logical end bit |
|
50 Byte 9-10: Physical start address |
|
51 Byte 11: Physical start bit |
|
52 Byte 12: Direction (1: in, 2: out) |
|
53 Byte 13-14: Channel enable |
|
54 Byte 15-16: Reserved |
|
55 */ |
33 |
56 |
34 unsigned char fmmu0_1014[] = {0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, |
57 unsigned char fmmu0_1014[] = {0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, |
35 0x00, 0x10, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00}; |
58 0x00, 0x10, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00}; |
36 |
59 |
37 unsigned char fmmu0_2004[] = {0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, |
60 unsigned char fmmu0_2004[] = {0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, |
41 0x00, 0x11, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00}; |
64 0x00, 0x11, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00}; |
42 |
65 |
43 unsigned char fmmu0_41xx[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, |
66 unsigned char fmmu0_41xx[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, |
44 0x00, 0x10, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00}; |
67 0x00, 0x10, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00}; |
45 |
68 |
|
69 unsigned char fmmu0_5001[] = {0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x07, |
|
70 0x00, 0x11, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00}; |
|
71 |
46 /*****************************************************************************/ |
72 /*****************************************************************************/ |
47 |
73 |
48 /* Klemmen-Objekte */ |
74 /* Klemmen-Objekte */ |
49 |
75 |
50 ec_slave_type_t Beckhoff_EK1100[] = |
76 ec_slave_type_t Beckhoff_EK1100 = |
51 {{ |
77 { |
52 "Beckhoff", "EK1100", "Bus Coupler", |
78 "Beckhoff", "EK1100", "Bus Coupler", |
53 EC_NOSYNC_SLAVE, NULL, NULL, NULL, NULL, NULL, 0 |
79 EC_NOSYNC_SLAVE, NULL, NULL, NULL, NULL, NULL, 0 |
54 }}; |
80 }; |
55 |
81 |
56 ec_slave_type_t Beckhoff_EK1110[] = |
82 ec_slave_type_t Beckhoff_EK1110 = |
57 {{ |
83 { |
58 "Beckhoff", "EK1110", "Extension terminal", |
84 "Beckhoff", "EK1110", "Extension terminal", |
59 EC_NOSYNC_SLAVE, NULL, NULL, NULL, NULL, NULL, 0 |
85 EC_NOSYNC_SLAVE, NULL, NULL, NULL, NULL, NULL, 0 |
60 }}; |
86 }; |
61 |
87 |
62 ec_slave_type_t Beckhoff_EL1014[] = |
88 ec_slave_type_t Beckhoff_EL1014 = |
63 {{ |
89 { |
64 "Beckhoff", "EL1014", "4x Digital Input", |
90 "Beckhoff", "EL1014", "4x Digital Input", |
65 EC_SIMPLE_SLAVE, sm0_1014, NULL, NULL, NULL, fmmu0_1014, 1 |
91 EC_SIMPLE_SLAVE, sm0_1014, NULL, NULL, NULL, fmmu0_1014, 1 |
66 }}; |
92 }; |
67 |
93 |
68 ec_slave_type_t Beckhoff_EL2004[] = |
94 ec_slave_type_t Beckhoff_EL2004 = |
69 {{ |
95 { |
70 "Beckhoff", "EL2004", "4x Digital Output", |
96 "Beckhoff", "EL2004", "4x Digital Output", |
71 EC_SIMPLE_SLAVE, sm0_2004, NULL, NULL, NULL, fmmu0_2004, 1 |
97 EC_SIMPLE_SLAVE, sm0_2004, NULL, NULL, NULL, fmmu0_2004, 1 |
72 }}; |
98 }; |
73 |
99 |
74 ec_slave_type_t Beckhoff_EL3102[] = |
100 ec_slave_type_t Beckhoff_EL3102 = |
75 {{ |
101 { |
76 "Beckhoff", "EL3102", "2x Analog Input diff.", |
102 "Beckhoff", "EL3102", "2x Analog Input diff.", |
77 EC_MAILBOX_SLAVE, sm0_multi, sm1_multi, sm2_31xx, sm3_31xx, fmmu0_31xx, 6 |
103 EC_MAILBOX_SLAVE, sm0_multi, sm1_multi, sm2_31xx, sm3_31xx, fmmu0_31xx, 6 |
78 }}; |
104 }; |
79 |
105 |
80 ec_slave_type_t Beckhoff_EL3162[] = |
106 ec_slave_type_t Beckhoff_EL3162 = |
81 {{ |
107 { |
82 "Beckhoff", "EL3162", "2x Analog Input", |
108 "Beckhoff", "EL3162", "2x Analog Input", |
83 EC_MAILBOX_SLAVE, sm0_multi, sm1_multi, sm2_31xx, sm3_31xx, fmmu0_31xx, 6 |
109 EC_MAILBOX_SLAVE, sm0_multi, sm1_multi, sm2_31xx, sm3_31xx, fmmu0_31xx, 6 |
84 }}; |
110 }; |
85 |
111 |
86 ec_slave_type_t Beckhoff_EL4102[] = |
112 ec_slave_type_t Beckhoff_EL4102 = |
87 {{ |
113 { |
88 "Beckhoff", "EL4102", "2x Analog Output", |
114 "Beckhoff", "EL4102", "2x Analog Output", |
89 EC_MAILBOX_SLAVE, sm0_multi, sm1_multi, sm2_41xx, NULL, fmmu0_41xx, 4 |
115 EC_MAILBOX_SLAVE, sm0_multi, sm1_multi, sm2_41xx, NULL, fmmu0_41xx, 4 |
90 }}; |
116 }; |
91 |
117 |
92 ec_slave_type_t Beckhoff_EL4132[] = |
118 ec_slave_type_t Beckhoff_EL4132 = |
93 {{ |
119 { |
94 "Beckhoff", "EL4132", "2x Analog Output diff.", |
120 "Beckhoff", "EL4132", "2x Analog Output diff.", |
95 EC_MAILBOX_SLAVE, sm0_multi, sm1_multi, sm2_41xx, NULL, fmmu0_41xx, 4 |
121 EC_MAILBOX_SLAVE, sm0_multi, sm1_multi, sm2_41xx, NULL, fmmu0_41xx, 4 |
96 }}; |
122 }; |
97 |
123 |
98 ec_slave_type_t Beckhoff_EL5001[] = |
124 ec_slave_type_t Beckhoff_EL5001 = |
99 {{ |
125 { |
100 "Beckhoff", "EL5001", "SSI-Interface", // Noch nicht eingepflegt... |
126 "Beckhoff", "EL5001", "SSI-Interface", |
101 EC_SIMPLE_SLAVE, NULL, NULL, NULL, NULL, NULL, 0 |
127 EC_MAILBOX_SLAVE, sm0_multi, sm1_multi, sm2_5001, sm3_5001, fmmu0_5001, 5 |
102 }}; |
128 }; |
103 |
129 |
104 /*****************************************************************************/ |
130 /*****************************************************************************/ |
105 |
131 |
106 /** |
132 /** |
107 Beziehung zwischen Identifikationsnummern und Klemmen-Objekt. |
133 Beziehung zwischen Identifikationsnummern und Klemmen-Objekt. |
111 Neue Klemmen müssen hier eingetragen werden. |
137 Neue Klemmen müssen hier eingetragen werden. |
112 */ |
138 */ |
113 |
139 |
114 ec_slave_ident_t slave_idents[] = |
140 ec_slave_ident_t slave_idents[] = |
115 { |
141 { |
116 {0x00000002, 0x03F63052, Beckhoff_EL1014}, |
142 {0x00000002, 0x03F63052, &Beckhoff_EL1014}, |
117 {0x00000002, 0x044C2C52, Beckhoff_EK1100}, |
143 {0x00000002, 0x044C2C52, &Beckhoff_EK1100}, |
118 {0x00000002, 0x04562C52, Beckhoff_EK1110}, |
144 {0x00000002, 0x04562C52, &Beckhoff_EK1110}, |
119 {0x00000002, 0x07D43052, Beckhoff_EL2004}, |
145 {0x00000002, 0x07D43052, &Beckhoff_EL2004}, |
120 {0x00000002, 0x0C1E3052, Beckhoff_EL3102}, |
146 {0x00000002, 0x0C1E3052, &Beckhoff_EL3102}, |
121 {0x00000002, 0x0C5A3052, Beckhoff_EL3162}, |
147 {0x00000002, 0x0C5A3052, &Beckhoff_EL3162}, |
122 {0x00000002, 0x10063052, Beckhoff_EL4102}, |
148 {0x00000002, 0x10063052, &Beckhoff_EL4102}, |
123 {0x00000002, 0x10243052, Beckhoff_EL4132}, |
149 {0x00000002, 0x10243052, &Beckhoff_EL4132}, |
124 {0x00000002, 0x13893052, Beckhoff_EL5001} |
150 {0x00000002, 0x13893052, &Beckhoff_EL5001} |
125 }; |
151 }; |
126 |
152 |
127 unsigned int slave_ident_count = sizeof(slave_idents) |
153 unsigned int slave_ident_count = sizeof(slave_idents) |
128 / sizeof(ec_slave_ident_t); |
154 / sizeof(ec_slave_ident_t); |
129 |
155 |
130 |
|
131 /*****************************************************************************/ |
156 /*****************************************************************************/ |