在 Lectra-Systèmes 使用 Linux
Lectra Systèmes 是 CAM 解决方案、CAD/CAM 和切割机设计和创造领域的两个世界领导者之一,主要面向鞋类和服装行业。该公司总部位于法国波尔多郊外的塞斯塔斯。这里有五百名员工,其中 150 人在研发部门工作。
我负责研发部门的系统开发。系统组负责所有与基础系统相关的开发(例如,安装程序、图形库、工具)。
自 20 世纪 80 年代以来,Lectra 开发了自己基于 Motorola 680x0 处理器的计算机。已安装系统(约 3000 家客户,80% 在国外)的主要部分使用单任务、专有操作系统,该操作系统用 680x0 编写,名为 MILOS,代表“Micro Lectra Operating System”(微型 Lectra 操作系统)。
几年前,Lectra 开始对需要使用更强大的系统(该系统应为多任务和多用户)的数据库系统产生兴趣。在 Unix-like 方面遇到一些初期问题后,最终选择为 680x0 架构实施 Unix System V3.2。由我担任成员的小组成功移植了 UniSoft 源代码以及 X Window 系统图形环境。
随后,Lectra 决定开发基于 68040 处理器的全新计算机系列,该处理器比 68030 功能强大得多。使用的操作系统是 Unix USL SVR4.0 版本,并进行了另一次移植。
尽管这项任务证明非常有趣,但我们确信这款计算机(名为 OpenCad)将是研发团队从零开始设计的最后一款。一些人继续表现出兴趣,但继续支持一系列规模太小而无法保持竞争力的计算机,使得在竞争力和低价格的硬件市场中保持领先地位变得困难。
尽管 OpenCad 在我们的客户中取得了商业上的成功,但 Lectra 的管理层非常正确地决定启动全新产品系列的开发,该系列主要利用英特尔 486 和奔腾架构,仍然采用 Unix 环境和 X Window 系统。另一方面,使用大量资源的数据库应用程序将以 SUN SPARC 架构为目标。
在对 PC 上不同版本的 Unix 进行一些比较测试后,决定使用 Linux,事实证明 Linux 坚固耐用、性能高且价格合理。此外,系统源代码的可用性也被证明是有利的,因为我们使用许多特殊外围设备,对于这些设备,在 Unix 机器上进行适配将更加困难。
在选择了系统之后,我们现在需要使 Linux 适应工业解决方案。很明显,Unix(以及 Linux)对于最终操作员来说使用起来稍微困难一些。这种适配必须分两个阶段完成
在最终产品的安装程序中,因为不能期望技术人员(客户)知道如何安装 Slackware
在用户界面上,以便不一定是计算机科学家的人可以轻松访问工作站基础(网络、用户、访问权限)和 Lectra 的特定功能
Lectra 发行版使用与其他发行版相同的原则——两个启动软盘和一个 CD-ROM。安装屏幕使用 dialog-0.3,事实证明,在创建一系列安装屏幕时,dialog-0.3 非常简单且功能强大。主要的 Lectra Linux 安装窗口如图 1 所示。
在这个领域选择 Linux 的主要优势在于它可以创建极其精确的安装程序(即,仅安装所需的程序),因此速度非常快。当前的 Lectra 桌面版本在奔腾 120 上安装只需不到 10 分钟。相比之下,Solaris 系统上的相同桌面版本几乎需要一个小时,因为它需要先安装 Solaris CD,然后安装 Solaris 补丁,然后再安装 Lectra 桌面。
不同的软件包作为 ISO-9660 文件(带有 Rock Ridge 扩展)从使用 mkisofs 程序的 Linux 结构进行管理。然后,使用 Microsoft Windows 下的 PC 将 ISO 映像写入主 CD。
由于当时(20 世纪 80 年代初)图形控制器的性能较弱,MILOS 下的第一个图形应用程序外观非常简朴。屏幕虽然是图形化的,但只能管理 16 种颜色,而且它们不使用多个窗口。在竞争的催促下,1990 年,Lectra 决定将图形界面开发为多窗口系统,以方便操作员进行基本操作,例如启动应用程序或处理文件。这个名为 OpenPartner 的工具最初是为 MILOS 目标开发的,使用了低级所有者库(类似于 Xlib 调用)。界面的结构似乎与 Xt/Intrinsics Widgets 层级结构非常相似。
OpenPartner 到 Unix 环境的移植带来了由特权用户添加的工作站管理功能,特别是
添加和删除 Lectra 软件包
网络管理(添加/删除工作站、NFS 挂载管理)
串行线路和调制解调器管理
打印机管理
许可证和 Lectra 应用程序管理
用户管理,特别是每个用户授权的应用程序
图 2 是 OpenPartner 环境中带有软件包管理实用程序 P-Manager 的主窗口示例。
图 2. 带有软件包管理实用程序 P-Manager 的 OpenPartner
重要的任务之一是开发一个可扩展且易于使用的打印机管理系统。即使在支持 Unix 的同时,我们也不得不承认 MS Windows 甚至 MacOS 上的打印系统比我们最喜欢的操作系统上的打印系统更清晰、更易于使用。此外,目前市场上所有打印机都随附其自己的 Windows 或 MacOS 驱动程序。
我们的打印系统(操作客户机/服务器)使用 Ghostscript 程序,该程序管理各种类型的打印机(PCL、PostScript、光栅)在不同的连接上——串行线路、Centronics、网络、SCSI。集成在 OpenPartner 中的图形工具 I-Manager 用于仅选择实际使用的打印机特性。然后,该列表会出现在 Lectra 应用程序的打印选择器中。
这些应用程序面向服装行业的专业人士。服装的设计分为多个阶段,对应不同的行业。服装行业的特点之一是使用分包商和外包。服装的各个阶段可能由服装制造商实现,但生产可以分包给另一个国家。一些国家只处理设计或生产,并为多个主要品牌供货。
对于像 Lectra 这样的公司来说,这种情况的结果是,设计开放式软件绝对是必要的,因为很少有客户会购买完整系列的产品,因此有必要知道如何与竞争软件进行通信。
另一个重要的限制是支持多种语言,例如日语、中文或俄语,方法是使用诸如 X11 下的亚洲前端处理器之类的工具。
初步来看,我们在设计服装时可以预期以下阶段。
设计师必须创作服装模型,就像艺术绘画一样。他/她的工作主要基于形状、颜色和可用面料类型的选择。拥有数据处理工具的优势是显而易见的。除了可以在“电子图纸”上工作之外,该软件还使制版师能够以电子形式甚至使用扫描仪导入面料图案,归档不同系列的建议,并进行 2D 或 3D 面料模拟。
ProStyle 软件在高性能 Linux PC(奔腾 120,配备 Diamond Stealth S3-968 显卡,1600 万色)上提供了上述所有功能。还提供热升华打印输出。该软件还可以与 Silicon Graphics 架构配合使用。
制版师必须根据设计师给出的信息创建服装的版型,即带有报价的平面图。他/她还必须管理不同的尺寸或放码。此阶段的信息是最有趣的,与排料(见下文)一样,它的周转率很高——生产的版型数量。
图 5 是 Modaris 应用程序的初始屏幕视图,该应用程序专为制版师设计。
排料员必须优化材料的使用,即称为幅宽的布料,具体取决于制版师给出的裁片清单。排料员工作质量的体现是排料的效率,这对应于所用材料量与材料损失量的关系。好的排料平均效率为 85%,这意味着 15% 的材料损失。当涉及到皮革和高品质面料等昂贵材料时,生产效率提高百分之零点几可能会产生重要的经济后果。
在 Linux/PC 上运行的 Diamino 软件具有半自动排料功能,使排料员的工作更轻松,因为它有助于裁片的定位。它还具有新的自动排料模块(无需任何人工干预即可在幅宽上标记所有裁片),该模块目前的性能接近专业排料员的 2%。
借助当前的 PC 架构,现在可以以非常有吸引力的价格获得这样的结果,而在几年前,由于材料成本,高效的自动排料模块是不可能存在的。
图 6 显示了自动排料软件性能随所用架构变化的演变(时间单位:秒)。旧的 Lectra X400 和 X410 计算机基于在 System V R4 下运行的 68030 和 68040 处理器。三台 PC——DX2/66、奔腾 75、奔腾 120——使用 Linux 内核版本 1.2.13。
裁片可以手工裁剪或使用切割机裁剪,后者具有更好的周转优势。在某些情况下,人们不裁剪裁片,而只是在纸质载体上绘制形状以提供给分包商。
Lectra 之前的系列产品需要为每个绘图仪或切割机购买一台计算机,因为计算机的 MILOS 操作系统是单任务的;换句话说,绘图仪和切割机通过串行通道运行。
新的 VigiPrint 软件在 Linux 下开发,可同时控制大约十台绘图仪,从而节省了成本,在考虑配置时,这种成本节省不容忽视,同时在同一屏幕上管理绘图仪也更加方便地控制绘图。出于安全原因,该软件管理的切割机数量仅限一台——操作员必须注意任何刀片断裂或其他异常情况。切割可以通过刀片(最常见)、高压水射流(2000 巴)或激光束进行。
Lectra 软件套件 MasterLink 和 StyleBinder 使管理先前行业处理的所有数据成为可能。通过这种方式,对于给定的产品,可以定义生产跟进文件夹,这些文件夹归档在关系数据库中。这些数据库使归档先前系列的各种元素并在当前系列中重新使用它们成为可能。
以下是 Linux 下 StyleBinder 软件的屏幕。
主要问题是新外围设备的集成,因为 PC 世界实际上掌握在 Microsoft 手中。一些外围设备制造商,主要是小型制造商,关注 Linux 的发展,并在设计驱动程序时轻松合作。大型公司更难说服,他们经常躲在“营销策略”的必然性背后,拒绝提供所需的信息。通常,他们拒绝接受除 Microsoft 之外的任何解决方案,尤其是在涉及技术支持时,因为开发团队很少在这种结构中直接可访问。
但是,遇到的问题数量有限
MATROX Millennium 显卡不受 XFree86 支持,因为 MATROX 要求在发布所需的技术信息之前签订保密协议。这种情况对我们来说是一个障碍,因为 Lectra 应用程序使用特定的外围设备,例如,图形平板电脑、微型键盘、超声波笔,这意味着必须更改 X 服务器才能管理“输入扩展”。因此,我们的选择仅限于基于 S3 电路的显卡,例如 Diamond 和 #9。
许多通过并行端口连接的存储外围设备无法与 Linux 一起使用,因为每个端口对于每个制造商来说都是唯一的,并且所使用的信息和协议极其难以获得。因此,我们使用 SCSI 外围设备和软盘端口上的内置驱动器 (ftape)。
由于 XFree86 不支持特殊的图形电路,因此在 PC 笔记本电脑上安装 Linux 有时很困难。
其他主题也曾引起我们的一些担忧,在某些情况下,现在仍然引起我们的一些担忧
目前缺少 专业级别的 Microsoft Windows 模拟器是一个严重的问题,因为我们的客户有时需要使用来自 MS Windows 的文档以将其集成到我们的应用程序中。这种类型的下一个软件版本将极大地推动 Linux 作为桌面解决方案的普及。
Linux 1.2.13 的交换管理似乎不如某些其他版本的 Unix(例如 SunOS-4.1.3)那么好。Linux 2.0 上的交换操作似乎已大大改进。
Lectra 环境密集地使用 SCSI 接口(用于某些顶级打印机和扫描仪),并且我们修复了 Linux SCSI 驱动程序中的一些错误。转发给 Linux 开发人员的更正似乎已集成到 2.0 内核中。
新 Lectra 系列的经验表明,可以在 Linux 下构建工业解决方案。该系统稳定而强大。得益于互联网,可以收集广泛的信息,事实证明互联网在技术支持方面具有最高的性能。拥有系统源代码可以更轻松地开发更多功能(例如,材料驱动程序或单独的协议、特定的文件系统)。
在柏林举行的最近一次 Linux 大会上宣布的新方向(改进虚拟文件系统、优化 EXT2 文件系统、Wabi MS Windows 模拟器、多处理器支持、Digital 采用 Linux)向我们保证 Linux 已经获得了很高的工业成熟度。
此外,PC 平台的选择使我们能够在同一台机器上为客户提供工业和管理应用程序。
本文中表达的观点是作者的观点,不代表 Lectra-Systemes 公司的观点。
