RU75483U1 - SOFTWARE AND HARDWARE COMPLEX FOR MANAGEMENT PRECISION EQUIPMENT - Google Patents

SOFTWARE AND HARDWARE COMPLEX FOR MANAGEMENT PRECISION EQUIPMENT Download PDF

Info

Publication number
RU75483U1
RU75483U1 RU2006133170/22U RU2006133170U RU75483U1 RU 75483 U1 RU75483 U1 RU 75483U1 RU 2006133170/22 U RU2006133170/22 U RU 2006133170/22U RU 2006133170 U RU2006133170 U RU 2006133170U RU 75483 U1 RU75483 U1 RU 75483U1
Authority
RU
Russia
Prior art keywords
control
level
cnc
modules
architecture
Prior art date
Application number
RU2006133170/22U
Other languages
Russian (ru)
Inventor
Андрей Анатольевич Кутин
Владимир Лазаревич Сосонкин
Георгий Мартинов Мартинов
Original Assignee
Государственное образовательное учреждение высшего профессионального образования Московский Государственный Технологический Университет "СТАНКИН"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Государственное образовательное учреждение высшего профессионального образования Московский Государственный Технологический Университет "СТАНКИН" filed Critical Государственное образовательное учреждение высшего профессионального образования Московский Государственный Технологический Университет "СТАНКИН"
Priority to RU2006133170/22U priority Critical patent/RU75483U1/en
Application granted granted Critical
Publication of RU75483U1 publication Critical patent/RU75483U1/en

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

Полезная модель относится к области автоматизации производственных технологических процессов и может быть, преимущественно, использована в системах управления прецизионными станками с ЧПУ и мехатронными модулями. В программно-аппаратном комплексе система числового программного управления (ЧПУ) организована на платформе персонального компьютера с двухуровневой архитектурой на прикладном уровне сформированной посредством: группы модулей 1, реализующих прикладные задачи управления при помощи функциональных блоков 2, в составе упомянутой группы модулей 1; системы коммуникации; функционального средства диспетчеризации и разделяемой памятью. Двухуровневая архитектура сформирована на базе однотипных уровней, в которой уровень системы ЧПУ в целом и уровень любого модуля 1, реализующего определенную задачу управления, выполнены по типу виртуального мультипроцессорного вычислителя. Система коммуникации построена в виде глобального сервера 3 с, по меньшей мере, следующими функциями: конфигурации коммуникационной среды; управления типом и содержанием сессий (т.е., транзакций); управления выбором типа и группы экранного изображения; управления форматированием передаваемых данных. Средство 4 диспетчеризации реализовано в виде самостоятельной (структурно выделенной) компоненты - менеджера уведомлений с функциями подписки (т.е. заявки на обслуживание) модулей 1 на получение и обновление данных и команд управления. Каждый блок 2 нижнего уровня реализован подобно общей архитектуре системы ЧПУ и с подобными же функциями, т.е., в виде архитектурных компонент управления, привязанных к локальной коммуникационной среде на базе локального сервера 5 с локальным структурно выделенным менеджером уведомлений и разделяемой памятью. 1 н.п. ф-лы, 2 ил.The utility model relates to the field of automation of production technological processes and can be mainly used in control systems for precision CNC machines and mechatronic modules. In a hardware-software complex, a numerical control system (CNC) is organized on a personal computer platform with a two-level architecture at the application level formed by: a group of modules 1 that implement applied control tasks using function blocks 2, as part of the mentioned group of modules 1; communication systems; functional means of scheduling and shared memory. The two-level architecture is formed on the basis of the same levels, in which the level of the CNC system as a whole and the level of any module 1 that implements a specific control task are executed as a virtual multiprocessor computer. The communication system is built in the form of a global server 3 with at least the following functions: configuration of the communication environment; control the type and content of sessions (i.e., transactions); control the selection of the type and group of the screen image; control the formatting of the transmitted data. The dispatching tool 4 is implemented as an independent (structurally allocated) component — a notification manager with subscription functions (i.e., service requests) of modules 1 for receiving and updating data and control commands. Each block 2 of the lower level is implemented similar to the general architecture of the CNC system and with similar functions, i.e., in the form of architectural control components tied to a local communication environment based on a local server 5 with a local structurally allocated notification manager and shared memory. 1 n.p. f-ly, 2 ill.

Description

Полезная модель относится к области автоматизации производственных технологических процессов и может быть, преимущественно, использована в системах управления прецизионными станками с ЧПУ (числовым программным управлением) и мехатронными модулями.The utility model relates to the field of automation of industrial technological processes and can be mainly used in control systems for precision CNC machines (numerical control) and mechatronic modules.

Очередная смена поколений существенно меняет потребительские свойства, структуру, архитектуру и математическое обеспечение систем числового программного управления (ЧПУ). Принципиальными особенностями системы ЧПУ нового поколения типа PCNC (Personal Computer Numerical Control) являются: использование открытой архитектуры, конфигурирование системы у производителя оборудования и у конечного пользователя, эволюция системы в условиях максимальной независимости от изменений системной платформы; интеграция программных пакетов, доступ к информации любого модуля, в том числе к диагностической информации объекта управления; подключение к внешней сетевой коммуникационной среде, использование в архитектуре системы принципов системной интеграции. Архитектура на прикладном уровне определяется количеством и составом прикладных разделов, называемых задачами управления .В числе подобных задач можно упомянуть: геометрическую (ориентированную на управление следящими приводами); логическую (организующую управление электроавтоматикой), технологическую (гарантирующих поддержание или оптимизацию параметров технологического процесса); - терминальную задачу (поддерживающую диалог с оператором, отображение состояний системы, редактирование и верификацию управляющих программ); задачу диспетчеризации (обеспечивающую управление другими задачами на прикладном уровне). Структура системы ЧПУ представляет собой совокупность базовых модулей и дополнительных модулей - коммерческие приложения. Общая структура представлена NC-подсистемой (Numerical The next generation change significantly changes consumer properties, structure, architecture and software of numerical control systems (CNC). The principal features of the new generation CNC system such as PCNC (Personal Computer Numerical Control) are: using an open architecture, configuring the system with the equipment manufacturer and the end user, the evolution of the system in conditions of maximum independence from changes to the system platform; integration of software packages, access to information of any module, including diagnostic information of the control object; connection to an external network communication environment; use of system integration principles in the system architecture. Architecture at the application level is determined by the number and composition of application sections called control tasks. Among these tasks, we can mention: geometric (oriented to control follow-up drives); logical (organizing the management of electroautomatics), technological (guaranteeing the maintenance or optimization of process parameters); - terminal task (supporting dialogue with the operator, displaying system states, editing and verification of control programs); scheduling task (providing control of other tasks at the application level). The structure of the CNC system is a combination of basic modules and additional modules - commercial applications. The general structure is represented by the NC subsystem (Numerical

Control) и РС-подсистемой (Personal Computer). Первая формирует среду для ЧПУ-ориентированных модулей, работающих в реальном времени, и для специальных приложений пользователя. Вторая подсистема образует среду Windows-образного интерфейса пользователя и включает инструментальную систему подготовки и тестирования управляющих программ, а также другие специальные приложения. По мере роста вычислительной мощности компьютеров все более привлекательным становится одно-компьютерный вариант. Одно-компьютерная модель использует традиционный компьютер, оснащенный дополнительными контроллерами для связи с объектами управления. Операционная система Windows не является системой реального времени и в этой связи требует соответствующего расширения; например, в виде системы RTX 4.1 американской фирмы VentureCom.Control) and the PC subsystem (Personal Computer). The first forms an environment for CNC-oriented modules operating in real time, and for special user applications. The second subsystem forms the environment of a Windows-shaped user interface and includes an instrumental system for preparing and testing control programs, as well as other special applications. As the computing power of computers grows, the single-computer option becomes more attractive. The single-computer model uses a traditional computer equipped with additional controllers for communication with control objects. The Windows operating system is not a real-time system and therefore requires a corresponding extension; for example, in the form of the RTX 4.1 system of the American company VentureCom.

Архитектурные варианты дают общее представление о принципах открытой архитектуры применительно к ЧПУ: четкое разграничение между системным, прикладным и коммуникационным компонентами; возможность независимого развития любого из них как на основе оригинальных разработок, так и путем встраивания покупных программных систем; клиент-серверная организация взаимодействия подсистем, стандартизация интерфейсов и транзакций.Architectural options give a general idea of the principles of open architecture in relation to CNC: a clear distinction between system, application and communication components; the possibility of independent development of any of them, both on the basis of original developments, and by embedding purchased software systems; client-server organization of interaction of subsystems, standardization of interfaces and transactions.

Установлены пять архитектурных вариантов, сосуществующих на рынке ЧПУ. Классические системы CNC (первый вариант) выпускаются фирмами с богатой традицией производства высококачественной собственной микроэлектронной аппаратуры. Но и они, под давлением конечных пользователей, предлагают модификацию с персональным компьютером в качестве терминала (второй вариант). По многим причинам первые системы типа PCNC относились к двух-компьютерной архитектуре (третий вариант). Они и сегодня популярны и широко распространены. Позднее появились системы PCNC, ядро которых реализовано на отдельной плате, устанавливаемой в корпусе промышленного персонального компьютера (четвертый вариант). Наконец, по мере Five architectural options coexisting in the CNC market have been identified. Classic CNC systems (first option) are produced by firms with a rich tradition of producing their own high-quality microelectronic equipment. But they, under pressure from end users, offer a modification with a personal computer as a terminal (second option). For many reasons, the first systems such as PCNC belonged to a two-computer architecture (third option). Today they are popular and widespread. Later PCNC systems appeared, the core of which is implemented on a separate board installed in an industrial personal computer (fourth option). Finally as

повышения мощности микропроцессоров, все большее распространение получает одно-компьютерный (пятый) вариант системы PCNC.increasing the power of microprocessors, a single-computer (fifth) version of the PCNC system is becoming more widespread.

Остановимся подробнее на примерах систем класса PCNC-4 (пятый вариант), которые представляют сегодня наибольший интерес.Let us dwell in more detail on examples of PCNC-4 class systems (fifth option), which are of most interest today.

Система ЧПУ фирмы Beckhoff (Германия) демонстрирует пример одно-комьютерной архитектуры PCNC, в рамках которой все задачи управления (геометрическая, логическая, терминальная) решены чисто программным путем. Внешний интерфейс выстроен на базе стандартной (по выбору) периферийной шины Fieldbus. Выход к объектам осуществляется с помощью периферийных «терминалов» ввода-вывода.The Beckhoff CNC system (Germany) demonstrates an example of a single-computer architecture PCNC, within which all control tasks (geometric, logical, terminal) are solved purely by software. The external interface is based on a standard (optional) Fieldbus peripheral. Access to the objects is carried out using peripheral “terminals” of input-output.

Операционная среда представляет собой комбинацию операционной системы Windows для поддержания процессов машинного времени и системы TwinCat (Total Windows Control and Automation Technology). Операционная система TwinCat интегрирована в Windows, добавляет ей функции реального времени, не изменяя самой Windows. На прикладном уровне в потоках управления работают программные модули ЧПУ и программируемые контроллеры, имеющие клиентскую часть (для подготовки данных) и серверную часть (для работы в реальном времени).The operating environment is a combination of the Windows operating system to support machine time processes and the TwinCat system (Total Windows Control and Automation Technology). The TwinCat operating system is integrated into Windows, adding real-time functions to it without changing Windows itself. At the application level, CNC program modules and programmable controllers with a client part (for data preparation) and a server part (for real-time operation) work in control flows.

