北邮现场总线实验报告.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《北邮现场总线实验报告.docx》由会员分享,可在线阅读,更多相关《北邮现场总线实验报告.docx(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、北邮现场总线实验报告 现场总线试验报告 试验名称: CAN总线技术与iCAN模块试验 学院: 自动化学院 专业: 自动化专业 班级: 2022211411 姓名: 韩思宇 学号: 10212006 指导老师: 杨军 一、试验名称: 试验一:CAN总线技术与iCAN模块试验 二、试验设备: 计算机,CAN总线系列试验箱,测控设备箱,万用表。 三、试验内容: 1、熟识iCAN各模块的功能及原理,了解接线端子。 2、学习USBCAN-2A接口卡的运用及安装,安装USBCAN-2A接口卡的驱动程序。 3、依据试验指导书中的手动设置iCAN模块MACID的方法手动设置各模块的MACID。 4、运用供应的
2、iCANTest测试软件工具来测试各模块的功能及用法,利用测试工具与模块之间通信。 5、学习了解iCAN主站函数库中的主要操作函数及其应用。 6、学习利用VC或者VB编程来对iCAN系列各模块进行操作。 四:试验过程: 1、驱动程序安装: USBCAN-2A接口卡的驱动程序须要自己手动进行安装,驱动程序已经存放于试验打算内容中。找到驱动程序,干脆点击进行安装即可。安装完成后,在“管理-设备管理器-通用串行总线限制器”中查看驱动是否安装胜利。 留意:安装驱动程序过程中PC机不能连接USB电缆。 2、iCANTEST安装与运行: 连接设备后,打开iCANTEST软件,点击“系统配置”,设置设备类型
3、为USBCAN2,点击“启动”-“上线”,试验各模块的功能。点击“全部下线”,将断开主机与全部模块的连接。 3、各种iCAN模块的测试 4、指示灯,按钮,温湿度传感器的连接 1 5、测试运行记录与截屏图: iCAN模块测试运行记录与截图。 图(1) iCANTEST界面 iCAN4055模块界面如图(2)。DI输入由测控设备箱中的开关限制,DO输出限制设备箱上的灯泡亮灭。 图(2) iCAN4055模块界面 2 iCAN4210模块如图(3)。iCAN4210模块为2路模拟量输出模块。将该模块的输出通道0与iCAN4017模块的输入通道3相连,可视察到变更iCAN4210的通道0设定值时,iC
4、AN4017的通道3显示值会随之改变。(通道0为0x8000时,通道3显示为5.000V。) 图(3) iCAN4210模块界面 iCAN4017模块如图(4)。iCAN4017模块为8路模拟量输入模块。将该模块的通道0与通道1与测控设备箱的温湿度传感器相连,可由通道0和1的电压值推导出传感器测出的环境温度和湿度。由于试验时运用的温湿度传感器温度测量部分故障,所以通道0显示0.000V,湿度测量部分正常,通道1显示为6.182V。 图(4) iCAN4017模块界面 6、自编程序主要功能 (1)添加一个输入编辑框和一个按钮控件,通过输入0x00-0xFF之间的十六 进制数来限制iCAN4055
5、的DO通道的输入;再设置一个编辑框edit控件来读取iCAN4055的8位数字量输入通道的状态。 3 (2)设置两个输入编辑框控件,来分别设置iCAN4210两个通道的输出。 (3)设置4个编辑框edit控件来分别读取iCAN4017前四个通道ch0、ch 1、ch 2、ch3的模拟量输入值。 7、自编程序运行结果与截图(课上未做,课下做了界面和程序) 图(5) iCAN4055模块界面 图(6) iCAN4017模块界面 4 8、主要程序部分 (1) 有关iCAN4055功能模块的简洁功能的实现的整体代码如下: 首先在生成的类头文件Sample4055dlg.h中的类CSample4055中
6、添加申明变量: public: unsigned char buf1;/发送数据的数据缓存区 unsigned char recbuf1;/接受数据的数据缓存区 unsigned long len; int outvalue; int count; CString str; 在Sample4055.cpp文件中编写限制代码: 首先添加对变量的定义: ROUTECFG cfg; HANDLE hRoute=0; /新的ICAN网络 HANDLE hSlave4055=0;/数字量输入输出模块4055,MACID=1 CSample4055:CSample4055(CWnd* pParent /*
7、=NULL*/) (2)添加每个控件消息响应函数的代码: void CSample4055:OnStartsysButton1() 5 : CDialog(CSample4055:IDD, pParent) buf0=0; recbuf0=0; count=0; len=0; str=; / TODO: Add your control notification handler code here cfg.iCardType=4;/运用usbcan2接线口 cfg.iCardInd=0;/卡序号 cfg.iCANInd=0;/CAN通道选择(0表示0通道;1表示1通道) cfg.wCANBau
8、d=0x001c;/波特率的设定0x001c(500kbps) cfg.iMasterCycle=500;/主站循环周期 cfg.wMasterID=0; /主站ID Mgr_AddRoute(cfg,&hRoute);/添加iCAN网络 if(Mgr_StartSys()!=ICANOK)/调用Mgr_StartSys()函数对CAN网络是否启动进行推断,返回为ICANOK void CSample4055:OnLink4055Button2() if(Mgr_IsStarted()!=1) else MeageBox(CAN网络已启动); MeageBox(系统启动失败); MeageBo
9、x(系统未启动或启动失败,请先启动CAN网络); else / TODO: Add your control notification handler code here Route_AddSlave(hRoute,1,&hSlave4055);/添加从站4055,MACID=1 6 if(Slave_Connect(hSlave4055)!=ICANOK)/推断从站4055是否连接胜利 MeageBox(4055连接失败); else MeageBox(4055连接胜利); SetTimer(1,1000,NULL);/设定开启定时循环,1代表消息事务id,1000表示1000ms即1s v
10、oid CSample4055:OnTimer(UINT nIDEvent) /Timer事务函数 / TODO: Add your meage handler code here and/or call default if(nIDEvent=1) len=1; Slave_GetDIData(hSlave4055,recbuf,&len); /读取4055数字量输入端口数据 str.Format(0x%02x:%d,recbuf0,count); m_getDI.SetWindowText(str); count=count+1; CDialog:OnTimer(nIDEvent); vo
11、id CSample4055:OnButtonSetvalue() /设定4055数字量输出端口值 / TODO: Add your control notification handler code here if(Mgr_IsStarted()=1)&(Slave_IsConnected(hSlave4055)=1) UpdateData(true); 7 outvalue=strtol(m_invalue,NULL,16);/按十六进制进行读取 if(outvalue = 0 & outvalue buf0=(unsigned short)strtol(m_invalue,NULL,16
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 现场总线 实验 报告
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内