首页 > 解决方案 > 印刷行业 > 报纸印刷的CAN总线节点呼叫系统
解决方案分类
达成项目
解决方案
报纸印刷的CAN总线节点呼叫系统
0

目的与意义

目前AGV(AutomaticGuidedVehicle)自动导引车在工业自动化领域里得到了广泛的应用,汽车装配、电力系统、烟草行业等等都有AGV的身影。AGV系统以它的高效、灵活、智能的特点在工业自动化领域得到了更大的认可。在报纸印刷行业中,纸卷的运输一直是个很难解决的问题,从库房到印刷机之间,虽然距离不是很长,但每个纸卷都在一吨左右,有的会更重一些。用人搬运至少需要三四个人,另一种方式是在地下铺设轨道,用有轨输送车来运输纸卷,但如果想要改造线路,施工量很大。而采用AGV系统运输的线路会变得更加的灵活,可以根据现场的情况进行调整。在整个系统中,当印刷机需要更换纸卷时,要向控制台发送要纸信息。由于现场的印刷机数量都在十几个或是几十个以上,若采用传统的IO方式,不利于现场的施工,调试也比较繁琐,所以采用CAN总线通信方式既节约成本又方便调试。

关键技术介绍

(一)CAN总线概述

CAN全称为“ControllerAreaNetwork”(即控制器局域网),是串行通讯协议,能有效的支持具有很高安全等级的分布实时控制。CAN的应用范围很广,从高速的网络到低价位的多路配线都可以使用CAN,在汽车的电子行业里,使用CAN连接发动机控制系统、传感器、防滑系统等,其传输速率可达到1Mbps。

根据ISO/OSI参考模型,CAN被分为以下几个层次:

(1)数据链路层(DataLinkLayer)

逻辑链路控制子层(Logical Link Control)

介质访问控制子层 (Medium Access Control)

(2)物理层(Physical Layer)

CAN总线数据通讯具有可靠性、实时性和灵活性,网络上的任意一点均可在任意时刻主动的 向网络上的其它节点发送信息,当信息出现冲突时,优先级低的节点会主动退出发送,大大节省 了总线冲突仲裁时间,通过报文的标示符滤波即可实现点对点、一点对多点及全局广播的通讯模式,在出现错误的时候会自动关闭输出功能,确保总线通讯正常。

(二)ISA总线概述

ISA总线,即工业标准结构(Industry Standard Architecture),最早起源于二十世纪八十年代早期IBM在佛罗里达州Boca Raton研发实验室。IBM于1981年推出的个人电脑,其中包括了八位的ISA总线。1984年,IBM推出了PC-AT,这是一个16位结构的ISA总线。在总线上包括地址信号、数据信号、周期控制信号、总线控制信号、中断信号、DMA信号,系统总线是任意局部总线的缓冲形式,也可依据状态和控制线的编码或信号的装入而不同于局部总线。

CAN总线节点呼叫系统设计

(一) 硬件设计

在这个系统中AGV控制台需要一个CAN通讯设备,每一个印刷机节点需要一个带有CAN通讯的IO模块,它们之间通过CAN总线方式连接来进行信息传递,每个节点的控制器可以通过拨码开关来选择自己的地址,这个系统最多可接入64个节点,基本上能满足大部分现场要求。并可以根据节点个数的多少来选择波特率,确保通讯稳定。

系统原理
图3.1.1系统原理

1.节点控制器

节点控制器主要有以下四个部分组成:外围IO、带CAN功能的控制器、隔离驱动电路、波特率和地址选择电路。

外围IO主要有两个带复位按钮开关和两个指示灯组成。按钮颜色为黄色和绿色,黄色按钮内为黄色的指示灯,绿色按钮内为绿色的指示灯。绿色按钮代表要纸,黄色代表退纸,两个按钮同时按下代表取消当前的操作,长时间按黄色按钮代表该节点的报纸印刷机已经停止工作,系统将不再接收这个节点的信息,长时间按绿色按钮表示该节点重新回到系统中。绿灯亮起表示该节点的要纸信息AGV系统已经收到,并分配好相应的AGV车送纸。黄灯亮起表示退纸信息已经收到,并已经分配AGV车来取纸。黄灯闪烁表示出现故障,并可以根据绿灯每次间隔闪烁的次数来判断当前出现的故障。整个的外围IO都是24V电源系统供电,与内部的控制电路采用光耦隔离方式,确保了内部控制电路不受外界的干扰。

内部控制器采用飞利浦公司的P87C591单片机,这是一款集成了CAN功能的单片机,完全履行CAN2.0B规范,并提供一个直接从独立CAN控制器SJA1000移植的软件路径,具有CAN的扩充性。其中包括增强型验收滤波器,支持系统维护,诊断,系统优化及接收FIFO特性。通过五个CPU与CAN连接的特殊功能寄存器来实现对CAN寄存器的访问,并支持11位标准和29位扩展标识码,使用8MHz 时钟可实现1Mbit/sCAN 总线速率。还具有一个片内64 字节接收FIFO 和一个13 字节发送缓冲区。同时还支持系统自检测、自身信息接收、全局检测、局部检测等功能。这样简化了电路板的硬件设计,也有利于整个系统的稳定性。

节点地址和波特率采用的是拨码开关来选择控制。每个节点模块上都有一个拨码开关,是用来选择节点自身的地址和波特率的。八位拨码开关由两部分组成,前六位为地址设置,共可以设置64个地址,后两位为波特率设置。分别为500 Kbps 、250 Kbps、100 Kbps和50 Kbps。在具体的实践应用中,可根据现场的节点个数和通讯电缆总长度来确定波特率。当节点个数较多或是通讯线较长时应选择较低的波特率,反之要选择较高的波特率,可在实际操作过程中反复试验调试。

隔离驱动电路采用单独的电源供电,通过高速光耦与控制信号隔离开,CAN总线驱动器为飞利浦公司生产的TJA1040,是连接CAN总线的物理接口,传输速度高达1MB/秒,具有极低的电磁辐射(EME)特性,激振效应保护功能更强。即使对于ECU日益增多、总线拓扑结构持续复杂化的当前最先进的网络,上述特点也能确保通信的可靠性。收发器在断电或处于低功耗模式时会在总线上不可见,这极大地降低电流消耗,通常会低至10uA,从而实现有效的电源管理,并降低二氧化碳排放量。可预见的欠压特性简化了集成起止功能的系统设计。

节点模块硬件原理
图3.1.2节点模块硬件原理

2. 控制台CAN卡设计

AGV调度系统通过控制台里的无线电台来调度每一个AGV车,它与CAN节点呼叫系统通信需要一个带CAN通讯功能的模块来连接,此处利用工控机内的ISA总线扩展插槽设计一款具有CAN通讯功能的硬件电路来实现与CAN节点呼叫系统通信。

CAN卡由逻辑译码电路,CAN控制电路,驱动电路三个部分组成。

译码电路先根据拨码开关预先设定好的地址与ISA总线上出现的地址相比较,当地址符合时,译码电路将地址总线的使能端设置为有效状态,地址总线数据将被传递到CAN控制器上,在通过ISA总线上的地址锁存信号将地址锁住,然后将数据总线的使能端设置为有效状态,进行数据的读取。这样就可以实现上位机与CAN控制器之间的信息交换。

SJA1000有两种工作模式:基本模式和增强模式。在基本模式下,SJA1000只可收发标准数据帧(标准数据帧的标识符为11位),且错误报警的极限值不能修改;在增强模式下,SJA1000既可接收标准数据帧,也可接收扩展数据帧(扩展数据帧的标识符为29位),可修改错误报警的极限值,并且SJA1000具有更加灵活的滤波方式,能够根据数据帧的标识符有选择地接收一些数据帧。另外,增强模式下的SJA1000能够进行自检,即可通过自发自收一组报文来判断该控制节点是否正常地挂在CAN总线上。使用者所要做的主要工作是SJA1000的初始化,收发报文的处理以及对节点脱离总线的检测量与处理。

驱动电路采用的是广州致远电子公司的CTM1050T内部集成CAN-bus 所必须的收发电路,完全电气隔离电路,隔离电压(DC2500V)。CTM1050 是用于CAN 控制器与CAN 总线之间的接口芯片,CAN 总线波特率应用范围:40kbps—1Mbps,完全符合ISO 11898 标准。CTM1050 芯片主要功能:具有将CAN 控制器逻辑电平转换为CAN 总线的差动电平的功能,另外CTM1050 还具有对CAN 控制器与CAN 总线之间的隔离作用。

CAN卡原理图
图3.1.3CAN卡原理图

(二) 软件设计

1. 软件结构

CAN总线节点呼叫系统的软件结构是由控制台调度软件通过CAN卡将信息发送到总线上,对每一个节点进行查询,得到相应的节点信息。

软件结构
图3.2.1软件结构

2. 模块流程设计

节点模块:上电后首先要进行程序的初始化设置,根据拨码开关的返回值来确定自己的ID号,波特率,滤波器中的内容,并根据事先规定的通讯协议与控制台调度软件进行通讯。当发送数据没有得到控制台回应时要进行重复发送,如果发送多次仍然得不到控制台回答时要有报错提示,提醒操作人员及时解决问题。在查询外部的IO信号时,要有软件滤波功能,当在一定时间内,有效信号在一半以上时才可以认为是信号有效,以防止因外部的干扰产生的错误信号。同时还有加入看门狗复位程序,在程序许可最大循环周期内没有喂狗,将复位控制器保证程序的稳定。

控制台CAN卡:首先要初始化SJA1000,设置ID号、波特率、滤波器中的数值。这些数值可以通过控制台软件的操作界面来修改,检查总线状态,向总线上的每个节点发送信息。然后查询它们当前的状态,根据返回的信息来确定每个节点模块处于工作状态、离线状态或是故障状态。并通过操作软件界面显示出来,使操作人员能更加清楚地了解当前系统的工作情况。

3. 程序流程

节点模块:程序启动后首先进行初始化操作,包括单片机的初始化、CAN的初始化、并读入地址波特率等相关的参数,然后进入循环程序,包括外部IO检测、数据发送、数据接收、指示灯显示等。当遇到发送失败时还要有数据重发子程序。

节点模块程序流程图
图3.2.2节点模块程序流程图

控制台CAN卡:程序启动后先对SJA1000进行初始化设置,包括地址和波特率的设置,然后检查总线上的数据信息,并显示到操作界面上;

控制台CAN卡程序流程图
图3.2.3控制台CAN卡程序流程图

第四章 结论

CAN总线节点呼叫系统适用于对一些远程设备的IO控制,CAN总线最远的通讯距离可达到10公里,能满足大部分工业现场的要求,并且CAN通讯方式在硬件上有数据校验,稳定性也比较可靠。传统的IO方式在现场布线上需要耗费大量的时间,如果距离很远,还有考虑一下信号衰减的问题,而采用CAN总线的方式只需要一对双绞通讯线,将所需要的节点模块接入到总线上就可以实现与其它设备的通讯。当某个节点不需要使用时将该节点模块与总线分离,不会影响其它节点工作,操作使用和维护都很方便。


0
[责任编辑: admin]
我要咨询
     
* 所属方案:
* 联系人:
* 联系电话:
* 所属公司:
E-mail:
* 需求描述:
验证码:  
 
     
更多行业
高工机器人网 | AGV产业网 | 沈阳自动化研究所 | 沈阳新松机器人自动化股份有限公司