modbus.st

来自「moudbus通讯协议, moudbus通讯协议, moudbus通讯协议,」· ST 代码 · 共 53 行

ST
53
字号
#include "..\Header Files\Modbus.h"
#include <.\Memory\Header Files\RAMex.h>
#include <.\Memory\Header Files\RAMex.h>
#include <.\RTOSlib\Header Files\System.h>
#include <.\Loader\Code\RTOS_PRIVDefs.H>
#include <.\Loader\Code\RTOS_Scan.h>
#define OBJECTS_CONFIG


FUNCTION Modbus::@STD
VAR_OUTPUT
	ret_code		: CONFSTATES;
END_VAR
VAR
	CmdTable	: CMDMETH;
END_VAR

	//Command Methods
	InitCmdTable (nCmd := nSTDCMD + USER_CNT_Modbus, pCmd := #CmdTable);

	CmdTable.Init		:=#Init();
	CmdTable.CyWork		:=#CyWork();

	Status.pMeth		:= StoreCmd (pCmd := #CmdTable, SHARED);

	IF Status.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		return;
	END_IF;
END_FUNCTION //Modbus::@STD


FUNCTION GLOBAL TAB Modbus::@CT_0000
CG_MODBUS, TY_MODBUS,
NOBASECLS_GUID,
(SIZEOF(::Modbus))$UINT, 1, 10, 0$UINT,
(::Modbus.Status.pMeth)$UINT, _CH_CMD $USINT, "Status",
(::Modbus.Slave_Address.pCh)$UINT, _CH_CLT_DATA $USINT, "Slave_Address",
(::Modbus.DataMemory.pCh)$UINT, _CH_CLT_OBJ $USINT, CG_RAMex, "DataMemory",
(::Modbus.I_O_Memory.pCh)$UINT, _CH_CLT_OBJ $USINT, CG_RAMex, "I_O_Memory",
(::Modbus.ComNr.pCh)$UINT, _CH_CLT_DATA $USINT, "ComNr",
(::Modbus.Baudrate.pCh)$UINT, _CH_CLT_DATA $USINT, "Baudrate",
(::Modbus.SerParity.pCh)$UINT, _CH_CLT_DATA $USINT, "SerParity",
(::Modbus.StopBit.pCh)$UINT, _CH_CLT_DATA $USINT, "StopBit",
(::Modbus.Wordlength.pCh)$UINT, _CH_CLT_DATA $USINT, "Wordlength",
(::Modbus.Timeout_preset.pCh)$UINT, _CH_CLT_DATA $USINT, "Timeout_preset",
(::Modbus.system.pCh)$UINT, _CH_CLT_OBJ $USINT, CG_System, "system",
0 $UINT,
0$UINT
END_FUNCTION

⌨️ 快捷键说明

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