CANLINK通信手册.docx

上传人:b****4 文档编号:11679791 上传时间:2023-03-30 格式:DOCX 页数:34 大小:74.27KB
下载 相关 举报
CANLINK通信手册.docx_第1页
第1页 / 共34页
CANLINK通信手册.docx_第2页
第2页 / 共34页
CANLINK通信手册.docx_第3页
第3页 / 共34页
CANLINK通信手册.docx_第4页
第4页 / 共34页
CANLINK通信手册.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

CANLINK通信手册.docx

《CANLINK通信手册.docx》由会员分享,可在线阅读,更多相关《CANLINK通信手册.docx(34页珍藏版)》请在冰豆网上搜索。

CANLINK通信手册.docx

CANLINK通信手册

H1U/H2U系列可编程控制器

CAN通信手册

V2.00

 

深圳市汇川控制技术有限公司

第一章概述3

1.CAN-LINK网络4

1.1硬件接口4

1.2CAN-LINK软件配置5

1.3CAN-LINK网络组态6

1.4CAN-LINK网络监控与运行6

2.CAN指令6

2.1远程扩展模块访问指令6

2.2CAN自由指令7

2.2.1CAN数据发送指令7

2.2.2CAN数据发送指令10

2.3PLC编程参考11

3.协议14

3.1CAN-LINK协议14

3.1.1CAN-LINK远程响应帧14

3.1.2CAN-LINK命令帧15

3.1.3CAN-LINK配置帧19

3.1.4CAN-LINK数据帧20

3.2远程读写协议21

4.附录21

概述

H1U/H2U系列PLC具有CAN通信功能,硬件上需要配置CAN通讯卡。

在PLC主模块上,可支持自由CAN通信指令,可支持远程模块访问指令FROM/TO,同时支持CAN-LINK网络功能。

CAN-LINK是汇川控制技术公司开发的基于CAN总线的网络协议,该协议是一个开放的协议,支持该协议的设备均可接入CAN-LINK网络。

H1U/H2U系列PLC及其远程扩展模块均可以支持CAN-LINK协议,CAN-LINK组网设备数量最大可达63台。

若是H1U产品,要特别注意,必须预置D8199为7,否则可能造成无法通信。

关键词

CAN-LINK:

汇川控制技术公司开发的基于CAN总线的网络协议,该协议是一个开放的协议,支持该协议的设备均可接入CAN-LINK网络。

CAN-LINK网络管理主机:

CAN-LINK协议是不存在主从之分的,但需要有一台或多台设备负责配置和管理CAN-LINK网络,承担CAN-LINK网络配置和管理功能的设备称为CAN-LINK网络管理主机,同一个CAN-LINK网络可以有多台网络管理主机。

CAN-LINK网络设备:

满足CAN-LINK协议,并接入CAN-LINK网络的设备均称为CAN-LINK网络设备。

自由CAN通信指令:

H1U/H2U控制器均支持自由CAN通信指令,用户可通过指令编程,实现与具有CAN通信功能的设备之间的通信。

具体指令名称为CAN发送指令:

CANTX;CAN接收指令:

CANRX。

远程模块访问指令:

H1U/H2U控制器支持远程模块、远程PLC的访问指令,通过远程模块访问指令可实现对远程模块的读写。

具体指令名称为读指令:

FROM;写指令:

TO。

兼容本地扩展模块的读写指令。

其它满足CAN远程访问协议的设备也可以用此两条指令访问。

 

1.CAN-LINK网络

1.1硬件接口

CAN-LINK网络示意图:

图1-1CAN-LINK网络拓朴示意图

H1U/H2UCAN扩展卡接口定义:

图1-2CAN-LINK接口定义

表1-1CAN-LINK接口引脚定义

管脚号

信号

描述

1

+24Vcc

外接直流24V供电电源正

2

CANH

CAN总线正

3

PGND

屏蔽地线,接通信电缆屏蔽层

4

CANL

CAN总线负

5

0V

外接直流24V供电电源负

组成CAN-LINK网络时,所有设备的以上五根线均要一一对应连在一起。

并且+24Vcc和0V间需要外接24V直流电源。

总线的两端均要加120欧姆的CAN总线匹配电阻。

CAN-LINK接线图如图1-3所示:

图1-3多台设备组成CAN-LINK网络接线图

