现场总线ICAN报告

合集下载

推荐-CAN总线技术与iCAN模块实验报告 精品

推荐-CAN总线技术与iCAN模块实验报告 精品

实验一CAN总线技术与iCAN模块实验实验报告学院:自动化学院专业:自动化专业班级:20XX211410姓名:高娃姚雷阳学号:20XX211975 20XX211977指导老师:杨军一.实验名称:实验一CAN总线技术与iCAN模块实验二.实验设备:计算机、CAN总线系列实验箱、测控设备箱、万用表。

三.实验过程、实验内容、实验记录:(1)驱动程序安装USBCAN-2A接口卡的驱动程序需要自己手动进行安装,驱动程序已经存放于实验准备内容中。

找到驱动程序,直接点击进行安装即可。

安装完成后,在“管理->设备管理器->通用串行总线控制器”中查看驱动是否安装成功。

注意:安装驱动程序过程中PC机不能连接USB电缆。

(2)iCANTEST安装与运行iCANTEST安装与运行后,利用iCANTest软件对iCAN系列各模块进行验证性测试,可以测试各模块是否可以通过USBCAN-2A接口卡与PC机正常连接与通信以及进行简单的测控操作。

(3)各种iCAN模块的测试1. 打开iCANTest软件(老师,我们当时觉得安装这些过程太简单了,没意识到截图,所以引用了一些PPT上的图像,但后面测试部分的都是自己的截图,希望老师谅解。

)在工具栏中点击“系统配置”,在弹出的对话框中设置通信信息。

如下图:图12. 点击“搜索”,则CAN总线中连接的所有模块应该被搜索出来,列表显示。

包括模块设置的MACID。

图 23.图示为搜索完成后的显示状态,在从站列表中将所有模块予以显示。

点击某个模块,则弹出该模块的操作窗口。

图 34. 点击“启动”,再点击“全部上线”。

在从站列表中所有上线的模块标志变成绿色的三角,表示该模块上线成功。

图 45.试验各个模块的基本输入输出功能。

※点击继电器模块2404的4个输出,听到继电器动作声音。

图 5※连接4210D/A模块的通道0到4017A/D模块的通道5,输入0x8000对应得到5V的电压输出。

现场总线报告CAN

现场总线报告CAN

Control unit 2
CAN bus wiring
Matching 陈虹实验室 汽车电子小组
现场总线培训教程 - 陈虹课题组
基于现场总线的网络控制及其应用-陈虹实验室 汽车电子小组
现场总线培训教程 - 陈虹课题组
1-隐性(Recessive) 0-显性(Dominant)
(7) 故障封闭 CAN 可以判断出错误的类型是总线上暂时的数据错误(如外部噪声等)还是 持续的数据错误(如单元内部故障、驱动器故障、断线等)。由此功能,当 总线上发生持续数据错误时,可将引起此故障的单元从总线上隔离出去。
(8) 连接CAN 总线是可同时连接多个单元的总线。可连接的单元总数理论上 是没有限制的。但实际上可连接的单元数受总线上的时间延迟及电气负载的 限制。降低通信速度,可连接的单元数增加;提高通信速度,则可连接的单 元数减少。
基于现场总线的网络控制及其应用-陈虹实验室 汽车电子小组
现场总线培训教程 - 陈虹课题组
(3) 系统的柔软性 与总线相连的单元没有类似于“地址”的信息。因此在总线上增加 单元时,连接在总线上的其它单元的软硬件及应用层都不需要改变。
(4) 通信速度 根据整个网络的规模,可设定适合的通信速度。在同一网络中, 所有单元必须设定成统一的通信速度。即使有一个单元的通信速 度与其它的不一样,此单元也会输出错误信号,妨碍整个网络的 通信。不同网络间则可以有不同的通信速度。
基于现场总线的网络控制及其应用-陈虹实验室 汽车电子小组
现场总线培训教程 - 陈虹课题组
通信速度和最大总线长度的关系
基于现场总线的网络控制及其应用-陈虹实验室 汽车电子小组
现场总线培训教程 - 陈虹课题组
1、基本概念
CAN总线元件

