/* Вызывается на старте 0 - ok > 0 error */ int rwh_start() { memset(do_val, 0, sizeof(int) * 256); memset(ao_val, 0, sizeof(float) * 256); memset(opt_val, 0, sizeof(int) * 256);
return(-1); }
/* Вызывается на стопе */ void rwh_stop() { }
/* Вызывается на старте после вызова rwh_start() для типов 1.15 IN, 1.31 OUT 2.15 IN 2,31 OUT если канал FLOAT */ void rwh_aio_init(IA &ia) { }
/* Вызывается на старте после вызова rwh_start() 2.15 IN 2,31 OUT если канал HEX32 */ void rwh_dio_init(IA &ia) { } /* далее для всех фукций код возврата = 0 - успешно недостоверность сбрасывается > 0 - ошибка недостоверность устанавливается
<type>v - значение из 9 атрибута для записи <type>v - считанное значение для передачи во вход канала */
/* тип 2.15, 2.31 получается в IDE из AI_RWH */ int rwh_aio_write_i32(IA &ia,int v) { v = 5; ao_val[ia.c[2]] = v; return(0); }
/* тип 2.15 получается в IDE из DI_RWH залинкованного на FLOAT INPUT */ int rwh_aio_read_i32(IA &ia,int &v) { v= 6;
return(0); }
/* тип 2.31 получается в IDE из DO_RWH залинкованного на FLOAT INPUT */ int rwh_aio_read_i32_readback(IA& ia, int& v) { v = 7; return(0); }