应用于三菱PLC的CAN总线通信转换装置研究
李欣玉,范蟠果
(西北工业大学自动化学院,陕西西安710129)
摘要:首先介绍了CAN总线技术的发展概况及基本原理。在CAN总线技术广泛应用的背景下,为了降低三菱FX系列PLC使用CAN总线组网的成本,提出一种基于PIT18F25微控制器的通信转换装置。该转换装置实现了CAN通信协议与三菱PLC专用协议的转换,采用3个拨码开关设置CAN通信参数和串行通信参数,操作人员可根据实际情况灵活调整装置通信相关的参数。相较于三菱公司为PLC适配的CAN总线模块,该装置成本低廉、操作简单且通用性强,可以使三菱FX 系列所有型号的PLC通过自带的通用串口接入CAN总线网络。
关键词:CAN总线;FX PLC;微控制器;通信转换;串行通信
中图分类号:TP23:TP336文献标识码:A文章编号:1000-0682(2021)03-0134-04 Research on CAN bus communication conversion device applied to Mitsubishi PLC
LI Xinyu,FAN Panguv
(College qf Automation,Northwestem Polytechnical University,Shaanxi XHn710129,China#
Abstract:Firstly,the development and basic pCnciple of CAN bus technoloay are introduced.Un­der the background of wide application of CAN bus technoloay,in order to reduce the cost of Mitsubishi FX seCes PLC netwoCing based on CAN bus,proposing a communication conversion device based on PIT18F25microcontroller.The device realizes the conversion between CAN communication protocol and Mitsubishi PLC pepCetae protocol.Three dial switches are used to set CAN communication parameters and seCal communication parameters.The operator can flexibly adjust the communication parameters of the device according to the actual situation.Compared with the CAN bus module produced by Mitsubishi Corporation,the device has the ddentdaes of lower cost,more simple operation and stronger versatility.
It can make all types of FX PLC connect to CAN bus network through its own universal seCal poC.
Keyword:CAN bus+FX PLC+miceconteCer;communication conversion;seCal communication
0引言
CAN是控制器局域网络的简称,是当前应用最广泛的现场总线之一,1-,因其具有高性能、高可靠
性和高灵活性而被广泛地应用于工业自动化、汽车船舶、工业设备等领域。PLC是一种专门用于工业
控制的控制器,可执行逻辑运算、顺序控制、定时、计数与计算操作等面向用户的指令[2],三菱FX系列PLC作为一种价格实惠的中小型PLC应用广泛,但由于通信接口限制,在不外接通信扩展模块的情况下只能采用基于通用串口的组网方式,该方式局限
收稿日期#2020-12-02
作者简介:李欣玉(1999),女,陕西省西安市人,电气工程及其自动化专业本科生,主要研究方向为电气测试、嵌入式技术。
E—mail:2018302164@mait.nwpu.edu 性很大,难以适应现代工业物联网的要求。
若采用外接通信扩展模块进行CAN组网,一是会极大提高开发成本,二是可供FX系列PLC使用的CAN总线扩展模块种类非常有限,许多FX系列的小型PLC没有与其适配的CAN扩展模块。
1CAN总线概述
CAN是一种有效支持分布式控制或实时控制的串行通信网络[3],当前已成为国际上应用最广泛的现场总线之一。较之基于RS—485,RS—422等串行通信协议构建的分布式控制系统而言,基于CAN总线的分布式控制系统在以下方面具有明显的优越性:
(1)实时性强
CAN网络中的各节点都可根据总线访问优先
权采用逐位仲裁的方式竞争向总线发送数据,且 CAN 协议废除了站地址编码,而代之以对通信数据
进行编码,这可使不同的节点同时接收到相同的数
据,这些特性使得基于CAN 总线的网络通信实时性
强,并且容易构成冗余结构,提高系统的可靠性和系 统的灵活性⑷)而利用串行通信只能构成主从式
结构系统,通信方式也只能以主站轮询的方式进行, 系统的实时性、可靠性较差。
(2) 可靠性高
节点通过CAN 控制芯片的两个端口 CANH 和 CANL 与物理总线相连,而CANH 端只能是高电平或
悬浮状态,CANL 端只能是低电平或悬浮状态[5])即 使部分节点出现错误(例如:有多个节点同时向总线
发送数据)也不会导致总线短路。而且CAN 节点在
错误严重的情况下具有自动关闭输出功能,不会影响 总线上的其他节点,从而避免总线进入“死锁”状态。
(3) 标准完善
CAN 总线最初由德国BOSCH 公司提出,经过
不断的发展目前已成为国际标准的现场总线,由国 际标准组织(ISO )制定国际统一的CAN 标准。完善
的标准体系极大程度上推动了 CAN 总线技术的应用 和发展,使其已经最有前途的现场总线之一⑷)
2系统功能
该通信转换装置以PIC18F25核心板作为处理核
心,运行协议转换的程序。核心板通过CAN 接口连
接CAN 总线,通过串口连接PLC , PLC 可通过该通信
转换装置以串行通信方式与CAN 总线上的设备通
信,该装置对CAN 协议的转换可分为以下4个步骤:
(1) 通信转换器上电,CAN 接口及串口初始
化,CAN 接口进入CAN 总线网络命令监听状态,串
口进入接收PLC 数据的等待状态。
(2) CAN 接口收到CAN 总线发送的报文后,核
心板对收到的报文进行过滤,将通过的CAN 操作报
文转化成三菱PLC 专用协议指令,并根据设定的串
行通信数据帧格式发送至PLC  o
(3) 转换器向PLC 发送三菱PLC 专用协议指
令后等待PLC 向串口返回信息。
(4 ) PLC 按照专用协议发送反馈信息至
PIC  18F25核心板,核心板将PLC 返回的信息整合为
CAN 反馈报文,经CAN 接口发送至CAN 总线。
转换的流程如图1所示。
图1通信协议转换流程图
其中,前文所述的CAN 操作报文包括位读取操 作报文、字读取操作报文、位写入操作报文、字写入
操作报文、PLC 启动操作报文和PLC 停止操作报
文,相应的反馈报文种类与操作报文种类一一对应, 包括位读取反馈报文、字读取反馈报文、位写入反馈
报文、字写入反馈报文、PLC 启动反馈报文和PLC
停止反馈报文。
操作报文为位读取操作报文和字读取操作报文 时,报文内容包含读操作类型、操作对象、对象起始
地址、操作数量,PLC 返回读取的数据信息。
操作报文为位写入操作报文和字写入操作报文 时,报文内容包含写操作类型、操作对象、对象起始
地址、操作数量及所要写入的数据,PLC 返回写入成 功或失败的应答信息。
操作报文为 PL  启动报文和 PL  停止报文时,
CAN 报文内容包含操作类型、PLC 返回启动、停止
成功或失败的应答信息。
操作报文和反馈报文详细数据内容如表1所示)
表1 CAN 操作报文和CAN 反馈报文详细内容
报文类型说明
报文数据段(8字节)
字节1字节2字节3字节4字节5字节6字节7
字节8
位读取
BR ( AS  C I I )操作对象
对象起始地址
操作数量
0x00
0x00
AN
操作 报文
字读取WR ( AS C I I )(AS C I I )
(He , 16 位)
(Hex )
位写入BW ( AS  C I I )
操作对象
对象起始地址
操作数量
数据字节1数据字节2
字写入
WW ( AS C I I )(AS C I I )
(He , 16 位)
(Hex )
PL  启动RR ( AS C I I )
0x00
0x00
0i00x00
0x00
0x00
PL  停止
RS ( AS  CI I
)
续表1
报文类型说明
报文数据段(8字节)
字节1字节2字节3字节4字节5字节6字节7字节8
位读取BR(AS C I I)对象起始地址数据字数据字数据字数据字
AN 反馈报文
字读取WR(AS C I I)(Hex,16位)节1节2节3节4位写入BW(AS C I I)对象起始地址
0x000x000x000x00字写入WW(ASCII)(Hex,16位)
PL C启动RR(AS C I I)
0xXF0xFF0xFF0xFF0xFF0xFF PLC停止RS(AS CI I)
3硬件设计
通信转换器的硬件结构主要包括:PIC18F25核心板、供电模块、32-5线编码器模块、3个拨码开关、1个串口和1个CAN接口,如图2所示。
PLC数据流
图2通信转换装置硬件结构图
其中PIC18F25核心板通过CAN接口连接至CAN总线网络,通过串口连接PLC,通过编码器模块连接三个拨码开关:A,B和C o
该装置设有CAN报文I过滤器,只接收CAN 总线上特定I的操作报文,且在收到PLC的反馈信息后会向CAN总线发送反馈报文。能通过过滤器筛选的操作报文的I由拨码开关A设定,反馈报文的I由拨码开关B设定,这2个拨码开关均为11段式,由11路输出电平表示长度为11位的二进制I(输出TTL高电平代表二进制1,输出TTL低电平代表二进制0)。CAN通信波特率和串行通信数据帧格式(包括波特率、校验位、数据位和停止位)由拨码开关C设定,该拨码开关为10段式。图3为32-5线编码器模块电路图,用于将三个拨码开关共32路TTL电平信号表示的32位二进制信号转化为5路TTL电平表示的5位十六进制信号。
4软件设计
该装置的程序运行于PIC18F25核心板中,程序流程图如图4所示,具体包括以下步骤:
(1)当通信转换器连接好并通过拨码开关C设定CAN通信波特率、串行通信帧格式后,对通信转换器进行上电操作。此时,转换器内部执行CAN接口及串口的初始化,CAN接口进入CAN总线网络命令监听状态,串口进入接收PLC数据的等待状态。
(2)CAN接口收到CAN总线发送的报文后, PIC18F25核心板通过拨码开关A设定的报文I对收到的报文进行过滤,将通过过滤的CAN操作报文转化成三菱PLC专用协议指令,并根据拨码开关C设定的 串行通信数据帧格式发送至PLC;所述的串行通信数据帧格式包括波特率、校验位、数据位和停止位。
执行PLC内部软元件读取操作时,CAN操作报文数据内容包含读操作类型(分位读取操作BR和字读取操作WR两种)、操作对象、对象起始地址及操作数量共四部分内容;执行PLC内部软元件写入操作时,CAN报文数据内容包含写操作类型(分位写入操作BW和字写入操作WW两种)、操作对象、对象起始地址、操作数量及所要写入的数据共五部分内容;执行PLC启动/停止操作时,CAN报文数据内容仅包含操作类型:PLC启动操作为RR,PLC停止操作为RS。
(3)转换器向PLC发送三菱PLC专用协议指令后等待PLC向串口返回信息,通信转换器根据三菱PLC 专用协议从返回信息中提取数据,并将该信息整合为CAN反馈报文,并根据拨码开关B设置的CAN反馈报文I,将反馈报文经CAN接口发送至CAN总线。
5结语
该文中提出的CAN协议通信转换装置可实现CAN通信协议与三菱PLC专用协议的转换,可用于三菱FX系列所有型号的PLC,使PLC在不需外接CAN 通信扩展模块的情况下通过自带的通用串口接入CAN 总线网络。装置采用3个拨码开关实现了对CAN通信参数和串行通信参数的设置,使得操作人员可根据实
际情况调整通信转换器的参数,使用方便灵活
VDD
X
\D3\D4
GS_2 /
I I
?
I ?I I ?D -
I I ?V
I I
?
l l < I I  r l VDD
T
\GS  1 ~\AO_1\A1_1\A2 1
£
VDD
\GS_2\A0_274LS20
VDD
T
Ual A0 1 /VCC Al  4
A0_2 /4A A0 3 /4b A0 4 /\D01Y Al  1 /\D1
2Y A1J2 /3Y Al  3 /
4Y GND
74LS20
£
VDp Io
I2
I3I4I5I6
CC I S O 12O ND
Y E G A A A.E G SW0」/SW0[2/SWO  3Z SW0_4/SW0_5/SW0_6/SW0_7/SWO  8/
\SW2_1____________| ]VDD
\ SW2_22\SW2_33\SW2 44\SW2_55\SW2 66\SW2 77\SW2 88\SW2 99\SW2 1010\SW2_1111SW-DIP11
74 ⑸48Ue2VCC
GND 74IS148Ue3VCC
VDD
x_
Ua2\GS_3\A0_3\A1_3\A2_3
\D2
£
vcc 4A 4B 1Y 2Y 3Y 4Y 74LS20
A2_iy A2_2 /A2_3Z A2_4/
£
VDp
\GS_4
\A0_4\A1_4 \A2:4
GND 74 ⑸48Ue4VCC
GND 74LS148
SW0_9 /SW0_10/SW1]1 /SW1_2 /SW1_3 /SW1Z4 Z SW1_5 /SW1_6 /
T —
\\\
2
2 21011121314151617
SW1_7/SW1_8 /SW1~9Z SW1_1A SW1 1]/SW2 ]/SW2 2/SW2 3/SW2_4/SW2二5/ SW2Z6 / SW2_7/ SW2^8/ SW2_9/ SW2_1Q / SW2_lj /
2 2 2-2 2 2 2 21T ~5~T
百9"Io
IT
r l
D - j
W
W T
W f —
1
\SW2_2\SW2_3 \SW2_£ \SW2_5 \SW2_6 \SW2_7 \SW2~8 \SW2_9 \SW2_1O
1
r  T  ~4
~
7~
u 10 IT
SW1
2 ————丄
I~~I~~I  A
I~~~~I  -1­0 I --,-1
H    8 __,__.i~~i~~i  10 ——,,SW-DEP10222120 童1817
151413图3 32 -5线编码器模块电路图
收到PLC 反馈竄迂
参考文献:
[1] 贺毅,赵望达,刘勇求.现场总线技术应用及其发展趋
势探讨[J ].工业计量,2005(01):21 -23.
[2] 刘广.PLC 控制技术发展研究[J ].建筑工程技术与设
计,2018(27) :2682.
[3] 王保中,涂亚庆,张丽娟.工业以太网与CAN 现场总线
比较和应用方案分析[J ].工业仪表与自动化装置,
2006(05):11 -13.
[4] 陈娅娟,孙汉旭,贾庆轩,等.一种新型冗余CAN 网络
通信协议栈的研制,J ].测控技术,2007(11) :45 -48.
[5 -何宝福,张文红.CAN  - RS232通信转换模块的设计与
实现[J ].电子设计工程,2007(04) :17 -19.
[6]夏巍,丁刚,严辉.基于CAN 总线和嵌入式网关的家庭
智能控制网络[J ].工业仪表与自动化装置,2008,
2008(06) :29 -31 +38.
通过CAN 接口发送CAN 反馈报文
图4
万能在线进制转换器转换器网
通信转换装置程序流程图

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。