can总线实验报告

can总线实验报告

can总线实验报告
《CAN总线实验报告》
一、实验目的
本实验旨在通过对CAN总线的实验研究,掌握CAN总线的基本原理、工作方式和应用领域,提高学生对CAN总线技术的理解和应用能力。

二、实验内容
1. CAN总线基本原理的学习和理解
2. CAN总线的工作方式和通信协议的研究
3. CAN总线在汽车电子控制系统中的应用实例分析
4. CAN总线通信协议的实验验证
三、实验步骤
1. 通过文献资料和教材学习CAN总线的基本原理和工作方式
2. 使用CAN总线开发板进行实验,验证CAN总线的通信协议
3. 分析汽车电子控制系统中CAN总线的应用实例
4. 结合实际案例,对CAN总线通信协议进行实验验证
四、实验结果
通过本次实验,我们深入了解了CAN总线的基本原理和工作方式,掌握了CAN总线通信协议的实验验证方法,并对CAN总线在汽车电子控制系统中的应用有了更深入的了解。

实验结果表明,CAN总线作为一种高可靠性、高性能的通信协议,在汽车电子控制系统中具有广泛的应用前景。

五、实验结论
通过本次实验,我们对CAN总线的基本原理、工作方式和应用领域有了更深入
的了解,提高了对CAN总线技术的理解和应用能力。

同时,我们也认识到了CAN总线在汽车电子控制系统中的重要作用,为今后的学习和研究打下了坚实的基础。

综上所述,本次实验取得了良好的实验效果,为我们进一步深入研究CAN总线技术奠定了坚实的基础。

希望通过今后的学习和实践,能够更好地应用CAN总线技术,为汽车电子控制系统的发展做出更大的贡献。

现场总线行业调研报告

现场总线行业调研报告

现场总线行业调研报告现场总线行业调研报告一、调研目的和背景现场总线是一种用于工业自动化控制系统的通信协议,可以实现不同设备之间的数据传输和控制。

本次调研旨在了解现场总线行业的发展现状、市场规模和竞争态势,为相关企业提供参考和决策依据。

二、调研方法和范围本次调研采用问卷调查和访谈相结合的方式,对象主要为现场总线行业的相关企业和专家学者。

调研范围包括现场总线技术的应用领域、市场需求和发展趋势等。

三、调研结果1.市场规模:调研结果显示,现场总线行业在过去几年中保持着快速增长的态势,市场规模持续扩大。

特别是在制造业、能源行业和交通运输领域,现场总线的应用越来越广泛,并且有望进一步增长。

2.应用领域:现场总线主要应用于自动化控制系统中,包括工厂自动化、机械设备控制、过程控制和电力系统等。

随着智能制造和工业互联网的发展,现场总线在工业自动化领域的应用将进一步增加。

3.竞争态势:调研结果显示,现场总线行业竞争激烈,市场上存在着多个国内外知名的现场总线技术供应商。

主要竞争力包括技术研发实力、产品质量和售后服务等方面。

目前,EtherCAT、PROFINET和Modbus等现场总线技术在市场上占据较大份额。

4.发展趋势:在智能制造和工业互联网的推动下,现场总线行业有望迎来更大的发展机遇。

调研结果显示,现场总线技术在实时性、可靠性和稳定性方面的要求将进一步提高。

同时,与其他技术如物联网、云计算和大数据等的深度融合也将成为行业发展的重要趋势。

四、结论与建议1.现场总线行业是一个具有广阔市场空间和较高竞争度的行业,企业应密切关注市场需求和技术创新,提高研发实力和产品质量,不断提升竞争力。

2.企业应加强与行业内外的合作与交流,共同推动行业发展。

通过与其他技术的融合和应用,提高产品的综合性能和价值。

3.企业应关注行业的发展趋势,提前布局智能制造、工业互联网等新兴领域,在技术、市场和企业战略等方面做好准备。

以上是对现场总线行业调研的总结和建议,希望可以对相关企业提供一定的参考和启示。

现场总线实验报告_3

现场总线实验报告_3

