RS232/485/422 TO CAN 是一款工业级 RS232/485/422 转 CAN 隔离型转换器,内置电源隔离、ADI 磁耦隔离和 TVS 等保护电路,工业导轨外壳设计。RS232/485/422 TO CAN 操作简单,零延时自动收发转换,具有通信速度快、稳定、可靠、安全等特点,可适用于各种通信要求较高的工控设备或应用。
产品类型 | 工业级隔离型 RS232/485/422 TO CAN 转换器 | |
主机接口 | CAN | |
设备接口 | RS232/485/422 | |
CAN接口 | 通信速率 | 10kbps~1000kbps |
方向控制 | 硬件自动判别和控制数据传输方向 | |
匹配电阻 | 默认120R匹配电阻 | |
接口形式 | 接线端子 | |
CAN接口引脚 | H、L、GND | |
RS232/485/422接口 | 通信速率 | 1200bps ~ 460800bps |
方向控制 | 硬件自动判别和控制数据传输方向 | |
匹配电阻 | 默认NC,预留120R匹配电阻,可跳线帽使能 | |
RS232接口形式 | DB9 接口 | |
RS485/422接口形式 | 接线端子 | |
RS485接口引脚 | A+、B-、GND | |
RS422接口引脚 | TA、TB、RA、RB、GND | |
接口保护 | 提供 600W 防雷、浪涌和 15KV 静电保护 (板载 120R 平衡电阻) | |
传输模式 | 点对多 (至多 32 个节点,16 个节点以上建议加中继器) | |
按键 | 按下1秒 | 系统复位 |
长按5秒 | 恢复出厂状态 | |
指示灯 | PWR | 电源指示灯,接入电源,检测到电压则亮红灯 |
RUN | 运行状态指示灯,正常运行以1秒间隔闪烁 | |
COM | CAN 发送指示灯,有数据从 CAN 口发出时亮蓝灯 RS232/485/422 接收指示灯,有数据从设备接口发回 RS232/485/422 时亮蓝灯 | |
CAN | CAN 接收指示灯,有数据从设备接口发回 CAN 时亮蓝灯 RS232/485/422 发送指示灯,有数据从 RS232/485/422 口发出时亮蓝灯 | |
使用环境 | 温度范围 | -10℃ ~70℃ |
使用 USB TO 4CH Serial Converter (或其他USB转RS232、USB转RS485、USB转RS422设备)进行初始化配置,不进行配置则保持出厂设置状态
RS232/485/422 TO CAN - RS485 | USB TO 4CH Serial Converter - Port C |
RS485 - GND | Port C - GND |
RS485 - A+ | Port C - A+ |
RS485 - B- | Port C - B- |
分段标记
占1个Bit位(Bit7), 标志该报文是否是分段报文。该位为 0 表示单独报文,为 1 表示属于被分段报文中的一帧。
分段类型
占2个Bit位(Bit6,Bit5),用于表示该报文在分段报文中的类型
分段计数器
占5个Bit位(Bit4-Bit0),用于区分同一帧Modbus报文中分段的序号,够验证是同一帧的分段是否完整。
01 03 14 00 0A 00 00 00 00 00 14 00 00 00 00 00 17 00 2C 00 37 00 C8 4E 35
第1帧CAN报文:81 03 14 00 0A 00 00 00
第2帧CAN报文:a2 00 00 14 00 00 00 00
第3帧CAN报文:a3 00 17 00 2C 00 37 00
第4帧CAN报文:c4 c8
使用 USB-CAN-A 与 USB TO 4CH Serial Converter 进行功能演示
RS232/485/422 TO CAN - CAN | USB-CAN-A |
CAN - CAN H | CAN - CAN H |
CAN - CAN L | CAN - CAN L |
CAN - CAN G | CAN - GND |
RS232/485/422 TO CAN - RS232 | USB TO 4CH Serial Converter - Port D |
RS232 - GND | Port D - GND |
RS232 - TXD | Port D - RXD |
RS232 - RXD | Port D - TXD |
11 22 33 44 55 66 77 88
使用 USB-CAN-A 与 USB TO 4CH Serial Converter 进行功能演示
RS232/485/422 TO CAN - CAN | USB-CAN-A |
CAN - CAN H | CAN - CAN H |
CAN - CAN L | CAN - CAN L |
CAN - CAN G | CAN - GND |
RS232/485/422 TO CAN - RS485 | USB TO 4CH Serial Converter - Port C |
RS485 - GND | Port C - GND |
RS485 - A+ | Port C - A+ |
RS485 - B- | Port C - B- |
11 22 33 44 55 66 77 88
使用 USB-CAN-A 与 USB TO 4CH Serial Converter 进行功能演示
RS232/485/422 TO CAN - CAN | USB-CAN-A |
CAN - CAN H | CAN - CAN H |
CAN - CAN L | CAN - CAN L |
CAN - CAN G | CAN - GND |
RS232/485/422 TO CAN - RS422 | USB TO 4CH Serial Converter - Port C |
RS422 - GND | Port C - GND |
RS422 - TA | Port C - RA |
RS422 - TB | Port C - RB |
RS422 - RA | Port C - TA |
RS422 - RB | Port C - TB |
11 22 33 44 55 66 77 88
RS485 CAN HAT 相关使用说明
请先行了解 RS485 CAN HAT 相关使用
RS232/485/422 TO CAN - RS485 | RS485 CAN HAT |
RS485 - A+ | RS485 - A+ |
RS485 - B- | RS485 - B- |
RS232/485/422 TO CAN - CAN | RS485 CAN HAT |
CAN - CAN H | CAN - CAN H |
CAN - CAN L | CAN - CAN L |
使用 RS232/485/422 TO CAN 让 RS485 CAN HAT 的 RS485 与 CAN 进行通信
RS232/485/422 TO CAN - RS485 | RS485 CAN HAT |
CAN - CAN H | CAN - CAN H |
CAN - CAN L | CAN - CAN L |
RS485 - A+ | RS485 - A+ |
RS485 - B- | RS485 - B- |
sudo nano /boot/config.txt
dtparam=spi=on dtoverlay=mcp2515-can0,oscillator=12000000,interrupt=25,spimaxfrequency=2000000
enable_uart=1
以下操作为必须操作
安装can-utils
sudo apt-get install can-utils
安装 wiringpi 环境
#打开树莓派终端,并运行以下指令 cd sudo apt-get install wiringpi #对于树莓派2019年5月之后的系统(早于之前的可不用执行),可能需要进行升级: wget https://project-downloads.drogon.net/wiringpi-latest.deb sudo dpkg -i wiringpi-latest.deb gpio -v # 运行gpio -v会出现2.52版本,如果没有出现说明安装出错
安装 Python 环境
sudo apt-get update sudo apt-get install python3-pip sudo apt-get install python-serial
sudo pip install python-can
sudo pip install -i https://pypi.tuna.tsinghua.edu.cn/simple python-can
sudo pip install -i https://mirrors.aliyun.com/pypi/simple python-can
sudo pip install -i https://pypi.mirrors.ustc.edu.cn/simple python-can
cd rm -rf RS485_CAN_HAT_Code.zip rm -rf RS232-485-422_Code.zip rm -rf RS485_CAN_HAT_Code sudo ifconfig can0 down
cd sudo apt-get install unzip wget https://www.waveshare.net/w/upload/6/6b/RS232-485-422_Code.zip unzip RS232-485-422_Code.zip sudo chmod 777 -R RS485_CAN_HAT_Code/
cd cd RS485_CAN_HAT_Code/CAN_TO_RS485/wiringPi/ make clean make sudo ./can_send
cd cd RS485_CAN_HAT_Code/RS485_TO_CAN/wiringPi/ make clean make sudo ./485_send
cd rm -rf RS485_CAN_HAT_Code.zip rm -rf RS232-485-422_Code.zip rm -rf RS485_CAN_HAT_Code sudo ifconfig can0 down
cd sudo apt-get install unzip wget https://www.waveshare.net/w/upload/6/6b/RS232-485-422_Code.zip unzip RS232-485-422_Code.zip sudo chmod 777 -R RS485_CAN_HAT_Code/
cd cd RS485_CAN_HAT_Code/CAN_TO_RS485/python/ sudo python can_send.py
cd cd RS485_CAN_HAT_Code/RS485_TO_CAN/python/ sudo python 485_send.py