mini/mini.c
changeset 109 c6766baead5e
parent 106 d6679c77ad3f
child 111 9963537ec776
equal deleted inserted replaced
108:dc3d56151d07 109:c6766baead5e
    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     {