При разработке новой модели системы ЧПУ фирма Siemens сделала акцент на открытую, для конечного пользователя, архитектуру, как со стороны интерфейса оператора, так и со стороны ядра системы. Интерфейс оператора работает в операционной системе Windows и допускает включение в интерфейс windows-приложений. Однако возможна и более глубокая реконфигурация интерфейса с помощью оригинальной инструментальной системы ProTool. Для расширения функций ядра предложена схема, в соответствии с которой в процессы ядра включены своеобразные точки останова "break-out-points", называемые "events" (события). События инициируют фрагменты пользовательского кода на Visual С++, называемого здесь "compile cycles" (скомпилированные циклы). Скомпилированные циклы имеют унифицированный интерфейс OPI (OEM Program Interface), что обеспечивает им стандартный доступ к системным данным и функциям посредством механизма связывания "binding"When developing a new model of the CNC system, Siemens focused on an open architecture for the end user, both from the operator interface and from the system core. The operator interface works in the Windows operating system and allows inclusion of windows applications in the interface. However, a deeper interface reconfiguration is possible using the original ProTool tooling system. To expand the functions of the kernel, a scheme has been proposed according to which peculiar break-out-points called events are included in the kernel processes. Events trigger fragments of custom Visual C ++ code called here "compile cycles". Compiled loops have a unified OPI (OEM Program Interface), which provides them standard access to system data and functions through the "binding" binding mechanism

Наиболее близким к заявленному техническому решению является известный из уровня техники программно-аппаратный комплекс для управления прецизионным оборудованием, система числового программного управления которого организована на платформе персонального компьютера с двухуровневой архитектурой на прикладном уровне, сформированной посредством: группы модулей, реализующих прикладные задачи управления посредством функциональных блоков, в составе упомянутой группы модулей; системы коммуникации; функционального средства диспетчеризации и разделяемой памятью (см. Сосонкин В.Л., Мартинов Г.М. «Принципы построения систем ЧПУ с открытой архитектурой». - Приборы и системы управления. 1996, №8, с.18-21).Closest to the claimed technical solution is a software and hardware complex for controlling precision equipment known from the prior art, the numerical program control system of which is organized on a personal computer platform with a two-level architecture at the application level, formed by: a group of modules that implement applied control tasks via functional blocks , as part of the mentioned group of modules; communication systems; functional means of dispatching and shared memory (see Sosonkin VL, Martinov GM "Principles of building CNC systems with an open architecture." - Instruments and control systems. 1996, No. 8, p. 18-21).

К недостаткам данного известного из уровня техники технического решения следует отнести относительно низкий уровень быстродействия управляющей системы и, как следствие, относительно низкая производительность технического средства (объекта управления) и недостаточная для современного производства точность перемещения его исполнительных органов.The disadvantages of this technical solution known from the prior art include the relatively low level of speed of the control system and, as a result, the relatively low productivity of the technical tool (control object) and the accuracy of the movement of its executive bodies insufficient for modern production.

Технический результат заявленного технического решения (объективно проявляемый программно-аппаратным комплексом в результате его непосредственного участия в работе технического средства под управлением установленного на упомянутом комплексе программного обеспечения) заключается в повышении производительности оборудования и точности перемещения его исполнительных органов в результате увеличения быстродействия программируемых однотипных модулей комплекса и повышения эффективности оперативного управления оборудованием в режиме реального времени для поддержания заданных технологических параметров и/или условий обработки.The technical result of the claimed technical solution (objectively manifested by a software and hardware complex as a result of its direct participation in the work of a hardware under the control of the software installed on the said complex) is to increase the productivity of the equipment and the accuracy of the movement of its executive bodies as a result of increased speed of programmable modules of the same type and improve operational management equipment in e real time to maintain a predetermined process parameters and / or processing conditions.

Поставленная задача решается посредством того, что в программно-аппаратном комплексе для управления прецизионным оборудованием система числового программного управления (ЧПУ) The problem is solved by the fact that in the hardware-software complex for controlling precision equipment, a numerical control system (CNC)

организована на платформе персонального компьютера с двухуровневой архитектурой на прикладном уровне, сформированной посредством: группы модулей, реализующих прикладные задачи управления посредством функциональных блоков, в составе упомянутой группы модулей; системы коммуникации; функционального средства диспетчеризации и разделяемой памятью, согласно полезной модели, двухуровневая архитектура сформирована на базе однотипных уровней, в которой уровень системы ЧПУ в целом и уровень любого модуля, реализующего определенную задачу управления, выполнены по типу виртуального мультипроцессорного вычислителя; система коммуникации построена в виде глобального сервера с, по меньшей мере, следующими функциями: конфигурации коммуникационной среды; управления типом и содержанием сессий, т.е., транзакций; управления выбором типа и группы экранного изображения; управления форматированием передаваемых данных; средство диспетчеризации реализовано в виде менеджера уведомлений с функциями подписки (т.е. заявки на обслуживание) модулей на получение и обновление данных и команд управления; каждый блок нижнего уровня реализован подобно общей архитектуре системы ЧПУ и с подобными же функциями, т.е., в виде архитектурных компонент управления, привязанных к локальной коммуникационной среде на базе локального сервера с локальным менеджером уведомлений и разделяемой памятью.organized on a personal computer platform with a two-level architecture at the application level, formed by: a group of modules that implement applied control tasks by means of functional blocks, as part of the mentioned group of modules; communication systems; according to the utility model, the two-level architecture is formed on the basis of the same levels in which the level of the CNC system as a whole and the level of any module that implements a specific control task are executed as a virtual multiprocessor computer; the communication system is built in the form of a global server with at least the following functions: configuration of the communication environment; management of the type and content of sessions, i.e., transactions; control the selection of the type and group of the screen image; control the formatting of the transmitted data; dispatching means is implemented as a notification manager with subscription functions (i.e., service requests) of modules for receiving and updating data and control commands; each lower-level unit is implemented similar to the general architecture of the CNC system and with similar functions, i.e., in the form of architectural control components tied to a local communication environment based on a local server with a local notification manager and shared memory.

Полезная модель иллюстрируется следующими графическими материалами, где: Фиг.1 - модульная архитектурная система ЧПУ типа PCNC и задачи управления; Фиг.2 - функции интерфейса объектно-ориентированной магистрали (системы коммуникации в виде глобального сервера).The utility model is illustrated by the following graphic materials, where: Figure 1 - modular architectural system of CNC type PCNC and control tasks; Figure 2 - interface functions of an object-oriented highway (communication system in the form of a global server).

Система ЧПУ программно-аппаратного комплекса организована на платформе персонального компьютера с двухуровневой архитектурой на прикладном уровне, сформированной посредством: группы модулей 1, реализующих прикладные задачи управления при помощи функциональных блоков 2, в составе упомянутой группы модулей 1; The CNC system of the hardware-software complex is organized on a personal computer platform with a two-level architecture at the application level, formed by: a group of modules 1 that implement applied control tasks using functional blocks 2, as part of the mentioned group of modules 1;

системы коммуникации; функционального средства диспетчеризации и разделяемой памятью. Двухуровневая архитектура сформирована на базе однотипных уровней, в которой уровень системы ЧПУ в целом и уровень любого модуля 1, реализующего определенную задачу управления, выполнены по типу виртуального мультипроцессорного вычислителя. Система коммуникации построена в виде глобального сервера 3 с, по меньшей мере, следующими функциями: конфигурации коммуникационной среды; управления типом и содержанием сессий (т.е., транзакций); управления выбором типа и группы экранного изображения; управления форматированием передаваемых данных. Средство 4 диспетчеризации реализовано в виде самостоятельной (структурно выделенной) компоненты - менеджера уведомлений с функциями подписки (т.е. заявки на обслуживание) модулей 1 на получение и обновление данных и команд управления. Каждый блок 2 нижнего уровня реализован подобно общей архитектуре системы ЧПУ и с подобными же функциями, т.е., в виде архитектурных компонент управления, привязанных к локальной коммуникационной среде на базе локального сервера 5 с локальным структурно выделенным менеджером уведомлений (на фиг.1 условно не показан) и разделяемой памятью.communication systems; functional means of scheduling and shared memory. The two-level architecture is formed on the basis of the same levels, in which the level of the CNC system as a whole and the level of any module 1 that implements a specific control task are executed as a virtual multiprocessor computer. The communication system is built in the form of a global server 3 with at least the following functions: configuration of the communication environment; control the type and content of sessions (i.e., transactions); control the selection of the type and group of the screen image; control the formatting of the transmitted data. The dispatching tool 4 is implemented as an independent (structurally allocated) component — a notification manager with subscription functions (i.e., service requests) of modules 1 for receiving and updating data and control commands. Each block 2 of the lower level is implemented similarly to the general architecture of the CNC system and with similar functions, i.e., in the form of architectural control components tied to a local communication environment based on a local server 5 with a local structured notification manager (Fig. 1 conditionally not shown) and shared memory.

Далее более подробно раскрываются функциональные особенности заявленной системы ЧПУ и перспективы развития ее архитектуры.The following describes in more detail the functional features of the claimed CNC system and the prospects for the development of its architecture.

Сегодня в автоматизированном производстве привлекают те решения, которые построены на единой информационной модели изделия в рамках его жизненного цикла: от компьютерного проектирования (CAD) и компьютерного планирования (САРР) к автоматизированной подготовке управляющих программ (САМ) и изготовлению на станках с ЧПУ (NC). Подобная модель определена в рамках комплекса стандартов STEP. Слабым звеном в последовательных переходах по этапам жизненного цикла является переход CAM-NC. Программирование современных систем ЧПУ подчиняется стандарту ISO 6983 (DIN 66025).Today, automated production involves those solutions that are based on a single product information model within its life cycle: from computer design (CAD) and computer planning (CAPP) to automated preparation of control programs (CAM) and manufacturing on CNC machines (NC) . A similar model is defined as part of the STEP suite of standards. The weak link in successive transitions along the stages of the life cycle is the transition CAM-NC. Programming modern CNC systems complies with ISO 6983 (DIN 66025).

Стандарт ISO 6983 (DIN 66025) поддерживает наиболее простые команды для элементарных перемещений и логических операций, но не The ISO 6983 standard (DIN 66025) supports the simplest commands for elementary movements and logical operations, but not

сложные геометрию и логику. Однако более серьезным является невозможность двухстороннего обмена информацией с системами CAD-CAM; что означает, что любые изменения в управляющей программе не могут быть отображены в восходящем информационном потоке.complex geometry and logic. However, more serious is the impossibility of two-way information exchange with CAD-CAM systems; which means that any changes in the control program cannot be displayed in the upstream information flow.

Стандарт STEP-NC предлагает модель того, "что" нужно сделать без подробностей того, "как" осуществлять траекторные перемещения и выполнять команды логических переключений. Эта модель отвечает новому стандарту ISO 14649, согласно которому: изделие получают из заготовки путем удаления типовых форм (features); путем условного или безусловного выполнения ассоциированных с типовыми формами переходов (workingsteps); в потоке управления, задаваемом исполняемыми блоками (executables); с необходимыми допусками; с использованием инструмента, отвечающего всем необходимым требованиям.The STEP-NC standard offers a model of what needs to be done without details on how to make path movements and execute logical switching commands. This model meets the new standard ISO 14649, according to which: the product is obtained from the workpiece by removing the typical forms (features); by conditional or unconditional execution associated with typical forms of transitions (workingsteps); in the control flow specified by executables; with the necessary tolerances; using a tool that meets all the necessary requirements.

Стандарт ISO 14649 устанавливает следующие компоненты функциональности (Units of Functionality): изделие (workpiece), типовая форма (feature), исполняемый блок (executable), переход (operation), траектория инструмента (toolpath), измерения (measures).The ISO 14649 standard establishes the following Units of Functionality components: product (workpiece), type form (feature), executable block (executable), transition (operation), toolpath (toolpath), measurements (measures).

Изделие описывают с историей версии, с информацией владельца, с утверждениями, датой, указанием материала и его свойств. Типовые формы определяют области удаляемого материала заготовки, а их внешний вид является частью внешнего вида изделия. Типовые формы задают в параметрическом виде как совокупность образующей и направляющей.The product is described with the history of the version, with the information of the owner, with approvals, date, indicating the material and its properties. Typical forms define the area of the removed workpiece material, and their appearance is part of the appearance of the product. Typical forms are defined in a parametric form as a combination of a generator and a guide.

