亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? profibus.h

?? profibus-dp主站源代碼
?? H
字號(hào):
//-----------------------------------------------------------------------------
// $Id: profibus.h,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
//
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------


#ifndef _PROFIBUS_H
#define _PROFIBUS_H

#include "NTDDK.H"

#include "vardef.h"
#include "lists.h"
#include "frame.h"
#include "SAP.h"

#include "buff.h" 
#include "fmaserver.h"
//#include "ReqBuff.h"


BOOLEAN QueryPerformanceFrequency( LARGE_INTEGER *lpFrequency );


typedef struct
{
    //stav stanice - Slave,Master_not_ready,Master_ready,Master_in_logical_ring
    TStationStatus            StationStatus;          

    int                       TS;
    int                       HSA;
    int                       G;
    baud_rate                 BaudRate;
    int                       BaudRateNum;

    // adresa stanice, ze ktere byl naposledy obdrzen Token
    int                       PS;                     
    
    // adresa stanice, ktere se naposledy predaval Token
    int                       NS;                     

    // odpocitavani pro dalsi aktualizaci GAPu (dekrementuje se pri prichodu do Pass_Token)
    int                       G_CountDown;            

    // indikuje studeny start okruhu
    BOOLEAN                   ColdStart;              

    TPBFrame                  RxFrame;

    //Vstupni buffer pro neuplne framy
    UCHAR                     InBuf[INBUF_SIZE];                  
    int                       InBufLen;

    TLAS                      LAS;
    TGAPL                     GAPL;
    TSAP                      SAP;

    TRequestBuffer            ReqB;
    TResultBuffer             ResB;
    
    // ukazatel do RequestBufferu na aktualni pozadavek
    fdl_rb                   *ActualRequest;          

    // Indication Request Block
    fdl_rb                    ind_rb;         

    //Jeden z deseti stavu mastera
    TMasterState              MasterState;            
    
    //Predchozi stav mastera
    TMasterState              LastState;              

    //vse inicializovano muzeme zacit zpracovavat preruseni
    BOOLEAN                   AllInitialized;     

  // <Casovani>
    __int64                   UseTokenEntryTicks;     // stav Performance Counteru pri vstupu do stavu Use Token
    __int64                   LastUseTokenEntryTicks;

    int                       Tbit;                   // pocet tiku Performance Counteru za periodu potrebnou pro vyslani jendoho bitu
    int                       Tbit3x;                 // 3*Tbit - pouziva se jako hranice pro prijem preruseni od modemu u PISA_IO
    TTimeOutState             TimeOutState;           // urcuje v jakem stavu se nachazi odpocitavani timeoutu
    __int64                   LastTicks;              // ulozi se pocet ticku pri odstartovani timeoutu (zavedenim TimeOutTicks snad ani neni potreba)
    __int64                   TimeOutTicks;           // hranice, pri ktere timeout vyprsi (je vypocitana, pri odstartovani timeoutu)
    int                       TO_Interval;            // timeout intetval v Tbit! Uklada se pri nastavovani timeoutu
  // </Casovani>        

    void            *         DeviceExtension;  // struktura pro propojeni s ovladacem - je to netypovy ukazatel kvuli vzajemnemu krizeni referenci
    PDEVICE_OBJECT            PhysicalDeviceObject;

    TServiceType              Service;      // typ aktualni sluzby - Remote / Local / No

    struct event_indication   fdl_ev;
    BOOLEAN                   FdlEventEnabled;

    UCHAR                     Ident[202];     // Struktura pro identifikacni udaje sluzby FDL_IDENT

    struct statistic_ctr_list ctr_list;

    int                       DuplicitAddressCounter; //citac vyskytu stanic s duplicitni adresou
    int                       IgnoreTokenCounter;   //citac poctu tokenu pro TS od jine stanice nez PS
    int                       FrameRepeatCounter;   //citac poctu opakovani pri vysilani aktualniho requestu

    // <Dalsi parametry FDL>
    enum redundancy           medium_red;
    int                       retry_ctr;
    int                       default_sap;
    int                       tsl;        // SLOT time
    int                       tqui;       // Transmitter fall time/repeater changeover time
    int                       tset;       // Setup time
    int                       min_tsdr;     // Minimum Station Delay Time (Response)
    int                       max_tsdr;     // Maximum Station Delay Time (Response)
    int                       ttr;        // Time To Reach (Target Rotation Time)
    flc_boolean               in_ring_desired;  // Request to enter ring
    enum physical_layer       physical_layer;     // RS485 or modem                                                         
    // </Dalsi parametry FDL>

    // <Promenne pro vytvareni Remote Life Listu>
    T_RLL_Status              RLL_Status;
    int                       RLL_Station;
    int                       RLL_Priority;
    UBYTE                     RLL_LAS[127];   
    // </Promenne pro vytvareni Remote Life Listu>

    // <Promenne k ulozeni odpovedi pro pripad opak. vysilani>
    UBYTE                     SAM;
    UBYTE                     FCBM;
    UBYTE                     DSAPM;
    UBYTE                     SSAPM;
    UBYTE                     statM;
    PUCHAR                    data_unitM;
    int                       DatlngM;
    // </Promenne k ulozeni odpovedi pro pripad opak. vysilani> 


    int                       ActualHID;      // Actual Handle Identification
    //PIRP                      ActualIRP;      // Pointer to actual I/O Request Packet (ceka-li nejaka aplikace na vysledek)    
    
} TProfibus, *PTProfibus;



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


