测控总线技术实验指导书(最新)F(最近一次微调)

更新时间:2024-01-29 13:13:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

测控总线技术 实验指导书

朱欣华 编写

南京理工大学 2007年4月

实验一 SC2102 CAN总线PCI插卡应用

一、实验目的

在了解SC2102 CAN总线PCI接口卡原理的基础上,掌握其与PC电脑的连接方法与具体应用;学会CAN节点的波特率设置和ID设置等;通过实验加深对CAN总线的工作原理的理解与认识。

二、实验内容

1.参考附录中的SC2102数据手册,了解SC2102 的硬件组成和使用方法; 2.学会将SC2102总线接口卡的两个CAN端口的总线接线; 3.学会接口卡PC端控件和驱动的安装; 4.学会使用SC2102 PC 端软件;

5.学会正确设置CAN总线的波特率和ID号等; 6.对自建系统进行测试。

三、实验原理及方法

1.按图1连接好CAN 两个端口的通信线。

594837261J1CANHJ259483726DB91CANLDB9

图1 CAN总线PCI插卡端口接线图

2.接口卡PC端控件和驱动的安装

因为要用到SC2102接口卡的ActiveX控件,所以使用前要先注册。注册方法如下:

(1)先在桌面“CAN”文件夹中找到“实验一”,再在其中找到“PC端驱动”,然后找到“SC2102C.OCX”控件文件,把它复制到C:\\windows下;

(2)点“开始”-> “运行”,然后在“运行”中输入: Regsvr32 SC2102C.ocx 。 如果能看到如下提示,说明注册成功;若出错请仔细检查已执行的注册方法和步骤是否正确。

图2 注册成功提示

(3)当把CAN总线PCI插卡插到PC机的PCI插槽上时,开机有提示“找到新的硬件”,选择<下一步>,系统询问“是否选择搜索新硬件”选择<否>,在硬件列表中选择“其它设备”,单击<下一步>,选“从列表或指它驱动器按装”,单击<浏览…>,选择SC2102 驱动程序目录,在桌面\\CAN\\实验一\\驱动\\Windows98_2000 目录下,单击<确定> ,再单击<完成>,即可完成驱动的安装。

3. 运行SC2102 CAN总线PC端控制软件PCI_CAN并进行相关设置

在电脑桌面“CAN”文件夹中“实验一”里面运行SC2102 CAN总线PC端控制软件PCI_CAN,出现如图3所示界面:

图3 PC端软件界面

然后完成如下的设置操作:

(1) 设置波特率:BTR0、BTR1

BTR0 和 BTR1 是CAN总线的两个时序寄存器。用它们的组合来设置CAN总线的波特率。波特率设置按表1,选择好要设定的波特率所对应的BTR0和BTR1的值,在软件中对应的地方设置好,就完成了波特率的设置。

表1 CAN 波特率设置表 波特率 1Mbps 最大总线长度 40m BTR0 00h 00h 01h 03h 43h 47h 53h 67h 7Fh BTR1 14h 1ch 1ch 1ch 2Fh 2Fh 2Fh 2Fh 7Fh 500kbps 130m 250kbps 270m 125kbps 530m 100kbps 620m 50kbps 20kbps 10kbps 5kbps 1.3km 3.3km 6.7km 10km

(2)设置模式选择位:FF

设置好模式选择位FF,FF = 0 对应 11 位标准模式(SFF),FF = 0 对应 29位扩展模式(EFF)。

(3)设置好报文验收码:AC 和报文屏蔽码:AM

它们两位都是根据 FF 决定模式来确定的,如果 FF = 0 则 AC 和 AM 都是 11 位二进制码,同理 FF = 1 时就是 29 位二进制码

(4)设置好报文标志位:ID

ID的设置也要根据 FF 来决定是11位还是29位,同上面一样,设置好设备网络中的ID号。不用的设备ID号一般不要相同,以示区别两设备。

(5)设置好帧标志位:RTR

当 RTR = 0 时表时的时数据帧,当 RTR = 1 的时候表示远程帧。 (6)设置好数据长度和数据:DLEN 和 DATA

其实只要设置好数据就可以了,因为DLEN会自动根据你所设数据来调整。CAN总线一次最多可以发8个定节的数据,所以 DATA 区最多可以输入8个字节的数据。

(7)设置参考

灵活设置CAN 节点的验收码和验收屏蔽码可实现点对点、一点对多点以及多主机的工作方式。

例如,当某节点的验收屏蔽码设置为0x7FF即图中的十进制数 2047,时它将可以接收到总线上所有的数据包当某节点AC=0x01,AM=0x00 时该节点只能接收到(ID.10~ID.0)=0x01 的数据包。

图3中的设置可以参考,两个CAN口AM都设成了 2047 所以它们都可以收到总线上所有设备所发的消息,只要设置好要发的数据,设置就完成了。

4.对基于CAN总线PCI插卡的自建系统进行测试

(1)首先,必须先打开CAN口,点图3中的<打开>,打开 CAN;

(2)然后,对两个端口CAN0和CAN1分别进行复位,即分别点图3中的<复

位>;

(3)最后点图3中的<发送数据>,CAN0发送成功后,CAN1会收到,而CAN1发送成功后CAN0会收到。

如果做到了两边都可以收发则说明CAN总线PCI插卡应用成功。

四、实验仪器设备

1.PC电脑一台

2.SC2102 CAN总线PCI接口卡一个 3.两个DB9针CAN接头 4.导线若干

五、思考题

1.实验中要是有多个CAN设备挂入总线,要实现广播发送,AC、AM如何设置?

2.实验中波特率的设置有何讲究?

3.CAN通信中如果距离较长,选用何种通信导线可是使干扰最小?

*4.参考实验附录1,通过提供的控件和例程自己设计一个PC端的软件,实现对CAN总线的设备的控制。

六、实验报告要求

(1)使用统一的实验报告封面格式并填写有关信息;

(2)要有反映实验目的、实验中所用的主要设备、自己理解的实验原理、完成的实验内容等方面的内容,要求客观真实;

(3)对实验过程中的现象等要有记录、分析,对思考题的思考结果也可反映在报告中。

实验二 CAN总线远程测控网络设计

一、实验目的

在对CAN总线应用有一定的感性认识的基础上,通过实验,掌握CAN总线远程测控网络的构成方法并有实践方面的认识。

二、实验内容

1.参考附录中的SC3410数据手册,了解CAN总线智能远程测控卡的结构与功能;

2.将SC2102的CAN0 口与 SC3410 接入同一CAN网络中; 3.正确设置SC2102 CAN0和SC3410的波特率; 4. 正确操作PC端软件,实现通过PC端软件控制CAN总线PCI卡SD2102来控制与SC3410相连的LED显示;

5.通过PC端软件读回与SC3410相连的16路开关的状态;

6.通过PC端软件读回与SC3410相连的模拟信号的A/D转换结果; 7.通过PC端软件控制SC3410上的DAC,用万用表测量输出的模拟量; 8.参考附录中的SC3404和SC1500的数据手册,正确使用SC1500中继器,实现与远距离的SC3404接口卡间进行的通信原理(选做)。

三、实验原理及方法

1.把与SC3410配套的实验接口板用50线的专用排线与SC3410的CAN控制卡相连接;用导线正确连接CANL 与CANH,把SC3410 CAN总线智能远程测控卡挂到SC2102 CAN总线PCI接口卡的CAN0上;接上+5V电源。

2.打开PC端软件PCI_CAN 按表1正确设置波特率,波特率设置同SC2102 CAN总线PCI插卡应用实验(实验一);正确设置SC3410上的拨码开关,选择相同的波特率(具体设置方法参考SC3410的数据手册)。

表1 SC3410的波特率对照表 CANBT1 0(on) 0(on) 1(0ff) 1(0ff) CANBT0 0(on) 1(0ff) 0(on) 1(0ff) 位速率 1Mbps 500kbps 250kbps 125kbps 最大总线长度 40m 130m 270m 530m BTR0* 00h 00h 01h 03h BTR1* 14h 1ch 1ch 1ch

3.点击软件界面上的<打开>,并<复位>,使SC2102处于工作状态。 4.通过PCI_CAN软件设置好16路LED灯(上电默认值是全亮);点击软件界面上的“发送”键,观察实验接口板上对应的LED的点亮情况是否正常。

5.通过拨码开关设置状态(SC3410的开关向上是高电平,向下是低电平),然后点“读取”,观察软件读回的开关状态是否正确。

6.通过SC3410实验接口板的跳线正确选择A/D输入通道(共有8路可选),然后通过跳线正确设置输入的电压值并用万用表测量,记录实际电压值的大小;通过PCI_CAN软件设置好A/D相同的采集通道,点“采集”就可以显示出转换结果;将转换结果与先前记录的电压值进行比较。

7.通过PCI_CAN软件设置好DAC输出的电压值(电压值设定以mV为最小单位,设置范围在0~4095 mV之间);然后选取输出通道(共有两路,每次通过设置选择一路);在实验接口板的DAC输出端用万用表测量对应通道的电压值,观察与设置是否一致。

8.假设SC3404是一个远程的CAN接口卡,通过参考附录5所示的实验原理,经SC1500将SC3404连到SC2102和SC3410组成的CAN网络中,并接上SC3404的实验卡,实现实验中 4.和5. 两个实验内容(选做)。

四、实验仪器设备

1.PC电脑一台

2.SC3410 CAN总线智能远程测控卡 3.SC3404 CAN总线智能远程测控卡 4.SC2102 CAN总线PCI总线接口卡 5.SC1500 CAN总线网桥中继模块 6.SC3404 实验接口板 7.SC3410 实验接口板 8.数字万用表 9.+5V直流电源 10.导线若干

五、思考题

1.参考SC3404和SC3410的数据手册,比较其同异?

2.如果还有别的设备要接入现有的CAN总线中,新接入的CAN设备的AC、AM及波特率等各参赞数应如何设置?

3.如果要使CAN总线中的其中的一个设备具有广播功能,那么该设备和其他设备的AC、AM及ID该如何设置?

*4.通过参考SC3410与SC2102的数据手册,设一个PC软件,通过CAN总线使SC3410完成对其16个DI和DO的控制,使其成为CAN网络的一个测控终端。

六、实验报告要求

(1)使用统一的实验报告封面格式并填写有关信息;

(2)要有反映实验目的、实验中所用的主要设备、自己理解的实验原理、完成的实验内容等方面的内容,要求客观真实;

(3)对实验过程中的现象等要有记录、分析,对思考题的思考结果也可反映在报告中。

实验附录1

SC2102 CAN总线PCI插卡数据手册

一、概述

CAN 是一种串行总线最高传输速率1Mbps ,具有总线仲裁,错误检测,自动重发等功能,适用于仪器或设备中的传感器、传动器等智能I/O 设备的联网。由于它的多主协议、实时能力、错误更正、高抗噪等特性,由最初只用于汽车上,发展到工业自动化领域。

SC2102 是双路隔离CAN 总线PC 插卡,PCI 总线,采用直接内存映射方式访问CAN控制器,支持CAN2.0B 协议。该卡为用户提供打包的控件编程支持,具有编程简单、控制灵活的特点极大的降低了开发难度和成本。是快速建立CAN 网络运用的有效选择。 二、技术指标

? 可同时操作两路独立的CAN 总线支持CAN2.0B 协议 ? PCI 总线支持即插即用

? 驱动支持Win98/Me/Se/Win2000 控件,编程支持,中断/查询 ? 直接内存映射,快速访问CAN 控制器 ? 最高传输速率1Mbps( 40 米) ? 最远传输距离10Km (小于5Kbps) ? 总线隔离1000VDC

? CAN 总线输入输出指示灯,电源指示灯 ? 两个DB9 针式CAN 总线连接器

? 功耗:+5V@150mA 典型200mA 最大 ? 供电电压:+4.5V~ +5.5V ? 工作温度:0 ~ 70 三、硬件说明

1、元件说明 J1 J2 E1 E2 D1 D2 D3

CAN 总线Port0, DB9 针式插座 CAN 总线Port1, DB9 针式插座 CAN 总线Port0 终端匹配电阻设置 CAN 总线Port1 终端匹配电阻设置 电源指示灯 CAN 总线Port0 数据传输状态指示灯 CAN 总线Port1 数据传输状态指示灯 2、 CAN 总线Port0/Port1( J1/J2 )管脚定义 DB9 2 4 针式插座管脚CAN 总线定义 CANL CANH *建议用户使用双绞线 3、 CAN 总线Port0/Port1 终端匹配电阻跳线设置(E1/E2) ON :CAN 端口接入终端匹配电阻阻值120R OFF :CAN 端口取消终端匹配电阻

在CAN 网络中,应采用总线式连接,在两端的站点安装匹配电阻,其余站点不安装匹配电阻。如图所示,只有1#站点和N#站点需要安装匹配电阻。

1# CAN站点 1# CAN站点 1# CAN站点 N CAN站点

四、CAN 总线端口验收码AC,验收屏蔽码AM,报文标识符ID 的关系

设目的CAN 端口验收码,验收屏蔽码分别为AC、AM 则源CAN 端口报文标识符ID设置应满足如下条件,将予以验收,以11 位标准格式(SFF)为例,29 位扩展格式(EFF)同理可推。

((ID.10~ID.0)同或(AC.10~AC.0))或(AM.10~AM.0)=11111111111B

用户应用中可以灵活设置CAN 节点的验收码和验收屏蔽码,达到点对点,一点对多点以及多主机的工作方式。

例如,当某节点的验收屏蔽码设置为0x7FF,时它将可以接收到总线上所有的数据包当某节点AC=0x01,AM=0x00 时,该节点只能接收到(ID.10~ID.0)=0x01 的数据包。 五、CAN 总线波特率设置

此表显示CAN 总线系统任意两个节点之间最大距离与位速率的关系 位速率 1Mbps 500kbps 250kbps 125kbps 100kbps 50kbps 20kbps 10kbps 5kbps 最大总线长度 40m 130m 270m 530m 620m 1.3km 3.3km 6.7km 10km BTR0* 00h 00h 01h 03h 43h 47h 53h 67h 7Fh BTR1* 14h 1ch 1ch 1ch 2Fh 2Fh 2Fh 2Fh 7Fh 六、SC2102PCI 卡的驱动安装

1、 Windows98/SE/ME/TH 操作系统安装步骤;

? 在Win98 控制面板中,双击<添加新硬件>; ? 在“添加新硬件”向导窗口中,点击<下一步>; ? 点击<下一步>;

? 系统询问是否选择搜索新硬件选择<否>, 单击<下一步>; ? 在硬件类型列表框中选择“其它设备”,单击<下一步>; ? 单击<从软盘安装?>; ? 单击<浏览?>;

? 选择SC2102 驱动程序目录,在资料盘SC2102\\驱动安装\\Win98_2000 目录下,

单击<确定>; ? 单击<确定>; ? 单击<下一步>; ? 单击<下一步>; ? 单击<完成>;

安装成功后可以点击控制面板的系统图标,这时该设备应在设备管理器的设备列表中,选中SC2102 卡,点击<属性>可查看该设备运行情况。 2 、Windows2000 操作系统安装步骤

? 启动计算机时,计算机提示找到新硬件 ? 选择<下一步>;

? 系统询问是否选择搜索新硬件,选择<否>; ? 在硬件列表中选择其它设备,单击<下一步>; ? 单击<从软盘安装?>; ? 单击<浏览?>;

? 选择SC2102 驱动程序目录,在资料盘SC2102\\驱动安装\\Win98_2000 目录下,

单击<确定>; ? 单击<确定>; ? 单击<完成>; 七 、SC2102C 控件安装

随卡提供编程所需的SC2102C.OCX 控件

直接运行资料光盘中的SC2102 控件安装程序即可,SC2102 测试软件将同时安装。 八 、SC2102C 编程说明

1、控件属性

ID(LONG): 只读,接收数据包的报文标识符。11位/29位二进制。 RTR(BYTE):只读,接收数据包远程帧标志位,0-数据帧,1-远程帧。 DLEN(BYTE): 只读,接收数据包数据字节长度。0-8。 2、控件方法

? BOOL OPEN():打开SC2102,卡成功返回TRUE。

VB 编程

If SC2102C.OPEN=TRUE Then LabStatus.Caption=”Open Ok!” VC 编程

if(!m_SC2102C.OPEN()) {

m_Message=”OPEN ERROR”; UpdateData(FALSE); }

? BOOL RESET(byte PortNum, byte FF, long AC, long AM, byte BTR0, byte BTR1)

复位CAN,端口成功返回TRUE。 PortNum:CAN 端口号0 or 1

FF:模式选择0 11 位标准模式(SFF) 1 29 位扩展模式(EFF) AC:报文验收码由FF 决定11 位或者29 位二进制码 AM:报文屏蔽码由FF 决定11 位或者29 位二进制码 BTR0:总线时序寄存器0 BTR1:总线时序寄存器1 例: VB 编程

If SC2102C.RESET(0,0,128,2047,0,28)=TRUE Then LabStatus.Caption=”Can0 Reset Ok!” VC 编程

if(!m_SC2102C.RESET(0,0,128,2047,0,28)) {

m_Message=” Can0 Reset ERROR”; UpdateData(FALSE); }

? BOOL SEND(byte PortNum, long ID, byte RTR, byte DLEN, VARIANT* DATA)

发送一个CAN,包成功返回TRUE。 PortNum:CAN 端口号0 or 1

ID:报文标识符由FF 决定11 位或者29 位二进制码 RTR:远程帧标志位0 表示数据帧1 表示远程帧 DLEN:报文数据字节数0 8 DATA:数据字节数组指针 例: VB 编程

Dim i As Integer Dim a(7) As Byte For i = 0 To 7 a(i) = i

Next i

Dim data As Variant data = a

If SC2102C.SEND(0, 17, 0, 8, data) = True Then Label1.Caption = \End If VC 编程

COleSafeArray sa; unsigned char c[8]; long i; ULONG j; j=11;

sa.Create(VT_UI1,1,&j); for(i=0;i<8;i++) {

c[i]=i+114;

sa.PutElement(&i,&c[i]); }

VARIANT vaResult; vaResult=sa.Detach();

m_SC2102C.SEND(0, 17, 0, 8, &vaResult);

? BOOL RECEIVE(byte PortNum, VARIANT* DATA);

接收一个包成功接收返回TRUE 例: VB 编程

Dim a1() As Byte Dim data As Variant Dim nn As Byte Dim i As Integer

If (SC2102C.RECEIVE(0, data) = True) Then a1() = data

Label2.Caption = \dlen=\Label3.Caption = \

For i = 0 To SC2102C.DLEN - 1

Label3.Caption = Label3.Caption + Format(a1(i)) + \Next i End If VC 编程

VARIANT* Data; COleSafeArray sa; Data=(VARIANT*)(&sa);

if(m_SC2102C.RECEIVE(0,Data)) {

long k; BYTE c[8];

for(k=0;k

for(int i=0;i

itoa(c[i],str,16);

m_Message=m_Message+str+””; } }

? BOOL CLOSE();

关闭CAN,卡成功返回TRUE。 例: VB 编程

If SC2102C.CLOSE=TRUE Then LabStatus.Caption=”CLOSED?” VC 编程

if(!m_SC2102C.CLOSE()) {

m_Message=”CLOSE FALSE”; UpdateData(FALSE); } 3、 控件事件CanEvent(byte IntFlag)

IntFlag 各位代表两路CAN 端口共8 种中断事件: CAN Port 1 7 溢出 中断 6 出错 中断 5 发送 中断 4 接收 中断 3 溢出 中断 CAN Port 0 2 出错 中断 1 发送 中断 0 接收 中断 中断处理程序编程举例(VC): if(IntFlag & 0x01) {

//此处添加CAN Port0 接收中断处理程序 //添加接收数据包的程序 }

if(IntFlag & 0x02) {

//此处添加发送中断处理代码 }

if(IntFlag & 0x04) {

//出错中断此处添加出错中断处理代码 //可复位相应CAN 端口以消除出错状态

}

if(IntFlag & 0x08) {

//数据溢出中断

//可复位CAN Port0 以消除超载状态 }

4、更多编程举例请参考资料光盘中SC2102 目录下的Demo 程序目录。 九、产品清单

1、SC2102 CAN 总线PCI 网卡 2、 测试用双绞线一个 3、 产品说明书一份 4、 产品资料光盘一张

实验附录2

SC3410 CAN总线智能远程测控卡数据手册

一、技术指标

? 8路12bitA/D单端输入

? 输入模拟电压范围8路独立可编程:0~5V,0~10V,-5~+5V,-10~+10V ? A/D转换速率100ksps

? 2路12bitD/A,输出范围:0-4.096V ? 16路DI,TTL,内部上拉电阻 ? 16路DO,TTL

? 支持选通、轮询、周期、状态改变和应用触发的数据传送方式 ? 周期定时最小0.1s,最大可达1.8小时 ? DA/DO输出设定可读回 ? DO支持位操作

? 1个CAN端口,支持CAN2.0B协议 ? CAN总线光电隔离,隔离电压1000V ? 地址范围0-63

? CAN总线波特率选择:125/250/500/1000kbps,可定制 ? 内置看门狗,适合高可靠工业应用 ? 5V单电源供电,标准电流120mA

? 工作环境温度0-70度,存储温度-55-150度

? 板卡尺寸100×146.4mm,安装孔间距90×134.4mm,安装孔直径3.5mm

二、硬件

1、元件说明 J1 J2 E1 E2 SW1 S1 CAN总线及电源端子 信号端子 CAN总线接线选择电阻设置 CAN总线终端匹配电阻设置 在板复位按钮 地址及波特率选择拨码开关

2、CAN总线及电源端子(J1)管脚定义 3.96mm弯端子 1 2 3 4

3、信号端子(J2)管脚定义 管脚 1-8 9 11-18 19 21-28 31-38 41-48 39,49 10,20,30,40 定义 DI0-7 DA0 DI8-15 DA1 DO0-7 DO8-15 AD0-7 +5V GND 描述 数字量输入 模拟量输出 数字量输入 模拟量输出 数字量输出 数字量输出 模拟量输入 电源 地 定义 +5V GND CANL CANH *其中CANL/CANH建议用户使用双绞线。

4、CAN总线接线选择电阻跳线设置(E1)。缺省选择OFF(不插跳线冒)。

ON:直接接地,用于高速工作方式,建议使用屏蔽电缆以避免射频干扰问题。

OFF:跨接1K电阻,用于较低的速度或较短总线长度,可用非屏蔽双绞线或平行线作总线。

5、CAN总线终端匹配电阻跳线设置(E2)。

ON:CAN端口接入终端匹配电阻(阻值120R)。 OFF:CAN端口取消终端匹配电阻。

在CAN网络中,应采用总线式连接,在两端的站点安装匹配电阻,其余站点不安装匹配电阻。如图所示,只有1#站点和N#站点需要安装匹配电阻。 1# 2# 3# N# CAN站点 CAN站点 CAN站点 CAN站点

三、拨码开关各位说明

1、 SW_0:MACID.5 2、 SW_1:MACID.4

3、 SW_2:MACID.3 4、 SW_3:MACID.2 5、 SW_4:MACID.1 6、 SW_5:MACID.0 7、 SW_6:CANBT1 8、 SW_7:CANBT0

四、指示灯

1、 电源指示灯:红色

2、 总线传输状态指示灯:绿色

五、CAN地址及其波特率设置

1、 数据帧ID编码 ID.10 1 ID.9_ID.7 主机ID ID.6 0 ID.5_ID.0 MACID 其中:

主机ID三位表示,最多可挂接8个主机,主机AC/AM码由用户设定,设定结果应能接收上述ID码的数据帧。 从机地址由6位MACID地址确定,最多可挂接64个从机。

2、 CAN波特率选择 CANBT1 0(on) 0(on) 1(0ff) 1(0ff) CANBT0 0(on) 1(0ff) 0(on) 1(0ff) 位速率 1Mbps 500kbps 250kbps 125kbps 最大总线长度 40m 130m 270m 530m BTR0* 00h 00h 01h 03h BTR1* 14h 1ch 1ch 1ch

六、软件说明,主机命令及其回应格式详解

1、0类命令系列:DI/DO

0x00:DI读命令,一次读入16位DI,DLEN=1

数据1 命令字节0x00

回送格式:DLEN=4 数据1 命令字节 0x00

数据2 数据3 数据4 响应代码 数据高8位 数据低8位 0x00 DIH DIL 0x01:DO写命令,一次写入16位DO,允许按位写,DLEN=5 数据1 数据2 数据3 数据4 数据5 命令字节 数据高8位 数据低8位 数据开放高8位 数据开放低8位 0x01 DOH DOL OEH OEL OEH 位=1 位=0

回送格式:DLEN=2 数据1 命令字节 0x01 数据2 响应代码 0x00 OEL 意义 对应位开放,可写 对应位禁止写入 初始化时DO默认输出0/低电平。

0x02:DO数据读回命令,一次读回前次设置的16位DO,DLEN=1 数据1 命令字节 0x02

回送格式:DLEN=4 数据1 命令字节 0x02 数据2 数据3 数据4 响应代码 数据高8位 数据低8位 0x00 DOH DOL 2、1类命令系列:AD/DA

0x10:DA模拟量输出命令,1路DA输出,DLEN=4 数据1 命令字节 0x10 数据2 通道号 0-1 数据3 数据4 数据高4位 数据低8位 DAH DAL 回送格式:DLEN=3 数据1 命令字节 0x10 数据2 响应代码 0x00 数据3 通道号 0-1

0x11:DA模拟量读回命令,先前DA数据读回,DLEN=2 数据1 命令字节 0x11 数据2 通道号 0-1 回送格式:DLEN=5 数据1 数据2 数据3 数据4 数据5 命令字节 0x11 响应代码 通道号 数据高4位 数据低8位 0x00 0-1 DAH DAL 0x18:AD采集命令,1路AD采集,DLEN=3 数据1 命令字节 0x18 数据2 通道号 0-7 数据3 范围代码 0-3

输入范围选择列表: 范围代码 0 1 2 3 输入范围(v) 0~5 0~10 -5~+5 -10~+10 回送格式:DLEN=5 数据1 命令字节 0x18 数据2 数据3 数据4 数据5 响应代码 通道号 数据高8位 数据低8位 0x00 0-7 ADH ADL 3、3类命令系列:周期

0x30:DI周期读命令,定时读回16位数据,DLEN=3 数据1 命令字节 0x30 数据2 定时数据高8位 TH 数据3 定时数据低8位 TL 周期间隔=定时数据×0.5毫秒

响应格式:DLEN=2 数据1 命令字节 0x30

周期到回送格式:DLEN=4 数据1 命令字节 0x30 数据2 响应代码 0x00 数据3 数据4 数据高8位 数据低8位 DIH DIL 数据2 响应代码 0x00 0x31:AD周期采集命令,定时采集指定通道,DLEN=5 数据1 数据2 数据3 数据4 定时数据 TH 数据5 定时数据 TL 命令字节 通道号 范围代码 0x31 0-7 0-3 周期间隔=定时数据×0.1秒

输入范围选择列表: 范围代码 0 1 2 3

响应格式:DLEN=2 数据1 命令字节 0x31

周期到回送格式:DLEN=5 数据1 命令字节 0x31 数据2 数据3 数据4 数据5 响应代码 通道号 数据高8位 数据低8位 0x00 0-7 ADH ADL 数据2 响应代码 0x00 输入范围(v) 0~5 0~10 -5~+5 -10~+10 0x3F:周期停止命令,取消周期命令,DLEN=1

数据1 命令字节 0x3F 回送格式:DLEN=2 数据1 命令字节 0x3F

数据2 响应代码 0x00

5、4类命令系列:状态改变

0x40:DI状态改变读回命令,检测位状态改变,回送16位数据,二次命令覆盖检测位,DLEN=3 数据1 命令字节 0x40 DTH 位=1 位=0 全为0 回送格式:DLEN=4 数据1 命令字节 数据2 响应代码 数据3 数据4 数据高8位 数据低8位 DTL 忽略指定位 取消状态改变命令,同0x41命令 意义 指定位状态改变时,回送16位DI 数据2 检测位 DTH 数据3 检测位 DTL

0x40 0x00 DIH DIL 状态改变时回送格式:DLEN=4 数据1 命令字节 0x40 数据2 响应代码 0x00 数据3 数据4 数据高8位 数据低8位 DIH DIL 0x41:DI状态改变取消命令,DLEN=1

数据1 命令字节 0x41

回送格式:DLEN=2 数据1 命令字节 0x41

数据2 响应代码 0x00 0x50:DI预定值命令,每次预定值的首次出现,回送16位数据,二次命令覆盖前次命令,DLEN=5 数据1 数据2 数据3 数据4 检测位 DTH 意义 检测指定位 忽略指定位 数据5 检测位 DTL 命令字节 数据高8位 数据低8位 0x50 DIH DIL DTH 位=1 位=0 回送格式:DLEN=2 数据1 命令字节 0x50 事件到回送格式:DLEN=4 数据1 命令字节 0x50 数据2 响应代码 0x00 数据3 数据4 数据高8位 数据低8位 DIH DIL 数据2 响应代码 0x00 DTL

0x51:取消DI预定值命令,DLEN=1

数据1 命令字节 0x51

回送格式:DLEN=2 数据1 命令字节 0x51

数据2 响应代码 0x00 0xA0:查询智能卡型号,DLEN=1

数据1 命令字节 0xA0 回送格式:DLEN=8 数据1 命令字节 0xA0 数据2 响应代码 0x00 数据3 S 数据4 C 数据5 3 数据6 4 数据7 1 数据8 0

0xA1:查询智能卡版本号,DLEN=1

数据1 命令字节 0xA1

回送格式:DLEN=8 数据1 命令字节 0XA1 数据2 响应代码 0x00 数据3 V 数据4 E 数据5 R 数据6 1 数据7 . 数据8 0 0xB0:查询周期命令所属的主机号,DLEN=1

数据1 命令字节 0xB0 回送格式:DLEN=3 数据1 命令字节 0xB0 数据2 响应代码 0x00 数据3 主机ID(低3位) 0xFF表示无所属

0xB2:查询DI状态命令所属主机号,DLEN=1

数据1 命令字节 0xB2 回送格式:DLEN=3 数据1 命令字节 数据2 响应代码 数据3 主机ID(低3位) 0xB2

0x00 0xFF表示无所属 0xB3:查询DI事件命令所属主机号,DLEN=1

数据1 命令字节 0xB3 回送格式:DLEN=3 数据1 命令字节 0xB3 数据2 响应代码 0x00 数据3 主机ID(低3位) 0xFF表示无所属

七、响应代码说明

0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07

正常完成 无效数据帧长度 无效命令 无效通道号 无效参数 指定功能被占用 指定通道被占用 非法命令权限

实验附录3

SC3404 CAN总线智能远程测控卡数据手册

一、技术指标

? 16路DI,TTL,内部上拉电阻; ? 16路DO,TTL;

? 支持选通、轮询、周期、状态改变和应用触发的数据传送方式; ? 周期回送定时最小0.1s,最大可达145小时; ? DO支持位操作,输出设定可读回; ? 1个CAN端口,支持CAN2.0B协议; ? CAN总线光电隔离,隔离电压1000V; ? 地址范围0-63;

? CAN总线波特率选择:125/250/500/1000kbps,可定制; ? 内置看门狗,适合高可靠工业应用; ? 5V单电源供电,典型电流100mA;

? 工作环境温度0-70度,存储温度-55-150度;

二、硬件

1、元件说明 J1 J2 J3 E2 SW1 S1 CAN总线及电源端子 DB37信号端子 IDC40信号端子,与J2选一连接 CAN总线终端匹配电阻设置 在板复位按钮 地址及波特率选择拨码开关 2、CAN总线及电源端子(J1)管脚定义 3.96mm弯端子 1 2 3 4 定义 +5V GND CANL CANH *其中CANL/CANH建议用户使用双绞线

3、DB37信号端子(J2)管脚定义 管脚 1-16 17、20 18、37 19 21-36 4、IDC40信号端子(J3)管脚定义

定义 DI0-15 VCC GND NC DO0-15 描述 数字量输入 +5V 信号地 备用 数字量输出 管脚 1-8、11-18 9、19、39 10、20、30、40 29 21-28、31-38

三、拨码开关各位说明

9、 SW_0:MACID.5 10、 SW_1:MACID.4 11、 SW_2:MACID.3 12、 SW_3:MACID.2 13、 SW_4:MACID.1 14、 SW_5:MACID.0 15、 SW_6:CANBT1 16、 SW_7:CANBT0

四、指示灯

3、 电源指示灯:红色

4、 总线传输状态指示灯:绿色

五、CAN地址及其波特率设置

3、 数据帧ID编码 ID.10 1 ID.9_ID.7 主机ID 定义 DI0-7、DI8-15 VCC GND NC DO0-7、DO8-15 描述 数字量输入 +5V 信号地 备用 数字量输出 ID.6 0 ID.5_ID.0 MACID 其中:

主机ID三位表示,最多可挂接8个主机,主机AC/AM码由用户设定,设定结果应能接收上述ID码的数据帧。 从机地址由6位MACID地址确定,最多可挂接64个从机。

4、 CAN波特率选择 CANBT1 0(on) 0(on) 1(0ff) 1(0ff) CANBT0 0(on) 1(0ff) 0(on) 1(0ff) 位速率 1Mbps 500kbps 250kbps 125kbps 最大总线长度 40m 130m 270m 530m BTR0* 00h 00h 01h 03h BTR1* 14h 1ch 1ch 1ch

六、软件说明,主机命令及其回应格式详解

0x00:DI读命令,一次读入16位DI,DLEN=1

数据1

命令字节0x00 回送格式:DLEN=4 数据1 命令字节 0x00 数据2 数据3 数据4 响应代码 数据高8位 数据低8位 0x00 DIH DIL

0x01:DO写命令,一次写入16位DO,允许按位写,DLEN=5 数据1 数据2 数据3 数据4 数据5 命令字节 数据高8位 数据低8位 数据开放高8位 数据开放低8位 0x01 DOH DOL OEH OEL OEH 位=1 位=0

回送格式:DLEN=2 数据1 命令字节 0x01 数据2 响应代码 0x00 OEL 对应位开放,可写 对应位禁止写入 意义 初始化时DO默认输出0/低电平。

0x02:DO数据读回命令,一次读回前次设置的16位DO,DLEN=1 数据1 命令字节 0x02

回送格式:DLEN=4 数据1 命令字节 0x02 数据2 数据3 数据4 响应代码 数据高8位 数据低8位 0x00 DOH DOL

0x30:DI周期读命令,定时读回16位数据,DLEN=3 数据1 命令字节 0x30 数据2 定时数据高8位 TH 数据3 定时数据低8位 TL 周期间隔=定时数据×0.1秒

响应格式:DLEN=2 数据1 命令字节 0x30 数据2 响应代码 0x00

周期到回送格式:DLEN=4 数据1 命令字节 0x30 数据2 响应代码 0x00 数据3 数据4 数据高8位 数据低8位 DIH DIL 0x3F:周期停止命令,取消周期命令,DLEN=1

数据1 命令字节 0x3F

回送格式:DLEN=2 数据1 命令字节 0x3F

数据2 响应代码 0x00 0x40:DI状态改变读回命令,检测位状态改变,回送16位数据,二次命令覆盖检测位,DLEN=3 数据1 命令字节 0x40 DTH 位=1 位=0 全为0 回送格式:DLEN=4 数据1 命令字节 0x40

状态改变时回送格式:DLEN=4 数据1 命令字节 0x40 数据2 响应代码 0x00 数据3 数据4 数据高8位 数据低8位 DIH DIL 数据2 响应代码 0x00 数据3 数据4 数据高8位 数据低8位 DIH DIL DTL 忽略指定位 取消状态改变命令,同0x41命令 意义 指定位状态改变时,回送16位DI 数据2 检测位 DTH 数据3 检测位 DTL 0x41:DI状态改变取消命令,DLEN=1

数据1 命令字节 0x41 回送格式:DLEN=2

数据1 命令字节 0x41

数据2 响应代码 0x00

0x50:DI预定值命令,每次预定值的首次出现,回送16位数据,二次命令覆盖前次命令,DLEN=5

数据1 数据2 数据3 数据4 检测位 DTH 意义 检测指定位 忽略指定位 数据5 检测位 DTL 命令字节 数据高8位 数据低8位 0x50 DIH DIL DTH 位=1 位=0 回送格式:DLEN=2 数据1 命令字节 0x50 事件到回送格式:DLEN=4 数据1 命令字节 0x50 数据2 响应代码 0x00 数据3 数据4 数据高8位 数据低8位 DIH DIL 数据2 响应代码 0x00 DTL

0x51:取消DI预定值命令,DLEN=1

数据1 命令字节 0x51

回送格式:DLEN=2 数据1 命令字节 0x51 数据2 响应代码 0x00 0xA0:查询智能卡型号,DLEN=1

数据1 命令字节 0xA0 回送格式:DLEN=8 数据1 命令字节 0xA0 数据2 响应代码 0x00 数据3 S 数据4 C 数据5 3 数据6 4 数据7 0 数据8 4

0xA1:查询智能卡版本号,DLEN=1

数据1 命令字节 0xA1 回送格式:DLEN=8 数据1 命令字节 0XA1 数据2 响应代码 0x00 数据3 V 数据4 E 数据5 R 数据6 1 数据7 . 数据8 0

0xB0:查询周期命令所属的主机号,DLEN=1

数据1 命令字节 0xB0 回送格式:DLEN=3 数据1 命令字节 0xB0 数据2 响应代码 0x00 数据3 主机ID(低3位) 0xFF表示无所属

0xB2:查询DI状态命令所属主机号,DLEN=1

数据1 命令字节 0xB2 回送格式:DLEN=3 数据1 命令字节 0xB2 数据2 响应代码 0x00 数据3 主机ID(低3位) 0xFF表示无所属

0xB3:查询DI事件命令所属主机号,DLEN=1

数据1 命令字节 0xB3 回送格式:DLEN=3 数据1 命令字节 0xB3

数据2 响应代码 0x00 数据3 主机ID(低3位) 0xFF表示无所属 七、响应代码说明

0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07

正常完成 无效数据帧长度 无效命令 无效通道号 无效参数 指定功能被占用 指定通道被占用 非法命令权限

实验附录4

SC1500 CAN总线网桥模块数据手册

一、功能描述

? 2路独立Can端口, can_Up,can_Down可独立配置波特率; ? 支持Can2.0B协议; ? 内置硬件看门狗;

? 12V外接电源供电,内部光电隔离;

? 工作环境0~70摄氏度,存储环境-55~125摄氏度,湿度<90%; ? 外形尺寸:83×131mm。

二、硬件说明

J1(200mil标准工业端子,上行CAN_UP) (表1) 1 +12 2 GND 3 CANL 4 CANH

J2(200mil标准工业端子,下行CAN_DOWN) (表2) 1 CANL

2 CANH S1(8位拨码开关)

用于设置网桥上行CAN总线波特率。 上行CAN总线波特率选择见表3。 (表3) S1.7 ON ON OFF OFF S1.8 ON OFF ON OFF CAN波特率 1000Kbps 500Kbps 250Kbps 125Kbps

E1-E8 保留。

E9-E10

下行CAN总线波特率跳线设置。 (表7) E9 ON ON OFF E10 ON OFF ON CAN波特率 1000Kbps 500Kbps 250Kbps OFF

OFF 125Kbps E13

上行CAN总线终端匹配电阻,ON:接入,OFF:不接入电阻(默认) E14

下行CAN总线终端匹配电阻,ON:接入,OFF:不接入电阻(默认)

在CAN网络中,应采用总线式连接,在两端的站点安装匹配电阻,其余站点不安装匹配电阻。如图所示,只有1#站点和N#站点需要安装匹配电阻。

1# CAN站点 2# CAN站点 3# CAN站点 N# CAN站点 注:必须保证CAN总线CANH/CANL之间阻抗为120R。 D1

电源指示,红色。

D2

上行CAN工作状态指示,绿色。

D3

下行CAN工作状态指示,绿色。

三、出厂默认设置

出厂时SC1500模块设置。 1、E1- E8=OFF,保留;

2、E9-E10= ON,OFF,下行CAN总线波特率默认500Kbps; 3、E13=OFF,上行CAN总线不接入匹配电阻; 4、E14=ON,下行CAN总线不接入匹配电阻;

9、拨码开关S1=00000001,上行CAN波特率=500Kbps。

实验附录5

CAN总线远程测控网络原理框图

PC主机 PC端CAN控制软件 SC2102 SC2102 CAN总线PCI总线接口卡 Can H Can H Can L Can L SC1500 CAN总线网桥中继模块 SC3410 CAN总线智能远程测控卡 SC3404 CAN总线智能远程测控卡 SC3410 的16路DI 和16号DO 和两路D/A和8路A/D输入的接口板 SC3404 的16路DI 和16号DO的实验接接板

本文来源:https://www.bwwdw.com/article/47ew.html

Top