Ядро модели STEP-NC составляет план операций (workplan), который является последовательностью шагов (workingsteps). Каждый шаг ассоциирован с переходом в типовой форме изделия. Переход содержит технологический алгоритм и указания по настройкам. Исполняемый блок (executable) описывает поток управления и последовательность переходов, ассоциированных с операциями и типовыми формами.The core of the STEP-NC model is a workplan, which is a sequence of steps (workingsteps). Each step is associated with a transition in a typical product form. The transition contains a technological algorithm and instructions for the settings. An executable block describes the control flow and sequence of transitions associated with operations and sample forms.

Траектория инструмента устанавливает движение приводов, если интеллектуальная система ЧПУ не способна сама спланировать такую траекторию.The tool path sets the movement of the drives if the intelligent CNC system is not capable of planning such a path itself.

Управляющая программа представлена в формате физического файла. В первой секции, заголовке (header), содержится информация общего характера и комментарии. Далее следует секция данных, открываемая ключевым словом Data: план операций, исполняемые блоки, технологические описания, геометрические описания.The control program is presented in the format of a physical file. The first section, the header, contains general information and comments. This is followed by the data section opened by the Data keyword: an operation plan, executable blocks, technological descriptions, geometric descriptions.

Использование этого формата имеет ясное представление и четкое окружение. Однако имеются и другие предложения, связанные с прямым использованием в управляющих программах ЧПУ языков EXPRESS и XML.Using this format has a clear view and a clear environment. However, there are other proposals related to the direct use of EXPRESS and XML languages in NC control programs.

Системы ЧПУ, ориентированные на использование STEP-NC, могут быть представлены одним из трех вариантов (типов). Первый вариант является традиционной системой ЧПУ, управляющая программа которой в стандарте ISO-14649 трансформируется в формат ISO-6983 на уровне пост-процессирования. Во втором варианте система ЧПУ располагает встроенным интерпретатором управляющих программ в стандарте ISO-14649. Третий вариант является наиболее квалифицированным решением: система ЧПУ встроена в Internet и поддерживает единообразную в цепочке CAD-CAM-CNC модель ISO-14649; автоматизированы все функции от наладки до измерения; система располагает искусственным интеллектом.CNC systems focused on the use of STEP-NC can be represented by one of three options (types). The first option is a traditional CNC system, the control program of which in the ISO-14649 standard is transformed into the ISO-6983 format at the post-processing level. In the second version, the CNC system has a built-in interpreter of control programs in the ISO-14649 standard. The third option is the most qualified solution: the CNC system is built into the Internet and supports the ISO-14649 model, uniform in the CAD-CAM-CNC chain; Automated all functions from commissioning to measurement; The system has artificial intelligence.

Системы числового программного управления располагают модулями, работающими в машинном масштабе времени, и модулями реального времени. Модули взаимодействуют между собой и нуждаются в диспетчеризации. Причем проблемы диспетчеризации близки к тем, которые решаются средствами операционных систем реального времени; однако диспетчер ни в коей мере не заменяет операционную систему.Numerical control systems have modules operating on a machine time scale and real-time modules. Modules interact with each other and need scheduling. Moreover, dispatching problems are close to those that are solved by means of real-time operating systems; however, the dispatcher does not in any way replace the operating system.

Системы реального времени, включая модуль диспетчера, строят на базе операционных систем реального времени (ОСРВ). Исполнительные системы реального времени предлагают разные платформы для Real-time systems, including the dispatcher module, are built on the basis of real-time operating systems (RTOS). Real-time executive systems offer different platforms for

разработки и исполнения программного обеспечения. Прикладную часть реального времени разрабатывают на хост-компьютере, затем объединяют с ядром и загружают в систему управления как одну задачу. Такое решение дает высокую точность и быстродействие. Примером может послужить операционная система реального времени VxWorks.development and execution of software. The real-time application part is developed on the host computer, then combined with the kernel and loaded into the control system as one task. This solution gives high accuracy and speed. An example is the VxWorks real-time operating system.

Системы управления с операционной системой UNIX реального времени переписывают ядро стандартной операционной системы с учетом требований реального времени. Такие системы поддерживают весь набор UNIX-приложений. Однако система UNIX имеет большой объем и низкую реактивность. Типичным и широко используемым представителем семейства UNIX служит некоммерческая операционная система Linux.Management systems with a real-time UNIX operating system rewrite the core of a standard operating system with real-time requirements. Such systems support the entire set of UNIX applications. However, a UNIX system has a large volume and low reactivity. A typical and widely used member of the UNIX family is the non-profit Linux operating system.

Современные системы числового программного управления все чаще используют операционную систему Windows с расширением реального времени. Windows не является системой реального времени, поскольку: она не имеет достаточного диапазона приоритетов потоков (threads); она не позволяет управлять наследованием приоритетов; механизм синхронизации потоков и время реакции на прерывание непредсказуемы.Modern numerical control systems are increasingly using the Windows operating system with real-time extension. Windows is not a real-time system because: it does not have a sufficient range of thread priorities; it does not allow you to manage inheritance of priorities; thread synchronization mechanism and interrupt response time are unpredictable.

Между тем, в силу популярности операционной системы Windows в системах управления, проблема как-то должна быть решена. Известный подход заключается в расширении (в смысле реального времени) Windows. Это может быть оригинальная разработка изготовителя системы управления, например, система WinCAT (Backhoff Industrie Electronic, ФРГ). Другой вариант - использование готового коммерческого расширения, например RTX 4.1 фирмы VenturCom.Meanwhile, due to the popularity of the Windows operating system in control systems, the problem must somehow be solved. A well-known approach is to expand (in the sense of real time) Windows. This may be the original development of the manufacturer of the control system, for example, WinCAT (Backhoff Industrie Electronic, Germany). Another option is to use a ready-made commercial extension, for example, VenturCom's RTX 4.1.

Расширение реального времени позволяет: быстро обновлять систему управления с появлением новых версий Windows; осуществлять мощную защиту приложений, которую Windows выполняет с помощью независимого абстрактного уровня HAL (Hardware Abstraction Level); легко отлаживать коды и использовать возможности стандартных механизмов Microsoft для информационного обмена между Windows и задачами реального времени.The real-time extension allows you to: quickly update the control system with the advent of new versions of Windows; implement the powerful application protection that Windows performs with the help of an independent HAL (Hardware Abstraction Level); it is easy to debug codes and use the capabilities of standard Microsoft mechanisms for information exchange between Windows and real-time tasks.

В подобных системах работает обычный прикладной интерфейс Win32 для Windows (для машинного времени); а также дополнительные прикладные интерфейсы RTAPI и Win32 RT (Real Time, интерфейс реального времени). Дополнительные прикладные интерфейсы обеспечивают два режима реального времени, "жесткого" и "мягкого". Это позволяет оптимизировать вычислительные ресурсы системы управления, разделив ее функциональные задачи на три группы:In such systems, the usual Win32 application interface for Windows works (for computer time); as well as additional application interfaces RTAPI and Win32 RT (Real Time, real-time interface). Additional application interfaces provide two real-time modes, hard and soft. This allows you to optimize the computing resources of the control system by dividing its functional tasks into three groups:

- в режим жесткого реального времени попадают критические задачи (интерполяция кадров, ввод-вывод и т.д.), реализованные в процессе RT-сервер;- critical tasks (frame interpolation, input-output, etc.) implemented in the RT-server process fall into hard real-time mode;

- в режиме мягкого реального времени решаются задачи, связанные с задачами реального времени (например, интерпретация кадра); они реализованы в процессе Терминал;- in soft real-time mode, tasks related to real-time tasks (for example, frame interpretation) are solved; they are implemented in the Terminal process;

- в режиме машинного времени работают остальные стандартные прикладные модули системы управления (редактор управляющих программ, встроенная САN-система, система моделирования процесса обработки и т.д.).- in machine time mode, the rest of the standard standard application modules of the control system work (control program editor, built-in CAN system, processing process modeling system, etc.).

Традиционно, коммуникационную среду системы ЧПУ трактуют как некоторый набор интерфейсных API-функций (Application Programming Interface functions) для обмена данными с ядром системы ЧПУ, при этом общее число API-функций может достигать нескольких сот. При таком подходе изменение в архитектуре системы требует немалых усилий разработчиков. Таким образом, существующая ситуация состоит в том, что API задает некоторый общий интерфейс подключения модулей в системе ЧПУ, но не поддерживает их интеграцию.Traditionally, the communication environment of the CNC system is interpreted as a set of Application Programming Interface functions for exchanging data with the core of the CNC system, while the total number of API functions can reach several hundred. With this approach, a change in system architecture requires considerable development effort. Thus, the current situation is that the API defines some general interface for connecting modules in the CNC system, but does not support their integration.

Коммуникационная среда берет на себя проблему интеграции и межмодульной коммуникации системы PCNC. "Компонентный" СОМ-подход и известные принципы системной интеграции могут быть использованы при разработке отдельных модулей системы ЧПУ и на уровне ее макропроектирования. Последнее означает, что проблема межмодульной коммуникации решается так же, как и проблема системной интеграции. Объектно-ориентированная магистраль может служить The communication environment takes on the problem of integration and inter-module communication of the PCNC system. The "component" COM approach and well-known principles of system integration can be used in the development of individual modules of the CNC system and at the level of its macro design. The latter means that the problem of inter-module communication is solved in the same way as the problem of system integration. Object Oriented Trunk Can Serve

средством межмодульной коммуникации и источником необходимых межмодульных услуг.means of intermodular communication and a source of necessary intermodular services.

Магистраль является программным (виртуальным) каналом для обмена данными между подключенными к каналу модулями. Объектно-ориентированная магистраль предполагает наличие в ее программном обеспечении набора объектов, решающих задачи подключения модулей, транспортировки данных и др. На фиг.2 выделены четыре типа функций объектно-ориентированной магистрали: функции запроса данных, функции управления, функции отображения, вспомогательные функции.The backbone is a software (virtual) channel for data exchange between modules connected to the channel. An object-oriented backbone assumes the presence in its software of a set of objects that solve the problems of connecting modules, data transportation, etc. Figure 2 outlines four types of functions of an object-oriented backbone: data request functions, control functions, display functions, auxiliary functions.

Функции запроса данных предполагают, что в РСМС-системе существуют данные разных типов и потребность в них различна. Например, данные о количестве и именах используемых на станке координатных осей требуются один раз в момент инициализации PCNC-системы.The data request functions assume that there are different types of data in the PCMS system and the need for them is different. For example, data on the number and names of coordinate axes used on the machine is required once at the time of initialization of the PCNC system.

Данные о текущем состоянии выполняемого процесса нужны постоянно, чтобы принимать корректные решения. Существуют и другие варианты запросов на получение данных. Поэтому объектно-ориентированная магистраль предусматривает пять их видов: синхронный, асинхронный, синхронный по событию, асинхронный по событию, асинхронный циклический запрос. Группы запрашиваемых данных примерно совпадают с группами API-функций.Data on the current state of the running process is needed constantly to make the right decisions. There are other options for requesting data. Therefore, the object-oriented highway provides five of their types: synchronous, asynchronous, synchronous by event, asynchronous by event, asynchronous circular request. The groups of the requested data roughly coincide with the groups of API functions.

Функции управления можно разбить: на функции управления каналом, открывающие и закрывающие канал; на функции процессов, контролирующие ход их выполнения, включая запуск и останов; на функции управления состояниями. Если запрос связан с процессом получения данных из модуля-источника (сервера) через внутреннюю структуру коммуникационной среды, то процесс переноса и обработки этих данных в модуль-клиент относится к группе функций отображения данных.The control functions can be divided into: channel control functions that open and close the channel; the functions of processes that control the progress of their implementation, including starting and stopping; on state management functions. If the request is related to the process of obtaining data from the source module (server) through the internal structure of the communication medium, the process of transferring and processing this data to the client module belongs to the group of data display functions.

Существуют также вспомогательные функции. Они представляют единый механизм конвертирования и форматирования данных, обработки There are also helper functions. They represent a single mechanism for converting and formatting data, processing

ошибок, формирования исключений (exceptions) для всех модулей, подключенных к объектно-ориентированной магистрали.errors, exceptions for all modules connected to the object-oriented backbone.

