第1页共15页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第1页共15页如何用C语言编写华中数控系统PLC程序一、铣床内置式PLC的结构华中数控铣削数控系统的PLC为内置式PLC,其逻辑结构如图1所示
其中:X寄存器为机床输出到PLC的开关信号,最大可有128组(或称字节,下同);Y寄存器为PLC输出到机床的开关信号,最大可有128组;R寄存器为PLC内部中间寄存器,共有768组;G寄存器为PLC输出到计算机数控系统的开关信号,最大可有256组;F寄存器为计算机数控系统输出到PLC的开关信号,最大可有256组;P寄存器为PLC外部参数,可由机床用户设置(请运行参数子菜单中的PMC用户参数命令),共有100组;B寄存器为断电保护信息,共有100组
X、Y寄存器会随不同的数控机床而有所不同,主要和实际的机床输入/输出开关信号(如限位开关、控制面板开关)有关
但X、Y寄存器一旦定义好,软件就不能更改其寄存器各位的定义;如果要更改,必须更改相应的硬件接口或接线端子
R寄存器是PLC内部的中间寄存器,可由PLC软件任意使用
G、F寄存器由数控系统与PLC事先约定好的,PLC硬件和软件都不能更改其寄存器各位(bit)的定义
P寄存器可由PLC程序与机床用户任意定义
二、铣床内置式PLC的软件结构及其运行原理和一般C语言程序都必须提供main()函数一样,用户编写内置式PLC的C语言程序必须提供如下系统函数定义及系统变量值:externvoidinit(void);//初始化PLCexternunsignedplc1_time;//函数plc1()的运行周期,单位:毫秒externvoidplc1(void);//PLC程序入口1externunsignedplc2_time;//函数plc2()的运行周期,单位:毫秒externvoidplc2(void);//P