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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mm_rab.lib

?? modbus 運用事例
?? LIB
?? 第 1 頁 / 共 4 頁
字號:

NOTE: MM_RAB.LIB functions are generally not reentrant.

SYNTAX: int mmIn(unsigned wAddr, unsigned wInput, unsigned wCount,
                 void *pInputs)

DESCRIPTION: Modbus Master query 0x02, Read Input Status. Reads the
status (ON == 1, OFF == 0) of discrete inputs (1X references) in the
slave device. Places the present state of the selected discrete inputs
into the buffer pointed to by *pInputs, one input per bit with the
starting input number in the least significant bit of the buffer's
first byte. The buffer size should be no less than 'ceil(wCount / 8.0)'
bytes. If wCount is not evenly divisible by eight the unused bits of
the last required byte are cleared to zero.

PARAMETER1: slave address, broadcast (0x00) is not supported.
PARAMETER2: starting 1X input number (zero based).
PARAMETER3: inputs count (one based).
PARAMETER4: input information buffer pointer.

RETURN VALUE: 0 (MM_BUSY) if busy, -1 (MM_OK) if success, or exception
code (from master if < -1 or from slave if > 0). See the MM_* and MS_*
definitions near the start of MM_RAB.LIB for the complete list.
END DESCRIPTION ******************************************************/

nodebug
int mmIn(unsigned wAddr, unsigned wInput, unsigned wCount,
         void *pInputs)
{
	return mmCoilRd(wAddr, 0x02, wInput, wCount, pInputs);
}

/*=========================================================================*\
	[0x03] Read Holding Registers
\*=========================================================================*/

/*** BeginHeader mmRead */
int mmRead(unsigned,unsigned,unsigned,void *);
/*** EndHeader */

/* START FUNCTION DESCRIPTION *****************************************
mmRead                        <MM_RAB.LIB>

NOTE: MM_RAB.LIB functions are generally not reentrant.

SYNTAX: int mmRead(unsigned wAddr, unsigned wReg, unsigned wCount,
                   void *pwRegs)

DESCRIPTION: Modbus Master query 0x03, Read Holding Registers. Reads
the contents of holding registers (4X references) in the slave device.
Places the present contents of the selected registers into the buffer
pointed to by *pRegs, 16-bits per register with the starting register
number at the beginning of the buffer. The buffer size should be no
less than 'wCount * 2' bytes.

PARAMETER1: slave address, broadcast (0x00) is not supported.
PARAMETER2: starting 4X register number (zero based).
PARAMETER3: registers count (one based).
PARAMETER4: registers information buffer pointer.

RETURN VALUE: 0 (MM_BUSY) if busy, -1 (MM_OK) if success, or exception
code (from master if < -1 or from slave if > 0). See the MM_* and MS_*
definitions near the start of MM_RAB.LIB for the complete list.
END DESCRIPTION ******************************************************/

nodebug
int mmRead(unsigned wAddr, unsigned wReg, unsigned wCount,
           void *pwRegs)
{
	return mmRegRd(wAddr, 0x03, wReg, wCount, pwRegs);
}

/*=========================================================================*\
	[0x04] Read Input Registers
\*=========================================================================*/

/*** BeginHeader mmInput */
int mmInput(unsigned,unsigned,unsigned,void *);
/*** EndHeader */

/* START FUNCTION DESCRIPTION *****************************************
mmInput                       <MM_RAB.LIB>

NOTE: MM_RAB.LIB functions are generally not reentrant.

SYNTAX: int mmInput(unsigned wAddr, unsigned wReg, unsigned wCount,
                    void *pRegs)

DESCRIPTION: Modbus Master query 0x04, Read Input Registers. Reads the
contents of input registers (3X references) in the slave device. Places
the present contents of the selected registers into the buffer pointed
to by *pRegs, 16-bits per register with the starting register number at
the beginning of the buffer. The buffer size should be no less than
'wCount * 2' bytes.

PARAMETER1: slave address, broadcast (0x00) is not supported.
PARAMETER2: starting 3X register number (zero based).
PARAMETER3: registers count (one based).
PARAMETER4: registers information buffer pointer.

RETURN VALUE: 0 (MM_BUSY) if busy, -1 (MM_OK) if success, or exception
code (from master if < -1 or from slave if > 0). See the MM_* and MS_*
definitions near the start of MM_RAB.LIB for the complete list.
END DESCRIPTION ******************************************************/