CAN总线通信实验实验目的基于SJA1000 CAN总线控制器和单片机系统完成CAN总线数据收发实验、掌握CAN 总线波特率设置、消息ID和接收滤波器配置,完成两个以上节点的数据通讯。

实验器材实验器材如下(不含编程计算机)。

SJA1000 CAN接口模块单片机最小系统板串行下载线(USB转TTL电平串口线)USB转DC5.5mm供电线(可选)杜邦线5V电源适配器(可选)实验内容]——简要说明(1)硬件连接1、单片机和SJA1000的连接使用杜邦把CAN模块的P0口连接到单片机开发板的P0扩展口上;把ALE,WR,RD,INT0,CS,KEY分别对应连接到单片机的ALE,P3.6,P3.7,P3.2,P2.0和P2.5上;把5V和GND 分别对应接到单片机的电源接口上。

2、SJA1000的连接将SJA1000的CAN_H,CAN_L对应连接,即可完成通信线路的连接(2)软件编程:1、测试通信线路实验可先将资料中演示程序路径下已编译好的三个测试程序分别下载到三个节点上,测试三个节点间的通信,可实现如下功能:模块1发送模块2接收;模块2发送模块3接收;模块3发送模块1接收。

2、单滤波器设定实验通过改变屏蔽码和接受码内容,实现以下功能:1发送:2,3接受2发送:1,3接受3发送:1接受,2不接受(3)CAN通信的编程实现:列出与CAN通信相关的代码,并加注释。

//屏蔽码和接受码的宏定义#define USER_ACCCODE 0#define USER_ACCMASK 0x1fffffff//初始化SJA1000_mode = USER_MODE;//帧格式标准帧11-bit还是扩展帧29-bit_accCode = USER_ACCCODE; //验收码_accMask = USER_ACCMASK; //屏蔽码_baudrate = USER_BAUDRATE; //波特率//设置波特率switch(_baudrate){case CAN_BAUDRATE_125K:*(unsigned char xdata *)(SJA1000_BTR0)=0x03;*(unsigned char xdata *)(SJA1000_BTR1)=0x1c;break;case CAN_BAUDRATE_250K:*(unsigned char xdata *)(SJA1000_BTR0)=0x01;*(unsigned char xdata *)(SJA1000_BTR1)=0x1c;break;case CAN_BAUDRATE_500K:*(unsigned char xdata *)(SJA1000_BTR0)=0x00;*(unsigned char xdata *)(SJA1000_BTR1)=0x1c;break;case CAN_BAUDRATE_1M:*(unsigned char xdata *)(SJA1000_BTR0)=0x00;*(unsigned char xdata *)(SJA1000_BTR1)=0x14;//break;Default;//任意波特率}//设置验收代码//下面为29-bit,扩展帧格式验收代码的设置,标准帧格式略有不同*(unsigned char xdata *)(SJA1000_ACR0) = (UINT8)(_accCode >> 21);*(unsigned char xdata *)(SJA1000_ACR1) = (UINT8)(_accCode >> 13);*(unsigned char xdata *)(SJA1000_ACR2) = (UINT8)(_accCode >> 5);*(unsigned char xdata *)(SJA1000_ACR3) = (UINT8)(_accCode << 3);//设置验收屏蔽*(unsigned char xdata *)(SJA1000_AMR0) = (UINT8)(_accMask >> 21);*(unsigned char xdata *)(SJA1000_AMR1) = (UINT8)(_accMask >> 13);*(unsigned char xdata *)(SJA1000_AMR2) = (UINT8)(_accMask >> 5);*(unsigned char xdata *)(SJA1000_AMR3) = (UINT8)(_accMask << 3) | 0x04;//设置工作模式_data =*(unsigned char xdata *)(SJA1000_MOD);_data &= ~0x1; //MOD.0 = 0,进入工作模式_data |=0x08; //MOD.3 = 1,单滤波模式//设定节点地址can_s_msg.ID1 = 0;can_s_msg.ID2 = 0;can_s_msg.ID3 = 0;can_s_msg.ID4 = 0;实验结论1、通过实验,利用单片机和SJA1000实现了CAN节点的搭建2、通过屏蔽码和接受码的设置,对节点的通讯方向实现了定向控制实验出现的问题及解决办法1、实验中出现了节点之间连线后无法通讯的问题,后检查发现是连线时导线连接不稳固,导致断路。

