#ifndef Z_OUTER_ENUM_H
#define Z_OUTER_ENUM_H





enum class enumMCProtocol : char {
	GXSim2 = 0x02,
	GXSim3 = 0x04,
	MC3E = 0x3E,
	MC4E = 0x4E,
	MC2F = 0x2F,
	MC3F = 0x3F,
	MC4F = 0x4F,
	MC5F = 0x5F,
	
};

enum class enumMCFrame : char {
	C2 = 0x2C,
    C3 = 0x3C,
	C4 = 0x4C
};


enum class enumIsBinary : char {
	True = 0x01,
	False = 0x00,
};

enum class  enumPLC : char {
	GX2 = 1,
	GX3 = 2,
	Q = 3,
	R = 4,
};


enum class  enumQPLC : char {
	_Non = 4,
	H = 4,
	J = 1,
	PH = 1,
	PRH = 1,
	UJ = 2,
	U = 2,
	UD = 2,
	UDE = 2,
	UDH = 2,
	UDEH = 2,
	UDV = 3,
	UDPV = 3,
};

enum class  enumRPLC : char {
	_Non = 11,
	EN = 12,
	P = 13,
	PSF = 14,
	SF = 15,
	FX5 = 101
};


enum class enumErrorCode : int {
	NothingErr = 0x01,
	CloseErr = 0x02,

	RcvDatErr = 0x11,

	NoTelegramThreahold = 0x30,


	//0x31- 0x4F  データを受信できてないケース
	OpenErr = 0x31,
	DevShortErr = 0x32,
	DevFormatErr = 0x33,
	SendErr = 0x34,
	RcvTimeOut = 0x35,
	RcvErr = 0x36,


	CPUErrorThreshold = 0x50,
	//以下,マニュアル準拠エラー番号

	_NoDevice = 0x01802002

	
};




enum class isWORD : char {
	D = 1,
	W = 1,
	TN = 1,
	CN = 1,
	Z = 1,
	ZR = 1,
	R = 1,
	M = 0,
	X = 0,
	Y = 0,
	L = 0,
	B = 0,
	TS = 0,
	TC = 0,
	CS = 0,
	CC = 0,
	V = 1,
	F = 1
};

enum class isHEX : char {
	D = 0,
	W = 1,
	TN = 0,
	CN = 0,
	Z = 0,
	ZR = 0,
	R = 0,
	M = 0,
	X = 1,
	Y = 1,
	L = 0,
	B = 1,
	TS = 0,
	TC = 0,
	CS = 0,
	CC = 0,
	V = 0,
	F = 0
};






#endif