--- a/etherlab/plc_etherlab.c Thu Feb 23 15:48:19 2012 +0100
+++ b/etherlab/plc_etherlab.c Thu Feb 23 23:34:40 2012 +0100
@@ -16,6 +16,8 @@
#include "iec_std_lib.h"
#endif
+extern unsigned long long common_ticktime__;
+
// declaration of interface variables
%(located_variables_declaration)s
@@ -70,6 +72,8 @@
return -1;
}
+ ecrt_master_set_send_interval(master, common_ticktime__);
+
%(slaves_initialization)s
sprintf(&rt_dev_file[0],"%%s%%u",EC_RTDM_DEV_FILE_NAME,0);
@@ -111,16 +115,16 @@
void __retrieve_%(location)s(void)
{
+ // send process data
+ ecrt_rtdm_domain_queque(rt_fd);
+ ecrt_rtdm_master_send(rt_fd);
+
+ rt_task_sleep(rt_timer_ns2tsc(wait_period_ns));
+
// receive ethercat
ecrt_rtdm_master_recieve(rt_fd);
ecrt_rtdm_domain_process(rt_fd);
- rt_task_sleep(rt_timer_ns2tsc(wait_period_ns));
-
- // send process data
- ecrt_rtdm_domain_queque(rt_fd);
- ecrt_rtdm_master_send(rt_fd);
-
%(retrieve_variables)s
}