void                      PB_Init( PTProfibus PB,
                                   void *DeviceExtension,
                                   PUNICODE_STRING RegistryPath );
void                      PB_Close( PTProfibus PB );

void                      PB_GetConfiguration( PTProfibus PB,
                                               PUNICODE_STRING RegistryPath );
void                      PB_GetConfigurationPnP( PTProfibus PB  );
void                      PB_InitMaster( PTProfibus PB );
BOOLEAN                   PB_SelfTest( PTProfibus PB );              //Selftest stanice v offline stavu
void                      PB_ChangeMasterState( PTProfibus PB, TMasterState to );

BOOLEAN                   PB_IsTimeForSending( PTProfibus PB );

void                      PB_RxByte( PTProfibus PB, UCHAR ch );

void                      PB_Send( PTProfibus PB, PUCHAR frame, int length, BOOLEAN UseSYN ); // vyslani retezce datovych bytu na sbernici
void                      PB_SendFrameNoData( PTProfibus PB,
                                              int _DA,
                                              int _SA,
                                              int _FC,
                                              BOOLEAN UseSYN ); 
void                      PB_SendFrameVariableData( PTProfibus PB,
                                                    int _DA,
                                                    int _SA,
                                                    int _DSAP,
                                                    int _SSAP,
                                                    int _FC,
                                                    PUCHAR _Data,
                                                    int length,
                                                    BOOLEAN UseFC,
                                                    BOOLEAN UseSYN );


// Send
void                      PB_SendToken( PTProfibus PB, int _DA, int _SA );
void                      PB_SendRequestFDLStatuswithReply( PTProfibus PB,
                                                            int _DA );

// Received
void                      PB_ReceivedToken( PTProfibus PB, int _DA, int _SA );
void                      PB_ReceivedRequestFDLStatuswithReply( PTProfibus PB,
                                                                int _SA );



// <Casovani>
__int64                   GetCurrentTicks();      // vrati pocet ticku performance counteru
void                      PB_StartTimeOut( PTProfibus PB );
void                      PB_StopTimeOut( PTProfibus PB );        
void                      PB_SetTimeOut( PTProfibus PB,
                                         int _interval,
                                         TTimeOutStartCondition StartCondition );
void                      PB_TimeTick( PTProfibus PB );   // pri prazdnem vystupnim bufferu volana priblizne s periodou Tbit        
void                      PB_FrameOut( PTProfibus PB );   /// vola se po odeslani celeho ramce ven z ovladace!
void                      PB_SendNextTimingChars( PTProfibus PB, int pocet );
void                      PB_ContinueTimeOut( PTProfibus PB );  
// </Casovani>        