Взаимодействие модулей РСМС-системы носит клиент-серверный характер. Транзакции между модулем-клиентом, запрашивающим услугу, и модулем-сервером, оказывающим услугу, обобщаются по их назначению.The interaction of the modules of the RSMS system is client-server in nature. Transactions between the client module requesting the service and the server module providing the service are generalized according to their purpose.

Команда направляется серверу для выполнения некоторого действия, например, запуска управляющей программы. Такая команда не предполагает ответа со стороны сервера. Другой вариант: запрос, направляется серверу с целью получения некоторых данных, например, значений текущих координат. Такой запрос предполагает ответ со стороны сервера.A command is sent to the server to perform some action, for example, launching a control program. Such a command does not imply a response from the server. Another option: a request is sent to the server in order to obtain some data, for example, the values of the current coordinates. Such a request involves a response from the server.

Таким образом, в процедуре обмена данными в системе ЧПУ типа PCNC выделены фаза запроса и фаза отображения данных. Производители систем ЧПУ ответственны за обеспечение открытой структуры в первой фазе, а станкостроители и конечные пользователи располагают возможностями открытой системы для решения своих специальных проблем во второй фазе. Объектно-ориентированная магистраль - это коммуникационная среда для обмена данными, но и единый сервер, оказывающий услуги любым подключенным к ней модулям. Организация транзакций по типу синхронной, асинхронной сессии и сессии по событию позволяет минимизировать трафик в коммуникационной среде и оптимально использовать ресурсы процессора.Thus, in the data exchange procedure in the PCNC type CNC system, the request phase and the data display phase are highlighted. Manufacturers of CNC systems are responsible for providing an open structure in the first phase, and machine tool builders and end users have the capabilities of an open system to solve their special problems in the second phase. An object-oriented backbone is a communication medium for data exchange, but also a single server that provides services to any modules connected to it. Organization of transactions according to the type of synchronous, asynchronous and event sessions allows you to minimize traffic in the communication environment and optimally use processor resources.

Математическое обеспечение системы ЧПУ на прикладном уровне состоит из нескольких фундаментальных разделов, называемых "задачами ЧПУ". Важнейшей из них является геометрическая задача ("motion control"), которая присутствует во всех без исключения системах ЧПУ. Она состоит из трех крупных модулей: интерпретатора управляющих программ, интерполятора, модуля управления следящими приводами.The software for the CNC system at the application level consists of several fundamental sections called "CNC tasks". The most important of them is the geometric problem ("motion control"), which is present in all, without exception, CNC systems. It consists of three large modules: an interpreter of control programs, an interpolator, a control module for servo drives.

Интерпретатор транслирует кадры управляющей программы в коде ISO-7bit с целью представления данных во входном формате интерполятора. В фазе интерпретации кадра система ЧПУ выполняет The interpreter translates the frames of the control program in the ISO-7bit code in order to represent the data in the input interpolator format. In the frame interpretation phase, the CNC system performs

эквидистантные расчеты и расчеты, связанные со стыковкой эквидистантных контуров; осуществляет преобразование координатных систем (в абсолютную или относительную системы) и преобразование систем измерения (в миллиметры или дюймы); вызывает стандартные циклы и подпрограммы; разделяет потоки данных геометрической, логической и других задач. Наилучший вариант реализации интерпретатора состоит в его построении по типу ISO-процессора. Такое решение обеспечивает наибольшее быстродействие и гибкость PCNC системы в отношении системы команд, т.е. версии языка (кода) ISO-7bit.equidistant calculations and calculations associated with the docking of equidistant circuits; Converts coordinate systems (in absolute or relative systems) and converts measurement systems (in millimeters or inches); calls standard loops and routines; Separates data flows of geometric, logical and other tasks. The best implementation of the interpreter is to build it like an ISO processor. This solution provides the greatest speed and flexibility of the PCNC system in relation to the command system, i.e. language version (code) ISO-7bit.

На завершающей стадии интерпретации данные поступают в кольцевой буфер (позволяющий анализировать на совместимость группу соседних кадров с эквидистантной коррекцией), а окончательный результат интерпретации представлен в виде IPD-кода (Interpolator Data).At the final stage of interpretation, the data arrives in a ring buffer (which allows analyzing for compatibility a group of neighboring frames with equidistant correction), and the final interpretation result is presented as an IPD code (Interpolator Data).

Задачи модуля интерполяции традиционны. Однако в последнее время к интерполятору предъявляют новые требования. В их числе: уменьшение цены дискреты в приводе до 0,5 микрона и менее; прямой выход на приводы, при котором перемещение в кадре задано в приращениях следящего привода, что необходимо при особо высоких скоростях подачи; разложение сложных перемещений на линейные комбинации основных перемещений. Подобные требования определяют новую (открытую) архитектуру интерполятора, в которой четко обозначены отдельные блоки.The tasks of the interpolation module are traditional. Recently, however, new demands have been made on the interpolator. Among them: reduction in price discrete in the drive to 0.5 microns or less; direct access to the drives, in which the movement in the frame is set in increments of the follower drive, which is necessary at especially high feed speeds; decomposition of complex movements into linear combinations of basic movements. Such requirements define a new (open) interpolator architecture in which individual blocks are clearly identified.

Открытый интерполятор допускает свободное наращивание алгоритмов интерполяции и произвольную их комбинацию при воспроизведении сложных траекторий в многокоординатном пространстве (в том числе и с использованием сплайнов). Ключевым моментом при построении открытого интерполятора является удачный выбор входных форматов.An open interpolator allows free extension of interpolation algorithms and their arbitrary combination when reproducing complex trajectories in multi-coordinate space (including using splines). The key to building an open interpolator is the right choice of input formats.

Рассмотрим пример интерполятора, реализующего линейную, круговую и сплайновую интерполяцию, а также их комбинации. Модуль интерполяции подключен к общей объектно-ориентированной магистрали системы ЧПУ. Интерфейс интерполятора обеспечивает: прием Consider an example of an interpolator that implements linear, circular, and spline interpolation, as well as their combinations. The interpolation module is connected to a common object-oriented highway of the CNC system. The interpolator interface provides: reception

параметров интерполяции и оперативных сигналов управления интерполятором, выдачу данных о состоянии модуля интерполяции.interpolation parameters and operational signals for controlling the interpolator; outputting data on the state of the interpolation module.

Интерполятор включает некоторый набор блоков, собственную внутреннюю шину и администратор. Кадры управляющей программы поступают на вход транслятора в IPD-формате, преобразуются во внутренний формат интерполятора, обрабатываются в блоке опережающего просмотра кадров Look Ahead (с целью сглаживания скорости подачи) и запоминаются в кольцевом буфере. Транслятор формирует сообщения, в которых упакованы параметры интерполяции. Сообщения адресуются к определенным блокам интерполятора и могут быть главными и дополнительными. Главные сообщения содержат данные, необходимые адресуемым блокам, а дополнительные сообщения содержат данные о перемещениях вдоль координатных осей. Таким образом, главные сообщения инициализируют блоки, которые должны быть задействованы в интерполяторе при отработке кадра управляющей программы, а с помощью дополнительных сообщений инициализируются координатные оси, принимающие участие в интерполяции.The interpolator includes a certain set of blocks, its own internal bus and administrator. The frames of the control program are transmitted to the input of the translator in IPD format, converted to the internal format of the interpolator, processed in the Look Ahead frame-ahead block (in order to smooth the feed rate), and stored in a ring buffer. The translator generates messages in which the interpolation parameters are packed. Messages are addressed to certain blocks of the interpolator and can be main and additional. The main messages contain the data necessary for the addressed blocks, and the additional messages contain data on movements along the coordinate axes. Thus, the main messages initialize the blocks that should be involved in the interpolator when processing the control program block, and with the help of additional messages, the coordinate axes participating in the interpolation are initialized.

Внутренняя шина интерполятора является "шиной быстрых процессов" и связывает между собой все блоки. Она реализована на базе объектно-ориентированного подхода и соединена с основной объектно-ориентированной шиной системы ЧПУ с помощью администратора. Блоки, участвующие в отработке текущего кадра, назначаются с помощью специального кода. Этот код инициализируется в трансляторе и передается в администратор.The internal interpolator bus is a “fast process bus” and links all the blocks together. It is implemented on the basis of an object-oriented approach and is connected to the main object-oriented bus of the CNC system with the help of an administrator. Blocks involved in working out the current frame are assigned using a special code. This code is initialized in the translator and passed to the administrator.

В одном кадре после трансляции могут быть задействованы несколько блоков интерполяции из разных или одинаковых групп. Например, при воспроизведении на станке винтовой линии будет включен блок линейного разгона-торможения, блок круговой интерполяции, блок линейной интерполяции и блок управления приводами подачи. При обработке деталей на пяти - шести-координатных станках возможна одновременная работа нескольких круговых и линейных или сплайновых интерполяторов.After broadcasting, several interpolation blocks from different or identical groups can be involved in a single frame. For example, when playing a helix on a machine, a linear acceleration-braking unit, a circular interpolation unit, a linear interpolation unit and a feed drive control unit will be included. When machining parts on five - six-coordinate machines, the simultaneous operation of several circular and linear or spline interpolators is possible.

Подобная схема кодирования обеспечивает гибкость и открытость интерполятора. Возникает возможность построения администратора, который инвариантен к составу и количеству блоков интерполятора.This coding scheme provides flexibility and openness of the interpolator. It becomes possible to build an administrator that is invariant to the composition and number of interpolator blocks.

Назначение блока Look Ahead опережающего просмотра состоит:The purpose of the Look Ahead block of look-ahead viewing is:

- в определении условного времени отработки кадра в циклах интерполятора для последующей коррекции контурной скорости;- in determining the conditional time of the frame in the interpolator cycles for the subsequent correction of the contour speed;

- в анализе в каждом кадре базовых параметров движения (вектора контурной скорости в начале кадра и в конце кадра, скорости по дополнительным координатным осям, пути в основной системе координат, радиуса кривизны траектории движения).- in the analysis in each frame of the basic motion parameters (the contour velocity vector at the beginning of the frame and at the end of the frame, the speed along the additional coordinate axes, the path in the main coordinate system, the radius of curvature of the motion path).

В результате своей работы блок Look Ahead определяет скорость в конце кадра (конечную скорость), новое значение контурной скорости подачи.As a result of its operation, the Look Ahead block determines the speed at the end of the frame (final speed), the new value of the contour feedrate.

Общая схема работы интерполятора выглядит следующим образом. После предоставления кванта процессорного времени администратор (построенный по схеме микропрограммного автомата) посылает запрос транслятору на получение кодов блоков интерполятора, которые должны быть запущены. Получив коды, администратор запускает блоки в порядке их приоритетов; причем перед каждым запуском устанавливает одну из следующих команд: "ЗАГРУЗКА", "РАБОЧИЙ ТАКТ", "ЗАВЕРШАЮЩИЙ ТАКТ", "АВАРИЙНОЕ ТОРМОЖЕНИЕ", "ОСТАНОВ ИНТЕРПОЛЯТОРА", "СБРОС ИНТЕРПОЛЯТОРА", "ПУСК ИНТЕРПОЛЯТОРА".The general scheme of operation of the interpolator is as follows. After providing a quantum of processor time, the administrator (built according to the scheme of the firmware) sends a request to the translator to receive the codes of the interpolator blocks that should be started. After receiving the codes, the administrator starts the blocks in the order of their priorities; moreover, before each start it installs one of the following commands: “LOAD”, “OPERATING TACT”, “FINAL TACT”, “EMERGENCY BRAKING”, “INTERPOLATOR STOP”, “INTERPOLATOR RESET”, “INTERPOLATOR START”.

