mini/mini.c
changeset 117 b9976a5281e0
parent 116 231b22fc034b
child 130 69c2645300ee
equal deleted inserted replaced
116:231b22fc034b 117:b9976a5281e0
    34 // Kanäle
    34 // Kanäle
    35 uint32_t k_pos;
    35 uint32_t k_pos;
    36 uint8_t k_stat;
    36 uint8_t k_stat;
    37 
    37 
    38 ec_field_init_t domain1_fields[] = {
    38 ec_field_init_t domain1_fields[] = {
    39     {&r_ssi_input,  "1", "Beckhoff", "EL5001", "InputValue",  0},
    39     {NULL, "1", "Beckhoff", "EL1014", "InputValue",  0},
    40     {&r_ssi_status, "1", "Beckhoff", "EL5001", "Status",      0},
    40     {NULL, "2", "Beckhoff", "EL1014", "InputValue", 0},
    41     {NULL,          "2", "Beckhoff", "EL4132", "OutputValue", 0},
    41     {NULL, "3", "Beckhoff", "EL1014", "InputValue",  0},
    42     {NULL,          "3", "Beckhoff", "EL3162", "InputValue",  0},
    42     {NULL, "4", "Beckhoff", "EL1014", "InputValue",  0},
    43     {r_4102,        "4", "Beckhoff", "EL4102", "OutputValue", 0, 2},
    43     {NULL, "5", "Beckhoff", "EL1014", "InputValue",  0},
    44     {NULL,          "5", "Beckhoff", "EL5001", "InputValue",  0},
    44     {NULL, "6", "Beckhoff", "EL2004", "OutputValue", 0},
    45     {NULL,          "6", "Beckhoff", "EL1014", "InputValue",  0},
    45     {NULL, "7", "Beckhoff", "EL2004", "OutputValue", 0},
    46     {NULL,  "#0xBEEF:7", "Beckhoff", "EL2004", "OutputValue", 0},
    46     {NULL, "8", "Beckhoff", "EL2004", "OutputValue", 0},
    47     {NULL,          "8", "Beckhoff", "EL4132", "OutputValue", 0},
       
    48     {NULL,   "#48879:9", "Beckhoff", "EL4132", "OutputValue", 0},
       
    49     {}
    47     {}
    50 };
    48 };
    51 
    49 
    52 /*****************************************************************************/
    50 /*****************************************************************************/
    53 
    51 
    59     // Prozessdaten empfangen
    57     // Prozessdaten empfangen
    60     ecrt_master_async_receive(master);
    58     ecrt_master_async_receive(master);
    61     ecrt_domain_process(domain1);
    59     ecrt_domain_process(domain1);
    62 
    60 
    63     // Prozessdaten verarbeiten
    61     // Prozessdaten verarbeiten
    64     k_pos   = EC_READ_U32(r_ssi_input);
    62     //k_pos   = EC_READ_U32(r_ssi_input);
    65     k_stat  = EC_READ_U8(r_ssi_status);
    63     //k_stat  = EC_READ_U8(r_ssi_status);
    66 
    64 
    67     // Prozessdaten senden
    65     // Prozessdaten senden
    68     ecrt_domain_queue(domain1);
    66     ecrt_domain_queue(domain1);
    69     ecrt_master_async_send(master);
    67     ecrt_master_async_send(master);
    70 #else
    68 #else
    72     ecrt_domain_queue(domain1);
    70     ecrt_domain_queue(domain1);
    73     ecrt_master_sync_io(master);
    71     ecrt_master_sync_io(master);
    74     ecrt_domain_process(domain1);
    72     ecrt_domain_process(domain1);
    75 
    73 
    76     // Prozessdaten verarbeiten
    74     // Prozessdaten verarbeiten
    77     k_pos   = EC_READ_U32(r_ssi_input);
    75     //k_pos   = EC_READ_U32(r_ssi_input);
    78     k_stat  = EC_READ_U8(r_ssi_status);
    76     //k_stat  = EC_READ_U8(r_ssi_status);
    79 #endif
    77 #endif
    80 
    78 
    81     if (counter) {
    79     if (counter) {
    82         counter--;
    80         counter--;
    83     }
    81     }
    84     else {
    82     else {
    85         counter = ABTASTFREQUENZ;
    83         counter = ABTASTFREQUENZ;
    86         printk(KERN_INFO "k_pos    = %i\n", k_pos);
    84         //printk(KERN_INFO "k_pos    = %i\n", k_pos);
    87         printk(KERN_INFO "k_stat   = 0x%02X\n", k_stat);
    85         //printk(KERN_INFO "k_stat   = 0x%02X\n", k_stat);
    88     }
    86     }
    89 
    87 
    90     // Timer neu starten
    88     // Timer neu starten
    91     timer.expires += HZ / ABTASTFREQUENZ;
    89     timer.expires += HZ / ABTASTFREQUENZ;
    92     add_timer(&timer);
    90     add_timer(&timer);