// Zpracovani pozadavku
void                      PB_ProcessRequest( PTProfibus PB, fdl_rb *Request ); // zpracovani pozadavku z aplikacni vrstvy
void                      PB_ReceivedReply( PTProfibus PB );
void                      PB_ReceivedRequest( PTProfibus PB );  // zpracovani pozadavku prijateho z vnejsku



BOOLEAN                   GetRegistryDWord ( IN HANDLE Handle,
                                             IN PWCHAR KeyNameString,
                                             IN PULONG Data );
                                           


// deklarace funkci z ProfiM (trochu mimo...)
BOOLEAN                   ProfiM_SendOut( void *DeviceExtension,
                                          PUCHAR Buffer,
                                          PUCHAR TypeBuffer,
                                          int length );  // pozor na typ prvniho ukazatele
void                      ProfiM_ClearTimingChars( void *DeviceExtension );
int                       ReadHIDfromRB( fdl_rb *rb );
PIRP                      ReadIRPfromRB( fdl_rb *rb );

void                      ProfiM_StartWatchDogTimer( void *DeviceExtension );
void                      ProfiM_StopWatchDogTimer( void *DeviceExtension );

BOOLEAN                   ProfiM_RxFIFOEmpty( void *DeviceExtension );





#endif /*_PROFIBUS_H */

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色婷婷综合久久久久中文| 精品国产一区二区在线观看| 日韩一区二区免费在线电影| 亚洲四区在线观看| 国产.欧美.日韩| 欧美成人女星排行榜| 精品无人区卡一卡二卡三乱码免费卡| 欧美这里有精品| 一区二区三区精品视频| 99热精品一区二区| 国产精品毛片久久久久久久| 国产高清无密码一区二区三区| 国产婷婷色一区二区三区四区 | 精品在线播放免费| 亚洲精品成a人| 欧美精品在线一区二区三区| 亚洲成av人片在线| 6080yy午夜一二三区久久| 麻豆成人91精品二区三区| 久久综合一区二区| 色综合网色综合| 午夜精品久久久久久久99水蜜桃| 日韩一二三四区| 欧美色大人视频| 精品一区二区在线播放| 亚洲成人tv网| 亚洲夂夂婷婷色拍ww47| 欧美成人aa大片| 91精品婷婷国产综合久久竹菊| 91国偷自产一区二区三区观看| 日韩国产高清在线| 久久精品视频一区二区| 日韩精品一区二区三区中文精品| 国产不卡视频一区| 国产伦精品一区二区三区免费| 亚洲人亚洲人成电影网站色| 欧美性大战久久久久久久| 老司机午夜精品| 亚洲人成网站精品片在线观看| 中文字幕av一区二区三区高| 91精品啪在线观看国产60岁| 欧美人伦禁忌dvd放荡欲情| 国产成人免费视频精品含羞草妖精| 久久精品国内一区二区三区| 日本不卡一区二区| 亚洲免费三区一区二区| 亚洲人成网站色在线观看| 亚洲色图视频网| 亚洲欧美日韩一区| 一区二区三区产品免费精品久久75| 亚洲图片欧美激情| 香蕉成人伊视频在线观看| 亚洲国产一区二区三区| 国产精品女主播av| 亚洲特级片在线| 一区二区三区鲁丝不卡| 亚洲自拍另类综合| 日本美女一区二区| 国产一区二区三区免费在线观看| 国产精品资源网站| 麻豆成人免费电影| 国产精品99久久久久久有的能看 | 国产精品一级片在线观看| 国产精品主播直播| 99国产精品久| 国产成人无遮挡在线视频| av在线这里只有精品| 欧美在线你懂得| 日韩欧美国产综合在线一区二区三区 | 五月激情综合网| 美国欧美日韩国产在线播放| 精品一区二区免费| www.66久久| 欧美精品亚洲二区| 国产亚洲精品福利| 一区二区三区精品在线观看| 免费在线观看一区二区三区| 国产精品一二二区| 色偷偷久久一区二区三区| 欧美一级片在线看| 7777女厕盗摄久久久| 久久久久久久综合狠狠综合| 精品电影一区二区三区| 国产精品电影院| 国产精品国产三级国产| 亚洲bdsm女犯bdsm网站| 国产激情91久久精品导航| 色94色欧美sute亚洲线路一久 | 欧美高清dvd| 国产亚洲福利社区一区| 亚洲自拍偷拍九九九| 狠狠色丁香婷婷综合| 国产一区二区三区视频在线播放| 一本色道久久综合亚洲91| 欧美v亚洲v综合ⅴ国产v| 一区二区三区精密机械公司| 狠狠v欧美v日韩v亚洲ⅴ| 91黄色免费观看| 久久久久亚洲蜜桃| 日本视频免费一区| 91亚洲男人天堂| 日本高清不卡aⅴ免费网站| 日韩欧美国产一二三区| 亚洲四区在线观看| 国产一区二区剧情av在线| 欧美日韩国产一级| 亚洲欧洲性图库| 亚洲第一久久影院| 91在线一区二区| 久久婷婷成人综合色| 亚洲无线码一区二区三区| 成人动漫视频在线| 欧美日韩在线播放一区| 国产精品久久久久婷婷二区次| 麻豆精品视频在线观看| 在线观看日韩国产| 亚洲视频在线观看三级| 国产激情视频一区二区在线观看 | 中文字幕一区三区| 国产激情91久久精品导航 | 91搞黄在线观看| 国产精品久久久久久久久搜平片| 精品亚洲国产成人av制服丝袜| 欧美老肥妇做.爰bbww视频| 亚洲精品国产品国语在线app| 丁香激情综合五月| 欧美视频完全免费看| 亚洲欧美日韩在线| 一本一道波多野结衣一区二区| 国产精品视频你懂的| 丰满放荡岳乱妇91ww| 中文字幕免费不卡| 成人免费va视频| 国产精品素人视频| www.日韩精品| 亚洲日本成人在线观看| 99re这里只有精品首页| 亚洲色图色小说| 91福利视频久久久久| 亚洲女厕所小便bbb| 91麻豆国产自产在线观看| 亚洲欧美在线视频| 91免费观看在线| 一区二区国产视频| 欧美日韩国产综合草草| 视频一区二区三区在线| 99久久99久久精品免费看蜜桃| 国产精品五月天| av电影在线观看不卡| 亚洲欧洲综合另类在线| 色婷婷综合久久久中文一区二区| 一区二区久久久久久| 欧美日韩一区精品| 久久精品久久久精品美女| 久久先锋影音av鲁色资源网| 国产精品66部| 亚洲天堂福利av| 欧美精品自拍偷拍动漫精品| 免费av网站大全久久| 国产亚洲1区2区3区| 成人国产亚洲欧美成人综合网| 亚洲色图一区二区三区| 欧美美女网站色| 国产综合久久久久久久久久久久| 中文字幕二三区不卡| 欧洲精品一区二区三区在线观看| 日韩精品五月天| 久久久精品天堂| 日本道免费精品一区二区三区| 亚洲va国产天堂va久久en| 精品久久国产97色综合| 成人动漫在线一区| 午夜精品福利在线| 国产三级久久久| 国产美女一区二区三区| 日韩一区欧美小说| 欧美一个色资源| 波多野结衣中文字幕一区二区三区| 亚洲高清久久久| 国产人成亚洲第一网站在线播放 | 久久久99久久| 欧美中文字幕一二三区视频| 捆绑变态av一区二区三区| 中文字幕制服丝袜成人av| 欧美日韩成人在线一区| 国产成人在线免费观看| 亚洲va欧美va人人爽午夜| 久久久精品国产99久久精品芒果 | 91精品免费观看| 不卡av免费在线观看| 美腿丝袜亚洲综合| 亚洲蜜臀av乱码久久精品| 精品乱人伦小说| 欧美三级电影网| fc2成人免费人成在线观看播放| 免费国产亚洲视频| 亚洲与欧洲av电影| 国产日本一区二区| 欧美一区二区三区四区高清| 99久久国产免费看|