Список команд можно изменять и расширять путем перепрограммирования администратора. Процесс загрузки нового кадра совпадает с завершающим тактом интерполяции предыдущего кадра. Завершающий такт интерполяции состоит в выходе в конечную точку траектории и не требует сколько-нибудь сложных вычислений. По команде "РАБОЧИЙ ТАКТ" каждый из интерполяторов обращается с запросом к блоку разгона-торможения и получает от него значение приращения пути, которое необходимо пройти вдоль контура в цикле интерполяции. Блок разгона-торможения запускается ранее интерполяторов, поскольку имеет более высокий приоритет. Блок "СУММАТОР" формирует суммарные The list of commands can be changed and expanded by reprogramming the administrator. The process of loading a new frame coincides with the final cycle of interpolation of the previous frame. The final step of the interpolation consists in reaching the end point of the trajectory and does not require any complicated calculations. By the “WORKING TACT” command, each of the interpolators makes a request to the acceleration-braking unit and receives from it the value of the path increment, which must be passed along the contour in the interpolation cycle. The acceleration-braking unit starts earlier than the interpolators, since it has a higher priority. The SUMMATOR block forms the total

приращения пути из отдельных составляющих и выдает их на приводы подачи. Кроме того, сумматор накапливает абсолютные значения координат и хранит их в течение всего времени работы. По команде "УСТАНОВКА ФИКСИРОВАННОЙ ТОЧКИ" сумматор инициализирует абсолютные координаты. В этом же блоке работает и алгоритм коррекции погрешностей ходовых винтов.increments of the path from the individual components and issues them to the feed drives. In addition, the adder accumulates the absolute values of the coordinates and stores them throughout the entire operation time. By the command "SET FIXED POINT", the adder initializes the absolute coordinates. In the same block, the algorithm for correcting the errors of the lead screws also works.

Реализация логической задачи на основе программно-реализованных (виртуальных) контроллеров SoftPLCImplementation of a logical task based on software-implemented (virtual) SoftPLC controllers

В основе технологии создания программного обеспечения электроавтоматики на базе программно-реализованных контроллеров лежат обычные для объектно-ориентированного программирования понятия класса и объекта. При этом класс описывает тип оборудования, а объект - конкретный экземпляр. При объявлении класса создаются шаблоны структур данных и методы, которые будут работать с этими данными. В объекте класса по шаблону выстраиваются конкретные данные, и приводится ссылка на обслуживающий их процесс.The technology for creating electric automation software based on software-implemented controllers is based on the concepts of class and object that are common for object-oriented programming. In this case, the class describes the type of equipment, and the object describes a specific instance. When a class is declared, data structure templates and methods are created that will work with this data. In the class object, specific data is built according to the template, and a link to the process serving them is provided.

При разработке системы управления для нового типа оборудования, разработчик не нуждается в том, чтобы заново разрабатывать новый класс: ему достаточно выбрать наиболее близкий класс и реализовать отличия. Тем самым обеспечивается простота модификаций, сокращаются затраты времени на разработку, снижается общая стоимость разработки.When developing a control system for a new type of equipment, the developer does not need to re-develop a new class: it is enough for him to choose the closest class and realize the differences. This ensures the simplicity of modifications, reduces the time spent on development, reduces the total cost of development.

В системе ЧПУ виртуальный контроллер работает в среде операционной системы Windows NT с расширением реального времени RTX (Real Time Extension) фирмы VentureCom. Проектирование контроллера предполагает последовательное рассмотрение его модели на трех уровнях абстракции: на уровне модели (структуры) потоков, на уровне функциональных модулей и на уровне программной реализации.In the CNC system, the virtual controller runs under the Windows NT operating system with the VentureCom Real Time Extension (RTX). The design of the controller involves the sequential consideration of its model at three levels of abstraction: at the level of the model (structure) of flows, at the level of functional modules and at the level of software implementation.

Рассмотрим структуру потоков. Задача контроллера состоит в одновременном выполнении нескольких команд и в параллельной обработке внешних сигналов. Каждый процесс контроллера, который Consider the structure of flows. The controller's task is to execute several commands simultaneously and to process external signals in parallel. Each controller process that

нуждается в выделении отдельного потока, выполняется в рамках основного процесса виртуального контроллера, запущенного под RTX.needs to be allocated a separate thread; it is performed as part of the main process of a virtual controller running under RTX.

Процессорное время, выделяемое операционной системой основному процессу, должно быть распределено между потоками.The processor time allocated by the operating system to the main process must be distributed between threads.

Воспользуемся идеей псевдо-многопоточности на основе механизма выделения квантов (разделения времени). Процессорное время выделяют потокам квантами, с помощью внутренних механизмов контроллера. В каждом кванте выполняется один поток. Все потоки разделены на группы по приоритетам. Управление группой осуществляется отдельным программным таймером. Программный таймер аналогичен системному, реализованному в операционной системе, но не генерирует прерывания. Его обработчик запускается планировщиком (модулем синхронизации). Выделение нескольких групп потоков в виртуальном контроллере связано с тем, что различные его задачи требуют разного времени реакции на внешнее воздействие: чем меньше время реакции, тем выше приоритет потока, обслуживающего задачу.We use the idea of pseudo-multithreading based on the mechanism of quantum extraction (time sharing). CPU time is allocated to streams in quanta, using the internal mechanisms of the controller. In each quantum, one thread is executed. All threads are divided into groups by priority. Group management is carried out by a separate software timer. The program timer is similar to the system timer implemented in the operating system, but does not generate interrupts. Its handler is launched by the scheduler (synchronization module). The selection of several groups of flows in the virtual controller is due to the fact that its various tasks require different reaction times to external influences: the shorter the reaction time, the higher the priority of the thread serving the task.

Более высокий приоритет потока означает более высокую частоту выделения квантов времени. Различные частоты поддерживаются в системе несколькими таймерами, каждый из которых активизируется на своей частоте и выделяет кванты времени своим потокам. Модуль синхронизации осуществляет синхронную активизацию таймеров.A higher priority stream means a higher frequency allocation time slices. Different frequencies are supported in the system by several timers, each of which is activated at its own frequency and allocates time slices to its flows. The synchronization module performs synchronized activation of timers.

Виртуальный контроллер имеет пять составных частей (модулей):The virtual controller has five components (modules):

- анализатор, читающий IPD-данные из входного буфера, преобразующий эти данные во внутренний формат виртуального контроллера с учетом входных и выходных регистров электроавтоматики;- An analyzer that reads IPD data from the input buffer, converts this data into the internal format of the virtual controller, taking into account the input and output registers of the electric automation;

- синхронизатор, поддерживающий механизм назначения квантов времени, генерирующий синхросигналы для всех процессов виртуального контроллера;- a synchronizer supporting a mechanism for assigning time slices, generating clock signals for all processes of a virtual controller;

- исполняемые модули, служащие для отработки команд, поступающих в виртуальный контроллер, таких как: опрос датчиков аварийного останова и конечных выключателей, включение/выключение подачи - executable modules used to work out the commands received by the virtual controller, such as: interrogating emergency stop sensors and limit switches, turning on / off the feed

охлаждающей жидкости, зажим/разжим патрона, запуск/останов шпинделя, опрос датчиков температуры и т.д;coolant, clamping / unloading of the chuck, start / stop of the spindle, interrogation of temperature sensors, etc.

- регистр, используемый для обмена информацией между системой ЧПУ и виртуальным контроллером;- a register used to exchange information between the CNC system and the virtual controller;

- шлюз, предназначенный для отображения информации, передаваемой по САN-магистрали в регистр.- a gateway designed to display information transmitted over the CAN trunk to the register.

Обмен данными между контроллером и системой ЧПУ осуществляется через разделяемую память "регистр". Блоки входных и выходных данных предназначены для организации двустороннего обмена с объектом управления: контроллер считывает информацию из блока входных данных и записывает информацию в блок выходных данных. Передача информации между регистром и САN-магистралью осуществляется посредством шлюза.Data exchange between the controller and the CNC system is carried out through a shared memory "register". The input and output data blocks are designed for two-way exchange with the control object: the controller reads information from the input data block and writes information to the output data block. Information is transferred between the register and the CAN trunk through a gateway.

Объекты представляют собой экземпляры классов, описывающих электроавтоматику системы ЧПУ. В рамках модульной архитектуры виртуального контроллера каждый отдельный класс отвечает за свой объект управления на станке. Так, класс CNcSpindle отвечает за управление шпинделем; класс CNcClnt отвечает за управление механизмом подачи смазочно-охлаждающей жидкости, и т.д.Objects are instances of classes that describe the electrical automation of a CNC system. Within the modular architecture of the virtual controller, each individual class is responsible for its own control object on the machine. So, the CNcSpindle class is responsible for managing the spindle; class CNcClnt is responsible for controlling the supply of cutting fluid, etc.

Благодаря модульной архитектуре, виртуальный контроллер обладает высокой степенью гибкости, позволяющей использовать его на станках различных групп и типов. Конфигурация контроллера для заданного типа станка, в процессе ее инициализации, состоит в создании такого набора связанных объектов, который воспроизводит конфигурацию станка. Например, если в станке имеются два шпинделя, то будут созданы два объекта класса CNcSpindle, и т.п.Thanks to the modular architecture, the virtual controller has a high degree of flexibility that allows it to be used on machines of various groups and types. The configuration of the controller for a given type of machine, during its initialization, consists in creating a set of related objects that reproduces the configuration of the machine. For example, if there are two spindles in the machine, then two objects of the CNcSpindle class will be created, etc.

При создании объектов осуществляется их взаимное связывание.When creating objects, they are interconnected.

Идея построения виртуального контроллера SoftPLC на базе персонального компьютера чрезвычайно плодотворна и перспективна. Имеется весьма скудная информация о том, как строить ядро такого контроллера. Благодаря объектному подходу, удается достичь высокой степени обозримости системы, сократить затраты времени на разработку The idea of building a SoftPLC virtual controller based on a personal computer is extremely fruitful and promising. There is very little information on how to build the core of such a controller. Thanks to the object approach, it is possible to achieve a high degree of visibility of the system, reduce the time spent on development

программного обеспечения и упростить процесс отладки. Виртуальный контроллер SoftPLC имеет модульную архитектуру, в которой отдельный класс отвечает за свой объект управления на станке; в силу этого, виртуальный контроллер обладает высокой степенью гибкости, позволяющей использовать его для станков различных групп и типов. Основная задача виртуального контроллера SoftPLC, заключающаяся в одновременном выполнении нескольких управляющих команд и в параллельной обработке внешних сигналов в режиме реального времени, была решена при помощи идеи псевдо-многопоточности. Эта идея использует механизм разделения времени (выделения квантов), а также дополнительную возможность работы с приоритетами. Для информационного обмена с аппаратными средствами и между некоторыми объектами виртуального контроллера было предложено использовать разделяемую память.software and simplify the debugging process. The SoftPLC virtual controller has a modular architecture in which a separate class is responsible for its control object on the machine; because of this, the virtual controller has a high degree of flexibility that allows it to be used for machines of various groups and types. The main task of the SoftPLC virtual controller, which consists in the simultaneous execution of several control commands and in parallel processing of external signals in real time, was solved using the idea of pseudo-multithreading. This idea uses a time-sharing mechanism (quantum allocation), as well as an additional opportunity to work with priorities. It was proposed to use shared memory for information exchange with hardware and between some objects of the virtual controller.

Реализация терминальной задачи.The implementation of the terminal task.

Терминальная задача в составе математического обеспечения ЧПУ имеет особое значение, поскольку предъявляет конечному пользователю функциональные возможности управления. "Наполнение" терминальной задачи определяет привлекательность и конкурентоспособность системы ЧПУ на рынке. Свойства открытой системы ЧПУ развиты настолько, насколько терминальная задача поддается конфигурации и расширению. Наиболее важными разделами терминальной задачи служат: интерпретатор диалога оператора в Windows-интерфейсе, редактор управляющих программ в коде ISO-7bit, редактор-отладчик управляющих программ на языке высокого уровня.The terminal task as part of the CNC mathematical software is of particular importance, since it presents the control functionality to the end user. "Filling" the terminal task determines the attractiveness and competitiveness of the CNC system in the market. The properties of an open CNC system are developed as far as the terminal task lends itself to configuration and expansion. The most important sections of the terminal task are: an operator dialogue interpreter in the Windows interface, an editor of control programs in ISO-7bit code, a debug editor of control programs in a high-level language.

