最新新闻
我要投稿
联系电话:027-87592219/20/21转188
投稿邮箱:tb@e-works.net.cn
您所在的位置:首页 > 智库 > 智能装备

PLC源程序在华中世纪星维修实验台中编译及加载的实现

发布时间:2014-06-19 作者:呼刚义  来源:万方数据
关键字:PLC 华中世纪星 数控系统 
数控系统的内置型PLC作为摸不着的自动控制单元,不易被人理解。通过用户编写的PLC源程序在华中数控系统中的编译、加载及运行的实现,来说明内置型PLC的运行机理,为更好地诊断机床故障和扩展机床功能提供思路。

  数控机床顺序控制的逻辑离散信息如主轴起停和正反转等开关量信息的处理,是由可编程序逻辑控制器(PLC)完成的。PLC在机床中以独立型和内置型两种形式存在。独立型PLC是各个厂家生产的常见的自成独立自动控制设备,有成熟的系统运行平台和程序实现方法;而内置型PLC是内嵌在CNC装置内,从属于CNC装置并与CNC装置集成于一体,对其运行方式和程序实现知之甚少。下面通过利用c语言编写的PLC源程序在华中数控系统中的实现,使用户能对数控机床进行更好的故障诊断和维护,对完善PLC程序、进一步提升机床的性能有一定的实际意义。

1 华中数控内置式PLC的软件结构及其运行过程

  和一般c语言程序都必须提供Main()函数一样,用户编写内置式PLC的C语言程序必须提供如下系统函数定义及系统变量值:

  extern void init(void);//初始化PLC
  extern unsigned plcl—time;//函数plcl()的运行周期,单位:ms
  extern void plcl(void);//PLC程序人口1
  extem unsigned ple2一time;//函数plc2()的运行周期,单位:ms
  extern void pie2(void);//PLC程序人口2

  开机数控系统初始化PLC时,将调用PLC提供的init()函数(该函数只被调用一次)。在系统初始化完成后,数控系统将周期性地运行如下过程:

  (1)从硬件端口及数控系统成批读人所有X、F、P寄存器的内容;

  (2)如果plel—time所指定的周期时间已到,调用函数plcl();

  (3)如果plc2一time所指定的周期时间已到,调用函数plc2();

  (4)系统成批输出G、Y、B寄存器。一般地,plcl—time总是小于pie2一time,即函数plel()较plc2()调用的频率要高。因此,华中数控称函数plcl()为PLC高速扫描进程、plc2()为低速扫描进程。

2 利用华中数控系统平台生成PLC源程序

  华中数控系统PLC源程序的编译环境为:BorlandC++3.1和MS.DOS 6.22。数控系统约定PLC源程序后缀为“.cld”,即“*.cld”文件为PLC源程序。打开华中数控系统并进入DOS界面,按如下步骤操作:

  (1)在DOS环境下,进入数控软件PLC所安装的目录,如:

  C:\HNC-21TF\PLC

  (2)在DOS提示符下敲入如下命令:
  C:\HNC-21\plc)edit plc—null.cld(回车)
  此项操作的作用是建立一个文本文件,也就是用
  c语言编写的PLC源程序,并命名为“plc—null.eld”,其程序其框架结构为:

  //*
  //plc—null.cld:
  //PLC程序空框架,保证可以编译运行,但什么功能也不提供
  //版权所有:武汉华中数控系统有限公司,保留所有权利。
  //http://huazhongenc.com email:market@hua—
  zhongcnc.com
  #pragma inline
  #Include”plc.h”//PLC系统头文件
  void init(){}//PLC初始化函数
  void plcl(void)//PLC程序人口1
  {plcl—time=16;//系统将在16 ins后再次调用plcl()函数
  }
  void plc2(void)//PLC程序人口2
  {Plc2一time=32;//系统将在32ms后再次调用plc2()函数
  }

2
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。