华中数控世纪星PLC编程说明书 下载本文

华中数控PLC编程说明书

extern void plc2(void); //PLC程序入口2 其中:

1) 函数init()是用户PLC程序的初始化函数,系统将只在初始化时调用该

函数一次。该函数一般设置系统M、S、B、T等辅助功能的响应函数及系统复位的初始化工作;

2) 变量plc1_time及plc2_time的值分别表示plc1()、plc2()函数被系统周

期调用的周期时间,单位:毫秒。系统推荐值分别为16毫秒及32毫秒,即plc1_time=16, plc2_time=32;

3) 函数plc1()及plc2()分别表示数控系统调用PLC程序的入口,其调用周

期分别由变量plc1_time及plc2_time指定。

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

1) 从硬件端口及数控系统成批读入所有X、F、P寄存器的内容; 2) 如果plc1_time所指定的周期时间已到,调用函数plc1(); 3) 如果plc2_time所指定的周期时间已到,调用函数plc2(); 4) 系统成批输出G、Y、B寄存器。

一般地,plc1_time总是小于plc2_time,即函数plc1()较plc2()调用的频率要高。因此,华中数控称函数plc1()为PLC高速扫描进程、plc2()为低速扫描进程。

因此,用户提供的plc1()函数及plc2()函数必须根据X及F寄存器的内容正确计算出G及Y寄存器的值。

第二章 华中数控内置式PLC的编程与安装

本章介绍PLC程序的编写、编译及运行安装过程

2.1 华中数控PLC程序的编写及其编译

华中数控 PLC程序的编译环境为:Borland C++3.1+MSDOS6.22。因此,要编写PLC程序您必须在您计算机上安装Borland C++3.1软件及MSDOS6.22或MS Windows 9X操作系统。

9

华中数控PLC编程说明书

华中数控系统约定PLC源程序后辍为“.CLD”,即“*.CLD”文件为PLC源程序。

最简单的PLC程序只要包含系统必须的几个函数和变量定义(请参见1.2节)即可编译运行,当然它什么事也不能做。

在DOS环境下,进入数控软件PLC所安装的目录,如C:\\HCNC2000\\PLC,在DOS提示符下敲入如下命令:

c:\\hcnc2000\\plc> edit plc_null.cld <回车>

建立一个文本文件并命名为plc_null.cld,其文件内容为:

//

//plc_null.cld: // PLC程序空框架,保证可以编译运行,但什么功能也不提供 // // 版权所有?2000,武汉华中数控系统有限公司,保留所有权利。 // http://huazhongcnc.com email: market@huazhongcnc.com // tel: +86-27-87545256,87542713 fax: +86-27-87545256,87542713 // 最后更改日期: 2000.10.31

// 作者:阳道善email: yang@HuazhongCNC.com

#include \系统头文件

void init()//PLC初始化函数 { }

void plc1(void) //PLC程序入口1 {

plc1_time=16; // 系统将在16毫秒后再次调用plc1()函数 }

void plc2(void); //PLC程序入口2 {

plc2_time=32; // 系统将在32毫秒后再次调用plc1()函数 }

如果您安装了MSDOS6.22及Borland C++3.1软件,在铣床数控系统的PLC目录下,输入如下命令:

c:\\hcnc2000\\plc> makeplc plc_null.cld <回车> 系统会响应:

1 file(s) copied

MAKE Version 3.6 Copyright (c) 1992 Borland International

10

华中数控PLC编程说明书

Available memory 64299008 bytes

bcc +plc.CFG -S plc.cld

Borland C++ Version 3.1 Copyright (c) 1992 Borland International plc.cld:

Available memory 4199568

TASM /MX /O plc.ASM,plc.OBJ

Turbo Assembler Version 3.1 Copyright (c) 1988, 1992 Borland International

Assembling file: plc.ASM Error messages: None Warning messages: None Passes: 1 Remaining memory: 421k

tlink /t/v/m/c/Lc:\\BC31\\LIB @MAKE0000.$$$

Turbo Link Version 5.1 Copyright (c) 1992 Borland International Warning: Debug info switch ignored for COM files 1 file(s) copied

并且又回到DOS提示符下:

c:\\hcnc2000\\plc>

这时表示我们的第一个PLC程序编译成功。编译结果为文件plc_null.com。然后,我们可以更改数控软件系统配置文件NCBIOS.CFG,并加上如下一行文本让系统启动时加载我们新近编写的PLC程序:

device=c:\\hcnc2000\\plc\\plc_null.com

以上就是在华中数控系统平台上编写并编译C语言PLC程序的全过程,非常简单。

下面,让我们多做一点工作。假设我们在用户按下操作面板的“循环起动”键时,点亮“+X点动”灯。假定“循环起动”键的输入点为X0.1,“+X点动”灯的输出点位置为Y2.7。

更改plc_null.cld文件的plc1()函数如下:

void plc1(void) //PLC程序入口1 {

plc1_time=16; // 系统将在16毫秒后再次调用plc1()函数 if ( X[0] & 0x02 ) // “循环起动键”被按下 Y[2] |= 0x80; // 点亮“+X点动”灯 else // 循环起动键没有被按下 Y[2] &= ~0x80; // 灭掉“+X点动”灯 }

11

华中数控PLC编程说明书

重新输入命令makeplc plc_null,并将编译所得的文件plc_null.com放入NCBIOS.CFG所指定的位置,重新起动铣床数控系统后,当我们按下“循环起动”键时,“+X点动”灯应该被点亮。

更复杂的PLC程序,可参考您所在数控系统PLC目录下的*.CLD文件,其中应该有一个是您数控系统的PLC源程序。另外,本说明书的最后一章详细讲解了步进电机三坐标铣床的PLC源程序,请参考。

2.2 华中数控PLC程序的安装

从上节,我们已经知道PLC源程序编译后,将产生一个DOS可执行.COM文件。要安装写好的PLC程序,我们必须更改华中数控系统的配置文件NCBIOS.CFG。

在DOS环境下,进入数控软件所安装的目录,如C:\\HCNC2000,在DOS提示符下敲入如下命令:

c:\\hcnc2000> edit ncbios.cfg <回车>

可编辑数控系统配置文件。一般情况下,配置文件的内容如下(具体内容因机床的不同而异,分号后面是为说明方便添加的注释):

DEVICE=C:\\HCNC2000\\bin\\sv_step.drv DEVICE=C:\\HCNC2000\\bin\\hc5904.drv PARMPATH=C:\\HCNC2000\\PARM DATAPATH=C:\\HCNC2000\\DATA PROGPATH=C:\\HCNC2000\\PROG DISKPATH=A:

BINPATH=C:\\HCNC2000\\bin

;步进电机伺服驱动 ;5904驱动程序 ;PLC程序 ;系统参数所在目录 ;系统数据所在目录 ;数控G代码程序所在目录

;软盘 ;系统BIN目录

DEVICE=C:\\HCNC2000\\plc\\plc_null.com

用粗体突出的第三行即设置好了上文编写的PLC程序plc_null.com。

第三章 华中数控PLC寄存器定义与接口函数说明

第一章说明了PLC的逻辑结构及各寄存器的含义。已经知道,PLC的G及F寄存器是数控系统与PLC约定好的,用户不可随便更改其寄存器各位(bit)

12