现场总线实验指导书.docx
- 文档编号:6227010
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:23
- 大小:340.87KB
现场总线实验指导书.docx
《现场总线实验指导书.docx》由会员分享,可在线阅读,更多相关《现场总线实验指导书.docx(23页珍藏版)》请在冰豆网上搜索。
现场总线实验指导书
现场总线实验指导书
实验一SJA100实现双机通讯
一、实验目的
1.了解CAN总线的基本知识
2.掌握CAN控制器SJA1000的使用方法
3.掌握硬件及软件的设计方法
二、实验设备
PC机一台,TD-ACC+试验系统两套+i386EX系统版两块
三、实验原理及内容
1.CAN总线单元中,SJA1000与控制计算机的接口
2.实验原理
将两台实验设备构成的CAN节点连到同一根CAN总线上,总线上的任意节点均可向其它节点发送报文,当某一节点收到另一节点的报文后,可将该报文在屏幕上显示。
发送报文采用按键启动方式,每按动一次按键,发送一帧报文。
报文结构采用扩展帧的格式共13个字节,位于CAN地址的16-28。
该实验采用固定通信速率50kbps,接收报文采用单滤波方式,为了试验程序的统一,将验收屏蔽寄存器AMR0-AMR3全部设定为FF(无关,不过滤)。
3.实验接线图
如图1-1。
其中IRQ7表示内部主片8259的7号中断,用作接受报文中断。
图1-1
4.参考程序流程图
如图1-2,1-3,1-4
图1-2
图1-3
图1-4
四、实验步骤
1.参考流程图阅读程序,然后编译,链接,装在程序。
参考程序在CAN86目录下的FuncMain.C
2.按照实验线路图1-1接线,将单次阶跃单元中的电位器旋至最大,检查无误后开启设备电源。
3.分别运行节点1和节点2的程序,两个节点可随时发送报文,每按动一次按键就启动报文发送,可在另一节点观测接受到的报文,检查接收的报文和发送的报文是否一致.
五、思考题
1.解释TxDataBuf缓冲区中数据的含义,特别是描述符区。
2.解释验收屏蔽寄存器代码和验收代码寄存器代码。
3.写出设置波特率为100k的语句。
4.写出设置验收滤波为双滤波模式的语句。
5.改变发送报文数据,观察接收方。
五、选做
1、如何将双机通讯改为多机通讯,并增加广播功能(学生的AMR=FFFFFFFF)。
2、当TxDataBuf缓冲区中最后2个数据为‘OK’,在接收方的屏幕上显示出来。
实验二、基于CAN总线的温度闭环控制实验
一、实验目的
1.了解CAN总线局域网的拓扑结构及通讯协议设计;
2.掌握在CAN网络中实现温度闭环控制的方法;
二、实验设备
PC机N台,TD-ACC+实验系统N套(包括控制机),RS232_CAN转换器一块
三、实验原理及内容
1.CAN总线局域网的拓扑结构
在了解了CAN总线的基本知识和SJA1000的使用方法后,可以把现有的基于CAN接口的设备组成网络;再结合PID温度闭环控制的内容,就可以在CAN网络中实现温度闭环控制。
对于初学者特别关心的可能是如何组网和通讯协议的设计,为此我们设计了一个较简单的实验,把实验设计的过程一点点的展现出来,从而起到抛砖引玉的作用,学生可以由此一步一步深入下去,达到真正掌握CAN总线的目的。
实验中网络的结构设计如下:
图1-1
CAN总线网络上由N台CAN节点和1台服务器组成,通讯波特率为50Kbps服务器作为主控台可以通过CAN总线实时监控网络上每个节点的运行情况,可以控制节点的启动、停止和修改参数。
每个节点都是一个温度闭环控制器,被控对象可以是烤箱或温度单元,控制结果可以本机显示同时发往服务器。
2.通讯协议
本实验中的协议采用SJA1000的PeliCAN模式,扩展帧类型和单滤波方式。
而要完成点-点、点-多点(广播)这样的通信,采用双滤波方式更为方便。
扩展帧由帧信息、标识码和数据组成,帧信息1个字节,标识码4个字节,数据长度不定最多有8个字节。
扩展帧类型:
7
6
5
4
3
2
1
0
帧信息
FF
RTR
×
×
DLC3
DLC2
DLC1
DLC0
标识码1
ID28
ID27
ID26
ID25
ID24
ID23
ID22
ID21
标识码2
ID20
ID19
ID18
ID17
ID16
ID15
ID14
ID13
标识码3
ID12
ID11
ID10
ID9
ID8
ID7
ID6
ID5
标识码4
ID4
ID3
ID2
ID1
ID0
×
×
×
根据实验的要求:
FF位为1表示扩展帧,RTR位为0表示远程帧,DLC3~DLC0表示该帧中数据字节的长度,范围0~8。
ID28~ID24:
优先级设定
ID23~ID21:
教师节点ID(共3位,参与滤波,AMR=F8FFFFFF)
ID20~ID13:
学生节点ID(共8?
11位,参与滤波,AMR=F800FFFF)
ID12~ID5:
用作命令字节,详见命令说明
ID4~ID0:
暂保留(不参与滤波)
滤波方式:
采用单滤波方式。
ID分配如下表所示:
31~27
26~24
23~16
15~8
7~3
2~0
ID28~ID24
ID23~ID21
ID20~ID13
ID12~ID5
ID4~ID0
×××
优先级:
5位
教师节点:
3位
学生节点:
8位
命令:
8位
保留:
5位
×××
命令说明:
标识码3(ID12~5)用做命令字节,根据实验要求,规定了4个命令:
命令字:
0x50
功能说明:
停止节点的PID程序的执行。
参数:
无
命令字:
0x51
功能说明:
启动节点的PID程序的执行。
参数:
无
命令字:
0x52
功能说明:
修改节点的PID的相关参数。
参数:
给定值(SPEC),采样周期(TK),积分分离值(IBAND),比例系数(KP),积分系数(TI),微分系数(TD)。
命令字:
0x53
功能说明:
将当前节点的PID的相关参数发送到服务器。
参数:
给定值(SPEC),采样周期(TK),积分分离值(IBAND),比例系数(KP),积分系数(TI),微分系数(TD)。
数据1中存放的是示波器通道1的波形数据,数据2中存放的是示波器通道2的波形数据。
关于命令,共8位,可以有修改节点参数,如验收代码及验收屏蔽寄存器的修改;也可以有应用程序参数修改,如修改PID参数。
四、参考流程图
五、实验步骤
1.先将节点和服务器接入CAN网络,各个节点的接线图见图1-2,服务器和整个网络的接线图参照图1-1。
图1-2
2.服务器端运行程序CANBUS.EXE,点击“串口”,选择正确的串口连接,保证转换器连接正常。
此时如果有节点接入CAN网络并向服务器发送数据,界面上会显示当前节点的给定值和测量值。
3.节点端运行调试软件TD-ACC.EXE,打开参考程序ACC-CAN.C,修改节点号与本机的机号一致,打开电源,编译连接并装载程序,运行程序。
4.服务器端可实时检测到各个节点发送的数据,也可以点击“系统(S)”菜单中“节点配置(N)”,来控制节点控制器的运行、停止并能在线修改节点的PID参数。
点击节点的历史曲线可以观测到各个节点运行的情况。
六、思考题
1.修改节点号,观察上位机和下位机的识别情况。
2.解释发送数据处理函数中,TxDataBuf缓冲区数据的含义。
3.在上位机上修改给定值,观察温度控制变化,记录2组波形。
实验三CANopen总线控制系统演示
CANopen现场总线基础
一、CANopen现场总线简介:
CANopen是一种用于工业监控系统的标准现场总线协议。
它尤其适合实时PLC控制系统使用,因为其高效、低成本的解决方案最适用于嵌入式工业应用程序。
CANopen是基于CAN总线开发的现场总线。
因此在了解CANopen协议前,熟悉一下CAN总线是很有必要的。
CAN的全称是:
ControllerAreaNetwork(控制器局域网),主要用于各种过程检测及控制。
CAN最初是由德国BOSCH公司为汽车监测和控制而设计的。
图3-1CANbus在汽车检测和控制系统中的应用
目前CAN已逐步应用到其它工业控制中,现已成为ISO-11898国际标准。
CAN总线网络遵循ISO网络模型中,第1层(物理层);第2层(数据链路层);第7层(应用层)。
而CANopen协议是从CANApplicationLayer的一个子集设计而成的协议。
CANopen是CiA(CANinAutomation)协会的一个标准,从其一面市就立刻备受瞩目。
在欧洲,CANopen被认为是基于CAN概念设计的工业系统的标准。
7
应用层
CiA–CANopen协议标准DS-301
CAL=CANApplicationLayer
6
表示层
5
会话层
4
传输层
3
网络层
2
数据链路层
CAN2.0AandB+ISO11898
1
物理层
CAN2.0AandB=ISO11898
ISO11898+DS-102
表3-1CANopenISO模型对应表
二、CANopen现场总线基础:
1、物理层:
∙CANopen是基于CAN总线开发的现场总线,因此,CANopen现场总线的物理层就是CAN总线的物理层,CAN总线使用以差分方式控制的两线总线。
CAN信号为CAN-high和CAN-low之间的电压差。
(下图是CAN物理层组件的介绍)
编号
描述
1
CAN-high线
2
CAN-low线
3
CAN-high/CAN-low信号电位差
4
CAN_GND线
5
120终端电阻
6
接入总线设备
表3-2CAN物理层组件
∙CANopen总线波特率与总线长度匹配:
波特率(kbit/s)
1000
800
500
250
125
50
20
10
总线最大长度(m)
20
40
100
250
500
1000
2500
5000
表3-3CANopen总线最大传输距离
2、数据链路层:
∙CAN数据帧的类型:
ØCAN数据帧:
ØCAN远程帧:
ØCAN错误帧:
(同CAN数据帧)
3、应用层:
∙CANopenMessagesTypes:
ØPDO(ProcessDataObject)
主要用于实时数据传输
基于生产者/消费者的通讯方式
包括TPDO(传输PDO)/RPDO(接收PDO)
ØSDO(ServiceDataObject)
主要用于参数读写
基于服务器/客户端的通讯方式
包括SDO_T(传输SDO)/SDO_R(接收SDO)
ØNMT(NetworkManagement)
用于网络管理的指令
基于生产者/消费者的通讯方式
ØErrorControl
用于发送网络站点状态消息
基于生产者/消费者的通讯方式
∙COB-ID(Communicationobjectidentifier)/CAN-ID(CANidentifier)
COB-ID/CAN-ID是CANopen通讯协议中,最重要的通讯标志之一,它是CANopenmessage中的一个网络标示,用来确定网络中CANopen-message的类型。
图3-3CANopenmessage
COB-ID是由11位数据组成,其中高4位表示通讯功能码,低7位表示总线设备的地址。
COB-ID/CAN-ID
COB
Functioncode
Node(Slave)-ID
10
9
8
7
6
5
4
3
2
1
0
NMT(0h)
0
0
0
0
0
SYNC(080h)
0
0
0
1
0
TIME(100h)
0
0
1
0
0
EMCY(081h~0ffh)
0
0
0
1
0~127
TPDO1(181h~1ffh)
0
0
1
1
0~127
RPDO1(201h~27fh)
0
1
0
0
0~127
TPDO2(281h~2ffh)
0
1
0
1
0~127
RPDO2(301h~37fh)
0
1
1
0
0~127
TPDO3(381h~3ffh)
0
1
1
1
0~127
RPDO3(401h~47fh)
1
0
0
0
0~127
TPDO4(481h~4ffh)
1
0
0
1
0~127
RPDO4(501h~57fh)
1
0
1
0
0~127
SDO_T(Server)(581h~5ffh)
1
0
1
1
0~127
SDO_R(Client)(601h~67fh)
1
1
0
0
0~127
Free(680h~6DF)
1
1
0
1
Errorcontrol(701h~77fh)
1
1
1
0
0~127
表3-411bitsCAN应用层通讯标识表
❑例1:
PDO服务在网络中的标识(COB-ID)
Slave_6:
RPDO1=>COB-ID=201h+5h=206h
Slave_63:
TPDO3=>COB-ID=381h+3Eh=3BFh
RPDO3=>COB-ID=401h+3Eh=43FhCANopenObjectDictionary
CANopenObjectDictionary是用来定义CANopen现场总线设备的通讯服务地址和设备参数地址的表格,通常它是以.eds文件形式提供给用户使用。
用户在配置CANopen现场总现网络时,需要在主站中加入网络中各个从站的.eds文件,从而可以实现主站对各个从站的通讯访问。
通俗的说,CANopenObjectDictionary就是存放各个现场总线设备通讯服务及设备参数的地址表。
CANopenObjectDictionary
Index(Hex)
Object
0011~009f
数据类型区
00A0~0FFF
保留
1000~1FFF
网络通讯和地址映射区
2000~5FFF
设备厂商参数定义区
6000~9FFF
标准设备参数定义区
A000~FFFF
保留
表3-5CANopenObjectdictionary表
CANopen现场总线课程实验环节
一、CANopen现场总线实验环境
1、CANopen现场总线设备表:
硬件
类型
名称
型号
数量
Master
PLC
M340Ethernet/CANopen
BMXP342030
1
BMXCPS3500
1
BMXXBP0600
1
BMXDDI1602
1
BMXDDO1602
1
Slave
RemoteI/O
OTB
OTB1C0DM9LP
2
STB
STBNCO2212
1
STBPDT3100
1
STBDDI3610
1
STBDDO3600
1
STBAVI1270
1
STBAVO1250
1
STBXBA2200
1
STBXBA1000
4
STBXTS1100
1
FTB
FTB1CN08E08SP0
2
Motor
TeSysU
LULC08
1
LUB12
1
LUCM12BL
1
Drive
ATV31
ATV31H018M2
1
ATV71
ATV71H037M3
1
Others
Cable
PLCProgramcable
BMXXCAUSBH018
1
CANopencable
TSXCANCA50
1
Preassembledcable
TSXCANCBDD03
2
TSXCANCBDD1
2
FTXCN3203
1
FTXCNTL12
1
FTXDP2115
1
FTXDP2206
1
VW3CANCARR1
2
Terminal
M340terminalstrip
BMXFTB2010
2
Tap
SUB-D9
TSXCANTDM4
2
RJ45
VW3CANTAP2
1
Interface
Connectors
TSXCANKCDF90T
1
Connectors
TSXCANKCDF90TP
1
软件
Programsoftware
UnityProS
UNYSPUSFUCD30
1
表3-6实验设备
2、CANopen现场总线示意图:
ProgramSoftware
UnityProS
Slave1:
RemoteI/O
STB:
STBNCO2212
Address:
1
Slave2:
RemoteI/O
OTB:
OTB1C0DM9LPAddress:
2
Slave10:
RemoteI/O
OTB:
OTB1C0DM9LPAddress:
10
Master:
M340PLC
CPU:
BMXP342030
Slave12:
RemoteI/O
FTB:
FTB1CN08E08SP0
Address:
12
TAP
TAP
TAP
Slave22:
RemoteI/O
FTB:
FTB1CN08E08SP0
Address:
22
Slave63:
Drive
ATV71:
ATV71H037M3
Address:
63
Slave32:
Motor
TeSysU:
LULC08+LUB12
+LUCM12BL
Address:
32
Slave33:
Drive
ATV31:
ATV31H018M2
Address:
33
图3-4CANopen现场总线示意图
3、CANopen现场总线拓扑:
总线中包括:
1个CANopenMaster;5个CANopenRemoteI/OSlaves;1个CANopenMotorSlave;2个CANopenDriveSlaves。
图3-5CANopen总线拓扑
二、实验设备
1.现场总线设备:
上位PC机1台;M340PLC1台;CAN总线1条;OTB远程I/O1个;FTB远程I/O2个;ATV31变频器2台;ATV37变频器1台。
2.现场实行机构:
机械臂1个;传送带1条;交通灯演示盒1个;两相交流异步风扇2个。
3.数据采集传感器:
霍尔元件3个;光电传感器2个;按钮8个;温度传感器1个。
三、思考题
1)CAN总线的特点是什么?
2)CAN总线物理层以何方式传递信号?
3)应用层包含了哪些信息?
4)CAN总线如何识别通讯服务地址和设备参数地址?
5)实验中观察到所有与从站相连的设备有哪些?
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 现场总线 实验 指导书