现场总线调研报告

现场总线调研报告

现场总线调研报告现场总线调研报告一、调研目的:随着工业自动化的快速发展,现场总线技术逐渐成为工业控制系统中不可或缺的一环。

本次调研的目的在于了解现场总线技术在工业控制系统中的应用情况,以及现场总线技术的发展趋势和优势。

二、调研方法:1. 文献资料调研:通过查阅相关的科技论文、技术报告和行业分析报告,了解现场总线的基本原理和工业应用情况。

2. 企业访谈:选择几家工业控制系统企业作为调研对象,并与其相关人员进行面对面的访谈,了解他们对现场总线技术的看法和应用情况。

三、调研结果:1. 现场总线技术的应用情况通过文献调研和企业访谈,得出以下结论:(1)现场总线技术在工业控制系统中的应用很广泛,包括自动化生产线、机器人控制、过程控制以及能源管理等领域。

(2)现场总线技术能够提供高效、稳定的通信方式,简化设备之间的连接,提高系统的可靠性和可维护性。

(3)现场总线技术可以实现数据集中管理,提供实时监控和远程控制的功能,方便用户对生产过程进行监控和调整。

2. 现场总线技术的发展趋势根据调研结果,可以得出以下结论:(1)现场总线技术将越来越普及,成为工业控制系统的标配。

(2)随着工业物联网的兴起,现场总线技术将更好地与云计算、大数据和人工智能等技术相结合,为工业控制系统带来更多的智能化和自动化功能。

(3)现场总线技术将更关注网络安全和数据隐私保护,加强系统的安全性和可靠性。

四、调研结论:现场总线技术作为工业控制系统中的关键技术之一,具有广泛的应用前景和发展潜力。

它能够提供高效、稳定的通信方式,实现数据集中管理和远程监控控制,为工业生产带来更多的智能化和自动化功能。

随着工业物联网的快速发展,现场总线技术将进一步与云计算、大数据和人工智能等技术相结合,为工业控制系统带来更多的创新和进步。

五、建议:根据调研结果,提出以下建议:1. 企业应加大对现场总线技术的研发和应用,以适应工业控制系统不断发展的需求。

2. 加强对现场总线技术的培训和宣传,提高工程师的技术水平和意识。

现场总线实验报告

现场总线实验报告

现场总线实验报告现场总线实验报告引言:现场总线(Fieldbus)是一种用于工业自动化领域的通信协议,它将传感器、执行器和控制器等设备连接在同一条总线上,实现设备之间的数据交换和控制指令传输。

本实验旨在通过对现场总线的实际应用进行研究和探索,了解其原理和优势。

一、现场总线的基本原理现场总线是一种基于串行通信的网络协议,它使用单根通信线路连接各个设备,通过总线控制器实现数据的传输和设备的控制。

其基本原理是将各个设备连接在同一条总线上,通过总线控制器进行数据的传输和设备的控制,实现实时监测和控制。

二、现场总线的应用领域现场总线广泛应用于工业自动化领域,包括制造业、能源、交通等行业。

它可以实现设备之间的实时通信和数据交换,提高生产效率和质量。

例如,在制造业中,现场总线可以用于机器人控制、生产线监测和设备故障诊断等方面,实现自动化生产和智能制造。

三、现场总线的优势与传统的点对点通信方式相比,现场总线具有以下优势:1. 灵活性:现场总线可以连接多个设备,方便设备的添加和移除,减少了布线和维护的成本。

2. 实时性:现场总线能够实现设备之间的实时通信和数据交换,提高了生产过程的响应速度和准确性。

3. 可靠性:现场总线采用冗余设计和错误检测机制,能够保证数据的可靠传输和设备的可靠运行。

4. 扩展性:现场总线支持多种通信协议和设备接口,可以满足不同设备的需求,便于系统的扩展和升级。

四、实验过程和结果本次实验选取了一台工业机器人和几个传感器作为实验对象,通过现场总线连接它们,并利用总线控制器进行数据的传输和设备的控制。

