Rockwell-automation 1771-DMC_DMC1_DMC4_DXPS Control Coprocessor User M Manual do Utilizador Página 234

  • Descarregar
  • Adicionar aos meus manuais
  • Imprimir
  • Página
    / 312
  • Índice
  • MARCADORES
  • Avaliado. / 5. Com base em avaliações de clientes
Vista de página 233
 
Appendix B

B-103
w_rslt_mask
Bit map of the results from the requested write message instructions.
Bit 0 = message 0; bit 31 = message 31. If the bit is set, this message
has completed I/O or has timed out.
Returns
Status Symbolic Name Meaning
  
Description
Use MSG_WAIT to wait for one or more asynchronous message
operations to complete. MSG_WAIT will check for the completion of any
combination of pending read/write message numbers. The message
numbers are encoded in a read and write mask. The corresponding
message entry is checked for I/O completion. If the message has
completed, the iostat entry for that message is updated and the
corresponding bit in the read/write result mask is set. If none of the
requested messages have completed I/O and the sync parameter is 0, this
function will return immediately to the caller (asynchronous).
Otherwise, this function will wait until at least one of the requested
messages has completed.
Important: If both r_mask and w_mask are 0 or if none of the messages
for which bits are set were requested, the calling process will wait forever
(only if sync=1).
C Example
@_sysedit: equ 1 /* Edition 1. */
@_sysattr: equ 0x8000 /* Revision 00 (re-entrant 0x80 << 8 + revision 00) */
#include <copro.h>
main ()
{
int read_var,write_var,one_shot,iostat,status;
unsigned rm,wm,ret_rm,ret_wm;
read_var = 1;
one_shot = 42;
CC_INIT(); /* initialize copro */
status = MSG_ZERO_MASK(&rm); /* clear out read and write masks */
status = MSG_ZERO_MASK(&wm);
status = MSG_SET_MASK(&rm,0); /* wait for read msg 0 & 1, write msg 1 */
status = MSG_SET_MASK(&rm,1);
status = MSG_SET_MASK(&wm,1);
/* post initial message handlers */
status = MSG_READ_HANDLER ( &one_shot, sizeof (one_shot), 1, 1, 45,
CC_LONG, PLC_WORD, &iostat);
status = MSG_READ_HANDLER ( &read_var, sizeof (read_var), 0, 1, 45,
CC_LONG, PLC_WORD, &iostat);
Vista de página 233
1 2 ... 229 230 231 232 233 234 235 236 237 238 239 ... 311 312

Comentários a estes Manuais

Sem comentários