Series 30i/31i/32iC语言执行器允许将机床构建者的原始屏幕添加30i/31i/32i中,并定制CNC软件的屏幕显示和操作界面。可以将CNC的任意屏幕替换为C语言执行器应用程序屏幕.

        关于屏幕显示和操作界面的用户应用程序是用通用C语言开发的,就像普通PC的应用程序开发一样。由机床制造商开发的可执行文件在CNC单元中构建。在PC上编译的用户程序被存储在CNC单元的闪存ROM中,然后通过CNC的启动程序载入CNC的内存中接着在C语言执行器上执行。在本手册中,有描述C语言执行器应用程序屏幕作为用户屏幕的情况。

        系统组件包括C语言执行器和用户应用程序,如下所示。

1应用程序通过库函数调用

2 输出到屏幕,读取MDI键或触摸面板等。

3读取/写入CNC信息

4 任务切换、屏幕切换等。

C语言执行器提供以下功能

(1)加载和启动应用程序   C语言执行器在CNC单元的启动过程中将应用程序和C语言库从闪速ROM加载到DRAM中,并开始执行应用程序。(2)切换CNC屏幕和用户屏幕C语言执行器通过操作员的MDI操作监控屏幕切换。当选择任何用户屏幕时,C语言执行器将执行切换到用户应用程序。当再次选择CNC屏幕时,C语言执行器将执行权返回给CNC软件。(3)管理CNC任务和用户任务C语言执行器除了通过屏幕切换管理用户应用程序的后台任务外,还通过屏幕切换来切换进程。

C语言库

C语言库提供以下功能。

(1)外围设备(LCD和MDI键)之间的输入/输出

C语言库执行由应用程序调用的输入/输出操作,例如通过printf函数在屏幕上显示字符,通过getch函数读取MDI键,通过MS-C兼容函数进行图形显示,以及通过读者/打孔机接口进行输入/输出等。

(2)输入/输出 CNC信息(当前位置、参数和刀具偏移等)

C语言库通过CNC窗口函数提供各种 CNC信息的输入/输出功能,并通过PMC窗口提供 PMC信息。

(3)ANSI和MS-DOS兼容的C语言函数库C语言库提供了与ANSI兼容的C语言标准库(有一些例外),以及MS-C扩展C语言标准库,该库不依赖于特定的硬件和操作系统。

(4)与MS-DOS兼容的文件系统C语言库提供了与MS-DOS兼容的文件系统。应用程序可以通过此文件系统访问非易失性存储器(SRAM)或存储卡(PC卡)上的SRAM磁盘(最大63KB(标准)/255KB(可选))。可以在应用程序中使用fopen、fprintf、fgets等函数来读取或写入文件。

应用程序

(1)程序结构应用程序由六个独立的任务组成。

(A)主任务几乎所有过程,如屏幕显示、按键输入、读写CNC信息等,在此任务中执行。

C语言执行器

(B)报警任务此任务通常定期启动并监视各种条件。

(C)通信任务此任务通常用于通过读写器/打孔机接口独立于主任务处理输入/输出。

(D)窗口任务这个任务与闹钟任务或通信任务运行方式相同,主要用于在任意屏幕上显示一个窗口。这个任务允许执行与主任务几乎相同的屏幕显示操作。

(E)中级任务这个任务会在特定的起始时段执行,与主任务、警报任务、通信任务、窗口任务和高阶任务独立。起始时段可以通过一个参数来选择。此任务用于执行诸如监视需要实时拥有的各种条件等操作。

(*)要使用中间级任务,需要CNC选项“C语言执行器中级任务

(F)高级任务这项任务在某些起始时间点独立执行,与中层任务执行的方式相同。起始时间点是固定的。这项任务用于执行诸如以最高优先级进行实时处理和高速度数据监控等操作。警报任务和通信任务被称为辅助任务。(也被称为后台任务,因为这些任务在主任务的背景下执行。)辅助任务在功能上受到限制。

○ 表示“可用”,X表示“不可用”

(1)同一个文件不能同时被两个或多个任务访问。必须在应用程序中进行完全控制。

(2)同时访问MAIN TASK会导致BUSY错误。

(3)必须由应用程序本身独占控制通信端口和F-ROM读取。在主任务和辅助任务之间进行任务切换是通过调用应用程序中的任务控制库函数来实现的。在应用程序中也命令周期性启动辅助任务。

可以只用一个任务来编写应用程序。在这种情况下,只使用MAIN TASK。此外,窗口任务除了上述树形任务外还可以使用。窗口任务与上述树形任务同时运行,并用于在任意屏幕上显示窗口。窗口任务中提供以下功能。

(1)显示输出的目标不再是正常窗口,而是VGA窗口。

(2)可能需要与其他任务进行独占控制。

(3)有一个功能无法使用。

(2)可执行程序模型可执行文件格式与MS-DOS的EXE格式不同。此外,执行环境与MS-DOS不兼容。然而,只要应用程序不依赖于特定硬件,就可以使用与MS-DOSPC相同的功能。

(3)应用程序示例例如,仅包含主任务的程序具有以下结构。