实验过程中,我们使用了现场总线配置工具对设备进行初始化和参数设置,然后通过编程控制总线控制器发送指令和接收数据。

实验结果显示,通过现场总线,我们能够实时监测机器人的运动状态和传感器的数据,并能够远程控制机器人的动作。

同时,现场总线还能够实现故障诊断和报警功能,及时发现并处理设备故障,保证生产过程的稳定性和安全性。

can总线报告资料

can总线报告资料

can总线报告资料一、概述CAN(Controller Area Network)总线是一种广泛应用于汽车和工业领域的串行通信协议。

它具有高可靠性、高实时性和高带宽的特点,被广泛应用于车辆电子控制系统、工业自动化控制系统等领域。

本报告旨在介绍CAN总线的基本原理、应用领域和技术特点。

二、CAN总线的基本原理1. 物理层CAN总线采用双绞线进行数据传输,通信速率可达到1Mbps。

它采用差分信号传输,具有抗干扰能力强的特点。

CAN总线的物理层标准有CAN 2.0A和CAN 2.0B两种,分别适用于不同的应用场景。

2. 数据链路层CAN总线采用CSMA/CD(Carrier Sense Multiple Access with Collision Detection)的数据链路层协议。

它通过监听总线上的数据活动来实现多节点之间的数据传输。

当多个节点同时发送数据时,会发生冲突,此时通过冲突检测和重新发送机制来解决冲突问题。

3. 帧格式CAN总线的数据传输以帧为单位进行。

CAN帧由起始位、标识符、控制位、数据域和校验位组成。

其中,标识符用于区分不同的数据帧,数据域用于传输实际数据,校验位用于检测数据的正确性。

三、CAN总线的应用领域1. 汽车电子控制系统CAN总线被广泛应用于汽车电子控制系统,如发动机控制单元(ECU)、制动系统、空调系统等。

它可以实现多个控制单元之间的高速数据传输和实时协同工作,提高整车的性能和安全性。

2. 工业自动化控制系统CAN总线在工业自动化领域的应用也非常广泛。

它可以连接各种传感器、执行器和控制器,实现工业设备之间的数据交换和控制。

通过CAN总线,工业自动化系统可以实现高效、可靠的数据传输和实时控制。

3. 其他领域除了汽车和工业领域,CAN总线还被应用于其他领域,如航空航天、医疗设备、军事装备等。

它的高可靠性和实时性使得CAN总线成为这些领域中的首选通信协议。

四、CAN总线的技术特点1. 高可靠性CAN总线采用差分信号传输和冲突检测机制,具有抗干扰能力强的特点。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一CAN总线技术与iCAN模块实验实验报告学院:自动化学院专业:自动化专业班级:2010211410姓名:高娃姚雷阳学号:2011211975 2011211977指导老师:杨军一.实验名称:实验一CAN总线技术与iCAN模块实验二.实验设备:计算机、CAN总线系列实验箱、测控设备箱、万用表。

三.实验过程、实验内容、实验记录:(1)驱动程序安装USBCAN-2A接口卡的驱动程序需要自己手动进行安装,驱动程序已经存放于实验准备内容中。

找到驱动程序,直接点击进行安装即可。

安装完成后,在“管理->设备管理器->通用串行总线控制器”中查看驱动是否安装成功。

注意:安装驱动程序过程中PC机不能连接USB电缆。

(2)iCANTEST安装与运行iCANTEST安装与运行后,利用iCANTest软件对iCAN系列各模块进行验证性测试,可以测试各模块是否可以通过USBCAN-2A接口卡与PC机正常连接与通信以及进行简单的测控操作。

(3)各种iCAN模块的测试1. 打开iCANTest软件(老师,我们当时觉得安装这些过程太简单了,没意识到截图,所以引用了一些PPT上的图像,但后面测试部分的都是自己的截图,希望老师谅解。

)在工具栏中点击“系统配置”,在弹出的对话框中设置通信信息。

如下图:图12. 点击“搜索”,则CAN总线中连接的所有模块应该被搜索出来,列表显示。

