⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sap.c

📁 SPC3 SETUP PROGRAMS SP C3 SETUP PROGRAMS
💻 C
字号:
//-----------------------------------------------------------------------------
// $Id: sap.c,v 1.0.0                                               2004/01/13
//-----------------------------------------------------------------------------
//
//      ProfiM - PROFIBUS MASTER DRIVER FOR WINDOWS NT/2000
//
// Author:  
//      Pavel Trnka, CTU FEE
//      trnkap@seznam.cz
// With help and advices from:
//      Ing. Petr Smolik, CTU FEE
//      Ing. Pavel Pisa, CTU FEE
//      Ing. Pavel Burget, CTU FEE
//
//-----------------------------------------------------------------------------
//
// Popis:
// ------
// Definuje struktury SAP (Service Access Point) pro Profibus
//
//
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------


//***************************************************************************

#include "NTDDK.H"

#include "SAP.h"

//***************************************************************************
//**  Inicializace SAPu na vsechny pristupove body neaktivni.
//**
//***************************************************************************

void SAP_Init( PTSAP SAP, int _size )
{
  int i;
  SAP->size = _size;
  for ( i = 0; i < SAP->size; i++ )
  {
    SAP->SAPItem[i].SDN = SERVICE_NOT_ACTIVATED;
    SAP->SAPItem[i].SRD = SERVICE_NOT_ACTIVATED;
    SAP->SAPItem[i].SDA = SERVICE_NOT_ACTIVATED;                

    SAP->SAPItem[i].Await = 0;
  }
}

//***************************************************************************

void SAP_Close( PTSAP SAP )
{
}


//***************************************************************************
//**  Aktivace konkretniho pristupoveho bodu
//**
//***************************************************************************

void SAP_Activate( PTSAP SAP,
                   int _SAP,
                   int _AccessSAP,
                   int _AccessStation,
                   UCHAR _SDN,
                   UCHAR _SRD )
{
  SAP->SAPItem[_SAP].AccessSAP = _AccessSAP;
  SAP->SAPItem[_SAP].AccessStation = _AccessStation;
  SAP->SAPItem[_SAP].SDN = _SDN;
  SAP->SAPItem[_SAP].SRD = _SRD;
}

//***************************************************************************

void SAP_Deactivate( PTSAP SAP, int _SAP )
{
  SAP->SAPItem[_SAP].SDN = SERVICE_NOT_ACTIVATED;
  SAP->SAPItem[_SAP].SRD = SERVICE_NOT_ACTIVATED;
  SAP->SAPItem[_SAP].SDA = SERVICE_NOT_ACTIVATED;
}


//***************************************************************************
//**  Priprava dat pro odesilani odpovedi SAPem
//**
//***************************************************************************

void SAP_Update( PTSAP SAP,
                 int _SAP,
                 service_class/*TSAPPriority*/ _Priority,
                 TSAPUpdate _Update,
                 PUCHAR _Data,
                 int _DataLength )
{
  int i;
  SAP->SAPItem[_SAP].Priority = _Priority;
  SAP->SAPItem[_SAP].Update = _Update;
  SAP->SAPItem[_SAP].DataLength = _DataLength;
  for ( i = 0; i < _DataLength; i++ )
    SAP->SAPItem[_SAP].Data[i] = _Data[i];       //lepe
}

//***************************************************************************


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -