📄 abplc5.h
字号:
#ifndef __ABPLC5_H__
#define __ABPLC5_H__
#include "libabplc5.h"
#include "dbTypes.H"
#include "sesDbg.H"
#include "sesLogErr.H"
#define CIP_ERROR (-4)
#undef __EXPORT
/*#ifdef WIN32
#ifdef LIB_DLL
#define __EXPORT __declspec(dllexport)
#else
#define __EXPORT __declspec(dllimport)
#endif
#endif*/
#define __EXPORT
/*---------------------------------------------------------------------------
** 变量名的别名,便于代码与操作系统分离
**---------------------------------------------------------------------------
*/
#ifdef WIN32
typedef int BOOL;
typedef int INT32;
typedef unsigned int UINT32;
#else
typedef unsigned char BOOL;
typedef signed long INT32;
typedef unsigned long UINT32;
#endif
//typedef int CIP_INT;
//typedef void CIP_VOID;
typedef signed char INT8;
typedef unsigned char UINT8;
typedef char CIP_CHAR;
typedef signed short INT16;
typedef unsigned short UINT16;
typedef float CIP_FLOAT;
typedef double CIP_DOUBLE;
typedef INT16 LeINT16;
typedef INT32 LeINT32;
typedef UINT16 LeUINT16;
typedef UINT32 LeUINT32;
#ifdef WIN32
#define EXTFUNC extern "C"
#else
#define EXTFUNC extern
#endif
#if 0
/*---------------------------------------------------------------------------
** TAG DATA TYPE
**---------------------------------------------------------------------------
*/
typedef enum TagDataTypeID
{
cipUNKNOWN = 0,
cipLOGICAL,
cipUINT8,
cipINT8,
cipUINT16,
cipINT16,
cipUINT32,
cipINT32,
cipFLOAT,
cipDOUBLE,
cipTIME, /*PLC系统时钟*/
cipBYTES4,
cipBYTES8,
cipBYTES16,
cipBYTES20,
cipBYTES32,
cipBYTES48,
cipBYTES64,
cipBYTES128,
cipBYTES200,
cipBYTES256,
cipREF,
cipDWORD
}TagDataTypeID;
#endif
/*TAG 长度*/
#define TAG_MAX_LENGTH 64
//typedef unsigned char CIP_CHAR;
typedef dtTypeEnum TagDataTypeID;
//typedef void (*CIPPublishData)(void *,char *,int,void *);
typedef struct TagData
{
CIP_CHAR TagName[TAG_MAX_LENGTH]; /*标签名称*/
TagDataTypeID type; /*数据类型*/
dtUInt16 rowStart; //数组第一维起始位置
dtUInt16 colStart; //数组第二维起始位置 //
dtUInt16 row; /*数组的第一维*/
dtUInt16 col; /*数组的第二维*/
CIP_CHAR* tagData; /*存放返回的数据*/
}TagData;
/* __EXPORT class CIP
{
private:
int debug;
_comm_header *comm;
_tag_detail *tag;
_path *path;
_rack *rack;
_services *services;
_backplane_data *backplane;
public:
CIP();
~CIP();
int ToConnection(char *HostName);
//result 0:成功 其他:失败
int ToReadAtomicByTag(char *program,char *tagname, _tag_detail *tag);
int ToWriteAtomicByTag(char *program,char *tagname, _tag_detail *tag);
};*/
//////////////////////////////////////////////////////////////////////
class ABPLC5
{
private:
int debug;
struct _comm comm;
bool m_bConnected;
int m_iPLCType;
sesDbg *m_pDbg; // ptr to the debug object
sesLogErr *m_eLog; // ptr to the Log Error object
public:
ABPLC5(int iPLCType,sesDbg *dbg,sesLogErr *eLog);
~ABPLC5();
public:
INT32 ToConnection( CIP_CHAR* _HostName, INT32 _debug);
INT32 ToClose( INT32 debug );
bool get_Connnected(void){return m_bConnected;}
void set_Connnected(bool _val){m_bConnected=_val;}
INT32 ToReadTagValue( TagData* pTagData, INT32 _debug );
INT32 ToWriteTagValue( TagData* pTagData, INT32 _debug );
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -