CAN总线系统结构:CAN总线每个节点需要带有CAN协议控制芯片及适当的接口电路,节点之间通过双绞屏蔽线进行总线式连接,首尾节点需要接120R的匹配电阻,通信最高速率可达1MBPS,传输速率越低,传输距离越远。系统结构如下:

CAN协议的报文格式:CAN协议支持两种报文格式CAN2.0A和CAN2.0B; CAN2.0A为标准格式,CAN2.0B为扩展格式;格式分别如下:
CAN2.0A协议报文结构图如下

CAN2.0B协议报文结构图如下

标准格式和扩展格式唯一的不同是标识符(ID)长度不同,标准格式为11位(ID10-ID0),扩展格式为29位(ID10-ID0,EID17-EID0)。
在标准格式和扩展格式中,报文的起始位称为帧起始(SOF),帧起始标志数据帧或远程帧的起始,由一个单独的“显性”位(0)组成。由控制芯片自动完成,不需要用户在程序中体现。
然后是由11位标识符(ID10-ID0)(扩展格式为29位(ID10-ID0,EID17-EID0))和远程发送请求位 (RTR)组成的仲裁场。RTR位标明是数据帧还是请求帧,在请求帧中没有数据字节。
控制场包括标识符扩展位(IDE),指出是标准格式还是扩展格式。它还包括一个保留位 (RBO),为将来扩展使用。它的最后四个位用来指明数据场中数据的长度(大小就是由DLC3-DLC0组成的2进制数据)。数据场范围为0~8个字节(DATA FIELD),其后有一个检测数据错误的循环冗余检查(CRC)。
应答场(ACK)包括应答位和应答分隔符。发送站发送的这两位均为隐性电平(逻辑1),这时正确接收报文的接收站发送主控电平(逻辑0)覆盖它。用这种方法,发送站可以保证网络中至少有一个站能正确接收到报文.
报文的尾部由帧结束标出。在相邻的两条报文间有一很短的间隔位,如果这时没有站进行总线存取,总线将处于空闲状态。
艾默生CT PLC集成CAN总线功能介绍
ECCT的CAN通信功能支持CAN2.0A协议和CAN2.0B协议,通信波特率设置范围为5-100KBPS,可以通过艾默生CT PLC编程软件CONTROLSTAR FOR ECCT进行设置。具体使用步骤如下:
1)基本设置:在工程管理器里双击“系统块”,在弹出的窗口选择“CAN口设置”,在“CAN口参数设置”里选择“自由协议”,然后单击后面的“自由口设置”按扭。在弹出的窗口选择协议类型“2.0A”或“2.0B”,然后再下拉选择“波特率”最后单击“确定”,把系统块下载到PLC里。

2)数据发送:使用指令CANXMT,并以CAN2。0A协议为例描绘了它们之间的对应关系。

3)数据接收:使用CANRCV指令(参数含义如下)或使用CAN接收中断功能。我推荐对初使用者采用中断更方便,具体用法参考下面的例子程序。

笔者根据ECCT集成的CAN总线功能,在纺织机械上的得到了成功的应用,现介绍如下:其CAN系统总体结构图如下:

此系统的具体工艺不做介绍,这里只介绍CAN通信部分的应用。
程序使用说明如下:
1.首先根据要求在“系统块”里对CAN通信口进行设置。
2.数据发送部分:对ID为5的地址发送4个字数据“16#1122,16#3344,16#6789,16#1234”需要编写的程序为如下:

其中要注意的是:1)CANXMT为上升沿执行指令,M1000为指令执行条件,当其出现OFF—>ON的变化时,执行CANXMT指令;2)使用CANXMT指令前先把该赋值的地址写好;3) 发送数据只取D元件的低8位; 4)网络上没有CANID、数据完全相同的CAN帧同时出现;5)ID保留0。6)CAN程序的校验部分全部由硬件自动完成,用户程序不需要参与。
3.数据接收部分:此部分以使用中断方式接收数据为例,分2部分步骤:
1)先在主程序中设置CAN中断使能.

2)设置中断程序属性,把其中断事件选为48(即CAN接收中断),然后编写程序把接收到的数据传递到需要的地址.注意ID地址为双字结构,SD282-290依次为数据的高低字节,把他们传递到相应的数据寄存器然后合并就可以得到完整的数据了。

总结:由于CAN协议格式比较简单,并且相当部分工作由CAN控制芯片硬件完成,所以编写程序比较简单,实现起来很容易,此纺织系统采用CAN通信方式后,速度大大提高并且系统更加稳定,受到用户的肯定。
关于艾默生
总部位于圣路易斯市的Emerson是一家全球领先的公司,该公司将技术与工程相结合,在网络能源、过程管理、工业自动化、环境优化技术及家电和工具等领域为客户提供创新性的解决方案。欲了解进一步信息,欢迎访问www.emerson.com(全球),www.emerson-ap.com (中国)等网站。
关于艾默生工业自动化
艾默生工业自动化是Emerson公司所属业务品牌,提供技术领先的生产解决方案,包括机械、电力及超声波等,为全球多种多样的行业提供最先进的工业自动化。该业务品牌广泛的产品和系统应用 于生产过程和设备,包括运动控制系统、物料连接、精密清洗、物料测试、液压控制阀、交流发电机、马达、机械动力传输驱动器和轴承等。了解详细信息,请浏览www. emerson.com 或 www.emerson-ap.com或www.emerson-ct.cn。