nodebug
int mmInput(unsigned wAddr, unsigned wReg, unsigned wCount,
            void *pRegs)
{
	return mmRegRd(wAddr, 0x04, wReg, wCount, pRegs);
}

/*=========================================================================*\
	[0x05] Force Single Coil
\*=========================================================================*/

/*** BeginHeader mmForceCoil */
int mmForceCoil(unsigned,unsigned,int);
/*** EndHeader */

/* START FUNCTION DESCRIPTION *****************************************
mmForceCoil                   <MM_RAB.LIB>

NOTE: MM_RAB.LIB functions are generally not reentrant.

SYNTAX: int mmForceCoil(unsigned wAddr, unsigned wCoil, int bState)

DESCRIPTION: Modbus Master query 0x05, Force Single Coil. Forces a
single coil (0X reference) to either ON (1) or OFF (0). When broadcast,
this function forces the same coil reference in all attached slave
devices.

PARAMETER1: slave address, broadcast (0x00) is supported.
PARAMETER2: 0X coil number (zero based).
PARAMETER3: binary state (OFF == zero, ON == non-zero).

RETURN VALUE: 0 (MM_BUSY) if busy, -1 (MM_OK) if success, or exception
code (from master if < -1 or from slave if > 0). See the MM_* and MS_*
definitions near the start of MM_RAB.LIB for the complete list.
END DESCRIPTION ******************************************************/

nodebug
int mmForceCoil(unsigned wAddr, unsigned wCoil, int bState)
{
	auto int nErr;

	nErr = MM_BUSY;
	costate
	{
		mmCmdNew(wAddr, 0x05);						//	Start New Command
		mmCmdWord(wCoil);								//	Coil Address
		mmCmdWord(bState ? 0xFF00 : 0x0000);	//	Coil State
		waitfor(nErr = mmExec());					//	Finish & Execute Packet
	}
	return nErr;
}

/*=========================================================================*\
	[0x06] Preset Single Register
\*=========================================================================*/

/*** BeginHeader mmPresetReg */
int mmPresetReg(unsigned,unsigned,unsigned);
/*** EndHeader */

/* START FUNCTION DESCRIPTION *****************************************
mmPresetReg                   <MM_RAB.LIB>

NOTE: MM_RAB.LIB functions are generally not reentrant.

SYNTAX: int mmPresetReg(unsigned wAddr, unsigned wReg, unsigned wVal)

DESCRIPTION: Modbus Master query 0x06, Preset Single Register. Presets
a value into a single holding register (4X reference). When broadcast,
this function presets the same register reference in all attached slave
devices.

PARAMETER1: slave address, broadcast (0x00) is supported.
PARAMETER2: 4X register number (zero based).
PARAMETER3: 16-bit preset value.

RETURN VALUE: 0 (MM_BUSY) if busy, -1 (MM_OK) if success, or exception
code (from master if < -1 or from slave if > 0). See the MM_* and MS_*
definitions near the start of MM_RAB.LIB for the complete list.
END DESCRIPTION ******************************************************/

nodebug
int mmPresetReg(unsigned wAddr, unsigned wReg, unsigned wVal)
{
	auto int nErr;

	nErr = MM_BUSY;
	costate
	{
		mmCmdNew(wAddr, 0x06);		//	Start New Command
		mmCmdWord(wReg);				//	Register Address
		mmCmdWord(wVal);				//	Register Value
		waitfor(nErr = mmExec());	//	Finish & Execute Packet
	}
	return nErr;
}

