专题介绍:配置CANOpen子站基本信息CANOpen是一种基于CAN总线的高级通讯协议。目前KQD平台集成的CANOpen协议栈实现了完整的SDO、PDO通讯。并且支持节点保护和心跳等安全功能。用户可以在KQD Application Editor中进行对象字典的编辑,导入或导出标准的EDS文件给其他CANOpen主站使用。基于CANOpen协议栈,用户无需关心通讯实现的细节,编辑好对象字典并下载到设备,导出EDS文件给CANOpen主站,即可实现主站和从站之间的通讯。 这里以开发板DK60-STM32F412RE为例,介绍如何使用向导配置CANOpen,建立与CANOpen主站的通讯。开发板的详细信息可以参考介绍:STM32F412开发板DK60-STM32F412RE 因为KQD的CANOpen协议栈还不支持主站功能,这里我们使用汇川的H3U-1616MT-XP来做CANOpen主站: 向导配置首先,需要参考开发板DK60-STM32F412RE的硬件电路完成基础硬件配置,可以参考:专题介绍:使用向导来生成蓝图 按照专题介绍中步骤完成向导配置或者直接导入向导配置文件:DK60-STM32F412RE-Wizard.bin 选择CAN通讯选项卡,列表中选择CAN1,下面将CANOpen协议配置勾选“此硬件端口可以支持CANOpen通讯协议”。 点击确定即可生成蓝图。蓝图上传到服务器;完成开发板的烧录;PLC类型部署到本地后,即可开始进行CANOpen配置。 CANOpen配置添加节点在KQD Application Editor中选择Designer最新部署的PLC类型后,即可在项目的系统扩展中,添加CANOpen配置信息: 配置条目的名称没有特殊要求,这里输入“E0”后确定: 此时出现CANOpen配置界面: 点击“新建”菜单,弹出的对话框中:
对象字典中添加标准I/O输入在对象字典中,选择类别“0x6000-0x9FFF Standardized Device Profile”,选择索引“0x6000 Read Inputs 8 Bit”,点击“添加”按钮,在对象字典中添加标准设备数字量输入: 在最右侧选择“0x6000 Read Inputs 8 Bit”,下面的表格中会出现索引的描述表格。此索引默认为字节数组,数组长度默认为1。假设我们需要传递4个字节数据到CANOpen主站,则可以点击右键,继续添加3个新的子索引: 对象字典中添加标准I/O输出在对象字典中,选择类别“0x6000-0x9FFF Standardized Device Profile”,选择索引“0x6200 Write Outputs 8 Bit”,点击“添加”按钮,在对象字典中添加标准设备数字量输入: 在最右侧选择“0x6200 Write Outputs 8 Bit”,下面的表格中会出现索引的描述表格。此索引默认为字节数组,数组长度默认为1。假设我们需要传递4个字节数据到CANOpen主站,则可以点击右键,继续添加3个新的子索引: 配置PDO发送在对象字典中,选择类别“0x1A00-0x1BFF Transmit PDO Mapping”,选择索引“0x1A00 Transmit PDO 1 Maping”,下面的表格中会出现索引的描述表格。在表格中选择“PDO 1 Mapping for a process data variable 1”,修改其值为:“Read Inputs 0x1 to 0x8 (0x6000)”。 类似的,将剩余的3个输入字节都分配到发送PDO中去: 在对象字典中,选择类别“0x1800-0x19FF”,选择索引“0x1800 Transmit PDO 1 Parameter”,下面的表格中会出现索引的描述表格:
配置PDO接收在对象字典中,选择类别“0x1600-0x17FF Recieve PDO Mapping”,选择索引“0x1600 Receive PDO 1 Maping”,下面的表格中会出现索引的描述表格。在表格中选择“PDO 1 Mapping for an application object 1”,修改其值为:“Write Outputs 0x1 to 0x8 (0x6200)”。 类似的,将剩余的3个输出字节都分配到接收PDO中去: 导出EDS文件最后,点击菜单中的“导出EDS”命令,将配置信息导出到EDS文件: 汇川H3U-1616MT-XP导入EDS文件且简单编程打开汇川的编程软件,新建一个项目CANOpenTest,在“工程管理”中找到CAN,点击右键,选择“打开”命令: 协议类型修改为“CANOpen”;站号选择为“后台设置”,手动指定为63;波特率选择为“后台设置”,手动指定为500K;最后点击确定: 在“工程管理”中找到CAN,点击右键,选择“添加CAN配置”命令: 双击新生成的“CANOpen配置”,在配置界面的最右侧找到“CANopen设备列表”,点击右键,选择“导入EDS”命令: 选在开始在KQD Application Editor中导入的EDS文件,设备列表中出现DK60I4Q4,将此设备拖拽到中间的配置图中去: 双击设备DK60I4Q4,修改设备ID为4: 选择“I/O映射”选项卡,查看软件为PDO数据分配的PLC变量: 双击H3U: 使能主机的同步帧(SYNC)发送: 在MAIN中写一小段梯形图,将CANOpen节点的输入,写入到CANOpen节点的输出上去: 保存汇川H3U的PLC程序,并将此程序下载到H3U中去。 开发板DK60-STM32F412RE的简单编程在KQD Application Editor中,编写如下梯形图程序: 将此程序和开始的对象字典配置通过KQD Application Editor一起下载到开发板。 通讯验证将开发板DK60-STM32F412RE的CAN1端子和汇川H3U的CAN端子相连接,分别按下开发板的4个按键,即可看到开发板的4个对应输出指示灯发光。 相关文件
|