H1U/H2U远程扩展卡和CAN接口卡均内置了匹配电阻,可通过拨码开关接入或断开。

标准的拨码开关定义如下:

图1-4CAN-LINK拨码开关

表1-2CAN-LINK拨码开关定义

拨码号

信号

描述

1

地址线A1

此六位拨码开关由高到低组合成一个六位二进制数字,用来标识本机站号(若为PLC主模块,还可以通过D元件设置站号)。

“ON”表示1,“OFF”表示0。

高位在高,低位在低。

按以下方式组合:

A6A5A4A3A2A1。

比如A1=ON,其它位为OFF,即二进制地址为:

000001,十进制为K01,16进制为h01。

若A5,A4都为ON,其它为OFF,即二进制地址为:

011000,十进制为K24,16进制为h18。

2

地址线A2

3

地址线A3

4

地址线A4

5

地址线A5

6

地址线A6

7

波特率

OFF:

高速模式,波特率500Kbps,ON:

低速模式,波特率100Kbps

8

匹配电阻

若拨码开关为ON,表示接入120欧姆的终端匹配电阻,否则断开

若改变拨码开关,除匹配电阻外,波特率和地址并不能立即生效,需要给系统重新上电才可能使用新的设置参数。

1.2CAN-LINK软件配置

系统通过以下步骤完成CAN-LINK网络的配置

1.通过AUTOSHOP完成CAN-LINK网络组态,定义需要交换的数据。

2.把配置信息下载到H2U或H1U系列PLC中。

3.所有PLC等可编程设备均要启动CAN-LINK网络功能,若非特殊说明,H1U/H2U系列扩展模块默认是启用CAN-LINK功能的,不需要特殊的设置。

并且,在有CAN-LINK配置的PLC中,需要通过用户程序启动CAN-LINK网络配置。

1.3CAN-LINK网络组态

CAN-LINK网络组态有两种方式,绘图式、填表式或指令编写。

绘图式比较直观,填表式即较为简单,指令编写即需要用户用CANTX编写满足CAN-LINK配置帧的用户程序。

以下简单介绍一下绘图式,更详细的操作请参见AUTOSHOP软件使用说明。

在AUTOSHOP软件中,点击新建CAN-LINK网络,系统将出现一条CAN-LINK总线,然后增加设备,把需要组成CAN-LINK网络的设备拖进来,若系统中没有该设备,可以增加其它设备。

CAN-LINK网络如图1。

在CAN-LINK网络系统中,需要指定一台网络管理主机,网络管理主机一般是PLC。

当然,若其它设备支持CAN-LINK网络管理,也可指定该设备做网络管理主机。

接着设定每台机器的地址,注意,该地址必须与物理地址对应,即必须与拨码开关地址或通过其它手段设定的地址对应,CAN-LINK网络目前仅支持6位二进制地址,网络最大支持64台设备。

设定地址后,设定每台设备提供的服务,每条服务信息包括:

本机服务内容及数量,服务对象站号,服务对象存储该内容的寄存器起始地址,服务信息发送间隔时间。

配置完成后,把配置信息下载到所指定得网络管理主机中。

1.4CAN-LINK网络监控与运行

CAN-LINK的网络管理是在网络管理主机上完成的,若此网络主机下载有配置信息,即可执行网络监控功能。

PLC在第一次运行时初始化CAN硬件的,硬件初始化后PLC才能接入CAN-LINK网络,也就是说PLC必须在运行后才能执行网络监控命令。

M8287:

更新网络配置,用本机的配置信息覆盖原来的配置信息,若通过CANTX指令配置网络,不需要使用该命令。

M8288:

在原来配置的接触上增加配置信息,此命令一般用于具有多台网络管理主机时使用。

此命令要慎用,特别是不能重复执行,否则会造成网络配置信息不断增加,从而造成网络通信量增加,最终可能造成网络通信量过重而使得CAN-LINK网络通信缓慢。

网络配置命令执行后,CAN-LINK网络将自动执行,各设备开始自动交互数据。

2.CAN指令

2.1远程扩展模块访问指令

通过扩展模块指令,可读写通过CAN连接的远程扩展模块(需要扩展模块支持)和远程PLC。

该指令兼容本地扩展模块访问指令。

硬件接口参考1-1。

指令格式如下:

读模块数据指令:

FROM(M1,M2,D,n)

写模块数据指令:

TO(M1,M2,D,n)

参数说明:

M1:

大于100表示CAN远程模块,模块地址+100。

小于100表示本地扩展模块。

M2:

模块寄存器地址。

对扩展模块来说是BFM地址,对PLC来说是D元件序号。

D:

PLC通信缓冲区。

若为FROM指令,即把指定地址的模块的指定寄存器读到此缓冲区中;若为TO指令,即把此缓冲区的数据写入到指定地址的模块的指定寄存器中。

n:

表示读写的寄存器(BFM区)个数

指令执行说明:

该指令被驱动后,马上通过CAN对外部模块发送一帧数据,等待外部模块响应,若在规定时间(D8281设定,以ms为单位)收到外部模块的正确响应数据,指令执行正常并更新数据,否则报错。

若是超时,M8290将置位。

2.2CAN自由指令

CAN自由指令目的是方便用户与不满足CAN-LINK协议或远程扩展模块访问协议的设备通信用,通过该指令,用户可编写任意CAN通信用户协议。

2.2.1CAN数据发送指令

指令格式:

CANTX(Addr1,Addr0,D,n)

Addr1,Addr0:

CAN标识符(地址)

Addr1.bit15:

保留

Addr1.bit14:

保留

Addr1.bit13:

CAN标识符位数设定。

“0”表示标准CAN标识符(11位标识符),“1”表示扩展CAN标识符(29位标识符)。

若为11位标识符,Addr0的低11位表示标识符。

若为29位标识符,Addr0表示低16位标识符,Addr1的0~12位表示高13位标识符。

D:

发送缓冲区,D元件。

从该D元件开始的最大4个D元件作为发送缓冲区。

n:

发送数据个数,以字节为单位,最大为8。

CAN数据发送指令是立即执行的,若3ms内没有发送成功,将报6380故障;若CAN忙,将报6382故障。

下面将举例说明CANTX指令应用。

1.10ms发送一组数据,缓冲区为D10~13,D0存发送的字节数。

如图2-1所示。

图2-1CANTX用户指令

若D0=k8,D10=h1234,D11=h5678,D12=h9ABC,D13=hDEF0

发送的数据如表2-1所示:

表2-1发送数据

第一字节

第二字节

第三字节

第四字节

第五字节

第六字节

第七字节

第八字节

h12

h34

h56

h78

h9A

hBC

hDE

hF0

若接收端字节从高到低,CAN接收数据寄存器MDL=h12345678,MDH=h9ABCDEF0

若D0=1,只发送一个字节:

h12

若D0=3,发送前三个字节:

h12,h34,h56

依次类推。

2.通过CANTX配置CAN-LINK网络,假设有7台PLC组成一个CAN-LINK网络,站号从1~7。

有如下要求:

(1)通过CANTX指令来配置CAN-LINK网络。

(2)所有PLC的D110~D179的数据相同,其中D110~D119由1#PLC更新,D120~D129由2#PLC更新,······,D170~D179由7#PLC更新

由于CANTX指令无法发数据给本PLC,所以要在两台PLC中,通过CANTX指令配置CAN-LINK网络。

本例通过1#PLC配置2#~7#PLC,通过2#PLC配置1#PLC。

需要在1#PLC和2#PLC上编写一段配置程序。

其它PLC不需要配置程序。

由于CAN-LINK是采用1对1的通信方式,即任一台PLC需要给另6台PLC分别发数据,每台发送数据量为10个16位数据,CAN-LINK一帧最多只能发送2个16位数据,所以需要给每台PLC发送5帧数据,即任一台机器需要发送的数据帧总数为5×6=30帧,CAN-LINK总线上总帧数为30×7=210帧,使用500K波特率,一帧数据所用时间大约是300us,所以更新一次数据一共需要300us×210=63ms。

为避免总线过分拥挤,取100ms刷新一次数据比较合理。

1#PLC编程。

配置2#PLC,服务接收站起始寄存器为D120;服务提供站起始寄存器也是D120,寄存器个数为10,时间间隔为100ms,服务发送站号为2,服务接收站号分别为1,3,4,5,6,7。

取D10~D13作为CANTX发送缓冲区。

即有

MOVK120D10//服务接收站起始寄存器

MOVK120D11//服务提供站起始寄存器

MOVHA06D12//h0a为寄存器个数(10),06为时间间隔高位(h64)

MOVH4042D13//h4为时间间隔低位(h64),h042展开为二进制为0000,01;00,0010。

分号前的6位表示1#站为服务接收站,分号后的6位表示2#站为服务提供站。

只需要改变服务接收站分别为1,3,4,5,6,7即可。

CANTXH35ffH201D10K8//配置2#站发送数据给1#站

ADDH40D13D13

ADDH40D13D13

CANTXH35ffH201D10K8//配置2#站发送数据给3#站

ADDH40D13D13

CANTXH35ffH201D10K8//配置2#站发送数据给4#站

ADDH40D13D13

CANTXH35ffH201D10K8//配置2#站发送数据给5#站

ADDH40D13D13

CANTXH35ffH201D10K8//配置2#站发送数据给6#站

ADDH40D13D13

CANTXH35ffH201D10K8//配置2#站发送数据给7#站

同理,配置3#~7#PLC梯形图

MOVK130D10

MOVK130D11

MOVHA06D12

MOVH4043D13

CANTXH35ffH301D10K8

ADDH40D13D13

CANTXH35ffH301D10K8

ADDH40D13D13

ADDH40D13D13

CANTXH35ffH301D10K8

ADDH40D13D13

CANTXH35ffH301D10K8

ADDH40D13D13

CANTXH35ffH301D10K8

ADDH40D13D13

CANTXH35ffH301D10K8

MOVK140D10

MOVK140D11

MOVHA06D12

MOVH4044D13

CANTXH35ffH401D10K8

ADDH40D13D13

CANTXH35ffH401D10K8

ADDH40D13D13

CANTXH35ffH401D10K8

ADDH40D13D13

ADDH40D13D13

CANTXH35ffH401D10K8

ADDH40D13D13

CANTXH35ffH401D10K8

ADDH40D13D13

CANTXH35ffH401D10K8

MOVK150D10

MOVK150D11

MOVHA06D12

MOVH4045D13

CANTXH35ffH501D10K8

ADDH40D13D13

CANTXH35ffH501D10K8

ADDH40D13D13

CANTXH35ffH501D10K8

ADDH40D13D13

CANTXH35ffH501D10K8

ADDH40D13D13

ADDH40D13D13

CANTXH35ffH501D10K8

ADDH40D13D13

CANTXH35ffH501D10K8

MOVK160D10

MOVK160D11

MOVHA06D12

MOVH4046D13

CANTXH35ffH601D10K8

ADDH40D13D13

CANTXH35ffH601D10K8

ADDH40D13D13

CANTXH35ffH601D10K8

ADDH40D13D13

CANTXH35ffH601D10K8

ADDH40D13D13

CANTXH35ffH601D10K8

ADDH40D13D13

ADDH40D13D13

CANTXH35ffH601D10K8

MOVK170D10

MOVK170D11

MOVHA06D12

MOVH4047D13

CANTXH35ffH701D10K8

ADDH40D13D13

CANTXH35ffH701D10K8

ADDH40D13D13

CANTXH35ffH701D10K8

ADDH40D13D13

CANTXH35ffH701D10K8

ADDH40D13D13

CANTXH35ffH701D10K8

ADDH40D13D13

CANTXH35ffH701D10K8

2#PLC编程

2#PLC负责配置1#PLC,相对简单,程序如下

MOVK110D10

MOVK110D11

MOVHA06D12

MOVH4081D13

CANTXH35ffH102D10K8

ADDH40D13D13

CANTXH35ffH102D10K8

ADDH40D13D13

CANTXH35ffH102D10K8

ADDH40D13D13

CANTXH35ffH102D10K8

ADDH40D13D13

CANTXH35ffH102D10K8

ADDH40D13D13

CANTXH35ffH102D10K8

为了保证配置信息能发到各PLC,必须要等到所有PLC上电,配置信息发送需要等待一定时间,建议为3秒。

即3秒后1#PLC、2#PLC发出以上信息。

2.2.2CAN数据发送指令

指令格式:

CANRX(Addr1,Addr0,D,n)

Addr1,Addr0:

CAN标识符(地址)

Addr1.bit15:

保留

Addr1.bit14:

保留

Addr1.bit13:

CAN标识符位数设定。

“0”表示标准CAN标识符(11位标识符),“1”表示扩展CAN标识符(29位标识符)。

若为11位标识符,Addr0的低11位表示标识符。

若为29位标识符,Addr0表示低16位标识符,Addr1的0~12位表示高13位标识符。

D:

接收缓冲区,D元件。

从该D元件开始的最大4个D元件作为接收缓冲区。

n:

接收数据个数,以字节为单位,最大为8。

CANRX特别说明:

M8291:

OFF表示CAN接收处于空闲状态,ON表示CAN处于接收等待状态。

若CAN接收处于空闲状态,且接收指令被驱动,开始CAN数据接收并置M8291为ON,正常接收完成后M8291自动置为OFF,并从此条指令位置开始扫描下一条被驱动的指令开始执行接收数据。

从指令被驱动起计时,若接收等待时间超过D8241(毫秒为单位),报超时故障,M8290置位,指令执行完成。

M8290自动置为OFF,并从此条指令位置开始扫描下一条被驱动的指令开始执行接收数据。

指令被驱动,并不代表马上可以开始接收数据,先要看是否有CANRX处于接收等待状态。

该指令可以用沿驱动。

为避免与CAN-LINK冲突,11位标识符需要小于1023。

下面将举例说明CANRX的应用。

1.接收发给1号站的数据,如图2-2所示。

图2-2CANRX用户指令

若D0=8,若对方发过来的数据是h123456789ABCDEF0,那么D1010=h1234,D1011=h5678,D1012=h9ABC,D1013=hDEF0。

若D0=1,若对方发过来的数据是h123456789ABCDEF0,那么D1010=h12xx,D1011=hxxxx,D1012=hxxxx,D1013=hxxxx。

x表示未知数,不用关心。

若D0=3,对方发过来的数据是h123456789ABCDEF0,那么D1010=h1234,D1011=h56xx,D1012=hxxxx,D1013=hxxxx。

x表示未知数。

2.3PLC编程参考

对与H1U/H2U系列远程扩展模块,默认启动CAN-LINK的,只需要把硬件配置好,即把拨码开关拨好就可以了。

对于PLC主机,在用户程序编程上还需要做一些配置处理,特别是使用到CAN自由指令时。

请参照表2-2、2-3、2-4。

表2-2CAN通信相关特殊变量表(VEL1.00)

D8199

扩展卡类型号,H2U为自动识别,D8199显示此卡的类型号;

H1U不能自动识别,需要通过D8199设定扩展卡类型。

扩展卡类型如下:

1RS232扩展卡

2RS422/485通讯扩展卡

3AD扩展卡

4DA扩展卡

56A_6B_3A_BD1扩展卡

6高速扩展卡

7CAN扩展卡

D8240.0

启动CAN同步主站功能

D8240.1

0:

拨码设定CAN_LINK地址,D8242显示地址

1:

D8242设定CAN_LINK地址

D8240.2

0:

拨码设定波特率,D8243显示波特率

1:

由D8240.3决定波特率设置

D8240.3

0:

波特率分档设定

1:

波特率由D8243,D8244组成的32位寄存器自由设定(参见CAN波特率设置寄存器规则,选择该设置,可能造成通信异常,请慎重)

D8240.4

允许保存网络设备信息(用户设定保存网络设备信息地址)

D8241

CAN接收超时设定(ms)

D8242

CAN_LINK地址设定/显示地址

D8243

波特率设定,或显示拨码设定的波特率

D8244

D8240.2=1,D8240.3=0时

D8244=其它值,800K

D8244=6,600K

D8244=5,500K

D8244=4,400K

D8244=3,300K

D8244=2,200K

D8244=1,100K

D8244=0,10K

D8245

D8240.4=1,设定网络设备信息保存起始寄存器,寄存器个数为6×网络设备个数,最多384个寄存器,用户需要留出足够的空间,避免冲突

D8246.0

启动CAN_LINK发送一次功能

D8246.1

重新配置CAN-LINK网络

D8246.2

添加CAN-LINK网络配置信息

D8246.3

启动网络设备搜索

D8246.8

或M8192

CAN接收超时

D8246.9

或M8193

0:

自由CAN指令接收完成或空闲

1:

自由CAN指令接收状态

D8246.A

或M8194

1:

CAN自由指令发送失败

D8247

同步时钟计数器L

D8248

同步时钟计数器H

D8249

网络设备个数

D8250

CAN中断错误

D8251

CAN接收到的数据长度(MCFL)

D8252

MDLL

D8253

MDLH

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 思想汇报心得体会

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1