包括模块设置的MACID。

图 23.图示为搜索完成后的显示状态,在从站列表中将所有模块予以显示。

点击某个模块,则弹出该模块的操作窗口。

图 34. 点击“启动”,再点击“全部上线”。

在从站列表中所有上线的模块标志变成绿色的三角,表示该模块上线成功。

图 45.试验各个模块的基本输入输出功能。

※点击继电器模块2404的4个输出,听到继电器动作声音。

图 5※连接4210D/A模块的通道0到4017A/D模块的通道5,输入0x8000对应得到5V的电压输出。

图 6图7※使用4055—8入/8出模块连接按钮作为I/O输入,连接指示灯和继电器作为I/O 输出。

首先,连接好24V直流电源。

图8图9然后,选择1个指示灯、1个继电器连接4055模块的DOUT0、DOUT1,选择1个按钮连接4055模块的DIN0。

图10最后,用鼠标点击4055窗口上的DO输出灯(对应DOUT0、DOUT1),可控制指示灯的亮灭及继电器的动作。

当目标箱上的按钮按下时,DI的指示灯会变化(对应DI0)。

图11※将温湿度传感器连接至4017A/D模块。

图12图13通过4017A/D模块的操作窗口,观察通道0和通道1的电压值,通过温湿度传感器的参数说明,换算出温度和湿度值。

图14通道0和通道1的电压值分别为:5.596V,4.740V;因为如下接线图所示,可知通道0和通道1的电压值分别表示温度和湿度。

