直接跳到内容
本页目录

CanOpen

  • 位置

sys_can.aclib

  • 功能说明

打开Can通讯口。

img

  • 参数说明
输入输出参数数据类型描述保持常量
parametercan_parameterCAN设备参数:指定端口号和波特率××
error_codecan_error_code记录打开过程中遇到的异常××

can_parameter类型说明:

名称数据类型含义
portDINT端口号,1表示CAN1
baudrateDWORD波特率10K:1024020K:2048050K:51200100K:102400125K:128000250K:256000500K:512000800K:8192001M:1048576
输出参数数据类型描述保持常量
CanOpenPOINTER TO BYTE非0:返回设备句柄指针,0:打开失败(具体查看error_code输入输出参数返回值)。××

can_error_code类型说明:

含义
CAN_NO_ERRORno error
CAN_ERROR_PORT_OCCUPIEDPort is occupied
CAN_ERROR_DEV_OPEN_FAILEDFailed to open port
CAN_ERROR_DEV_HANDLE_INVALIDInvalid com device handle
CAN_ERROR_ALLOC_FAILEDFailed to apply memory for com device
CAN_ERROR_ILL_BAUDRATEUnsupported Baudrate
CAN_ERROR_ILL_MSG_DATA_LENdata_len in can_message > 8
CAN_UNKNOWN_ERRORUnknown error
  • 示例

    (例程路径:安装目录\example\CAN口自由口通讯)

    • CFC示例 img

    • ST示例

      img

    • LD示例 img

    • IL示例 img

CanClose

  • 位置

sys_can.aclib

  • 功能说明

关闭CAN。

img

  • 参数说明
输入参数数据类型描述掉电保持常量
hCanPOINTER TO BYTECAN设备句柄指针××
输出参数数据类型描述掉电保持常量
CanCloseDINT0: 关闭成功,-1:关闭失败。××
  • 示例

    (例程路径:安装目录\example\CAN口自由口通讯)

    • CFC示例 img
    • ST示例 img
    • LD示例 img
    • IL示例

img

CanSend

  • 位置

sys_can.aclib

  • 功能说明

通过CAN口发送数据。

img

  • 参数说明
输入参数数据类型描述掉电保持常量
hCanPOINTER TO BYTE句柄指针××
输入输出参数数据类型描述掉电保持常量
messagecan_messageCAN消息(输入输出引脚)××
error_codecan_error_code执行过程中产生的故障码(输入输出引脚)××
输出参数数据类型描述掉电保持常量
CanSendDINT-1:发送失败,1:发送成功。××

can_message结构

成员数据类型描述
msg_idDWORD消息ID
EXTENDBOOLTRUE:扩展帧 FALSE:标准帧
RTRBOOLTRUE:远程帧 FALSE:标准帧
data_lenWORD数据长度
dataARRAY[0..7] OF BYTE数据

can_error_code类型说明:

含义
CAN_NO_ERRORno error
CAN_ERROR_PORT_OCCUPIEDPort is occupied
CAN_ERROR_DEV_OPEN_FAILEDFailed to open port
CAN_ERROR_DEV_HANDLE_INVALIDInvalid com device handle
CAN_ERROR_ALLOC_FAILEDFailed to apply memory for com device
CAN_ERROR_ILL_BAUDRATEUnsupported Baudrate
CAN_ERROR_ILL_MSG_DATA_LENdata_len in can_message > 8
CAN_UNKNOWN_ERRORUnknown error
  • 示例

    (例程路径:安装目录\example\CAN口自由口通讯)

    • CFC示例 img

    • ST示例

      img

    • LD示例 img

    • IL示例 img

CanReceive

  • 位置

sys_can.aclib

  • 功能说明

接收CAN数据。

img

  • 参数说明
输入参数数据类型描述保持常量
hCanPOINTER TO BYTECAN口句柄指针××
输出参数数据类型描述保持常量
messagecan_messageCAN消息(输入输出引脚)××
error_codecan_error_code执行过程中产生的故障码(输入输出引脚)××
CanReceiveDINT接收到数据则为1,没有数据则为0,接收错误则为-1。××

can_message结构

成员数据类型描述
msg_idDWORD消息ID
EXTENDBOOLTRUE:扩展帧 FALSE:标准帧
RTRBOOLTRUE:远程帧 FALSE:标准帧
data_lenWORD数据长度
dataARRAY[0..7] OF BYTE数据

can_error_code类型说明:

含义
CAN_NO_ERRORno error
CAN_ERROR_PORT_OCCUPIEDPort is occupied
CAN_ERROR_DEV_OPEN_FAILEDFailed to open port
CAN_ERROR_DEV_HANDLE_INVALIDInvalid com device handle
CAN_ERROR_ALLOC_FAILEDFailed to apply memory for com device
CAN_ERROR_ILL_BAUDRATEUnsupported Baudrate
CAN_ERROR_ILL_MSG_DATA_LENdata_len in can_message > 8
CAN_UNKNOWN_ERRORUnknown error
  • 示例

    (例程路径:安装目录\example\CAN口自由口通讯)

    • CFC示例 img

    • ST示例

      img

    • LD示例 img

    • IL示例 img

CAN自由口编程示例

  • 示例功能说明(例程路径:安装目录\example\CAN口自由口通讯)

CAN口的打开、发送、接收、关闭综合示例(无需在总线节点添加CAN口设备)。

  • 变量定义
名称数据类型初始值注释
canParamcan_parameter(port := 1,baudrate := 512000)CAN口参数
canMsgcan_message(msg_id := 16#111,data_len := 8,data := [1,2,3,4,5,6,7,8])发送的消息
errCancan_error_code操作过程中记录的错误码
hCanPOINTER TO BYTECAN口句柄
EnOpenBOOL控制执行打开CAN口指令
EnCloseBOOL控制执行关闭CAN口指令
EnSendBOOL控制执行CAN口数据发送指令
EnRecvBOOL控制执行CAN口数据接收指令
iOprRetDINT记录操作结果
canMsgRecvcan_message接收的消息
dwRecvCntDWORD接收消息计数
dwSendCntDWORD发送消息计数
  • LD示例

img

CanOpen已经加载完毕