/*=========================================================================*\
	[0x07] Read Exception Status
\*=========================================================================*/

/*** BeginHeader mmRdExcStat */
int mmRdExcStat(unsigned,void *);
/*** EndHeader */

/* START FUNCTION DESCRIPTION *****************************************
mmRdExcStat                   <MM_RAB.LIB>

NOTE: MM_RAB.LIB functions are generally not reentrant.

SYNTAX: int mmRdExcStat(unsigned wAddr, void *pbStatus)

DESCRIPTION: Modbus Master query 0x07, Read Exception Status. Reads the
contents of eight exception status coils within the slave device. The
assignment and meaning of each coil (one per bit) depends on the type
of slave device and may be either predefined or programmable. Places
the exception status into the byte pointed to by *pcStatus.

PARAMETER1: slave address, broadcast (0x00) is not supported.
PARAMETER2: exception status byte pointer.

RETURN VALUE: 0 (MM_BUSY) if busy, -1 (MM_OK) if success, or exception
code (from master if < -1 or from slave if > 0). See the MM_* and MS_*
definitions near the start of MM_RAB.LIB for the complete list.
END DESCRIPTION ******************************************************/

nodebug
int mmRdExcStat(unsigned wAddr, void *pbStatus)
{
	auto int nErr;

	if(!wAddr)
	{
		nErr = MM_NOBROAD;				//	Broadcast Not Supported
	}
	else
	{
		nErr = MM_BUSY;
		costate
		{
			mmCmdNew(wAddr, 0x07);		//	Start New Command
			waitfor(nErr = mmExec());	//	Finish & Execute Packet
			if(nErr == MM_OK)
			{
				* (unsigned char *) pbStatus = acMMRep[2];
			}
		}
	}
	return nErr;
}

/*=========================================================================*\
	[0x0B] Fetch Comm Event Counter
\*=========================================================================*/

/*** BeginHeader mmFetchCommCnt */
int mmFetchCommCnt(unsigned,void *,void *);
/*** EndHeader */

/* START FUNCTION DESCRIPTION *****************************************
mmFetchCommCnt                <MM_RAB.LIB>

NOTE: MM_RAB.LIB functions are generally not reentrant.

SYNTAX: int mmFetchCommCnt(unsigned wAddr, void *pwCount,
                           void *pwStatus)

DESCRIPTION: Modbus Master query 0x0B, Fetch Comm Event Counter. The
response is a status word and an event count from the slave device's
communications event counter. Places the communications event count
into the 16-bit word pointed to by *pwCount and the status word (0xFFFF
if busy, 0x0000 otherwise) into the 16-bit word pointed to by
*pwStatus.

PARAMETER1: slave address, broadcast (0x00) is not supported.
PARAMETER2: communications event count pointer.
PARAMETER3: status word pointer.

RETURN VALUE: 0 (MM_BUSY) if busy, -1 (MM_OK) if success, or exception
code (from master if < -1 or from slave if > 0). See the MM_* and MS_*
definitions near the start of MM_RAB.LIB for the complete list.
END DESCRIPTION ******************************************************/

nodebug
int mmFetchCommCnt(unsigned wAddr, void *pwCount,
                   void *pwStatus)
{
	auto int nErr;

	if(!wAddr)
	{
		nErr = MM_NOBROAD;				//	Broadcast Not Supported
	}
	else
	{
		nErr = MM_BUSY;
		costate
		{
			mmCmdNew(wAddr, 0x0B);		//	Start New Command
			waitfor(nErr = mmExec());	//	Finish & Execute Packet
			if(nErr == MM_OK)
			{
				* (unsigned *) pwCount = mmRepWord(4);
				* (unsigned *) pwStatus = mmRepWord(2);
			}
		}
	}
	return nErr;
}

/*=========================================================================*\
	[0x0F] Force Multiple Coils
\*=========================================================================*/

