错误诊断
如果出现不理想的操作行为,可能需要进行扩展诊断。可以通过查看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
DirOpen
打开一个目录,返回的句柄后续使用的时候都需要用到,如果需要获得目录内的条目,需要调用DirList,一个一个获得
DirClose
关闭一个目录
DirList
读取目录条目,每次读取一条,读取的内容存储在结构体中
DirCreate
创建一个子目录
DirCopy
拷贝目录,可以通过参数指定是否拷贝子目录或者是否覆盖
DirRename
重命名一个目录(不建议用此功能移动文件,可以使用Rename)
DirRemove
删除一个目录(可能有文件已经被Open打开)
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