Современные системы управления располагают широкими возможностями организации человеко-машинного интерфейса MMI (Man-Machine Interface) в операционных Windows-средах. Терминальную задачу управления обычно и сводят к проблеме построения MMI. Проектирование MMI-приложения предполагает: создание скелета приложения; реализацию экранов; разработку интерпретатора диалога; организацию Modern control systems have wide capabilities for organizing the Man-Machine Interface (MMI) in Windows operating environments. The terminal management task usually reduces to the problem of building MMI. Designing an MMI application involves: creating an application skeleton; implementation of screens; development of a dialogue interpreter; the organization

информационных сессий (транзакций) с другими модулями системы управления. Этап разработки интерпретатора диалога наиболее сложен.information sessions (transactions) with other modules of the control system. The stage of developing a dialogue interpreter is the most complicated.

В числе функций диалога можно обозначить: получение информации о процессе управления; тестирование системы и объекта; редактирование и моделирование управляющей программы; ручной ввод и управление отработкой данных; ввод программы и автоматическое управление; управление наладочными операциями. Диалог устанавливает допустимые переходы между состояниями MMI-приложения, в рамках которых и воспроизводятся необходимые функции. Оператор системы управления задает переходы между состояниями с помощью аппаратной и функциональной клавиатуры; причем, роль последней преобладает.Among the dialogue functions can be identified: obtaining information about the management process; system and facility testing; editing and modeling of the control program; manual input and control of data mining; program entry and automatic control; management of commissioning operations. The dialog sets the permissible transitions between the states of the MMI application, within which the necessary functions are reproduced. The operator of the control system sets the transitions between states using the hardware and functional keyboard; moreover, the role of the latter prevails.

Базовое окно (frame window) MMI-приложения состоит из трех компонентов: окна статуса (StatusBar), рабочей области, области функциональной клавиатуры (ToolBar).The basic window (frame window) of an MMI application consists of three components: a status window (StatusBar), a work area, and a functional keyboard area (ToolBar).

Рабочая область базового окна покрыта окнами-панелями с рамками и заголовками; каждая панель предоставляет функционально-однородную информацию. Панель, в свою очередь, содержит управляющие элементы (control elements), которые предназначены для динамического отображения данных, поступающих от сервера или вводимых оператором с помощью клавиатуры. Управляющие элементы могут быть выбраны на этапе проектирования экрана из стандартной библиотеки или подлежат проектированию в соответствии с требованиями заказчика.The working area of the base window is covered with panel windows with frames and headers; each panel provides functionally uniform information. The panel, in turn, contains control elements (control elements), which are designed to dynamically display data coming from the server or entered by the operator using the keyboard. Control elements can be selected at the screen design stage from the standard library or can be designed in accordance with customer requirements.

Окно статуса точно так же состоит из панелей с управляющими элементами: специфическими (пиктограммами режимов и под-режимов, индикаторами готовности, индикаторами используемых системных ресурсов, индикаторами даты и времени) или общего характера (такими же, как и в рабочей области, - для слежения за информацией, закрытой при смене картинки рабочей области).The status window in the same way consists of panels with control elements: specific (pictograms of modes and sub-modes, readiness indicators, indicators of used system resources, date and time indicators) or general (the same as in the work area, for tracking for information closed when changing the picture of the workspace).

Область функциональной клавиатуры представлена кнопками, каждая из которых является управляющим элементом, имеющим динамическое имя. Все кнопки могут находиться: в состоянии готовности, The functional keyboard area is represented by buttons, each of which is a control element with a dynamic name. All buttons can be: in standby,

когда они доступны оператору ("ненажатое" состояние); в состоянии работы под воздействием оператора ("нажатое" состояние); в состоянии блокировки, когда они отсутствуют в области функциональной клавиатуры или когда воздействие на них оператора игнорируется ("заблокированное" состояние).when they are available to the operator ("unpressed" state); in a state of work under the influence of the operator ("pressed" state); in a locked state when they are absent in the area of the functional keyboard or when the operator’s influence on them is ignored (“locked” state).

Структура диалога в гибкой системе управления с открытой архитектурой определяется заказчиком системы ЧПУ, для которого привычным языком внешнего описания диалога служит дерево режимов и под-режимов. Ветвям дерева приписаны имена кнопок функциональной клавиатуры.The structure of the dialogue in a flexible control system with an open architecture is determined by the customer of the CNC system, for which the tree of modes and sub-modes serves as the usual language for the external description of the dialogue. The branches of the tree are assigned the names of the buttons on the functional keyboard.

Таким образом, ход диалога представляет собой последовательность следующих событий: нажатие клавиши оператором и генерация скан-кода; обращение к объекту с запросом на услугу (или услуги); реализация услуг объектом; ожидание очередных действий оператора. Эту цепочку называют последовательностью актов, в числе которых есть входные (нажатия клавишей) и выходные (все остальные). Выходные акты порождаются в результате интерпретации входных. Следовательно, интерпретатор диалога есть механизм последовательного вызова услуг соответственно действиям оператора, выражающимся в нажатии клавишей. Помимо вызова услуг интерпретатор осуществляет синтаксический контроль действий оператора.Thus, the course of the dialogue is a sequence of the following events: keystroke by the operator and the generation of a scan code; appeal to the object with a request for a service (or services); sales of services by the facility; waiting for next operator actions. This chain is called a sequence of acts, among which there are input (keystrokes) and output (all others). Output acts are generated as a result of interpretation of input. Consequently, the dialogue interpreter is a sequential service call mechanism in accordance with the actions of the operator, expressed in pressing a key. In addition to calling services, the interpreter parses the operator’s actions.

К редактору управляющих программ предъявляют, во-первых, стандартные требования, характерные для текстового редактора: ввод и редактирование текста, скроллинг и перелистывание страниц; операции перехода, контекстного поиска и замены; блоковые операции маркировки, удаления, копирования, перемещения, загрузки и добавления блоков. Во-вторых, существуют специфические требования: перенумерация после изъятия-включения кадров; изменение масштаба и размерности; вывод активных G-функций (G-вектора) на основе предыстории кадра; синтаксический и семантический контроль; диалоговый (графический) ввод кадра и параметров стандартных циклов (файлы графической помощи To the editor of control programs, first of all, they are presented with standard requirements typical for a text editor: entering and editing text, scrolling and turning pages; Transition, contextual search and replace operations block operations of marking, deleting, copying, moving, loading and adding blocks. Secondly, there are specific requirements: renumbering after removal-inclusion of personnel; change of scale and dimension; output active G-functions (G-vectors) based on the history of the frame; syntactic and semantic control; interactive (graphic) input of the frame and parameters of standard cycles (graphic help files

находятся в составе конфигурационного файла); создание управляющих программ в режиме обучения.are part of the configuration file); creation of control programs in training mode.

Средства отладки программ включают: пространственное графическое моделирование траектории инструмента для быстрых и рабочих перемещений; активное использование точек останова (break points); масштабирование графического изображения (zooming); поддержку различных режимов изображения (пошаговый, автоматический, между точками останова и др.); моделирование оставшейся части программы. Подобные возможности требуют включения в состав редактора некоторого ядра и дополнительных подсистем: интерпретатора управляющих программ (для любых версий кода ISO-7bit), имитатора интерполятора для рисования траекторий.Tools for debugging programs include: spatial graphical modeling of the tool path for fast and working movements; Active use of break points scaling a graphic image (zooming); support for various image modes (step-by-step, automatic, between breakpoints, etc.); modeling the rest of the program. Such capabilities require the inclusion of some kernel and additional subsystems in the editor: an interpreter for control programs (for any version of the ISO-7bit code), an interpolator simulator for drawing trajectories.

В связи с разнообразием версий языка управляющих программ в формате ISO-7bit, существует потребность в редакторе, конфигурируемом под конкретную его версию. Конфигуратор формализует код ISO7-bit путем выделения в нем нескольких уровней абстракции. На первом уровне определяется система команд (G-функций) и параметры каждой команды. Следующий уровень разбивает систему команд на группы по функциональному назначению G-функций и формирует G-вектор активных команд. Последний уровень абстракции назначает списки разделителей, комментариев, имен осей и адресов, имен G-функций.Due to the variety of versions of the control program language in the ISO-7bit format, there is a need for an editor that can be configured for a specific version of it. The configurator formalizes the ISO7-bit code by highlighting several levels of abstraction in it. At the first level, the system of commands (G-functions) and the parameters of each command are determined. The next level divides the command system into groups according to the functional purpose of the G-functions and forms the G-vector of active commands. The last level of abstraction assigns lists of delimiters, comments, axis names and addresses, G-function names.

Редактор управляющих программ имеет архитектуру, открытую для конечных пользователей, открытую для разработчиков самого редактора, открытую для внешних приложений. Для конечных пользователей это прежде всего означает возможность конфигурации на различные версии языка ISO-7bit с помощью конфигурационного файла, имеющего текстовый формат. Далее, существует возможность конфигурировать интерфейс пользователя, включая систему контекстных подсказок и систему помощи, используя текстовый файл инициализации и соответствующие динамические библиотеки ресурсов.The editor of control programs has an architecture open to end users, open to developers of the editor itself, open to external applications. For end users, this primarily means the ability to configure to different versions of the ISO-7bit language using a configuration file that has a text format. Further, it is possible to configure a user interface, including a contextual prompt system and a help system, using a text initialization file and corresponding dynamic resource libraries.

В числе языков высокого уровня управляющих программ можно упомянуть AnlogC (фирмы Andron, Германия), CPL (фирмы Bosch, Among the high-level languages of control programs, AnlogC (firms Andron, Germany), CPL (Bosch firms,

Германия) и множество других. Независимо от версии, структуры всех языков однотипны: имеется основная программа и набор подпрограмм. В теле программы представлен список переменных, которые по ходу выполнения программы меняют значения. Процесс выполнения сопровождается информационными сообщениями, предупреждениями, сообщениями об ошибках.Germany) and many others. Regardless of the version, the structures of all languages are the same: there is a main program and a set of routines. The body of the program contains a list of variables that change values during the course of the program. The execution process is accompanied by informational messages, warnings, error messages.

На экране редактора-отладчика в окне программы отображается ее текст. Здесь же можно расставить точки останова (breakpoints), осуществить пошаговый или автоматический запуск программы. Переменные (или массивы переменных) представлены в отдельном окне в виде дерева, которое позволяет выбрать те из них, за значениями которых необходимо следить. Текущие значения выбранных переменных (или массивов) демонстрируются в другом окне, причем значения эти можно редактировать. Иерархия вызываемых подпрограмм показана в виде дерева в отдельном окне. В окне стека представлены подпрограммы, вызванные к текущему моменту. Окно OutputWin используется для вывода информации, тип которой определяется неким набором пиктограмм. Пиктограммы предназначены также для отображения свойств файлов вызываемых подпрограмм.On the screen of the editor-debugger in the program window displays its text. Here you can set breakpoints (breakpoints), implement a step-by-step or automatic start of the program. Variables (or arrays of variables) are presented in a separate window in the form of a tree, which allows you to select those of them whose values you need to monitor. The current values of the selected variables (or arrays) are shown in another window, and these values can be edited. The hierarchy of the called routines is shown as a tree in a separate window. The stack window shows the routines called to the current moment. The OutputWin window is used to display information whose type is determined by a certain set of icons. Pictograms are also intended to display the properties of files of called routines.

Указанные окна относятся к числу базовых и постоянно присутствуют на экране. Окна со вспомогательной информацией (например, списком точек останова) реализованы как всплывающие. Основные и вспомогательные окна редактора-отладчика образуют ActiveX управляющий элемент.These windows are among the basic and are constantly present on the screen. Windows with supporting information (for example, a list of breakpoints) are implemented as pop-ups. The main and auxiliary windows of the editor-debugger form an ActiveX control element.

Завершая рассмотрение терминальной задачи, можно сказать следующее. Терминальная задача относится к числу наиболее сложных и наиболее ответственных разделов системы ЧПУ. Ее "скелетом" служит интерпретатор диалога оператора в Windows-интерфейсе. Для редактирования, отладки и моделирования управляющих программ применяют два типа конфигурируемых приложений, для управляющих программ низкого и высокого уровня соответственно.Concluding the consideration of the terminal problem, we can say the following. The terminal task is one of the most complex and most critical sections of the CNC system. Its "skeleton" is the operator dialog interpreter in the Windows interface. For editing, debugging and modeling control programs, two types of configurable applications are used, for control programs of low and high level, respectively.

Реализация диагностической задачи управления.Implementation of the diagnostic management task.

Наиболее совершенные системы ЧПУ располагают отдельным режимом диагностики, который реализован в виде программно-аппаратного комплекса и ориентирован на тестирование и глубокое исследование логической и геометрической задач управления. Диагностика, как правило, выполняется "вне реального времени"; что означает: измерения сохраняются в памяти, а затем анализируются. Подсистема диагностики способна конфигурировать измерения, считывать измеряемые сигналы, запоминать результаты измерений вместе с результатами конфигурации измерений, распечатывать осциллограммы измерений, считывать файлы с результатами измерений и результатами конфигурации измерений, выполнять разнообразные операции над измеренными сигналами. Для диагностики логической задачи управления служит Логический анализатор, а для диагностики геометрической задачи предназначен Осциллограф.The most advanced CNC systems have a separate diagnostic mode, which is implemented in the form of a hardware-software complex and is focused on testing and in-depth study of the logical and geometric control problems. Diagnostics, as a rule, is carried out "out of real time"; which means: measurements are stored in memory and then analyzed. The diagnostic subsystem is capable of configuring measurements, reading measured signals, storing measurement results together with measurement configuration results, printing measurement oscillograms, reading files with measurement results and measurement configuration results, and performing various operations on the measured signals. The Logic Analyzer is used to diagnose the logical control problem, and the Oscilloscope is used to diagnose the geometric problem.

Структура подсистемы диагностики.The structure of the diagnostic subsystem.

Подсистема диагностики построена по типу виртуальной машины и имеет многоуровневую структуру. Нижний уровень представлен компьютерной аппаратурой, которая является физическим источником измерительных сигналов; здесь, в частности, могут быть программируемый контроллер, плата управления следящими приводами и т.д. Выше размещаются драйверы устройств ввода-вывода, которые входят в состав операционной системы. Доступ к службам устройств ввода-вывода осуществляется посредством слоя базовых классов, реализующих обмен данными с подсистемой диагностики, их форматирование и контроль. Поверх располагаются классы второго уровня, запускающие и контролирующие процессы измерения. Уровень СОМ-сервера (Component Object Model), стандартизует доступ к подсистеме диагностики, с одной стороны, и поддерживает распределенную модель измерительной системы, с другой стороны. Третий-пятый уровни выстраивают объектную модель подсистемы The diagnostic subsystem is built like a virtual machine and has a multi-level structure. The lower level is represented by computer equipment, which is a physical source of measuring signals; here, in particular, there can be a programmable controller, a control board for servo drives, etc. Above are the I / O device drivers that are part of the operating system. Access to the services of input-output devices is carried out through a layer of base classes that implement data exchange with the diagnostic subsystem, their formatting and control. On top are second-level classes that start and control the measurement processes. The COM Server level (Component Object Model), standardizes access to the diagnostic subsystem, on the one hand, and supports a distributed model of the measurement system, on the other hand. The third or fifth levels build an object model of a subsystem

диагностики, которая облегчает создание и поддержку пользовательских приложений. Виртуальный прибор диагностики (на шестом уровне) предназначен для доступа оператора к результатам измерений.Diagnostics that facilitate the creation and maintenance of custom applications. A virtual diagnostic device (at the sixth level) is intended for operator access to the measurement results.

Виртуальный прибор диагностики подключается к интерфейсам СОМ-сервера диагностики; он привязаны к формату (типу) интерфейсов, а не к самой реализации СОМ-сервера. Это позволяет использовать виртуальный прибор диагностики в разных системах управления.The virtual diagnostic device is connected to the interfaces of the COM-server for diagnostics; it is tied to the format (type) of the interfaces, and not to the implementation of the COM server itself. This allows the use of a virtual diagnostic device in different control systems.

Реализация Логического анализатора.Logic analyzer implementation.

Электроавтоматика мехатронных систем достаточно сложна и требует высококвалифицированных специалистов при наладке и запуске оборудования в эксплуатацию. Подобные специалисты находятся обычно в удаленных сервисных бюро и занимаются дистанционным анализом входных и выходных сигналов программируемого контроллера с помощью все того же виртуального прибора, располагая конфигурацией и результатами измерений.Electro-automation of mechatronic systems is quite complex and requires highly qualified specialists in the commissioning and commissioning of equipment. Such specialists are usually located in remote service bureaus and are engaged in remote analysis of the input and output signals of the programmable controller using the same virtual device, having the configuration and measurement results.

Распределенная архитектура подсистемы диагностики ориентирована на работу как с внешними программируемыми контроллерами, так и встроенными в систему управления.The distributed architecture of the diagnostic subsystem is focused on working with both external programmable controllers and built-in control systems.

Измеренные данные могут быть прочитаны и отображены ActiveX Логического анализатора. При просмотре отображаемые сигналы можно масштабировать, сравнивать между собой и т.д.The measured data can be read and displayed by the ActiveX Logic Analyzer. When viewing the displayed signals, you can scale, compare with each other, etc.

Реализация Осциллографа.Oscilloscope implementation.

Оптимальная настройка регуляторов следящих приводов подачи невозможна без тщательного анализа их динамических характеристик с помощью Осциллографа подсистемы диагностики. Особенность распределенной архитектуры Осциллографа состоит в использовании "процесс-СОМ-сервера", в котором собраны все операции над сигналами, независимо от устройства-источника этих сигналов. В числе возможных операций над сигналами: масштабирование, сдвиг, любые математические вычисления.The optimal adjustment of the controllers of the servo feed drives is impossible without a careful analysis of their dynamic characteristics using the Oscilloscope diagnostic subsystem. A feature of the distributed architecture of the Oscilloscope is the use of the "process-COM server", which contains all the operations on the signals, regardless of the source device of these signals. Among the possible operations on signals: scaling, shift, any mathematical calculations.

Осциллограф работает в двух режимах, режиме конфигурации измерения и режиме отображения измерительных данных в текстовом и графическом виде. Осциллограф имеет возможности визуальной настройки свойств: цветов, шрифтов, стилей изображения сигналов.The oscilloscope operates in two modes, the measurement configuration mode and the display mode of the measurement data in text and graphical form. The oscilloscope has the ability to visually configure properties: colors, fonts, signal image styles.

Современные системы управления располагают свободными ресурсами вычислительной мощности которые должны быть использованы наиболее эффективно. В этом смысле наибольший интерес представляет создание и развитие подсистемы диагностики. В первую очередь следует диагностировать логическую и геометрическую задачи управления.Modern control systems have free computing resources that should be used most efficiently. In this sense, the creation and development of the diagnostic subsystem is of most interest. First of all, it is necessary to diagnose the logical and geometric control problems.

Разработка сложных стандартных циклов для станков с ЧПУ.Development of complex standard cycles for CNC machines.

Сокращение сроков разработки управляющих программ неизменно сохраняло свою актуальность с самого начала использования станков с ЧПУ. Один из вариантов такого сокращения состоит в попытке построить управляющую программу только из стандартных циклов с параметрической их настройкой. При этом не удается обойтись одними лишь традиционными простыми циклами.Reducing the development time of control programs has always remained relevant from the very beginning of the use of CNC machines. One of the options for such a reduction is an attempt to build a control program only from standard cycles with parametric tuning. At the same time, traditional simple cycles cannot be dispensed with.

Задача автоматизации рутинных операций механической обработки деталей постоянно находится в поле зрения машиностроителей. Решения на базе станков-автоматов не обеспечивают необходимой гибкости; и только применение станков с числовым программным управлением (ЧПУ) позволяет говорить о гибком и быстро перенастраиваемом производстве. Избавившись от рутинных операций на уровне механического управления оборудования, получили не меньший объем рутины на уровне программной автоматизации этого управления.The task of automating routine operations of machining parts is constantly in the field of view of machine builders. Solutions based on automatic machines do not provide the necessary flexibility; and only the use of machine tools with numerical control (CNC) allows us to talk about flexible and quickly reconfigurable production. Having got rid of routine operations at the level of mechanical control of equipment, we got no less routine at the level of software automation of this control.

В зависимости от технологических особенностей применения оборудования с ЧПУ, трудоемкость разработки программного обеспечения проявляется как на уровне подготовки производства, так и на цеховом уровне оперативного управления. На первом уровне проблему решают Depending on the technological features of the use of CNC equipment, the complexity of software development is manifested both at the production preparation level and at the workshop operational management level. At the first level, the problem is solved

путем создания (использования) систем автоматизированного программирования ЧПУ и интеграции таких систем с автоматизированными системами проектирования изделий. На втором уровне одним из способов повышения эффективности оперативного управления оборудованием с ЧПУ является широкое использование стандартных циклов. Далее стандартные циклы рассматриваются как элементы встроенного математического обеспечения ЧПУ, непосредственно доступные при оперативном управлении станками.by creating (using) CNC automated programming systems and integrating such systems with automated product design systems. At the second level, one of the ways to increase the efficiency of operational control of CNC equipment is the widespread use of standard cycles. Further, standard cycles are considered as elements of the built-in mathematical software of the CNC that are directly accessible during the operational control of machines.

Сложные стандартные циклы.Complex standard cycles.

При оперативном управлении станками с ЧПУ широко применяют встроенные стандартные циклы обработки типовых элементов формы детали. Широко известны стандартные циклы сверления, нарезания резьбы, точения канавок и т.д. Все они достаточно просты в разработке и применении. Несложная геометрия и малое число параметров позволяют проектировать подобные циклы, используя стандартные средства разработки управляющих программ.In the operational control of CNC machines, the built-in standard processing cycles of typical elements of the part shape are widely used. Standard cycles for drilling, tapping, grooving, etc. are widely known. All of them are quite simple to develop and use. Simple geometry and a small number of parameters allow you to design such cycles using standard development tools for control programs.

Попытки создания более сложных стандартных циклов сталкиваются с рядом серьезных трудностей. Рассмотрим некоторые из них на примере универсального цикла точения канавки произвольной формы.Attempts to create more complex standard cycles face a number of serious difficulties. Let us consider some of them using the example of a universal cycle of turning a groove of arbitrary shape.

Большое число параметров цикла порождает множество возможных их сочетаний и усложняет процесс разработки и тестирования. Сложная траектория движения инструмента обусловлена тем фактом, что точка резания смещена относительно точки привязки инструмента. Характер и величина этого смещения зависят как от геометрических параметров инструмента и канавки, так и от текущего участка траектории обработки, т.е. точка резания плавает относительно расчетной точки привязки. По этой причине окончательная траектория инструмента заметно отличается от исходного контура. Как правило, при обработке необходимы черновые и A large number of cycle parameters gives rise to many possible combinations and complicates the development and testing process. The complex path of the tool is due to the fact that the cutting point is offset from the tool anchor point. The nature and magnitude of this displacement depend both on the geometric parameters of the tool and groove, and on the current section of the machining path, i.e. the cutting point floats relative to the calculated anchor point. For this reason, the final tool path differs markedly from the original contour. As a rule, roughing and

чистовые проходы. Следует иметь в виду, что припуск на чистовую обработку может изменить не только размеры, но и форму канавки; например, фаски и радиусы могут быть перекрыты припуском. Необходимость в осциллирующих движениях резца для выборки основной массы металла еще больше усложняет траекторию движения инструмента.fair passages. It should be borne in mind that the finishing allowance can change not only the size, but also the shape of the groove; for example, chamfers and radii may be overlapped with an allowance. The need for oscillating movements of the cutter to select the bulk of the metal further complicates the tool path.

Как правило, собственные возможности систем ЧПУ разрабатывать и отлаживать управляющие программы, достаточно ограничены. Традиционные языки управляющих программ ближе к ассемблеру, чем к языкам высокого уровня. Поэтому представляется невозможным реализовывать сложные стандартные циклы, используя лишь средства самой системы ЧПУ.As a rule, the inherent capabilities of CNC systems to develop and debug control programs are quite limited. Traditional control languages are closer to assembler than to high-level languages. Therefore, it seems impossible to implement complex standard cycles using only the means of the CNC system itself.