图15实际温度:{(5.596V÷500ῼ)÷(20mA-4mA)}×50℃=34.975℃实际湿度:{(4.740V÷500ῼ)÷(20mA-4mA)}×100%RH=59.25%RH(4)有关iCAN4055功能模块的简单功能实现的整体代码1.在生成的类头文件Sample4055dlg.h中的类CSample4055中添加申明变量:public:unsigned char buf[1];//发送数据的数据缓存区unsigned char recbuf[1];//接受数据的数据缓存区unsigned long len;int outvalue;int count;CString str;2.在Sample4055.cpp文件中编写控制代码对变量的定义:ROUTECFG cfg;HANDLE hRoute=0; //新的ICAN网络HANDLE hSlave4055=0;//数字量输入输出模块4055,MACID=1 CSample4055::CSample4055(CWnd* pParent /*=NULL*/) : CDialog(CSample4055::IDD, pParent){buf[0]=0;recbuf[0]=0;count=0;len=0;str="";}3.添加每个控件消息响应函数的代码:※启动按钮消息响应函数void CSample4055::OnStartsysButton1(){// TODO: Add your control notification handler code herecfg.iCardType=4;//使用usbcan2接线口cfg.iCardInd=0;//卡序号cfg.iCANInd=0;//CAN通道选择(0表示0通道;1表示1通道)cfg.wCANBaud=0x001c;//波特率的设定0x001c(500kbps)cfg.iMasterCycle=500;//主站循环周期cfg.wMasterID=0; //主站IDMgr_AddRoute(cfg,&hRoute);//添加iCAN网络if(Mgr_StartSys()!=ICANOK)//调用Mgr_StartSys()函数对CAN网络是否启动进行判断,返回为ICANOK{MessageBox("系统启动失败");}else{MessageBox("CAN网络已启动");}}※链接按钮消息响应函数void CSample4055::OnLink4055Button2(){if(Mgr_IsStarted()!=1){MessageBox("系统未启动或启动失败,请先启动CAN网络");}else{// TODO: Add your control notification handler code hereRoute_AddSlave(hRoute,1,&hSlave4055);//添加从站4055,MACID=1if(Slave_Connect(hSlave4055)!=ICANOK)//判断从站4055是否连接成功{MessageBox("4055连接失败");}else{MessageBox("4055连接成功");}SetTimer(1,1000,NULL);//设定开启定时循环,1代表消息事件id,1000表示1000ms即1s}}※定时器消息响应函数void CSample4055::OnTimer(UINT nIDEvent) //Timer事件函数{// TODO: Add your message handler code here and/or call defaultif(nIDEvent==1){len=1;Slave_GetDIData(hSlave4055,recbuf,&len); //读取4055数字量输入端口数据str.Format("0x%02x",recbuf[0]);m_getDI.SetWindowText(str);count=count+1;CDialog::OnTimer(nIDEvent);}}※设置按钮消息响应函数,设置4055DO通道控制状态值void CSample4055::OnButtonSetvalue() //设定4055数字量输出端口值{// TODO: Add your control notification handler code hereif((Mgr_IsStarted()==1)&&(Slave_IsConnected(hSlave4055)==1)){UpdateData(true);outvalue=strtol(m_invalue,NULL,16);//按十六进制进行读取if(outvalue >= 0 && outvalue <= 255){buf[0]=(unsigned short)strtol(m_invalue,NULL,16);Slave_SendData(hSlave4055,0x20,buf,1);//发送数据}else{MessageBox("请输入00~FF之间的十六进制数");}}else{MessageBox("系统未启动或从站未连接,请查看后再进行操作");}}(5)iCAN4055模块自编程序运行结果与界面截图图16图17(6)2路模拟量输出模块iCAN4210的编程使用1. 在Sample4210.cpp文件中编写控制代码对变量的定义:ROUTECFG cfg;HANDLE hRoute=0; //新的ICAN网络HANDLE hSlave4210=0;//MACID=22.添加每个控件消息响应函数的代码:※启动按钮消息响应函数void CSample4210::OnBUTTONStartCANSys(){// TODO: Add your control notification handler code herecfg.iCardType=4;//使用usbcan2接线口cfg.iCardInd=0;//卡序号cfg.iCANInd=0;//CAN通道选择(0表示0通道;1表示1通道)cfg.wCANBaud=0x001c;//波特率的设定0x001c(500kbps)cfg.iMasterCycle=500;//主站循环周期cfg.wMasterID=0; //主站IDMgr_AddRoute(cfg,&hRoute);//添加iCAN网络if(Mgr_StartSys()!=ICANOK)//调用Mgr_StartSys()函数对CAN网络是否启动进行判断,返回为ICANOK{MessageBox("系统启动失败");}else{MessageBox("CAN网络已启动");}}※链接按钮消息响应函数void CSample4210::OnButtonLink4210(){// TODO: Add your control notification handler code hereif(Mgr_IsStarted()!=1){MessageBox("系统未启动或启动失败,请先启动CAN网络");}else{// TODO: Add your control notification handler code hereRoute_AddSlave(hRoute,2,&hSlave4210);//添加从站4210;MACID=2if(Slave_Connect(hSlave4210)!=ICANOK)//判断从站4210是否链接成功{MessageBox("4210连接失败");}else{MessageBox("4210连接成功");}}}※确定按钮消息响应函数void CSample4210::OnButtonCanok(){if((Mgr_IsStarted()==1)&&(Slave_IsConnected(hSlave4210)==1))//如果系统启动成功且从站4210链接成功{unsigned char buf[32]={0};UpdateData(true);//更新数据if(m_setch0>=0.0&&m_setch0<=10.0)//如果通道0的数据在0~10之间{buf[1]=(unsigned short)(m_setch0/10)*65535;buf[0]=(unsigned short)((m_setch0/10)*65535)>>8;}else{MessageBox("提示:请输入0~10V电压");}if(m_setch1>=0.0&&m_setch1<=10.0)//如果通道1的数据在0~10之间{buf[3]=(unsigned short)(m_setch1/10)*65535;buf[2]=(unsigned short)((m_setch1/10)*65535)>>8;//将buf[3]向右移8位}else{MessageBox("提示:请输入0~10V电压");}Slave_SendData(hSlave4210,0x60,buf,4);}else{MessageBox("系统未启动或从站未连接,请查看后再进行操作");}}(7)iCAN4210模块自编程序运行结果与界面截图图18(8)8路模拟量输入模块iCAN4017编程使用1. 在生成的.h头文件中添加使用到的变量的申明:public:unsigned char recbuf[16];unsigned long len;int count;2. 在.cpp文件中首先添加iCAN网络定义和申明以及变量的初始化操作。

相关文档
最新文档