Witam.
Mam oto taki problem. Robię sterownik wykorzystujący protokół modbus ( konkretnie tą implementację protokołu ).
Czy może ktoś ma pomysł jak połączyć zmienne stosowane dotychczas w sterowniku z tablicą rejestrów protokołu modbus ??
A teraz troszkę kodu aby wyjaśnić o co mi chodzi. :
I właśnie chciałbym ( wg mnie najwygodniej by było ) aby poszczególne rejestry odpowiadały np. poszczególnym polom w strukturze. np:
usRegHoldingBuf[3] = AusPID.Ts
A jeszcze lepiej gdyby obie zmienne zajmowały ten sam obszar pamięci, ale nie koniecznie.
Problemy pojawiają się gdy zachodzi potrzeba zapisywania i odczytywani poszczególnych zmiennych.
Jak zdeklarować taką zależność ?
Mam oto taki problem. Robię sterownik wykorzystujący protokół modbus ( konkretnie tą implementację protokołu ).
Czy może ktoś ma pomysł jak połączyć zmienne stosowane dotychczas w sterowniku z tablicą rejestrów protokołu modbus ??
A teraz troszkę kodu aby wyjaśnić o co mi chodzi. :
// definicja struktury dla sterowników PID.
typedef struct
{
unsigned int Ts; // stała czasowa regulatora
float Kp; // wzmocnienie członu proporcjonalnego
float Ki; // wzmocnienie członu całkującego
float Kd; // wzmocnienie członu różniczkującego
int y_max; // max wartość sterująca
int y_min; // minimalna wartość sterująca
int y; // wartość sterująca
int Tz; // wartość temperatury zadanej
int Ta; // wartość temperatury aktualnej
int Y_speed // szybkosc narstania wartosci na wyjsciu.
} PidState;
// deklaracja zmiennej
PidState AusPID;
// definicje rejestrów protokołu modbus ( zgodnie z przykładami ze strony źródłowej. )
#define REG_HOLDING_START 4000
#define REG_HOLDING_NREGS 30
static USHORT usRegHoldingStart = REG_HOLDING_START ;
static USHORT usRegHoldingBuf[REG_HOLDING_NREGS];
I właśnie chciałbym ( wg mnie najwygodniej by było ) aby poszczególne rejestry odpowiadały np. poszczególnym polom w strukturze. np:
usRegHoldingBuf[3] = AusPID.Ts
A jeszcze lepiej gdyby obie zmienne zajmowały ten sam obszar pamięci, ale nie koniecznie.
Problemy pojawiają się gdy zachodzi potrzeba zapisywania i odczytywani poszczególnych zmiennych.
Jak zdeklarować taką zależność ?
