菜单

错误诊断

错误诊断

如果出现不理想的操作行为,可能需要进行扩展诊断。可以通过查看ACP服务的错误代号查看,详情可见下:

#ifndef LIBACP_LIBACPERR_H_

#define LIBACP_LIBACPERR_H_

enum AcpErrors {

ACP_ERR_SUCCESS = 0x0000,

// 通讯状态的变化

ACP_ERR_CONN_SUCCESS = 0x0001, // 连接成功

ACP_ERR_CONN_PENDING = 0x0002, // 正在连接

ACP_ERR_NO_CONN = 0x0003, // 未连接

ACP_ERR_CONN_REFUSED = 0x0004, // 拒绝连接

ACP_ERR_CONN_LOST = 0x0005, // 断开连接

ACP_ERR_CONN_TIMEOUT = 0x0006, // 连接超时

ACP_ERR_HOSTUNREACHABLE = 0x0007, // Host unreachable

ACP_ERR_AUTH_CONTINUE = 0x0008, // 需要权限认证

// 基础通讯协议类的错误

ACP_ERR_INVALID_ACPDEVICEID = 0x1001, // 无效的AcpDeviceId

ACP_ERR_INVAILD_IDGROUP, // 无效的id group

ACP_ERR_INVAILD_IDOFFSET, // 无效的id offset

ACP_ERR_INVAILD_DATAPACKAGE_LEN, // 无效的数据包长度

ACP_ERR_INVAILD_PORT, // 无效的port port号1-65535

ACP_ERR_PORT_UNREGISTER, // 路由port未注册

ACP_ERR_PORT_ALREADY_REGISTER, // 路由port号已经被注册了

ACP_ERR_MESSAGE_TIMEOUT, // 消息超时

ACP_ERR_UNKNOWN_CMDID, // 未知的CmdId

ACP_ERR_UNKNOWN_TOPIC, // 未知的topic

ACP_ERR_NOSUPPORT_CONNPROTOCOL, // 不支持的通讯协议

ACP_ERR_DATAPACKAGE_TOO_SMALL, // 数据包长度太小了

ACP_ERR_DATAPACKAGE_TOO_LONG, // 数据包长度太大了

ACP_ERR_SERIALIZED, // 序列化错误

ACP_ERR_DESERIALIZED, // 反序列化错误

ACP_ERR_HEADER_LEN_NOT_MATCH, // acp header长度不匹配

// 内部API使用的相关错误码

ACP_ERR_INVAILD_HANDLER = 0x2001, // 无效的句柄

ACP_ERR_INVAILD_NETADAPTER, // 无效的网络适配器

ACP_ERR_INIT_RESOURCE_ERROR, // 初始化资源错误

ACP_ERR_INVAILD_INPUT_PARAM, // 无效的输入参数

ACP_ERR_SERVER_NOT_RUNING, // ACP服务未运行

ACP_ERR_INVAILD_REQ_CMD, // 无效的请求命令

ACP_ERR_INVAILD_BUFF_LENGTH, // 无效的buff的长度

ACP_ERR_NOMEMORY, // 没有足够内存

ACP_ERR_NO_DISK_SPACE, // 没有足够的磁盘空间

// 文件传输错误码

ACP_ERR_FILESYSTEM_CREATEFILE_FAIL = 0x3000, // 创建文件失败

ACP_ERR_FILESYSTEM_FILEOPEN_FAIL, // 文件打开失败

ACP_ERR_FILESYSTEM_FILE_NO_EXIST, // 文件不存在

ACP_ERR_FILESYSTEM_FILEREAD_FAIL, // 读文件错误

ACP_ERR_FILESYSTEM_FILEWRITE_FAIL, // 写文件错误

ACP_ERR_FILESYSTEM_INVAILD_HANDLER, // 无效的文件句柄

ACP_ERR_FILESYSTEM_TRANSFER_FAULT, // 传输错误

// 组件相关的错误码

ACP_ERR_CMP_UNREGISTER = 0X4001, // 组件位注册

ACP_ERR_CMP_CONN_ACPSERVER_TIMEOUT, // 连接服务超时

ACP_ERR_CMP_ALREADY_REGISTER, // 组件已经注册

};

#endif // LIBACP_LIBACPERR_H_

二、功能介绍

枚举、结构体及部分类型数据说明

ATTRIB

枚举变量,定义了文件的特征,用于给GetAttribute功能块提供返回值

ERROR

枚举变量,整个库中可能出现的故障定义

MODE

枚举变量,定义了Open功能块中,文件打开的方式

FILE_DIR_ENTRY

结构体变量,保存了目录下每个条目的信息,通过顺序调用DirList来填写

T_FILENAME

TYPE T_FILENAME: STRING(255)

T_HANDLE

TYPE T_HANDLE: ULINT

T_SIZE

TYPE T_SIZE : UDINT

T_PVOID

TYPE T_PVOID: ULINT

目录类(Directory)

DirOpen

打开一个目录,返回的句柄后续使用的时候都需要用到,如果需要获得目录内的条目,需要调用DirList,一个一个获得

DirClose

关闭一个目录

DirList

读取目录条目,每次读取一条,读取的内容存储在结构体中

DirCreate

创建一个子目录

DirCopy

拷贝目录,可以通过参数指定是否拷贝子目录或者是否覆盖

DirRename

重命名一个目录(不建议用此功能移动文件,可以使用Rename)

DirRemove

删除一个目录(可能有文件已经被Open打开)

文件类(File)

FileOpen

打开一个文件,生成一个句柄,可以用于Read、Write、Close(xExclusive参数codesys不支持)

FileClose

关闭文件句柄

FileRead

读取数据到buffer中

FileWrite

将buffer写入文件中

FileCopy

拷贝文件,如果不存在则创建,存在根据参数可以选择覆盖

FileDelete

删除文件,如果Open也会被删除

FileRename

重命名文件,也可以用于移动文件,不能用于移动目录

FileSetPos

移动当前打开文件的读写位置

FileGetPos

读取当前打开文件的读写位置

FileEOF

用于判断当前读写位置是否已经到文件末尾

FileFlush

强制将缓冲区内的数据写入到磁盘中

FileGetAttribute

获得当前打开文件的文件属性,文件属性的定义位于枚举变量ATTRIB

FileGetSize

获取文件名指向文件的文件大小

FileGetTime

获取文件名指向文件的最新修改日期

函数类

GetLibVersion

功能描述:返回当前版本信息

Return:(VERSION)返回当前版本信息

三、支持与服务

中科时代为公司产品及解决方案提供全方位支持与服务,确保针对相关问题给予快速且专业的响应。

资料下载

我们的资料下载专区涵盖了丰富的文件资源,包括应用案例、技术文档、产品介绍等,满足您的多样化需求。

资料下载地址:https://help.sinsegye.com.cn/

获取支持

如需中科时代产品的本地支持与服务,请随时联系我们。您可以通过访问我们的官方网站www.sinsegye.com.cn,查找中科时代的分公司地址,并获取更多关于中科时代的信息。

此外,您还可以通过以下方式联系我们:

  • 热线电话:400-013-2158

  • 邮箱地址:support@sinsegye.com.cn

最近修改: 2025-04-18