用户中心

资讯 > PLC与PAC

可编程计算机控制器的CAN 总线通信

作者:胡 江 上海电机学院电气学院2009.02.19阅读 3343

  现代的可编程计算机控制器(PCC)已经发展到以微处理器为基础、高度集成化的工业控制装置。它是计算机技术与工业控制技术相结合的控制设备,可广泛应用于各种机械,如金属切削机床、金属成型机床、装配机械、机器人和电梯以及与工业计算机、以太网等相连构成整个工厂的自动控制系统[1,2] 。从广义上来说, PCC也是一种计算机控制系统,只不过它比一般的计算机具有更强的与工业过程相连接的接口和更直接的适用于控制要求的编程语言。同时,PCC也具有一般可编程控制器的特点。也可采用面向控制过程控制工程网版权所有,面向问题的简单而直观的控制型语句,直接表达被控对象的动作及输入输出关系。
  1  可编程计算机控制器
  20世纪90年代,可编程控制器技术随着计算机技术、网络通信技术、自动控制技术的飞速发展而不再是传统意义上的可编程控制器,由于其数学处理能力、网络通信能力、智能控制能力等得到发展,因此, 1994年开始被称为可编程计算机控制器(PCC)。随着PCC的不断发展,它与3C(Comput-er ,Control ,Communication) 逐渐融为一体。目前的PCC已从小规模的单机顺序控制,发展到包括过程控制、位
置控制等场合的所有控制领域,并能组成工厂自动化的PCC综合控制系统[3]。
  2  PCC的CAN总线
  传统的串行通信传输方式包括RS-232 、RS-485等。RS-232是点对点的通信方式,传送速度比较慢,距离比较短; RS-485的数据信号采用差分传输方式,传送速度较快,但由于通信结构采用单主站总线访问形式,应用有一定的局限性[4]。CAN的应用范围现已遍及工厂自动化、机床、医疗设备、建筑环境控制,从高速网络到低成本的多线路网络。CAN总线具有强有力的错误检测能力及差分驱动功能CONTROL ENGINEERING China版权所有,速度快、传送距离长等优点。CAN具有下列主要特性:多主站依据优先权进行总线访问;无破坏性的基于优先权的仲裁;借助接收滤波的多地址帧传送;远程数据请求;配置灵活性;全系统数据相容性;错误检测和出错信息;发送期间若丢失仲裁或由于出错而遭破坏的帧可自动重发送;暂时错误和永久性故障节点的判别以及故障节点的自动脱离[5]205 。相对传统传输方式, PCC中采用CAN总线实现变量传输,具有的传输距离远、准确率高以及传送速率快等特点,编程简单,修改容易控制工程网版权所有,十分利于工程应用。
  3  PCC实现单变量的传输
  CAN总线进行数据通信时,用CANopen( )进行初始化,用CANwrite( )以及CANread( )实现两个站点间单变量的传输[5]207 。
  两个PCC站点的站号分别为100 ,200;波特率为50 。站点200为写数据, 站点100为接收数据,在循环程序部分对CAN 接口进行编程如下:
  CANopen(1,50,8,adr(error - adr),"CAN",0,us-ident,rc-open)
  CANwrite(1,us-ident,200,adr(wr-dat),8,rc-write)
  CANread(1,us-ident,100,adr(rd-dat),rd-len ,rc-read)
  在WA TCH 窗口进行变量调试。当站点200里面发送单变量数据时,站点100里面就能马上读到该变量数据控制工程网版权所有,这样就实现了单变量的传输。
  4  PCC实现变量表的传输
  CAN总线实现变量表传输,需先在数据文件中进行变量表的定义,定义每个变量的变量地址、变量名、变量使能以及读写标志。
  在初始化程序部分先给变量表中的变量以及使能变量赋初值(初值皆为0),然后对CAN接口进行初始化,处理方法与传输单变量一致,在初始化程序中调用CANopen()既可。使用DA-ident 函数,获得变量表cantable 的地址,如果地址为0(使用ifendif 语句实现) 则执行DA-info函数,获得变量表的相关信息(如首地址,数据长度,内存变量类型等)用CANdftab()[5]210 创建一个包含CAN总线数据的变量列表,用户可以通过事件变量(事件过程变量) 来进行数据读写。在写数据时,如果事件变量设为1 ,则发送变量数据;在CAN信息发送后www.cechina.cn,事件变量复位为0。当读数据时,此事件变量值设为1 。为了避免循环时间的问题,该功能仅在任务的初始化子程序中调用。周期性的读、写操作是由功能函数CANrwtab()[5]214进行处理的。
  在循环程序部分将本站点的使能变量置1 ,用CANrwtab()对CAN接口进行读写操作,实现变量表传输。该功能处理由上一个功能函数定义的变量列表,且必须对其在循环任务中进行调用。如果总线没有准备好,则CAN控制器在每一次调用次功能时,重新初始化。
  CAN总线实现两个站点间变量表的传输。其中,两个站点的站号分别为100 ,200;波特率50;
  定义
版权声明:版权归控制工程网所有,转载请注明出处!
联系厂商

通过本站与本文涉及的厂商 贝加莱工业自动化(中国)有限公司 联系,本站注册会员请登录后填写更便捷。 登录注册

  • 您的姓名:
  • 单位名称:
  • 联系电话:
  • 电子邮件:
  • 我想得到贵公司详细的技术资料
  • 我想得到贵公司的价格信息
  • 我想让贵公司销售人员和我联系
  • 我想让贵公司技术支持人员和我联系
其他意向:

频道推荐

关于我们

控制工程网 & CONTROL ENGINEERING China 全球工业控制、自动化和仪器仪表领域的先锋媒体

CE全球

联系我们

商务及广告合作
任小姐(北京)                 夏小姐(上海)
电话:010-82053688      电话:18616877918
rendongxue@cechina.cn      xiashuxian@cechina.cn
新闻投稿:王小姐

关注我们的微信

关于我们 | 网站地图 | 联系我们
© 2003-2020    经营许可编号:京ICP证120335号
公安机关备案号:110102002318  服务热线:010-82053688