?? pbprocomm.h
字號:
// PbproComm.h: interface for the PbproComm class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(_PBPROCOMM_H)
#define _PBPROCOMM
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
//#include "StdAfx.h" // 2008-5-9
//#include "ScanSlavesDlg.h" //2008-4-19
//#include <afxcmn.h>
#define SWAP16(x) ( (x >> 8) | (x << 8) )
#define pub_iBufferLen 255
#define BOARD_NUMBER 0
#define DP_MAX_SERVICE_RETRY 10
#define getrandom(min, max) \
((rand()%(int)(((max) + 1)-(min)))+ (min))
#define PROFI_RCV_CON_IND() \
con_ind_buffer_len = 255; \
result = profi_rcv_con_ind (&con_ind_sdb, con_ind_buffer, &con_ind_buffer_len); \
Sleep(10);\
// if (result != 0x01)AfxMessageBox(s, MB_ICONERROR); \
//if (result == E_IF_FATAL_ERROR) handle_fatal_error ((T_EXCEPTION*) con_ind_buffer)
typedef struct _T_DP_ACTIVE_SLAVES
{
T_DP_SLAVE_PARA_SET *SlavePrmSet;
USIGN8 SlaveAdd;
int ind;
}T_DP_ACTIVE_SLAVES;
class CPbproComm
{
public:
PbproComm();
virtual ~CPbproComm();
public:
T_DP_ACTIVE_SLAVES Activeslaves[DP_MAX_SLAVE_ADDRESS]; //2008-5-9
//int AtciveslavesGetSize; //2008-5-9
int ActiveslavesSize; //2008-5-9
int ActiveslavesAdd; //2008-5-9
//CString m_richEditStr;
unsigned char pub_tBuffer[250];
int pub_bSlaveAddress ;
int pub_bMasterAddress;
//CArray<T_DP_ACTIVE_SLAVES,T_DP_ACTIVE_SLAVES> Activeslaves;
T_PROFI_SERVICE_DESCR pub_tSdb;
//int HowManySlaves; //2008-5-11
T_PROFI_SERVICE_DESCR sdb;
T_DP_INIT_MASTER_REQ init_master_req;
//USIGN8 howmanyslaves; //slave 數量 初始為0 2008-5-11
USIGN8 download_buffer [255];
USIGN8 Input_data[DP_MAX_SLAVE_ADDRESS] [DP_MAX_OUTPUT_DATA_LEN];
USIGN8 Output_data[DP_MAX_SLAVE_ADDRESS] [DP_MAX_INPUT_DATA_LEN];
USIGN8 FAR* DPV1_ReaddataPtr;
T_DP_DOWNLOAD_REQ* download_req_ptr;
T_DP_BUS_PARA_SET* bus_para_set_ptr;
T_DP_SLAVE_PARA_SET* slave_para_set_ptr;
public:
void RemoveSlaves(); //2008-5-9
update_input_data();
write_data();
PB_BOOL initialize_application();
// OutPutString( char *message );
PB_BOOL dp_data_exchange( void ); //2008-5-20
/////////////////////////////////////////////////////
//PB_BOOL dp_data_exchange( UINT slavenumber); //2008-5-21
/////////////////////////////////////////////////////
void check_options (char options [] );
INT16 init_profi(void);
void print_usage();
void print_papi_firmware_version();
void print_version(void);
PB_BOOL exit_communication(void);
PB_BOOL dp_io_offsets(void);
void dp_get_slave_diag_con (T_DP_GET_SLAVE_DIAG_CON* get_slave_diag_con_ptr);
PB_BOOL dp_get_slave_diag_req(void);
PB_BOOL dp_act_param_loc_req( USIGN8 identifier);
PB_BOOL dp_download_slave_req( T_DP_ACTIVE_SLAVES ActiveSlave);
PB_BOOL dp_upload_slave_req( USIGN8 slave_offset);
PB_BOOL dp_upload_bus_req(void);
PB_BOOL dp_download_bus_req(void);
PB_BOOL dp_init_master_req(void);
PB_BOOL fmb_set_configuration_req(void);
void handle_fatal_error(T_EXCEPTION * exception);
void read_dp_master_default ( void );
void read_dp_bus_default( void );
PB_BOOL dp_slave_scan (void );
PB_BOOL read_dp_slave_default (USIGN8 slave_offset );
PB_BOOL fmb_exit ( void );
PB_BOOL dp_set_prm_slave_req ( T_DP_ACTIVE_SLAVES ActiveSlave );
//////////////////////////////////DPV1 FUNCTION///////////////////////////
USIGN16 max_length;
USIGN16 comm_ref;
INT16 dp_initiate_req ( IN USIGN16 send_timeout,USIGN8 bShowSlave );
INT16 dp_abort_req( VOID );
INT16 dp_write_req(IN USIGN8 slot_number,IN USIGN8 index);
INT16 dp_read_req (IN USIGN8 slot_number, IN USIGN8 index);
PB_BOOL dp_get_slave_prm_data ( void ) ;
};
#endif // !defined(AFX_PBPROCOMM_H__B0DFDAB6_EBA4_4D4A_A4F6_C7ED83B162F4__INCLUDED_)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -