ProfibusDP转CAN协议转换模块使用说明

1、产品概述

        本网关是一种将Profibus总线和CAN总线桥接的设备。使用CAN通讯协议的设备(如:仪表、传感器等)可通过本网关和Profibus总线上的主站设备(如:西门子S7-300/400,ABB-800)进行数据交换。网关在Profibus总线上工作在从站模式。

CAN总线的报文收发支持基本模式和高级模式两种。基本模式支持灵活的CAN报文收发,CAN报文的ID符、帧类型、数据长度、数据等均可在线编程,通过PLC编程能够实现各种CAN低级和高级协议报文的收发功能,但PLC编程工作量较大。高级模式则是在组态软件中配置CAN报文的ID符、帧类型、数据长度等,PLC在运行时只需要读取或写入CAN报文帧的数据即可,可方便实现一对多的CAN网络通信。两种模式在网关组态时使用不同的GSD文件。

 1-1 PCTG-8014 应用模式

1.1、产品特点

◆ 使用32-Bit Micro-controller,频率可达80MHz。

◆ 使用Profichip公司的Profibus VPC3+C专用芯片。

◆ 支持Profibus DP-V0 slave。

◆ Profibus传输速率自动识别。

◆ Profibus传输速率最高支持12M bps,CAN传输速率最高支持1Mbps。

◆ CAN支持2.0A和2.0B版本。

◆ CAN报文的发送可采用定时发送和手动触发发送两种模式。

◆ CAN支持常用标准波特率。

◆ Profibus输入输出数据长度可自由设定,最大输出/输入数据长度为 244/244 Bytes。

◆ Profibus和CAN接口采用2500Vrms磁耦合隔离电路。

◆ Profibus、CAN、电源三端电气隔离,均具备抗600W雷电、浪涌能力。

◆ 电源输入范围宽,并具备反接、过压、过流、过热保护功能。

◆ 具备LED 状态指示灯,方便用户查看状态。

◆ 内置独立看门狗,增强设备抗干扰能力。

◆ 采用35mm导轨(DIN Rail)安装方式。

1.2、技术指标

1.2.1 CAN接口

◆ 波特率支持2K、3K、5K、10k、20k、30k、40k、50k、60k、75k、80k、90k、100k、120k、125k、144k、150k、160k、200k、225k、250k、300k、400k、500k、600k、666k、800k、900k、1Mbps。

◆ CAN收发器具备离线自动恢复功能。

1.2.2 Profibus接口

◆ 物理接头为DB9座孔,可直接连接DP总线连接器。

◆ Profibus数据输入、输出字节可设定。最大输入244字节,最大输出244字节,最大输入+输出488字节。

◆ 传输速率支持9.6K、19.2K、45.45K、93.75K、187.5K、500K、1.5M、3M、 6M、12Mbps。

◆ Profibus 从站地址设置范围0~126。

1.2.3 电源接口

◆ 物理接口为5.08mm间距3P端子。

◆ 输入电压范围DC7~36V。

◆ 具备反接、过压、过流、过热保护功能。

◆ 功率消耗1.1W。

1.2.4 环境指标

◆ 工作温度-40~85度。

◆ 工作湿度5%~95%(25℃时),无凝结。

1.2.5 外形尺寸:112*70*40mm。

1.2.6 安装方式:35mm DIN导轨。

1.2.7 重量:约110g。

2、硬件描述

2.1、原理框图

 图2-1  PCTG-8014原理框图 

2.2、接口说明

 2-2  PCTG-8014接口图

 2-1  PCTG-8014接口定义

2.3、通信连接

2.3.1Profibus接口

2-3  PCTG-8014 Profibus接口连接

建议网关在连接Profibus总线时使用标准DP总线连接器和线缆。如果网关为Profibus网络的最末端站点,需将其总线连接器的终端电阻开关拨到“ON”的位置。

2.3.2CAN接口

    网关在CAN接口电路中已经内置120欧姆终端电阻,但出厂时并未接入。如需在网关的CAN接口中接入终端电阻,请将CAN接口的“1”脚和“2”脚短接,“4”脚和“3”脚短接。

2.4、Profibus从站地址设定

Profibus从站地址需通过面板上两个10进制的旋转编码开关设置,一个代表十位,一个代表个位,这两个开关可设定0~99地址。在设置100~126地址时,用机壳背面的4位拨码开关和面板上两个旋转编码开关组合设置。4位拨码开关的第1位用来表示地址的百位,当拨码开关的第1位在ON的位置时,地址的百位为1,即可设置100~126的地址;当其在OFF的位置时,地址的百位为0。当三个开关的设置得到的是大于126的地址时,则认为百位无效,地址只取两个旋转编码开关的地址值。Profibus的从站地址设置通过表格说明如下

4位拨码开关第1

X10旋转编码开关

X1旋转编码开关

Profibus从站地址

OFF

0

0

0

OFF

0

9

9

OFF

9

0

90

ON

1

9

119

ON

2

6

126

ON

2

7

27

ON

9

9

99

 2-2  Profibus从站地址设置举例

2.5、LED状态指示灯

指示灯

指示灯状态

含义

PW

常亮

设备工作正常

熄灭

设备启动失败或未接入电源

PB

常亮

Profibus总线连接正常

熄灭或闪烁

Profibus总线连接失败或掉线

CAN

常亮或闪烁

CAN通讯有错误

熄灭

CAN通讯正常

RX

熄灭

无数据从CAN总线接收

常亮或闪烁

正在从CAN总线接收数据

TX

熄灭

无数据发送到CAN总线

常亮或闪烁

正在向CAN总线发送数据

 2-3  LED状态及含义

3、GSD文件及网关配置

Profibus系统以 GSD 文件方式提供设备的功能参数 (如 I/O点数配置、系統参数配置、诊断信息、baud rate 和工作模式等)。本网关的GSD文件随产品光盘提供,提供“DP-CANA.GSD”和“DP-CANB.GSD”两个GSD文件,基本模式使用“DP-CANA.GSD”进行组态,高级模式使用“DP-CANB.GSD”进行组态。

3.1、GSD文件的导入

如果第一次使用网关,需要将网关的GSD文件导入到Step7软件中,导入的方法和步骤如下

(1)在Step7工程中打开硬件组态窗口,然后单击执行选项安装GSD文件菜单

 3-1 安装GSD文件

(2)在弹出的对话框中选择GSD文件所在的目录,会自动显示该目录中所有的GSD文件

 3-2 GSD文件目录

(3)选择要安装的GSD文件,单击安装按钮,根据提示操作。安装成功后网关即出现在Step7的设备列表中。

 3-3  导入GSD文件

3.2、网关基本模式下专用参数和模块的配置说明

3.2.1、网关专用参数配置

双击Step7组态界面Profibus总线上的网关从站图标,弹出如下的网关参数配置窗口

     3-4  网关基本模式专用参数配置  

1Baud

此参数配置CAN的通讯波特率。支持的波特率有2K、3K、5K、10k、20k、30k、40k、50k、60k、75k、80k、90k、100k、120k、125k、144k、150k、160k、200k、225k、250k、300k、400k、500k、600k、666k、800k、900k、1Mbps。

2FilterIDFilterMaskID

这两个参数相互配合,可以得到一个或一组需要接收的CAN报文ID,其它ID的报文将会被硬件过滤掉不会被接收。这两个参数默认值为0,即接收所有报文,不过滤任何报文。

FilterID

位31:24

位23:16

位15:8

位7:0

FilterMaskID

位31:24

位23:16

位15:8

位7:0

映像

STID[10:3]

STID[2:0]

EXID[17:13]

EXID[12:5]

EXID[4:0]

IDE

RTR

0

当“FilterMaskID”的某位为1时,接收到的CAN报文ID和“FilterID”的相应位必须相同才会接收,否则将自动丢弃。下面举例说明。

例1:

假如:

只接收ID为0x317的标准数据帧

0x317二进制表示为 011  0001  0111

那么:

将“FilterID”和“FilterMaskID”进行如下设置

FilterID :

0110

0010

111X

XXXX

XXXX

XXXX

XXXX

X00X

FilterMaskID :

1111

1111

1110

0000

0000

0000

0000

0110

 “FilterID”中前面11个红色的二进制位就代表我们要接收的帧ID 0x317,后面两个红色的二进制位00,第1个0代表是标准格式帧(标准格式帧的ID是11位,所以前面表示ID的红色是11个二进制位),第2个0代表是数据帧。“FilterMaskID”里面的1表示接收的报文ID相应位必须与“FilterID”相同,0表示可以相同也可以不同。

FilterID中的X表示为0和1都可以,为了计算方便我们一般将其设置成0。如下所示:

FilterID :

0110

0010

1110

0000

0000

0000

0000

0000

FilterMaskID :

1111

1111

1110

0000

0000

0000

0000

0110

用16进制表示为:

FilterID :

0x62E00000

FilterMaskID :

0xFFE00006

由于参数配置对话框中只能输入10进制数,把“FilterID”和“FilterMaskID”转换10进制数为:

FilterID = 1658847232

FilterMaskID = 4292870150

将上面两个10进制数填入参数对话框中,即可实现只接收ID为0x317的标准数据帧。

例2:

假如:

只接收ID为0x310到0x317的标准数据帧

0x310二进制表示为 011  0001  0000

0x317二进制表示为 011  0001  0111

那么:

将“FilterID”和“FilterMaskID”可以进行如下设置

FilterID :

0110

0001

XXXX

XXXX

XXXX

XXXX

XXXX

X00X

FilterMaskID :

1111

1111

0000

0000

0000

0000

0000

0110

 “FilterID”中前面11个红色的二进制位代表要接收的帧ID ,其中的xxx代表000到111的任意组合。后面“X00X”中两个红色的二进制位“00”,第1个0代表是标准格式帧(标准格式帧的ID是11位,所以前面表示ID的红色是11个二进制位),第2个0代表是数据帧。“FilterMaskID”里面的1表示接收的报文ID相应位必须与“FilterID”相同,0表示可以相同也可以不同。

FilterID中的X表示为0和1都可以,为了计算方便一般将其设置成0。如下所示:

FilterID :

0110

0001

0000

0000

0000

0000

0000

0000

FilterMaskID :

1111

1111

0000

0000

0000

0000

0000

0110

用16进制表示为:

FilterID : 0x62000000

FilterMaskID : 0xFF000006

由于参数配置对话框中只能输入10进制数,我们把“FilterID”和“FilterMaskID”转换10进制数:

FilterID = 1644167168

FilterMaskID = 1644167168

将上面两个10进制数填入参数对话框,即可实现只接收ID为0x310到0x317的标准数据帧。

例3:

假如:

想接收ID为0x00000000到0x1FFFFFFF的扩展数据帧

0x00000000二进制表示为 0  0000  0000  0000  0000  0000  0000  0000

0x1FFFFFFF二进制表示为 1  1111  1111  1111  1111  1111  1111  1111

那么:

将“FilterID”和“FilterMaskID“进行如下设置

FilterID :

XXXX

XXXX

XXXX

XXXX

XXXX

XXXX

XXXX

X10X

FilterMaskID :

0000

0000

0000

0000

0000

0000

0000

0110

按照前面的例子,“x”用“0”代替,如下:

FilterID :

0000

0000

0000

0000

0000

0000

0000

0100

FilterMaskID :

0000

0000

0000

0000

0000

0000

0000

0110

用16进制表示为:

FilterID : 0x00000004

FilterMaskID : 0x00000006

由于参数配置对话框中只能输入10进制数,把“FilterID”和“FilterMaskID”转换成10进制数:

FilterID = 4

FilterMaskID = 6

将上面两个10进制数填入参数对话框,即可实现接收ID为0x00000000到0x1FFFFFFF的扩展数据帧。

(3)Interval(ms)

此参数配置定时发送CAN报文时的间隔时间。取值范围为1-30000,单位是毫秒,即支持的间隔时间从1毫秒到30秒。此参数需根据发送报文的长度和波特率来调整。

3.2.2、设备模块参数配置

设备模块配置可选择Profibus数据输入输出交换区的模块数量和大小,可配置输入输出模块的内容和特性。下面介绍的模块都为预置模块,在Step7中会自动添加,不需要用户手动操作。

3.2.2.1、状态字和控制字模块(Status/Command(1 Byte In/Out))

本模块没有配置参数。状态字模块占用1个字节的Profibus输入数据区,其用来输出设备当前的工作状态,状态字节内容如下表

D7-D1

D0

保留位

CAN离线状态标志。1=进入离线状态;0=正常状态

 3-1网关基本模式状态字节

位连续的隐性位,则自动退出离线状态。

控制字模块占用1个字节的Profibus输出数据区,其用来在设备运行过程中对设备进行控制,内容如下表

D7

D6-D2

D1

D0

重启设备控制位:1=重启设备;0=不重启设备

此位置1就会重启设备,

如果重启后此位还是1,则会继续重启设备。

所以重启后,此位需清零。

保留位

报文发送模式

1=定时发送

0=触发发送

报文发送使能

1=使能报文发送

0=禁止报文发送

 3-2网关基本模式控制字节

3.2.2.2、接收和发送报文帧计数模块(Frame Counter(1 Byte In/Out)

接收报文帧计数占用一个字节的Profibus输入数据区,在通信时对接收到的报文帧进行计数,报文帧计数从0到255循环往复。

发送报文帧计数占用一个字节的Profibus输出数据区,此字节用来在报文触发发送方式时控制报文的发送。当采用定时发送时,此字节内容网关不做判断。在报文触发发送方式时,当网关检测到此字节的数值发生变化时(不关心具体数值,只要有变化),就立即将Profibus Out数据区的报文通过CAN口发送一次。建议对此字节采用加1或减1操作,这样能保证每次数值都会改变。

3.2.2.3CAN报文数据长度模块(Frame Length(1 Byte In/Out))

接收CAN报文时,数据长度字节为接收的CAN报文中的数据长度;发送CAN报文时,数据长度字节为发送CAN报文中包含的数据长度。当接收的是远程帧时,接收数据长度字节恒为0;当发送远程帧时,发送数据长度字节不起作用。

3.2.2.4CAN报文标识符模块(Identifier(4 Bytes In/Out))

发送和接收标识符分别占用4个字节的Profibus输入输出区,接收标识符表征接收到的报文,发送标识符控制报文的发送。其具体内容如下

位31:21

位20:3

位2

位1

位0

STID[10:0]/EXID[28:18]

EXID[17:0]

IDE

RTR

RSV

标准标识符或扩展标识符。依据IDE(位2)的内容,这些位或是标准标识符,或是扩展身份标识的高字节

扩展标识符的低字节

该位决定标识符的类型。

0:使用标准标识符

1:使用扩展标识符

该位决定帧的类型。

0:数据帧

1:远程帧

保留位

 3-3  网关基本模式CAN报文标识符模块

3.2.2.5CAN报文数据模块(Data(8 Bytes In/Out)

CAN报文的数据长度最大是8个字节,所以本模块共预留了8个字节的Profibus In和8个字节的Profibus OUT数据,实际报文的数据长度会在0-8个字节之间。

接收报文时,用户PLC程序根据接收报文数据长度字节从Profibus In取出需要的数据;发送报文时,网关根据发送报文数据长度字节从Profibus Out取出需要的数据,然后通过CAN口发送出去。

3.3、网关高级模式下专用参数和模块的配置说明

3.3.1、网关专用参数配置

    

3-5  网关高级模式专用参数配置

1Baud

此参数配置CAN的通讯波特率。支持的波特率有2K、3K、5K、10k、20k、30k、40k、50k、60k、75k、80k、90k、100k、120k、125k、144k、150k、160k、200k、225k、250k、300k、400k、500k、600k、666k、800k、900k、1Mbps。

2Identifier Type

本网关支持CAN2.0A和CAN2.0B,选项“Standard”为CAN2.0A的11位标识符模式,选项“Extended”为CAN2.0B的29位标识符模式。由于CAN总线不允许11位和29位标识符的混合使用模式,所以用户需要在使用网关前确认自己的CAN网络是使用11位还是29位标识符,然后正确选择“Identifier Type”参数。

3Transmisson Timerms

此参数配置定时发送CAN报文时的间隔时间。取值范围为1-30000,单位是毫秒,即支持的间隔时间从1毫秒到30秒。此参数需根据发送报文的长度和波特率来调整。

3.3.2、设备模块参数配置

设备模块配置可选择Profibus数据输入输出交换区的模块数量和大小,可配置输入输出模块的内容和特性。本网关定义了3种CAN报文模块,分别是接收数据报文、发送数据报文、发送远程报文模块。接收数据报文和发送数据报文又根据数据长度分别定义了8种报文模块,另外还定义了状态字和控制字模块。状态字和控制字模块在组态时会自动添加,其他模块需要用户根据需要手动添加。

       3-6 网关高级模式设备模块

3.3.2.1、状态字和控制字模块(Status/Control(2 Byte In/Out)

本模块没有配置参数。状态字模块占用2个字节的Profibus输入数据区,其用来指示网关当前的工作状态,状态字的第二个字节目前没有使用,状态字的第一个字节内容如下表

D7-D1

D0

保留位

CAN离线状态标志。1=进入离线状态;0=正常状态

 3-4网关高级模式状态字第一字节

根据CAN协议,当发送错误计数器大于255时,CAN即进入离线状态。一旦硬件检测到128次11位连续的隐性位,则自动退出离线状态。

控制字模块占用2个字节的Profibus输出数据区,用来对网关进行控制。控制字第一个字节的内容如下表

D7

D6-D2

D1

D0

重启设备控制位:1=重启设备;0=不重启设备

此位置1就会重启设备,

如果重启后此位还是1,则会继续重启设备。

所以重启后,此位需清零。

保留位

报文发送模式

1=定时发送

0=触发发送

报文发送使能

1=使能报文发送

0=禁止报文发送

 3-5 网关高级模式控制字第一字节

控制字的第二个字节通过和第一个字节的配合来实现CAN报文的触发发送。当网关工作在触发发送模式时,控制字的第二个字节为发送报文的编号,具体操作会在第5章中介绍。

3.3.2.2、接收数据报文模块(XX Byte InCAN Receive))

本例中按接收8个字节的CAN报文操作,CAN报文标识符为0x123。

1)插入模块

单击设备目录中“BJPCT DP-CANB Link Release 1”下的“8 Byte In(CAN Receive)”模块,并将其拖放到左侧的1号槽中,如图3-7所示

 3-7 插入CAN接收报文模块

2)设定模块的CAN报文标识符

双击1号槽模块,弹出“属性-DP从站”对话框,在对话框中选择“分配参数”选项卡输入CAN报文的标识符。在此处输入时只能输入10进制数据,需要将CAN报文的标识符0x123转换成10进制291然后输入。

       3-8 设置CAN接收报文标识符

3.3.2.3、发送数据报文模块(XX Byte OutCAN Send))

本例中按发送8个字节的CAN报文操作,CAN报文标识符为0x456。

1)插入模块

单击设备目录中“BJPCT DP-CANB Link Release 1”下的“8 Byte Out(CAN Send)”模块,并将其拖放到左侧的2号槽中,如图3-9所示

 3-9 插入CAN发送报文模块

2)设定模块的CAN报文标识符

双击2号槽模块,弹出“属性-DP从站”对话框,在对话框中选择“分配参数”选项卡输入CAN报文的标识符。在此处输入时只能输入10进制数据,需要将CAN报文的标识符0x456转换成10进制1110然后输入。

 3-10 设置CAN发送报文标识符

3.3.2.4、发送远程报文模块(Send Remote Frame

本例中按发送标识符为0x789远程报文操作。

1)插入模块

单击设备目录中“BJPCT DP-CANB Link Release 1”下的“ Send Remote Frame ”模块,并将其拖放到左侧的3号槽中,如图3-11所示

 3-11 插入CAN远程报文模块

2)设定模块的CAN报文标识符

双击3号槽模块,弹出“属性-DP从站”对话框,在对话框中选择“分配参数”选项卡输入CAN报文的标识符。在此处输入时只能输入10进制数据,需要将CAN报文的标识符0x789转换成10进制1929后输入。

 3-12 设置CAN远程报文标识符

  • 25
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值