/*** BeginHeader mmForceCoils */
int mmForceCoils(unsigned,unsigned,unsigned,void *);
/*** EndHeader */

/* START FUNCTION DESCRIPTION *****************************************
mmForceCoils                  <MM_RAB.LIB>

NOTE: MM_RAB.LIB functions are generally not reentrant.

SYNTAX: int mmForceCoils(unsigned wAddr, unsigned wCoil,
                         unsigned wCount, void *pCoils)

DESCRIPTION: Modbus Master query 0x0F, Force Multiple Coils. Forces
each coil (0X reference) in a sequence of coils to either ON (1) or
OFF (0), one coil per bit with the starting coil number in the least
significant bit of the buffer's first byte. If wCount is not evenly
divisible by eight the unused bits in the last byte should be cleared
to zero. When broadcast, this function forces the same coil references
in all attached slave devices.

PARAMETER1: slave address, broadcast (0x00) is supported.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产在线视视频有精品| 五月婷婷久久综合| 欧美美女激情18p| 久99久精品视频免费观看| 国产精品卡一卡二卡三| 91精品国产色综合久久ai换脸 | 日韩影视精彩在线| 国产亚洲成av人在线观看导航| 91国产福利在线| 国产风韵犹存在线视精品| 一区二区久久久久| 国产喂奶挤奶一区二区三区| 欧美高清性hdvideosex| 91视频91自| 国产一区二区美女| 亚洲高清在线精品| 亚洲欧洲99久久| 久久久777精品电影网影网| 欧美日韩国产首页在线观看| aaa欧美色吧激情视频| 国内一区二区在线| 青青草97国产精品免费观看 | 成人午夜视频福利| 久久99精品久久久久婷婷| 亚洲综合色在线| 亚洲三级久久久| 国产精品久久久久久久久搜平片| 欧美刺激午夜性久久久久久久| 欧美日韩免费一区二区三区视频| 91女神在线视频| 99久久精品国产麻豆演员表| 国产高清不卡二三区| 激情小说欧美图片| 韩国av一区二区三区四区| 玖玖九九国产精品| 蜜桃免费网站一区二区三区| 日韩精彩视频在线观看| 一级日本不卡的影视| 亚洲最新视频在线观看| 伊人一区二区三区| 亚洲老司机在线| 亚洲综合一二区| 一区二区三区日韩精品视频| 亚洲精品中文在线| 亚洲精品国产高清久久伦理二区| 成人欧美一区二区三区1314| 国产精品成人一区二区三区夜夜夜| 中文字幕av一区二区三区免费看| 久久精品人人做人人综合| 国产亚洲综合色| 国产精品理论在线观看| 亚洲欧美综合色| 亚洲乱码一区二区三区在线观看| 亚洲精品中文字幕乱码三区| 亚洲成人午夜电影| 视频一区二区欧美| 九色综合国产一区二区三区| 国产精品一区二区在线观看网站| 大白屁股一区二区视频| 99精品一区二区| 欧美日韩一区二区三区视频| 91精品国产一区二区人妖| 久久综合九色综合欧美98 | 国产精品白丝在线| 亚洲欧美另类综合偷拍| 亚洲成a人片综合在线| 青青草91视频| 成人免费黄色大片| 91视频一区二区| 欧美日本视频在线| 精品日韩在线观看| 国产精品久久久久久久浪潮网站| 一区二区不卡在线视频 午夜欧美不卡在| 丝袜诱惑制服诱惑色一区在线观看| 免费观看日韩电影| 国产宾馆实践打屁股91| 色哟哟国产精品| 日韩欧美国产1| 中文字幕在线免费不卡| 视频一区国产视频| 成人听书哪个软件好| 欧美色综合天天久久综合精品| 日韩欧美一卡二卡| 亚洲欧美日韩国产中文在线| 麻豆免费精品视频| 99热精品一区二区| 91麻豆精品国产无毒不卡在线观看| 久久久久久久久久久久久夜| 亚洲精品一二三| 国产夫妻精品视频| 欧美高清一级片在线| 综合久久国产九一剧情麻豆| 裸体健美xxxx欧美裸体表演| 91在线免费播放| 日韩欧美国产三级| 亚洲一区在线观看免费观看电影高清| 久久99久国产精品黄毛片色诱| 99久久精品国产精品久久| 欧美v国产在线一区二区三区| 亚洲靠逼com| 成人毛片在线观看| 欧美大尺度电影在线| 一区二区三区小说| 丁香桃色午夜亚洲一区二区三区| 欧美久久久久免费| 亚洲美女一区二区三区| 国产精品一品视频| 91精品国产一区二区| 亚洲一区二区三区爽爽爽爽爽| 国产91清纯白嫩初高中在线观看| 欧美精品一卡两卡| 亚洲激情男女视频| 成人免费毛片高清视频| 亚洲精品一区二区三区影院 | 不卡的看片网站| 亚洲精品一区二区三区蜜桃下载 | 欧美高清视频一二三区| 亚洲女人的天堂| 成人午夜伦理影院| 国产亚洲一二三区| 久久草av在线| 日韩精品在线看片z| 午夜精品福利一区二区三区av| 99re热这里只有精品免费视频| 国产午夜久久久久| 国产精品123区| 久久亚区不卡日本| 国内精品免费在线观看| 日韩一二三区不卡| 日韩av一二三| 欧美一区二区三区小说| 日韩精品久久理论片| 国产欧美日韩不卡| 精品亚洲国产成人av制服丝袜| 91精品免费观看| 青青草视频一区| 精品国产91亚洲一区二区三区婷婷 | 蜜臀av一区二区| 欧美一区二区观看视频| 日本va欧美va精品发布| 欧美久久久久久久久久| 日韩精品久久久久久| 日韩免费视频一区二区| 开心九九激情九九欧美日韩精美视频电影| 日韩一区二区三| 韩国v欧美v日本v亚洲v| 久久精品男人天堂av| av亚洲精华国产精华精| 亚洲欧美另类久久久精品 | 91麻豆123| 亚洲综合在线免费观看| 欧美视频在线观看一区二区| 亚洲国产欧美一区二区三区丁香婷| 欧美私模裸体表演在线观看| 天堂蜜桃一区二区三区| 日韩亚洲国产中文字幕欧美| 九九久久精品视频| 国产精品毛片高清在线完整版| 成人深夜在线观看| 亚洲精品国产a| 91精品国产全国免费观看| 久久99国产精品麻豆| 日本一区二区三区高清不卡| 97久久精品人人澡人人爽| 亚洲午夜久久久久久久久电影网 | 久久久亚洲综合| gogo大胆日本视频一区| 亚洲一区二区精品视频| 日韩三级在线免费观看| 高清成人免费视频| 亚洲欧美视频在线观看| 91精品欧美久久久久久动漫| 亚洲自拍偷拍av| 蜜桃视频在线观看一区| 国产精品嫩草影院av蜜臀| 91福利国产成人精品照片| 青草国产精品久久久久久| 日本一区二区三区在线不卡 | 日韩欧美一区中文| 国产福利电影一区二区三区| 夜夜亚洲天天久久| 精品福利av导航| 色猫猫国产区一区二在线视频| 日韩精品成人一区二区在线| 国产精品欧美一区喷水| 制服丝袜亚洲色图| 成人午夜大片免费观看| 婷婷综合另类小说色区| 中日韩免费视频中文字幕| 欧美日韩精品三区| 成人综合婷婷国产精品久久| 午夜电影一区二区三区| 国产精品网站在线播放| 欧美一级理论片| 色综合久久久久综合99| 国产盗摄一区二区| 日韩成人精品视频| 亚洲色图都市小说| 国产亚洲精品aa| 日韩精品最新网址|