Реализация сложных циклов.The implementation of complex cycles.

Предполагается использовать инструментальные средства разработки. Создание таких средств требует больших усилий и затрат; поэтому воспользовались готовой графической средой, позволяющей: отображать пробные варианты циклов; просматривать циклы в любом масштабе; использовать специальные окна текущих координат, чтобы отслеживать текущие положения точек привязки и точек резания и т.д.It is supposed to use development tools. The creation of such tools requires a lot of effort and cost; therefore, we used a ready-made graphical environment that allows you to: display trial versions of cycles; view cycles at any scale; use special windows of current coordinates to track the current position of anchor points and cutting points, etc.

Необходимо иметь возможность писать управляющие программы на языке более высокого уровня, в сравнении с традиционными языками управляющих программ. В этом случае предполагается использовать постпроцессор для генерации традиционной управляющей программы из программы, написанной на языке высокого уровня.It is necessary to be able to write control programs in a higher level language, in comparison with traditional control program languages. In this case, it is supposed to use a postprocessor to generate a traditional control program from a program written in a high-level language.

В качестве инструментария использовалась среда визуализации проектных решений. Выбор этой среды объясняется тем, что она широко распространена, имеет встроенный язык Visual Basic, позволяет визуализировать реальные траектории и положения точек привязки в любом масштабе; располагает встроенными средствами измерения As a toolkit, the visualization environment for design solutions was used. The choice of this environment is explained by the fact that it is widespread, has a built-in Visual Basic language, allows you to visualize real trajectories and positions of anchor points at any scale; has built-in measuring tools

координат; обладает удобными средствами отладки программ и может служить практически готовой средой разработки.coordinates; It has convenient tools for debugging programs and can serve as a practically ready development environment.

Для разработки программ ЧПУ, были добавлены:To develop NC programs, the following have been added:

- модули визуализации пробных решений, написанные на языке Visual Basic;- visualization modules for trial solutions written in Visual Basic;

- конвертор для преобразования полученных решений в управляющую программу ЧПУ.- a converter for converting the received decisions into the NC control program.

Практически процесс создания цикла выглядит следующим образом.In practice, the process of creating a loop is as follows.

- Разрабатываем управляющую программу на языке Visual Basic.- We are developing a control program in the language of Visual Basic.

- Визуализируем полученное решение и проверяем его для разных параметров цикла.- Visualize the resulting solution and check it for different parameters of the cycle.

- Конвертируем отработанное решение в традиционную управляющую программу (с комментариями в виде строк на языке Visual Basic для облегчения понимания и дальнейшего сопровождения управляющей программы).- We convert the worked-out solution into a traditional control program (with comments in the form of lines in the Visual Basic language to facilitate understanding and further maintenance of the control program).

Далее приведены фрагменты исходной программы на языке Visual Basic и управляющей программы ЧПУ.The following are fragments of the source program in Visual Basic and the NC control program.

Фрагмент кода пробного решенияSnippet code snippet

If tmp_flag <> 0 And (flagF3=0) ThenIf tmp_flag <> 0 And (flagF3 = 0) Then

wDD_rsum=wDD_rsum+(wR3F3+RS)*(1-Cos(AA))wDD_rsum = wDD_rsum + (wR3F3 + RS) * (1-Cos (AA))

tmp_val=2*(wR3F3+RS)-wDD_rsumtmp_val = 2 * (wR3F3 + RS) -wDD_rsum

dzr=Sqr(tmp_val*wDD_rsum)dzr = Sqr (tmp_val * wDD_rsum)

zr=zK3R-(BS-RS)zr = zK3R- (BS-RS)

End IfEnd if

Фрагмент сгенерированной управляющей программыFragment of the generated control program

(If tmp_flag <> 0 And [flagF3=0] Then)(If tmp_flag <> 0 And [flagF3 = 0] Then)

#123:=#130*[#220==0]# 123: = # 130 * [# 220 == 0]

(wDD_rsum=wDD_rsum+[wR3F3+RS]*[1-Cos[AA]])(wDD_rsum = wDD_rsum + [wR3F3 + RS] * [1-Cos [AA]])

//#123 #129:=#129+[#102+#205]*[1-COS[#229]]// # 123 # 129: = # 129 + [# 102 + # 205] * [1-COS [# 229]]

(tmp_val=2*[wR3F3+RS]-wDD_rsum)(tmp_val = 2 * [wR3F3 + RS] -wDD_rsum)

//#123 #77:=2*[#102+#205]-#129// # 123 # 77: = 2 * [# 102 + # 205] - # 129

(dzr=Sqr[tmp_val*wDD_rsum])(dzr = Sqr [tmp_val * wDD_rsum])

//#123 #126:=SQRT[#77*#129]// # 123 # 126: = SQRT [# 77 * # 129]

(zr=zK3R-[BS-RS])(zr = zK3R- [BS-RS])

//#123 #127:=#26-[#222-#205]// # 123 # 127: = # 26 - [# 222- # 205]

Это решение использовали для построения стандартного цикла точения канавок со многими параметрами, а также и других подобных стандартных циклов (выемок, проточек и т.д.).This solution was used to build a standard grooving cycle with many parameters, as well as other similar standard cycles (grooves, grooves, etc.).

Как известно, устройство ЧПУ заранее формирует в некотором буфере кадры управляющей программы для последующей их интерполяции. К моменту начала движения инструмента, интерпретатор управляющих программ должен выполнить все необходимые вычисления (для сложных стандартных циклов их может потребоваться немало) и синхронизироваться с интерполятором системы ЧПУ. Это значит, что в управляющей программе должны присутствовать точки синхронизации интерпретатора и интерполятора. Неправильная расстановка точек синхронизации приводит к тому, что интерпретатор пробегает необходимую точку, что приводит к неправильным результатам даже при логически правильном алгоритме перемещения инструмента.As is known, the CNC device pre-forms control program blocks in a buffer for their subsequent interpolation. By the time the tool moves, the interpreter of the control programs must perform all the necessary calculations (for complex standard cycles, they may require a lot) and synchronize with the interpolator of the CNC system. This means that the synchronization points of the interpreter and interpolator must be present in the control program. Incorrect arrangement of synchronization points leads to the fact that the interpreter runs through the necessary point, which leads to incorrect results even with a logically correct algorithm for moving the tool.

Использованный подход к написанию управляющих программ сложных стандартных циклов полностью оправдал себя как в плане The approach used to write control programs for complex standard cycles has completely proven its worth in terms of

практического использования, так и в плане макетирования специализированной системы, позволяющей отработать методику написания сложных стандартных циклов и определить технические требования для более развитых специализированных систем.practical use, and in terms of prototyping a specialized system that allows you to work out a methodology for writing complex standard cycles and determine the technical requirements for more developed specialized systems.

Таким образом, заявленное техническое решение может найти широкое применение в области машиностроения для автоматизации производственных технологических процессов, преимущественно, в системах управления прецизионными станками с ЧПУ и мехатронными модулями.Thus, the claimed technical solution can find wide application in the field of mechanical engineering for the automation of production processes, mainly in control systems for precision CNC machines and mechatronic modules.

Claims (1)

Программно-аппаратный комплекс для управления прецизионным оборудованием, система числового программного управления (ЧПУ) которого организована на платформе персонального компьютера с двухуровневой архитектурой на прикладном уровне, сформированной посредством: группы модулей, реализующих прикладные задачи управления посредством функциональных блоков в составе упомянутой группы модулей; системы коммуникации; функционального средства диспетчеризации и разделяемой памятью, отличающаяся тем, что двухуровневая архитектура сформирована на базе однотипных уровней, в которой уровень системы ЧПУ в целом и уровень любого модуля, реализующего определенную задачу управления, выполнены по типу виртуального мультипроцессорного вычислителя; система коммуникации построена в виде глобального сервера с, по меньшей мере, следующими функциями: конфигурации коммуникационной среды; управления типом и содержанием сессий, т.е., транзакций; управления выбором типа и группы экранного изображения; управления форматированием передаваемых данных; средство диспетчеризации реализовано в виде менеджера уведомлений с функциями подписки, т.е. заявки на обслуживание, модулей на получение и обновление данных и команд управления; каждый блок нижнего уровня реализован подобно общей архитектуре системы ЧПУ и с подобными же функциями, т.е. в виде архитектурных компонент управления, привязанных к локальной коммуникационной среде на базе локального сервера с локальным менеджером уведомлений и разделяемой памятью.
Figure 00000001
A hardware-software complex for controlling precision equipment, the numerical control system (CNC) of which is organized on a personal computer platform with a two-level architecture at the application level, formed by: a group of modules that implement applied control tasks through functional blocks as part of the mentioned group of modules; communication systems; functional means of scheduling and shared memory, characterized in that the two-level architecture is formed on the basis of the same levels, in which the level of the CNC system as a whole and the level of any module that implements a specific control task are executed as a virtual multiprocessor computer; the communication system is built in the form of a global server with at least the following functions: configuration of the communication environment; management of the type and content of sessions, i.e., transactions; control the selection of the type and group of the screen image; control the formatting of the transmitted data; dispatching tool is implemented as a notification manager with subscription functions, i.e. service requests, modules for receiving and updating data and control commands; each block of the lower level is implemented similar to the general architecture of the CNC system and with similar functions, i.e. in the form of architectural management components tied to a local communication environment based on a local server with a local notification manager and shared memory.
Figure 00000001
RU2006133170/22U 2006-09-18 2006-09-18 SOFTWARE AND HARDWARE COMPLEX FOR MANAGEMENT PRECISION EQUIPMENT RU75483U1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2006133170/22U RU75483U1 (en) 2006-09-18 2006-09-18 SOFTWARE AND HARDWARE COMPLEX FOR MANAGEMENT PRECISION EQUIPMENT

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2006133170/22U RU75483U1 (en) 2006-09-18 2006-09-18 SOFTWARE AND HARDWARE COMPLEX FOR MANAGEMENT PRECISION EQUIPMENT

Publications (1)

Publication Number Publication Date
RU75483U1 true RU75483U1 (en) 2008-08-10

Family

ID=39746789

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2006133170/22U RU75483U1 (en) 2006-09-18 2006-09-18 SOFTWARE AND HARDWARE COMPLEX FOR MANAGEMENT PRECISION EQUIPMENT

Country Status (1)

Country Link
RU (1) RU75483U1 (en)

Similar Documents

Publication Publication Date Title
Pritschow et al. Open controller architecture–past, present and future
CN109388107B (en) Control device
EP2169547B1 (en) Compilation model for programmable logic controllers (PLC).
CN100514234C (en) Open type numerical control system based on PC
US7024666B1 (en) Motion control systems and methods
CN100370380C (en) Opening rearrangeable soft digital control system
CN106125664A (en) A kind of Embedded PLC control system
Latif et al. A review of G code, STEP, STEP-NC, and open architecture control technologies based embedded CNC systems
CN102789193A (en) Operating method for numerical control system of numerical control machine tool
Xu et al. Research and development of open CNC system based on PC and motion controller
Stewart Designing software components for real-time applications
JP2007086921A (en) Machinery control program execution system
JP2820189B2 (en) Control software execution system for numerical controller
CN113534744A (en) Software architecture and hardware architecture for forming numerical control system
RU75483U1 (en) SOFTWARE AND HARDWARE COMPLEX FOR MANAGEMENT PRECISION EQUIPMENT
JP7077848B2 (en) Control device
Ji et al. A software oriented CNC system based on Linux/RTLinux
EP1327189B1 (en) A method for hierarchical specification of scheduling in system-level simulations
Yu et al. Design of controller system for industrial robot based on RTOS Xenomai
Chen et al. Modeling autosar implementations in simulink
Angelov et al. A software framework for component-based embedded applications
Yihui Research of Integration Technology between CATIA and TOOLMANAGER Based on CAA
Fischer et al. Conceptual design of an engineering model for product and plant automation
Luth et al. HW/SW cosynthesis using Statecharts and symbolic timing diagrams
JP2003529835A (en) Control method, control device, and control software for mechanism and technical system