现场总线实验指导书文档格式.docx
《现场总线实验指导书文档格式.docx》由会员分享,可在线阅读,更多相关《现场总线实验指导书文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
再结合PID温度闭环控制的内容,就可以在CAN网络中实现温度闭环控制。
对于初学者特别关心的可能是如何组网和通讯协议的设计,为此我们设计了一个较简单的实验,把实验设计的过程一点点的展现出来,从而起到抛砖引玉的作用,学生可以由此一步一步深入下去,达到真正掌握CAN总线的目的。
实验中网络的结构设计如下:
图1-1
CAN总线网络上由N台CAN节点和1台服务器组成,通讯波特率为50Kbps服务器作为主控台可以通过CAN总线实时监控网络上每个节点的运行情况,可以控制节点的启动、停止和修改参数。
每个节点都是一个温度闭环控制器,被控对象可以是烤箱或温度单元,控制结果可以本机显示同时发往服务器。
2.通讯协议
本实验中的协议采用SJA1000的PeliCAN模式,扩展帧类型和单滤波方式。
而要完成点-点、点-多点(广播)这样的通信,采用双滤波方式更为方便。
扩展帧由帧信息、标识码和数据组成,帧信息1个字节,标识码4个字节,数据长度不定最多有8个字节。
扩展帧类型:
7
6
5
4
3
2
1
帧信息
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位
命令:
保留:
命令说明:
标识码3(ID12~5)用做命令字节,根据实验要求,规定了4个命令:
命令字:
0x50
功能说明:
停止节点的PID程序的执行。
参数:
无
0x51
启动节点的PID程序的执行。
0x52
修改节点的PID的相关参数。
给定值(SPEC),采样周期(TK),积分分离值(IBAND),比例系数(KP),积分系数(TI),微分系数(TD)。
0x53
将当前节点的PID的相关参数发送到服务器。
数据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概念设计的工业系统的标准。
应用层
CiA–CANopen协议标准DS-301
CAL=CANApplicationLayer
表示层
会话层
传输层
网络层
数据链路层
CAN2.0AandB+ISO11898
物理层
CAN2.0AandB=ISO11898
ISO11898+DS-102
表3-1CANopenISO模型对应表
二、CANopen现场总线基础:
1、物理层:
∙CANopen是基于CAN总线开发的现场总线,因此,CANopen现场总线的物理层就是CAN总线的物理层,CAN总线使用以差分方式控制的两线总线。
CAN信号为CAN-high和CAN-low之间的电压差。
(下图是CAN物理层组件的介绍)
编号
描述
CAN-high线
CAN-low线
CAN-high/CAN-low信号电位差
CAN_GND线
120终端电阻
接入总线设备
表3-2CAN物理层组件
∙CANopen总线波特率与总线长度匹配:
波特率(kbit/s)
1000
800
500
250
125
50
20
10
总线最大长度(m)
40
100
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
9
8
NMT(0h)
SYNC(080h)
TIME(100h)
EMCY(081h~0ffh)
0~127
TPDO1(181h~1ffh)
RPDO1(201h~27fh)
TPDO2(281h~2ffh)
RPDO2(301h~37fh)
TPDO3(381h~3ffh)
RPDO3(401h~47fh)
TPDO4(481h~4ffh)
RPDO4(501h~57fh)
SDO_T(Server)(581h~5ffh)
SDO_R(Client)(601h~67fh)
Free(680h~6DF)
Errorcontrol(701h~77fh)
表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
BMXCPS3500
BMXXBP0600
BMXDDI1602
BMXDDO1602
Slave
RemoteI/O
OTB
OTB1C0DM9LP
STB
STBNCO2212
STBPDT3100
STBDDI3610
STBDDO3600
STBAVI1270
STBAVO1250
STBXBA2200
STBXBA1000
STBXTS1100
FTB
FTB1CN08E08SP0
Motor
TeSysU
LULC08
LUB12
LUCM12BL
Drive
ATV31
ATV31H018M2
ATV71
ATV71H037M3
Others
Cable
PLCProgramcable
BMXXCAUSBH018
CANopencable
TSXCANCA50
Preassembledcable
TSXCANCBDD03
TSXCANCBDD1
FTXCN3203
FTXCNTL12
FTXDP2115
FTXDP2206
VW3CANCARR1
Terminal
M340terminalstrip
BMXFTB2010
Tap
SUB-D9
TSXCANTDM4
RJ45
VW3CANTAP2
Interface
Connectors
TSXCANKCDF90T
TSXCANKCDF90TP
软件
Programsoftware
UnityProS
UNYSPUSFUCD30
表3-6实验设备
2、CANopen现场总线示意图:
ProgramSoftware
Slave1:
RemoteI/O
STB:
STBNCO2212
Address:
1
Slave2:
OTB:
OTB1C0DM9LPAddress:
2
Slave10:
10
Master:
M340PLC
CPU:
BMXP342030
Slave12:
FTB:
FTB1CN08E08SP0
12
TAP
Slave22:
22
Slave63:
Drive
ATV71:
ATV71H037M3
63
Slave32:
Motor
TeSysU:
LULC08+LUB12
+LUCM12BL
32
Slave33:
ATV31:
ATV31H018M2
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)实验中观察到所有与从站相连的设备有哪些?