access to fields of str_arg
/* function block interface - name: sample */
/* standard ISaGRAF data types */
typedef long T_BOO;
typedef long T_ANA;
typedef float T_REAL;
typedef long T_TMR;
typedef char *T_MSG;
/* structure of calling parameters */
typedef struct {
/* CALL */ T_BOO _par1;
/* CALL */ T_BOO _par2;
} str_arg;
/* access to fields of str_arg structure */
#define PAR1 (arg->_par1)
#define PAR2 (arg->_par2)
/* return parameter logical numbers */
#define FBLPNO_Q1 0
#define FBLPNO_Q2 1
/* êîíåö ôàéëà*/
Íèæå ïðåäñòàâëåíî ñîîòâåòñòâèå ìåæäó òèïàìè ISaGRAF è “C”. Òèïû ISaGRAF îïðåäåëåíû êàê òèïû “C” â ôàéëå îïðåäåëåíèÿ ôóíêöèîíàëüíîãî áëîêà:
boolean
|
T_BOO
|
long (32 áèòà)
|
analog
|
T_ANA
|
long
|
real
|
T_REAL
|
float (32 áèòà, ïëàâàþùåå çíà÷åíèå ñ îäèíî÷íîé òî÷íîñòüþ)
|
timer
|
T_TMR
|
long
|
message
|
T_MSG
|
char* (32 áèòíûé óêàçàòåëü)
|
Êàæäîå ïîëå ñòðóêòóðû “str_srg” ñîîòâåòñòâóåò îäíîìó ïàðàìåòðó ôóíêöèîíàëüíîãî áëîêà. Ïàðàìåòðû âûçîâà â ñòðóêòóðå â òîì æå ïîðÿäêå, â êîòîðîì îíè áûëè óñòàíîâëåíû â îïðåäåëåíèè ôóíêöèîíàëüíîãî áëîêà. Èäåíòèôèêàòîð, íàïèñàííûé çàãëàâíûìè áóêâàìè, îïðåäåëÿåòñÿ äëÿ òîãî, ÷òîáû èìåòü ïðÿìîé äîñòóï ê ïàðàìåòðàì ñòðóêòóðû ïåðåäàþùåéñÿ â “C” ðåàëèçàöèþ ñëóæáû àêòèâèçàöèè ôóíêöèîíàëüíîãî áëîêà. Èìåíà èäåíòèôèêàòîðîâ ââîäÿòñÿ âî âðåìÿ îïðåäåëåíèÿ ôóíêöèè â ìåíåäæåðå áèáëèîòåê ISaGRAF.
Ñîäåðæàíèå Íàçàä Âïåðåä