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

📄 netdefine.h

📁 这是一个变电站的监控程序
💻 H
字号:
#include "stdafx.h"
//********************************************************************
struct NETSEND
{
	long		TxCount;
	char 		TXBUF_addr[DATAGRAM_LEN];
	BOOL		txfinishflag;
};

//********************************************************************
struct NETRCV
{
	long  	RxCount;
	char  	RXBUF_addr[DATAGRAM_LEN];
	BOOL  	rxfinishflag;
};


class GRAMHEAD
{
public:
	BYTE	DestType;		//'G' 'F' 'H'
	BYTE	DestId;			//A B C D
	BYTE	SourceType;		//F H
	BYTE	SourceId;		//A B C D
	BYTE	SourceNo;		// not use .0--6.     0,1 is fert.   2,3,4... is back.
	WORD	TxCount;
	BYTE	FertStatus;
	BYTE	CmdCode;
	WORD	Length;
};

//********************************************************************
class CREGISTER
{
public:
	BYTE	NodeNo;			//0--6
	BYTE	NodeType;		//F H
	BYTE	NodeId;			//A  B  C  D  == NodeId
	BYTE	NodeState;     //M/S
};

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

class NetProcess
{
///////////////////////
//常量				//
	int YcSendCycle;
	int YxSendCycle;		//
	int KwhSendCycle;//
	int WaterSendCycle;//
	int FreqSendCycle;
	int ChannelSendCycle;//
	int ATBSendCycle;
	int TimeSendCycle;//
//常量
/////////////////////////////////
	int	Count;

	NETRCV  NetRcv[NET_RECBUF_NUM];
	NETSEND NetSend;

	u_short       portno;	//boardcast diagram
	SOCKET        sock;
	SOCKADDR_IN   local_sin;
	BOOL		  sockflag;

	SOCKADDR_IN   remot_sin_send;
	SOCKADDR_IN   remot_sin_recv;
	int           remot_sin_send_len;
	int           remot_sin_recv_len;

	char SendRegisterFlag;
	char SendEventFlag;
	char SendYxFlag;
	char SendATBFlag;
	char SendYKEchoFlag;
	char SendYcFlag;
	char SendKwhFlag;
	char SendChannelFlag;
	char SendFreqFlag;
	char SendWaterFlag;
	char SendTimeFlag;

	int YcSendRtuNo;
	int KwhSendRtuNo;
	int YxwSendRtuNo;
	int FreqSendRtuNo;
	int WaterSendRtuNo;

	WORD	TxCounts;
	char  thisnodename[20];

	char  mainhostno;//kill
	char  mainfertno;//kill

	NODEMSG NodeMsg1;
	NODEMSG NodeMsg2;
	NODEMSG NodeMsgFert;


	char UdpBufNo;
	char TcpBufNo;
	char FertBufNo;
	char UdpBufProNo;
	char TcpBufProNo;
	char FertBufProNo;
	char DupName;

	long	NetFertRXCount;
	long	NetHostRXCount;

public:
	char SendSysParaFlag;
	char SendChannelParaFlag;
	char SendRtuParaFlag;
	BYTE ModifyParaNo[2];//[0]:ChannelNo, [1]:RtuNo
	char  ThisNodeId;
	char  mainfertid;
	char SendCancelFlag;
	int  Receive_ATB_Number;
	int  Previous_Receive_ATB_Number;
	char  mainhostid;
	int ZFRtuNo;
////////////////////////////////
//函数说明
private:
	void	MakeEventFrame();
	void	MakeYcFrame();
	void	MakeYxFrame();
	void	MakeFreqFrame();
	void	MakeKwhFrame();
	void	MakeWaterFrame();
	void	MakeChannelFrame();
	void	MakeATBFrame();
	void	MakeRegisterFrame();
	void	MakeYKEchoFrame();
	void	MakeCancelFrame();
	void	MakeTimeFrame();
	void	XmitDataGram ();

	BOOL	FillAddr(PSOCKADDR_IN psin,int index);
	void	FertGram(LPSTR ProBuf);
	void	HostGram(LPSTR ProBuf);
	void	CreateBoardSocket();

//	void	SaveARtuPara(int RtuNo);
//	void	SaveSystemPara(SYSTEMCOUNT *SystemCount1 );
//	void	SaveAChPara(int ChNo);

	void	MakeSysParaFrame();
	void	MakeRtuParaFrame();
	void	MakeChannelParaFrame();
public:
	void	UdpRx();
	void	UdpRxPro();
	void	NetSendFlag();
	void	NetSendFrame();
	void	InitNet();
	NetProcess();
};

⌨️ 快捷键说明

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