基于树莓派codesys主站实现CANopen通讯

树莓派是世界上微型PC的代表,而KUNBUS Revpi Conenct是小型的工业PC,其硬件基于树莓派计算模块3,采用1.2 GHz四核处理器,1GB内存且最高支持32GB的 eMMC闪存,内部集成支持24小时缓存的实时时钟(RTC),以确保RevPi Connect即使在断电的情况下仍然知道自己的运行时间点;软件采用开源的架构(包含完全的根权限),给用户提供了极大的自由度,预装了一个经过专业定制的带有实时补丁的Raspbian操作系统版本,因为其良好的扩展性,可适应于工业的许多应用场合。本篇我们将为您展示如何使用Codesys和RevPi connect如何去创建CANopen网络。

下文我们将向您展示如何使用CODYSYS和RevPi系列产品创建CANopen网络。

工具原料:

RevPi Connect
RevPi Con CAN
Connect桥接器
CODESYS Runtime(请将其安装在RevPi Connect上)
RevPi mGate CANopen

1.使用Connect Bridge连接RevPi Connect和RevPi Con CAN。 确保RevPi Con CAN位于RevPi Connect的右侧。 连接RevPi Connect连接到电源。打开PiCtory。 在配置板上组装您的设备,点击“File>Save as Start-Config”以保存项目,点击“Tool>Reset Driver”以下载到设备中。

2.在Web状态中,您可以检查RevPi Con CAN是否已成功激活:

3.为CODESYS创建脚本
为了使CODESYS和RevPi设备之间的通信正常工作,必须配置比特率。因此,我们在此步骤中创建一个脚本,并使其在RevPi Connect上可执行。打开RevPi终端并使用您的用户名和密码登录。输入以下命令以创建新脚本:

sudo nano /var/opt/codesys/rts_set_baud.sh

将以下行添加到文档中:

#!/bin/sh
BITRATE=`expr $2 \\* 1000`
ifconfig $1 down
echo ip link set $1 type can bitrate $BITRATE
ip link set $1 type can bitrate $BITRATE
ifconfig $1 up

使用Ctrl-O保存更改。
使用Ctrl-X退出编辑器。
在命令行中键入以下命令以使脚本可执行:

sudo chmod +x /var/opt/codesys/rts_set_baud.sh

在命令行中键入以下命令以重新启动RevPi Connect:

sudo reboot

4.在CODDESYS中配置CANopen主站,在项目树中单击项目上的鼠标右键。单击“附加设备”——选择“CODESYS Control for Raspberry Pi”。单击“添加”。在添加的设备上单击鼠标右键(CODESYS Control for Raspberry Pi)。 单击“附加设备”。 选择“CANbus”。 单击“添加”。

5.在添加的设备(CANbus)上单击鼠标右键。 单击“附加设备”。选择“CANopen_Manager”。然后“添加”。

6.单击您的应用程序。单击“添加对象”。以这种方式插入以下对象:选择POU的方式插入,将“POU”调用添加到任务配置中。

7.将KUNBUS CANopen mGate添加到CODESYS中
从KUNBUS主页下载mGate CANopen的设备描述文件(EDS)。单击“工具”。单击“设备存储库”。选择“KUNBUS-mGate CANopen”。 单击“安装”。

8.在CANopen_Manager上单击鼠标右键。单击“附加设备”。选择“KUNBUS-mGate CANopen”。在设备的旋转编码开关上设置网关的节点ID和比特率。 这个项目就被建立好了,登录后,您可以查看主服务器是否识别网关:
以上就是在Revpi Connect上配置Canopen主站的过程。

相关教程:

基于树莓派实现 Modbus TCP 通讯的工业方案

了解更多关于 Revpi Connect 产品的信息请访问:
http://hkaco.com/zdh/KUNBUS/revolution/revolution.html

这是一篇发布于 4年 前的文章,其中的信息可能已经有所发展或是发生改变,请了解。


2 评论

    • kunbus树莓派本身做了宽温处理工艺,适合工业条件使用,芯片有散热片,外壳也做了上下出风口,具有烟囱效应,便于散热,可联系微信15271948275做进一步沟通

mstudio进行回复 取消回复

你的邮件地址不会公开


*