Kurzbeschreibung Parameter Funktionsweise  Ein/Ausgänge Limitierungen Querverweise Beispiele Profibus-Funktionen
Syntax
... Interpret-Funktionen...

Bitte benutzen Sie das neue Modul  SoftnetDP !

Kurzbeschreibung
Modul Interpret + Profibus-Funktionen
Parameter
siehe Modul Interpret
Funktionsweise
siehe Modul Interpret
Ein-/Ausgänge
siehe Modul Interpret
Limitierungen
Hardware: Profibus DP, Fa. Hilscher
Software:   Device Driver WINT-PB/E bzw. WI95-PB/E, Protocol PROFIBUS, Fa. Hilscher
Querverweise
CAN IEEE488 RS232
Beispiele
char a[2]; char e[200];
init
{ DevInit(); }

execute
{
a[0] = itoc(0);
a[1] = itoc(1);
DevCommunicate( 2, 0, a, 2, 0, e);
}

done
{ DevExit(); }

 

input trigger I0( "TYPEINFO", "TypeInfo", "SWORD[]", "TIME_DOMAIN" );
output O1("TYPEINFO","TypeInfo","SWORD[]","TIME_DOMAIN");
output O2("TYPEINFO","TypeInfo","SWORD[]","TIME_DOMAIN");
int iOut; int i; int z;
char a[200]; // Out to SPS
char e[200]; // In from SPS

init
{ DevInit(); } //Initialisierung der Profibuskarte

// 16-Bit-Word to SPS, 16-Bin-Word from SPS (PEW 16, PAW 0)
execute
{

z = 0;
for ( i=0; i<8; i++ )
  {
  a[z++] = itoc( iSHR(I0[i],8) ); //high Byte
  a[z++] = itoc( I0[i]&0x00ff  ); //low Byte

  }

// DevCommunicate( Txlen, TxOffset, TxBuffer, Rxlen, RxOffset, RxBuffer )
// TxLen    = Anzahl zu sendender Bytes
// TxOffset = Startadresse der Datenübertragung
// TxBuffer = Sendepuffer
// RxLen    = Anzahl zu empfangener Bytes
// RxOffset = Startadresse der zu empfangenden Bytes
// RxBuffer = Empfangspuffer
DevCommunicate( 16, 16, a, 4, 0, e );
iOut = ctoi(e[0]);
iOut = iSHL( iOut, 8 );
iOut = iOut + ctoi( e[1] );
O1 <<  iOut;
iOut = ctoi( e[2] );
iOut = iSHL( iOut, 8 );
iOut = iOut + ctoi( e[3] );
O2 <<  iOut;
}

done
{ DevExit(); }
Profibus-Funktionen
int DevOpenDriver();
int Init();
int DevCloseDriver();
int DevGetBoardInfo( int NumberOfBoards, char *abDriverVersion, int *tBoard);
int DevInitBoard();
int DevExitBoard();
int DevReset( int usMode, int ulTimeout);
int DevSetHostState( int usMode, int ulTimeout);
int DevPutMessage( char *Header, char *Message, int ulTimeout);
int DevGetMessage( int usSize, char *Header, char *Message, int ulTimeout);
int DevPutTaskParameter( int usNumber, char *UserData);
int DevGetTaskParameter( int usNumber, char *UserData);
int DevGetTaskState( int usNumber, void *UserData);
int DevGetInfo( int usInfoArea, int usSize, char *pvData);
int DevTriggerWatchDog( int usFunction, int *usDevWatchDog);
int DevExchangeIO(     int usSendOffset, int usSendSize, char *pvSendData,

                                   int usReceivOffset, int usReceiveSize, char *pvReceiveData,
                                   int ulTimeout);
int DevExchangeIOEx(  int usSendOffset, int usSendSize, char *pvSendData,

                                   int usReceivOffset, int usReceiveSize, char *pvReceiveData,
                                   int ulTimeout);
int DevExchangeIOErr( int usSendOffset, int usSendSize, char *pvSendData,
                                   int usReceivOffset, int usReceiveSize, char *pvReceiveData,
                                   int ulTimeout);
int DevReadSendData( int usOffset, int usSize, void *pvSendData);
int DevReadWriteRAWData( int usMode, int usOffset, int usSize, void *pvSendData);
int DevInit();
int DevExit();
int DevCommunicate( void *SendSize, void *SendOffset, void *SendBuffer,
                                  void *RecvSize, void *RecvOffset, void *ReceiveBuffer);