power automation - pa 9000 user hmi programming...1.6 customer service our customer service is...

101
PA 9000 User HMI Programming

Upload: others

Post on 03-Mar-2020

5 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

PA 9000User HMI Programming

Page 2: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

Original document

©2017 Power Automation GmbH

Power Automation GmbH

CNC-Automatisierungstechnik

Gottlieb-Daimler-Str. 17/2

74385 Pleidelsheim

Germany

Telephone: +49-7144-899-0

Fax: +49-7144-899-299

E-mail: [email protected]

Internet: www.powerautomation.com

Version 1.0

2 21.07.2017

Page 3: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

Table of contents1 General information................................................................... 9

1.1 Information on this manual................................................ 9

1.2 Explanation of symbols...................................................... 9

1.3 Limitation of liability.......................................................... 11

1.4 Copyright.......................................................................... 11

1.5 Warranty terms................................................................. 11

1.6 Customer service............................................................. 12

1.7 Structure of QMI software................................................ 12

1.8 Translation of QMI interface on own language................ 12

1.9 Licensing.......................................................................... 12

2 Main Executable File................................................................ 133 Configuration File.................................................................... 154 Default Main QML File............................................................. 195 User QMI................................................................................... 216 Submodules............................................................................. 23

6.1 CNC Communication....................................................... 23

6.1.1 AxesModel.................................................................... 24

6.1.2 BcdModel...................................................................... 26

6.1.3 BlockModel.................................................................... 27

6.1.4 Command...................................................................... 28

6.1.5 CompensationModel..................................................... 31

6.1.6 Connection.................................................................... 32

6.1.7 Control........................................................................... 34

6.1.8 FileServer...................................................................... 40

6.1.9 GCodesModel............................................................... 41

6.1.10 InfoModel...................................................................... 42

6.1.11 IoBitModel..................................................................... 43

6.1.12 IoNamesModel.............................................................. 45

6.1.13 MsgModel...................................................................... 46

6.1.14 NCTableModel............................................................... 47

6.1.15 Plc................................................................................. 48

6.1.16 POU.............................................................................. 50

6.1.17 Request......................................................................... 51

PA 9000 User HMI Programming

Table of contents

21.07.2017 | 3

Page 4: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.1.18 Struct............................................................................. 53

6.2 FileListModel.................................................................... 54

6.2.1 FileListModel................................................................. 54

6.3 Main................................................................................. 55

6.3.1 ActiveWidget................................................................. 57

6.3.2 AutoBackwPanel........................................................... 57

6.3.3 AutoDisplayPanel.......................................................... 57

6.3.4 AutoMenuButton........................................................... 57

6.3.5 AutoModePanel............................................................. 57

6.3.6 AutoPage...................................................................... 58

6.3.7 AutoSubModePanel...................................................... 58

6.3.8 AutoTestPanel............................................................... 58

6.3.9 BasePage...................................................................... 58

6.3.10 BcdWidget..................................................................... 58

6.3.11 ChangePasswordDialog................................................ 58

6.3.12 CompWidget................................................................. 58

6.3.13 CorrWidget.................................................................... 58

6.3.14 DataMenuButton........................................................... 59

6.3.15 DataPage...................................................................... 59

6.3.16 DirWidget...................................................................... 59

6.3.17 EndPosWidget.............................................................. 59

6.3.18 FeedPanel..................................................................... 59

6.3.19 FeedWidget................................................................... 59

6.3.20 GWidget........................................................................ 59

6.3.21 HidePanelButton........................................................... 59

6.3.22 InfoMenuButton............................................................. 60

6.3.23 InfoPage........................................................................ 60

6.3.24 InfoWidget..................................................................... 60

6.3.25 InterfaceSubPage......................................................... 60

6.3.26 InterfaceWidget............................................................. 60

6.3.27 KvWidget....................................................................... 60

6.3.28 LagWidget..................................................................... 60

6.3.29 LoginDialog................................................................... 60

6.3.30 MainAppWindow........................................................... 61

PA 9000 User HMI Programming

Table of contents

21.07.2017 | 4

Page 5: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.3.31 MainSettings................................................................. 63

6.3.32 ManAuxPanel................................................................ 63

6.3.33 ManAxesPanel.............................................................. 63

6.3.34 ManIncrementDialog..................................................... 63

6.3.35 ManJogPanel................................................................ 64

6.3.36 ManMenuButton............................................................ 64

6.3.37 ManModePanel............................................................. 64

6.3.38 ManPage....................................................................... 64

6.3.39 ManStepDialog.............................................................. 64

6.3.40 ManZeroDialog.............................................................. 64

6.3.41 MdiSubPage.................................................................. 64

6.3.42 MessagesPanel............................................................. 64

6.3.43 MessagesSubPage....................................................... 65

6.3.44 ModeWidget.................................................................. 65

6.3.45 NcProgramPanel........................................................... 65

6.3.46 NcTablesSubPage......................................................... 65

6.3.47 OffsetWidget................................................................. 65

6.3.48 OutWidget..................................................................... 65

6.3.49 OverrideIncrementDialog.............................................. 65

6.3.50 OverridePanel............................................................... 65

6.3.51 Pg2D............................................................................. 66

6.3.52 Pg3D............................................................................. 66

6.3.53 PgPanel......................................................................... 66

6.3.54 PgPanelButton.............................................................. 66

6.3.55 PgPanelModeButton..................................................... 66

6.3.56 PgStandard................................................................... 66

6.3.57 PosWidget..................................................................... 66

6.3.58 ProgramWidget............................................................. 66

6.3.59 RemWidget................................................................... 67

6.3.60 ResetMenuButton......................................................... 67

6.3.61 SetupMenuButton......................................................... 67

6.3.62 SetupPage.................................................................... 67

6.3.63 SetupWidget.................................................................. 67

6.3.64 SpeedWidget................................................................. 67

PA 9000 User HMI Programming

Table of contents

21.07.2017 | 5

Page 6: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.3.65 SpindlePanel................................................................. 67

6.3.66 SpindleWidget............................................................... 67

6.3.67 StartMenuButton........................................................... 68

6.3.68 StateWidget................................................................... 68

6.3.69 StopMenuButton........................................................... 68

6.3.70 ZoomSubPage.............................................................. 68

6.4 NCProgramListModel...................................................... 68

6.4.1 NCProgramListModel.................................................... 69

6.5 Pg.................................................................................... 69

6.5.1 PgView2d...................................................................... 69

6.5.2 PgView3d...................................................................... 70

6.6 QMI.................................................................................. 70

6.6.1 AppWindow................................................................... 71

6.6.2 ContextMenu................................................................. 72

6.6.3 ContextMenuButton...................................................... 72

6.6.4 ContextMenuItem.......................................................... 72

6.6.5 FileDialog...................................................................... 72

6.6.6 FooterBackground......................................................... 72

6.6.7 HeaderBarBackground.................................................. 73

6.6.8 HeaderContentBackground........................................... 73

6.6.9 LogoWidget................................................................... 73

6.6.10 MenuButton................................................................... 73

6.6.11 MenuView..................................................................... 73

6.6.12 PagePanel..................................................................... 73

6.6.13 RotatableButton............................................................ 73

6.6.14 StatusPanel................................................................... 73

6.6.15 ToggleStatusButton....................................................... 74

6.6.16 VerticalProgressBar...................................................... 74

6.6.17 Widget........................................................................... 74

6.7 QMIControls..................................................................... 75

6.7.1 Decoration..................................................................... 75

6.7.2 DictModel...................................................................... 76

6.7.3 LangModel.................................................................... 77

6.7.4 Process......................................................................... 78

PA 9000 User HMI Programming

Table of contents

21.07.2017 | 6

Page 7: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.7.5 QmiAbstractButton........................................................ 79

6.7.6 QmiAppWindow............................................................ 81

6.7.7 QmiButton..................................................................... 83

6.7.8 QmiCheckBox............................................................... 84

6.7.9 QmiControl.................................................................... 84

6.7.10 QmiDialog..................................................................... 85

6.7.11 QmiFooter..................................................................... 87

6.7.12 QmiFooterMenu............................................................ 88

6.7.13 QmiHeader.................................................................... 88

6.7.14 QmiItemGradient........................................................... 89

6.7.15 QmiLabel....................................................................... 89

6.7.16 QmiMessageBox........................................................... 90

6.7.17 QmiSlider...................................................................... 91

6.7.18 QmiSwitch..................................................................... 92

6.7.19 QmiTabBar.................................................................... 93

6.7.20 QmiTabButton............................................................... 93

6.7.21 QmiTextField................................................................. 94

6.7.22 Translator...................................................................... 95

6.8 Sim3d............................................................................... 96

6.8.1 Sim3dView.................................................................... 96

7 Proof of change........................................................................ 978 Index.......................................................................................... 99

PA 9000 User HMI Programming

Table of contents

21.07.2017 | 7

Page 8: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

PA 9000 User HMI Programming

Table of contents

21.07.2017 | 8

Page 9: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

1 General information1.1 Information on this manualThis manual provides important information on how to work with theQMI.

QMI is series of applications for PA9000 controls.

QMI applications are based on programming language QML devel-oped by Qt Company Ltd. QML documentation is available online. Youcan also download software development framework Qt (free or com-mercial version).Current QMI applications use Qt 5.7.

QMI is open software. It means that user can modify any QMI applica-tion. User only need QMI Programming interface documentation, CNCserver documentation and examples, knowledge of QML language,plain text editor.

User can also use the Creator (included in Qt) for QMI modificationand development.

The manual should be available for the personnel at any time. All per-sonnel working with it are obliged to have read and understood thismanual before starting any work. Strict compliance with all specifiedsafety notes and instructions is a basic requirement for safety at work.

Moreover, the accident prevention guidelines and general safety regu-lations applicable at the place of use of the control unit must also becomplied with.

Illustrations in this manual are intended to facilitate basic under-standing, and may differ from the actual design of the control unit.

The enclosed manuals for the installed components apply togetherwith this manual.

1.2 Explanation of symbolsWarnings are identified by pictures. These warnings are introduced bysignal words, which express the severity of a danger.

Pay attention to these warnings and act cautiously in order to avoidaccidents, personal injuries and damage to property.

… indicates an imminently hazardous situation which, if unavoid-able, will result in death or serious injury.

… indicates a potentially hazardous situation which, if unavoid-able, could result in death or serious injury.

… indicates a potentially hazardous situation which, if unavoid-able, may result in minor or moderate injury.

General Information

Warnings

L DANGER

L WARNING

L CAUTION

PA 9000 User HMI Programming

General information

21.07.2017 | 9

Page 10: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

… indicates a potentially hazardous situation which, if unavoid-able, may result in property damage.

… emphasizes useful hints and recommendations as well as informa-tion for efficient and trouble-free operation.

The following symbols are used in connection with the safety notes tohighlight particular dangers:

… highlights hazards caused by electric current. There is adanger of serious injury or death if the safety notes are not com-plied with.

The following symbols and highlights are used to distinguishinstructions, descriptions of results, cross-references and other ele-ments inside this manual.

.. Highlights a step as part of a procedure of instructions.

ð .. Highlights a state or an automatic process as a result of aninstruction.

n .. Highlights single or unordered instructions and lists.

Ä “Additional symbols and highlighting” on page 10.. Highlights cross-references to chapters or sections of this manual.

[Key].. Highlights captions of buttons, fields and other elements of thesoftware's graphical user interface.

“Menu è Submenu è ”.. Highlights a path to access a menu or sub-menu in the software's graphical user interface.

Example/Extract.. Highlights verbatim examples and extracts fromconfiguration files.

NOTICE

Special Safety Notes

L DANGER

Additional symbols and high-lighting

PA 9000 User HMI Programming

General information

21.07.2017 | 10

Page 11: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

1.3 Limitation of liabilityAll information and notes in this installation manual were compiledunder due consideration of valid standards and regulations, thepresent status of technology and our years of knowledge and experi-ence.

Power Automation can not be held liable for damage resulting from:

n disregarding this installation manualn unintended usen employment of untrained personneln unauthorized conversionsn unauthorized modifications to the softwaren technical modificationsn use of unapproved spare partsn use in conjunction with machines not deemed compatible by

Power Automation

In case of customized versions the actual scope of delivery can varyfrom the explanations and representations in this installation manual,because of the utilization of additional options or due to the latest tech-nical changes.

Apart from this, the obligations agreed upon in the delivery contract,the general terms and conditions, and the delivery conditions of PowerAutomation and the legal regulations valid at the time of contract apply.

We reserve the right to make technical modifications in order toimprove usability.

1.4 CopyrightThis installation manual is protected by copyright law.

Passing this installation manual on to third parties, duplication of anykind – even in form of excerpts – as well as the use and/or disclosureof the contents without the written consent of Power Automation is notpermitted.

Violations oblige to compensation. The right for further claims remainsreserved.

1.5 Warranty termsThe material warranty terms are provided in Power Automation's termsand conditions as well as inside the sales documents.

Liability

Copyright

Material Warranty

PA 9000 User HMI Programming

General information

21.07.2017 | 11

Page 12: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

1.6 Customer serviceOur Customer Service is always available for technical information.

For information on whom to contact by phone, fax, e-mail or via theinternet, see Power Automation's address on page 2.

Additionally, Power Automation staff is always interested in receivingnew information and experiences resulting from the use of our prod-ucts, which could be of great value for future improvements.

1.7 Structure of QMI softwareQMI software is installed with PA 9000 CNC. Location of QMI softwareis usually C:\PACnc\Qmi5.

Directory includes following subdirectories:

n bin for main executable file qmiframe.exe, QMI submodules asDLLs and other binary and configuration files.

n config for configuration files of QMI applications. File main.inibelongs to main QMI. Its path is specified in command line param-eters of qmiframe.exe.

n texts for texts files. This directory may include more than one(en) subdirectories for different languages.

1.8 Translation of QMI interface on own languageDefault language is English. All necessary English text files are in ensubdirectory of Qmi5\texts. The user can create new subdirectoryhere with name of requested language (for example, de for German),copy all files from en and translate to German. After translation, it isrecommended to save files in UNICODE format.

1.9 LicensingQMI is developed under Qt Commercial license. In case of modifica-tion, the use must follow open source licenses (see Qt Licensing) orbuy Qt Commercial license.

Service

PA 9000 User HMI Programming

General information

21.07.2017 | 12

Page 13: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

2 Main Executable FileFile qmiframe.exe is used to start all QMI applications.Usage:qmiframe.exe [-parameter] [-parameter value][string]Parameter Documentation:

n string– Path to main QML file (optional, no parameter name, value

only). If path is not specified, then default file from ressourcemain.qml used.

n -clean– Clears all settings of previous session (optional, no value). QMI

application stores all settings into Windows registry. Values inregistry have a higher priority to the values in configuration file.It is recommended to use this option during modification of QMIor development, if parameters in configuration files need to bechanged frequently. Later (in released version), the optionclean should be removed.

n -config string– Defines path to configuration file (optional).

Any parameters from configuration file can used in command line aspairs: -parameter value.

For example:qmiframe.exe -debug 1 -config C:\PACnc\Qmi5\config\main.ini

PA 9000 User HMI Programming

Main Executable File

21.07.2017 | 13

Page 14: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

PA 9000 User HMI Programming

Main Executable File

21.07.2017 | 14

Page 15: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

3 Configuration FileConfiguration file is a text file with QMI parameters as pairs:name = value.The Symbol ; at the beginning of string is used as comment. All com-ments are ignored.

Table 1: Parameter Documentationappname = string Sets the name of application to save its settings. Each QMI application

needs unique application name.

axes = int Sets number of CNC axes for models from CncCommunication. If axes isgreater that number of axes in CNC, then models will be extended by emptyaxes.

backplotActivated = int This parameter holds whether back plot mode is available (if 1) for 3Dgraphics. By default, this is 1.

buttonHeight = int This property redefines preferable height of all buttons excluding dialog but-tons.

buttonWidth = int This property redefines preferable width of all buttons excluding dialog but-tons.

clean = int This parameter holds (if 1) whether all settings of previous session should becleared when application starts. By default, this is 0.

dialogButtonHeight = int This property redefines preferable height of all dialog standard buttons.

dialogButtonWidth = int This property redefines preferable width of all dialog standard buttons.

debug = int This parameter holds (if 1) whether additional window is opened to displayapplication output. By default, this is 0.

errTextFile = string Redefines text file for CNC, PLC and system error. By default, this is fileerrors.txt.

file = string Sets path to main QML file of application. If path is not specified, then defaultfile main.qml is used.

favoriteFolders = string Sets list of favorite folders for file selection dialog. The folder paths are sepa-rated by comma. Each path of folder should start with scheme file. Forexample: favoriteFolders="file:///D:/PAData/NCProg,file:///E:,file:///F:"

fontfamily = string Sets the family name of the font. The family name is case insensitive. Bydefault, this is "Calibri".

fontitalic = int Sets whether the font has an italic style (if 1). By default, this is 0.

fontpointsize = int Sets the font size in points. The point size must be greater than zero. Bydefault, this is 12.

fontweight = int Sets the font's weight.

footerHeight = int Sets the height of application footer. By default, this is 80.

PA 9000 User HMI Programming

Configuration File

21.07.2017 | 15

Page 16: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

frameless = int Sets whether application window has a frame (if 1). By default, this is 1.

fullscreen = int Sets full screen mode (if 1) for application window. By default, this is 0.

geometry = string This parameter holds application window size and position.For example: geometry = 100 x 100 -37 + 50.It means 100 pixels in width, 100 pixels in height, x = -37 (position in hori-zontal direction from the top left corner of screen), y = 50 (position in verticaldirection from the top left corner of screen).

headerContentHeight = int Redefine height of application header.

height = int Application window height. Alternative to geometry.

host = string Redefines host name of CNC. By default, this is "127.0.0.1" (local connec-tion to CNC).

imports = string Module import search path. Don’t use this parameter!

language = string Sets language of QMI. By default, this is en.

locale = string Sets keyboard locale. By default, this is en_GB. Don’t use this parameter.

icon = string URL to redefine application icon. Scheme file is used in case of QML filelocation on local disk.

iconSize = int Sets standard icon size.

mainTextFile = string Redefines text file Main module. By default, this is file main.txt.

maximized = int Opens application window maximized (if 1). By default, this is 0.

menuHorMargin = int Sets horizontal margin in application menu. See QmiFooterMenu. Bydefault, this is 20.

menuButtonHeight = int Redefines height of menu button.

menuButtonWidth = int Redefines width of menu button.

minimized = int Opens application window minimized (if 1). By default, this is 0.

nameFilters0 = string Redefines list of filters for all files. The filters are separated by comma.For example: nameFilters0="*,*.*"

nameFilters1 = string Redefines list of filters for NC part program file names. The filters are sepa-rated by comma.For example: nameFilters1="*.nc,*.cnc"

nameFilters2 = string Redefines list of filters for STL file names (3D graphics). The filters are sepa-rated by comma.For example: nameFilters1="*.stl"

pg = int Redefines path graphics mode:

n 1 - standard graphicsn 2 - 2D graphicsn 3 - 3D graphics

PA 9000 User HMI Programming

Configuration File

21.07.2017 | 16

Page 17: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

showBackplot = int Toggles back plot display for 3D graphics. By default, this is 0 (don’t showback plot).

showCoordinateAxes = int Toggles coordinate axes display for 3D graphics. By default, this is 1 (coordi-nate axes are visible).

showMachineGeometries = int Toggles machine display for 3D graphics. By default, this is 0 (machine is notvisible).

smallIconSize = int Sets standard small icon size.

statusPanelWidth = int Redefines with of panel on status bar (application header content).

textColor = string Redefines general color of texts.

time = int Sets default time in ms for cyclic data update from CNC for all interfaceswithin Control. By default, this is 50.

qmiControlsTextFile = string Redefines text file for QmiControls module. By default, this is file qmicon-trols.txt.

qmiTextFile = string Redefines text file for Qmi module. By default, this is file qmi.txt.

useopenglses = int This parameter holds whether application uses OpenGL Desktop (if 0) orOpenGL ES (if 1). By default, this is 0. Don’t use this parameter!

width = real Application window width. Alternative to geometry.

x = int Application window X position (relative to the screen). Alternative to geom-etry.

y = int Application window Y position (relative to the screen). Alternative to geom-etry.

You can create and use own custom specific parameters. Access tocustom specific parameters is provided by QML type Settings. Youmust specify category "config" and use the same property names asin the configuration file.

Table 2: File user.iniappname=user

companyName="Laser Ltd."

PA 9000 User HMI Programming

Configuration File

21.07.2017 | 17

Page 18: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

Table 3: QML fileimport QtQuick 2.7

import Qt.labs.settings 1.0

Text {

id: txt

}

Settings {

category: “config”

property alias companyName: txt.text

}

appname=main

;clean=0

;debug=0

;maximized=0

;fullscreen=0

;frameless=1

;language=en

;fontfamily="Calibri"

;fontpointsize=12

;favoriteFolders="file:///D:/PAData/NCProg,file:///E:,file:///F:"

;nameFilters1="*.nc,*.cnc"

;backplotActivated=1

;showBackplot=0

;showCoordinateAxes=1

;showMachineGeometries=0

Example of main.ini file for mainQMI

PA 9000 User HMI Programming

Configuration File

21.07.2017 | 18

Page 19: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

4 Default Main QML FileMain QML file can be defined as command line parameter of mainexecutable file or parameter file in configuration file.

If main QML file is not specified, then default file is used:

Table 4: Default fileimport QtQuick 2.7

import Main 1.0

MainAppWindow {

}

PA 9000 User HMI Programming

Default Main QML File

21.07.2017 | 19

Page 20: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

PA 9000 User HMI Programming

Default Main QML File

21.07.2017 | 20

Page 21: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

5 User QMIQMI release includes USERQMI example of user application based onopen QMI programming interface.

To start the USERQMI you can create shortcuts with following proper-ties:

n Target: C:\PACnc\Qmi5\bin\qmiframe.exe -config ..\config\user.ini

n Start in: C:\PACnc\Qmi5\binUSERQMI starts with main QML file "user.qml" (inherits MainApp-Window). See C:\PACnc\Qmi5\config\user.ini:

appname=userclean=1debug=1file=../qml/user/user.qml;debug=0;maximized=0;fullscreen=1;frameless=1;language=en;fontfamily="Calibri";fontpointsize=12 favoriteFolders="file:///C:/PAData/NCProg,file:///C:";nameFilters1="*.nc,*.cnc"

By default, the application opens the debug output window. So, youcan develop application using plain text editor only.

Because probably you will need to change configuration file user.ini,parameter clean=1 is set (see Configuration File). It means that set-tings of application will not be saved in Windows Registry. Later whenthe application will be ready for release, you should remove clean=1from configuration file.

The example demonstrates how to

n add buttons on the application bottom menu (left or right).– Here buttons are usually used to send commands to CNC/

PLC.n Add button to main centered menu.

– Here buttons are used to change application main pages.When no menu button is selected, then application showsBasePage.

PA 9000 User HMI Programming

User QMI

21.07.2017 | 21

Page 22: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

n Add own page for new menu button.– See C:\PACnc\Qmi5\qml\user\UserPage.qml.

n Add widget for status panel on the top of application.– See C:\PACnc\Qmi5\qml\user\UserWidget.qml.

Application uses own texts from C:\PACnc\Qmi5\texts\en\user.txt. Of course, you can translate this text on other languagesand put it in corresponding language specific directory.

You can also change content of existing main pages by modification ofpage sources. Find sources in C:\PACnc\Qmi5\qml\Main.

PA 9000 User HMI Programming

User QMI

21.07.2017 | 22

Page 23: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6 SubmodulesQMI includes several submodules which contain specific types andfunctions.

There are following submodules:

n CncCommunication ( Ä Chapter 6.1 “CNC Communication”on page 23)

n FileListModel (see Ä Chapter 6.2 “FileListModel” on page 54)n Main (see Ä Chapter 6.3 “Main” on page 55)n NCProgramListModel (see Ä Chapter 6.4 “NCProgramListModel”

on page 68)n Pg (see Ä Chapter 6.5 “Pg” on page 69)n Qmi (see Ä Chapter 6.6 “QMI” on page 70)n QmiControls (see Ä Chapter 6.7 “QMIControls” on page 75)n Sim3d (see Ä Chapter 6.8 “Sim3d” on page 96)

6.1 CNC CommunicationThe CncCommunication module provides QML types for communica-tion with CNC and PLC. The QML types can be imported into yourapplication using the following import statement in your qml file.

import CncCommunication 1.0Module contains following QML types:

n AxesModel ( Ä Chapter 6.1.1 “AxesModel” on page 24)n BcdModel ( Ä Chapter 6.1.2 “BcdModel” on page 26)n BlockModel ( Ä Chapter 6.1.3 “BlockModel” on page 27)n Command ( Ä Chapter 6.1.4 “Command” on page 28)n CompensationModel ( Ä Chapter 6.1.5 “CompensationModel”

on page 31)n Connection ( Ä Chapter 6.1.6 “Connection” on page 32)n Control ( Ä Chapter 6.1.7 “Control” on page 34)n FileServer ( Ä Chapter 6.1.8 “FileServer” on page 40)n GCodesModel ( Ä Chapter 6.1.9 “GCodesModel” on page 41)n InfoModel ( Ä Chapter 6.1.10 “InfoModel” on page 42)n IoBitModel ( Ä Chapter 6.1.11 “IoBitModel” on page 43)n IoNamesModel ( Ä Chapter 6.1.12 “IoNamesModel” on page 45)n MsgModel ( Ä Chapter 6.1.13 “MsgModel” on page 46)n NCTableModel ( Ä Chapter 6.1.14 “NCTableModel” on page 47)n Plc ( Ä Chapter 6.1.15 “Plc” on page 48)n POU ( Ä Chapter 6.1.16 “POU” on page 50)n Request ( Ä Chapter 6.1.17 “Request” on page 51)n Struct ( Ä Chapter 6.1.18 “Struct” on page 53)

PA 9000 User HMI Programming

Submodules

21.07.2017 | 23

Page 24: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.1.1 AxesModelThe AxesModel provides a model of CNC axes.

Information about the CNC axes are supplied via the model's interface.Components can use the following roles:

n name axis namen correction axis correctionn dev axis deviationn end axis end positionn gain axis gainn lag axis lagn offset axis offsetn position axis current positionn rem axis remaining pathn velocity axis velocityn voltage axis voltage

Properties

n axesNumber : intn count : intn host : stringn port : intn rowNumber : intn station : stringn time : int

Methods

n var getProperty(int row, int role)

Table 5: Property DocumentationaxesNumber : int Returns number of axes in CNC configuration.

count : int Returns number of axis items in the model.

host : string Property holds host name of CNC. By default, this is"127.0.0.1" (local connection to CNC).

port : int Property holds port number of CNC. By default, this is62937.

rowNumber : int Reserve number of empty axis items in the model.

station : string Sets CNC station for communication. The propertyaccepts: nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8,sim. By default, this is nc1.

time : int Sets time in ms for cyclic data update from CNC. Bydefault, this is 50.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 24

Page 25: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

Table 6: Method Documentationvar getProperty(int row, int role) Returns axis value (depending on role) which index is

row. Available roles are:

n AxesModel.AxesNameRolen AxesModel.AxesCorrRolen AxesModel.AxesDevRolen AxesModel.AxesEndRolen AxesModel.AxesGainRolen AxesModel.AxesLagRolen AxesModel.AxesOffsetRolen AxesModel.AxesPosRolen AxesModel.AxesRemRolen AxesModel.AxesVelRolen AxesModel.AxesVoltageRole

PA 9000 User HMI Programming

Submodules

21.07.2017 | 25

Page 26: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.1.2 BcdModelThe BcdModel provides a model of BCD codes.

Model supports only one role:

n bcd

Properties

n count : intn host : stringn port : intn station : stringn time : int

Methods

n var getProperty(int row, int role)

Table 7: Property Documentationcount : int Returns number of BCD items in the model.

host : string Property holds host name of CNC. By default, this is"127.0.0.1" (local connection to CNC).

port : int Property holds port number of CNC. By default, this is62937.

station : string Sets CNC station for communication. The propertyaccepts: nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8,sim. By default, this is nc1.

time : int Sets time in ms for cyclic data update from CNC. Bydefault, this is 50.

Table 8: Method Documentationvar getProperty(int row, int role) Returns BCD code which index is row. Available role

is:

n BcdModel.BcdRole

Table 9: Signal Documentationerror(int code) Signal is emitted with code=1, if file was not opened.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 26

Page 27: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.1.3 BlockModelThe BlockModel provides a model of 3 NC blocks.

Information about the NC blocks are supplied via the model's interface.Components can use the following roles:

n all whole NC block as isn block body of NC block without numbern isCycleBlock block starts with *n isSkipBlock block starts with /n number block number

Properties

n count : intn host : stringn port : intn station : stringn time : int

Methods

n var getProperty(int row, int role)

Table 10: Property Documentationcount : int Returns number of NC block items in the model.

host : string Property holds host name of CNC. By default, this is"127.0.0.1" (local connection to CNC).

port : int Property holds port number of CNC. By default, this is62937.

rowNumber : int Reserve number of empty G code items in the model.

station : string Sets CNC station for communication. The propertyaccepts: nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8,sim. By default, this is nc1.

time : int Sets time in ms for cyclic data update from CNC. Bydefault, this is 50.

Table 11: Method Documentationvar getProperty(int row, int role) Returns block information (depending on role) which

index is row. Available roles are:

n BlockModel.AxesAllRolen BlockModel.AxesBlockRolen BlockModel.AxesCycleRolen BlockModel.AxesNumberRolen BlockModel.AxesSkipRole

PA 9000 User HMI Programming

Submodules

21.07.2017 | 27

Page 28: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.1.4 CommandProvides object to send commands to CNC or PLC.

Properties

n host : stringn port : intn station : string

Methods

n void sendCommand(string command, int timeout)n string getStringData(string command, string dataName, int

timeout)n int getIntData(string command, string dataName, int timeout)n var getListData(string command, string dataName, int timeout)n var getMapData(string command, int timeout)n void shutDown(bool os)

Signals

n shutDownCompleted(int state)

Table 12: Property Documentationhost : string Property holds host name of CNC. By default, this is

"127.0.0.1" (local connection to CNC).

port : int Property holds port number of PLC. By default, this is62937.

station : string Sets CNC station for communication. The propertyaccepts: nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8,sim. In case of request to PLC, this property is notused. By default, this is nc1.

Table 13: Method Documentationvoid sendCommand(string command, int timeout) Sends XML command. Uses timeout [optional] to

wait reply. If timeout is not specified, then uses defaultvalue 5000 ms.

string getStringData(string command, string data-Name, int timeout)

Sends XML command. Uses timeout [optional] towait reply. If timeout is not specified, then uses defaultvalue 5000 ms. When gets a replay, then returns valueof tag dataName as string.

int getIntData(string command, string dataName, inttimeout)

Sends XML command. Uses timeout [optional] towait reply. If timeout is not specified, then uses defaultvalue 5000 ms. When gets a replay, then returns valueof tag dataName as int.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 28

Page 29: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

var getListData(string command, string dataName, inttimeout)

Sends XML command. Uses timeout [optional] towait reply. If timeout is not specified, then uses defaultvalue 5000 ms. When gets a replay, then returns valueof tag dataName as list.

var getMapData(string command, int timeout) Sends XML command. Uses timeout [optional] towait reply. If timeout is not specified, then uses defaultvalue 5000 ms. When gets a replay, then returns alltags as map name:value.

void shutDown(bool os) Tries to shutdown CNC (os=false) or Windows(os=true). Parameter os is optional. By default, this isfalse. Emits signal shutDownCompleted.

Table 14: Signal DocumentationshutDownCompleted(int state) Repeats signal from CNC on shutdown call. If state =

1, then operation will be successfully completed byCNC. If state = 0, then CNC is busy and can't com-plete operation.

QmiButton {

text: trMain.texts("texts", 610, "OK")

onClicked: {

var block = input.text.replace(/^\s+/, "").toUpperCase()

if(block.length) {

if(block[0] !== '*' && block[0] !== '/' && block[0] !== 'N')block = "N1" + block

var ret = control.cnc.command.getMap-Data("<enter><sub>mdi</sub><block>" + block + "</block></enter>")

var errNo = Number(ret["errno"])

if(errNo > 0 && errNo < 999) {

var msg = messageBox(trErr.text("cnc",errNo).replace(/%\d/, ''))

msg.buttons = StandardButton.Close

}

else input.text = ret["block"]

}

}

}

PA 9000 User HMI Programming

Submodules

21.07.2017 | 29

Page 30: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

Table 15: UsingImport QtQuick 2.7

import QmiControls 1.0

import CncCommunication 1.0

//…

QmiButton {

text: "Reset"

shortcut: Shortcut {sequence: "Ctrl+R"}

//control is property of AppWindow

onClicked:

control.cnc.command.sendCommand("<mode><sub>reset</sub></mode>")

icon: "images/menu_reset.svg"

}

//…

QmiButton {

text: trMain.texts("texts", 610, "OK")

onClicked: {

var block = input.text.replace(/^\s+/, "").toUpperCase()

if(block.length) {

if(block[0] !== '*' && block[0] !== '/' && block[0] !== 'N') block = "N1" +block

control.cnc.command.getMapData("<enter><sub>mdi</sub><block>"+ block +"</block></enter>")

var errNo = Number(ret["errno"])

if(errNo > 0 && errNo < 999) {

var msg = messageBox(trErr.text("cnc", errNo).replace(/%\d/, ''))

msg.buttons = StandardButton.Close

}

else input.text = ret["block"]

}

}

PA 9000 User HMI Programming

Submodules

21.07.2017 | 30

Page 31: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.1.5 CompensationModelThe CompensationModel provides a model of active CNC compensa-tions.

Model supports only one role:

n compensation

Properties

n count : intn host : stringn port : intn station : stringn time : int

Methods

n var getProperty(int row, int role)

Table 16: Property Documentationcount : int Returns number of CNC compensation items in the

model.

host : string Property holds host name of CNC. By default, this is"127.0.0.1" (local connection to CNC).

port : int Property holds port number of CNC. By default, this is62937.

station : string Sets CNC station for communication. The propertyaccepts: nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8,sim. By default, this is nc1.

time : int Sets time in ms for cyclic data update from CNC. Bydefault, this is 50.

Table 17: Method Documentationvar getProperty(int row, int role) Returns compensation information (depending on

role) which index is row. Available roles are:

n CompensationModel.CompensationRole

PA 9000 User HMI Programming

Submodules

21.07.2017 | 31

Page 32: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.1.6 ConnectionProvides object to get data from CNC or PLC.

Properties

n host : stringn name : stringn port : intn request : stringn station : stringn tag : stringn value : var

Methods

n var getProperty(int row, int role)

Table 18: Property Documentationhost : string Property holds host name of CNC. By default, this is

"127.0.0.1" (local connection to CNC).

name : string Specifies tag in reply on XML request, which value willbe used to update property value. This property isused when tag is empty. By default, this is empty.

port : int Property holds port number of PLC. By default, this is62937.

request : string XML string to send to CNC or PLC.

station : string Sets CNC station for communication. The propertyaccepts: nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8,sim. In case of request to PLC, this property is notused. By default, this is nc1.

tag : string Specifies tag in reply on XML request, which value willbe used to update property value. By default, this isempty.

value : string Holds value of tag or name in replay on XML request.This property will be updated automatically if requestwas in automatic update mode.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 32

Page 33: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

Table 19: Using://…

Connection {

value: -1

request: "<ncda><auto>yes</auto><time>" + time +"</time><var>progch</var></ncda>"

tag: "progch"

host: control.host

onValueChanged: {

if(value !== -1) {

var path;

path = commandObject.getStringData("<dir><sub>exe</sub></dir>","path");

if(path.length > 0) path = path + "\\";

cncObject.programPath = path +

commandObject.getStringData("<dir><sub>exe</sub></dir>","name");

value = -1;

}

}

}

PA 9000 User HMI Programming

Submodules

21.07.2017 | 33

Page 34: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.1.7 ControlProvides CNC data and models of CNC data.

Properties

n host : stringn time : intn axes : intn plc : QtObject ( Ä “plc : QtObject” on page 34)n sim : QtObject ( Ä “sim : QtObject” on page 34)n cnc : QtObject ( Ä “cnc : QtObject” on page 34)n messages : QtObject

plc : QtObject

n command : Command ( Ä Chapter 6.1.4 “Command” on page 28)

sim : QtObject

n busy : booln ncda : Request ( Ä Chapter 6.1.17 “Request” on page 51)

– inauto : intn command : Command ( Ä Chapter 6.1.4 “Command” on page 28)

cnc : QtObject

n feed : Request ( Ä Chapter 6.1.17 “Request” on page 51)– act : string– bar : int– max : string– preset: string– over : string– rpdover : string

n spindle : Request ( Ä Chapter 6.1.17 “Request” on page 51)– act1 : string– bar : int– max1 : string– preset1: string– over1 : string

n programPath : stringn testWithMovement : booln parameters : variantn ncda : Request ( Ä Chapter 6.1.17 “Request” on page 51)

– status2 : int– bsupr : int– m01 : int– amode : int– sub : int– prg : int– block : int

PA 9000 User HMI Programming

Submodules

21.07.2017 | 34

Page 35: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

– rep : int– inauto : int– mode : int– mmode : int– man : int– test : int– haxes : int– raxes : int– refapr : int– hrel : int– ret : int– btr : int– hwch : int– jogch : int– backw : int– ibdisp : int– cbdisp : int– g92 : int

n command : Command ( Ä Chapter 6.1.4 “Command” on page 28)n axes : QtObject

– model : AxesModel ( Ä Chapter 6.1.1 “AxesModel”on page 24)

– mmodel : ListModelinit : bool

n gcodes : GCodesModel ( Ä Chapter 6.1.9 “GCodesModel”on page 41)

n blocks : BlockModel ( Ä Chapter 6.1.3 “BlockModel” on page 27)n bcd : BcdModel ( Ä Chapter 6.1.2 “BcdModel” on page 26)n compensation : CompensationModel ( Ä Chapter 6.1.5 “Compen-

sationModel” on page 31)n info : InfoModel ( Ä Chapter 6.1.10 “InfoModel” on page 42)n fileServer : FileServer ( Ä Chapter 6.1.8 “FileServer” on page 40)n ioNamesModel : IoNamesModel ( Ä Chapter 6.1.12 “IoNames-

Model” on page 45)n conf : Request ( Ä Chapter 6.1.17 “Request” on page 51)

– pg3d : bool– files : string– fname : string– data : FileListModel ( Ä Chapter 6.2 “FileListModel”

on page 54)n messages : QtObject

Functions

n forcePlc(name, value)

Signals

PA 9000 User HMI Programming

Submodules

21.07.2017 | 35

Page 36: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

n shutDownCompleted(int state)

Table 20: Property Documentationhost : string Property holds host name of CNC. By default, this is

"127.0.0.1" (local connection to CNC).

time : int Sets default time in ms for cyclic data update fromCNC for all interfaces within Control. By default, this is50.

axes : int Sets number of CNC axes for models. If axes aregreater than number of axes in CNC, then models willbe extended by empty axes.

plc : var Refers to PLC.

command : Command ( Ä Chapter 6.1.4 “Command”on page 28)

Sends command to PLC.

sim : QtObject Refers to CNC simulation channel.

busy : bool This is true when NC program is active in simulationchannel.

ncda : Request ( Ä Chapter 6.1.17 “Request”on page 51)

Gives access to NCDA of simulation channel.

command : Command ( Ä Chapter 6.1.4 “Command”on page 28)

Sends command to simulation channel.

cnc : QtObject Refers to CNC.

feed : Request ( Ä Chapter 6.1.17 “Request”on page 51)

Gives feed data.

act : string Actual feed.

bar : int Actual feed in percentages (0…100)

max : string Maximal feed.

preset: string Feed preset.

over : string Feed override (%)

rpdover : string Rapid speed override (%)

spindle : Request ( Ä Chapter 6.1.17 “Request”on page 51)

Gives spindle data.

act1 : string Actual spindle 1 speed

bar : int Actual spindle speed in percentages (0…100)

max1 : string Maximal spindle 1 speed

preset1: string Spindle 1 preset

PA 9000 User HMI Programming

Submodules

21.07.2017 | 36

Page 37: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

over1 : string Spindle 1 override

programPath : string Path to active NC program.

testWithMovement : bool This is true when test with movement mode is active.

parameters : variant Cycle parameter data should be assigned for thisproperty.

ncda : Request ( Ä Chapter 6.1.17 “Request”on page 51)

Gives access to NCDA of real CNC channel.

status2 : int Bit coded CNC status.

bsupr : int This is true when skip / block is active.

m01 : int This is true when optional M01 stop mode is active.

amode : int Active mode in automatic

n 0 - sequential blocksn 1 - single blocksn 2 - manual data input (MDI)

sub : int Subprogram number.

prg : int Main program number.

block : int Active block number.

rep : int Counter of repetitions of main program.

inauto : int This is >0 when program is in automatic mode.

mode : int Main mode state

n 0 - automatic moden 1 - single block moden 2 - manual data input (MDI)n 3 - manual moden 4 - memory moden 5 - reference cycle moden 255 - not selected

mmode : int Manual mode state

n 1 - continuous moden 2 - incremental moden 3 - handwheel

man : int Previous manual mode.

test : int Bit coded test mode

n bit 0 - test without movementn bit 1 - G01 overriden bit 2 - without movement override

PA 9000 User HMI Programming

Submodules

21.07.2017 | 37

Page 38: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

haxes : int Bit coded value of axes selected for manual move-ment.

raxes : int Bit coded value of axes selected for reference pointmovement.

refapr : int Bit coded value of axes selected for reference pointmovement.

hrel : int If >0 then movement all axes to refence point com-pleted.

ret : int If >0 then retreat mode is active.

btr : int If >0 then back transformation mode is active.

hwch : int If >0 then handwheel steps changed.

jogch : int If >0 then jog incremental steps changed.

backw : int If >0 then backward mode is active.

ibdisp : int If >0 then intermediate block display mode is active.

cbdisp : int If >0 then cycle block display mode is active.

g92 : int If >0 then G92 display mode is active.

command : Command ( Ä Chapter 6.1.4 “Command”on page 28)

Sends commands to real CNC.

axes : QtObject Refers to axes data

model: AxesModel ( Ä Chapter 6.1.1 “AxesModel”on page 24)

Model

mmodel : ListModel For internal use.

init : bool For internal use.

gcodes : GCodesModel ( Ä Chapter 6.1.9 “GCodes-Model” on page 41)

G codes

blocks : BlockModel ( Ä Chapter 6.1.3 “BlockModel”on page 27)

NC Blocks

bcd : BcdModel ( Ä Chapter 6.1.2 “BcdModel”on page 26)

BCD codes

compensation : CompensationModel ( Ä Chapter6.1.5 “CompensationModel” on page 31)

Compensations

info : InfoModel ( Ä Chapter 6.1.10 “InfoModel”on page 42)

NC information blocks

fileServer : FileServer ( Ä Chapter 6.1.8 “FileServer”on page 40)

Reads/writes CNC data files.

ioNamesModel : IoNamesModel CNC and PLC IOs.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 38

Page 39: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

conf : Request Reads CNC configuration data.

pg3d : bool This is true when any 3D options are in dongle.

files : string Not used.

fname : string Path to CNC configuration file.

data : FileListModel Content of CNC configuration file.

messages : QtObject MsgModel ( Ä Chapter 6.1.13 “MsgModel”on page 46) should be assigned for this property.

Table 21: Function DocumentationforcePlc(name, value) Writes value to PLC variable name.

Table 22: Using://…

//control is the object of Control type

control.forcePlc(".PI_Emergency", 1)

Table 23: Signal DocumentationshutDownCompleted(int state) The signal is emitted on command.shutdown call. If

state = 1, then operation will be successfully com-pleted by CNC. If state = 0, then CNC is busy andcan't complete operation.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 39

Page 40: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.1.8 FileServerProvides reading and writing CNC data files.

Properties

n busy : booln data : variant

Methods

n bool load(NCDataType ncSource)

Table 24: Property Documentationbusy : bool This true while server is reading data.

data : variant Contains data as string after file reading.

Table 25: Method Documentationbool load(NCDataType ncSource) Loads file from CNC memory. Property data gets con-

tent of the file. Following types are accepted inncSource:

n FileServer.LengthCorrn FileServer.PathCorrn FileServer.PartOffsetn FileServer.CycleParametersn FileServer.MachineParametersn FileServer.PlcRetainn FileServer.DriveConfign FileServer.IoConfign FileServer.NcFileDirn FileServer.CncDatan FileServer.PlcData1n FileServer.PlcData2n FileServer.PlcSourcen FileServer.PlcProjectn FileServer.CycleProgramsn FileServer.HwConfn FileServer.CncConf

PA 9000 User HMI Programming

Submodules

21.07.2017 | 40

Page 41: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.1.9 GCodesModelThe GCodesModel provides a model of active G codes.

Model supports only one role:

n code

Properties

n count : intn host : stringn gcodeNumber : intn port : intn rowNumber : intn station : stringn time : int

Methods

n var getProperty(int row, int role)

Table 26: Property Documentationcount : int Returns number of G code items in the model.

host : string Property holds host name of CNC. By default, this is"127.0.0.1" (local connection to CNC).

gcodeNumber : int Returns number of G code groups in CNC configura-tion.

port : int Property holds port number of CNC. By default, this is62937.

rowNumber : int Reserve number of empty G code items in the model.

station : string Sets CNC station for communication. The propertyaccepts: nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8,sim. By default, this is nc1.

time : int Sets time in ms for cyclic data update from CNC. Bydefault, this is 50.

Table 27: Method Documentationvar getProperty(int row, int role) Returns block information (depending on role) which

index is row. Available roles are:

n GCodesModel.GCodeCodeRole

PA 9000 User HMI Programming

Submodules

21.07.2017 | 41

Page 42: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.1.10 InfoModelThe InfoModel provides a model of CNC information blocks.

Information about the CNC information blocks are supplied via themodel's interface. Components can use the following roles:

n name information numbern value additional text

Properties

n count : intn host : stringn port : intn station : stringn time : int

Methods

n var getProperty(int row, int role)

Table 28: Property Documentationcount : int Returns number of CNC information block items in the

model.

host : string Property holds host name of CNC. By default, this is"127.0.0.1" (local connection to CNC).

port : int Property holds port number of CNC. By default, this is62937.

station : string Sets CNC station for communication. The propertyaccepts: nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8,sim. By default, this is nc1.

time : int Sets time in ms for cyclic data update from CNC. Bydefault, this is 50.

Table 29: Method Documentationvar getProperty(int row, int role) Returns CNC information block data (depending on

role) which index is row. Available roles are:

n InfoModel.NameRolen InfoModel.ValueRole

PA 9000 User HMI Programming

Submodules

21.07.2017 | 42

Page 43: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.1.11 IoBitModelThe IoBitModel provides a model of double word or PLC byte in CNCand PLC IO interface.

Information about the double word or value are supplied via the mod-el's interface. Components can use the following roles:

n name bit namen value bit value (on or off)

Properties

n count : intn host : stringn ioId : intn isInput : booln name : stringn number : intn port : intn st : intn station : stringn time : intn value : int

Methods

n var getProperty(int row, int role)

Table 30: Property Documentationcount : int Returns number of bit items (8 or 32) in the model.

host : string Property holds host name of CNC. By default, this is"127.0.0.1" (local connection to CNC).

ioId : int Property holds identifier of interface double word orbyte.

Identifier is calculated by formula:st * 0x1000 + (isInput ? 0 : 0x100) + number

isInput : bool Returns true when double word or byte is input.

name : string Returns the name of double word or byte.

number : int Returns address of CNC double word (0…63) or PLCbyte (0…255).

port : int Property holds port number of CNC. By default, this is62937.

st : int Returns station of CNC double word (1…8) or 0 forPLC byte.

station : string Not used.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 43

Page 44: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

time : int Sets time in ms for cyclic data update from CNC. Bydefault, this is 50.

value : int Returns value of all bits.

Table 31: Method Documentationvar getProperty(int row, int role) Returns information depending on role. Index of item

is row. Available roles are:

n IoBitModel.Namen IoBitModel.Value

PA 9000 User HMI Programming

Submodules

21.07.2017 | 44

Page 45: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.1.12 IoNamesModelThe IoNamesModel provides a model of CNC and PLC IO interface.

Information about the double word or value are supplied via the mod-el's interface. Components can use the following roles:

n ioId identifier. Identifier is calculated by formula:station * 0x1000 + (isInput ? 0 : 0x100) + number

n isInput type: input or not (output)n name double word or byte namen number double word (0…63) or byte (0…255) addressn section combination of station bits and typen station station of double word (1…8) or byte (0)

Properties

n count : intn host : stringn port : intn station : stringn time : int

Methods

n var getProperty(int row, int role)

Table 32: Property Documentationcount : int Returns number of IO items in the model.

host : string Property holds host name of CNC. By default, this is"127.0.0.1" (local connection to CNC).

port : int Property holds port number of CNC. By default, this is62937.

station : string Not used.

time : int Sets time in ms for cyclic data update from CNC. Bydefault, this is 50.

Table 33: Method Documentationvar getProperty(int row, int role) Returns information depending on role. Index of item

is row. Available roles are:

n IoNamesModel.IoIdn IoNamesModel.IsInputn IoNamesModel.RoleNamen IoNamesModel.RoleNumbern IoNamesModel.RoleStationn IoNamesModel.Section

PA 9000 User HMI Programming

Submodules

21.07.2017 | 45

Page 46: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.1.13 MsgModelThe MsgModel provides QML type for model of the CNC and PLCerror messages and notes.

Information about messages are supplied via the model's interface.Components can use the following roles:

n number message numbern prio priority of the messagen source message source: one of the MsgModel.SourceNc1,

MsgModel.SourceNc2, MsgModel.SourceNc3, MsgModel.Sour-ceNc4, MsgModel.SourceNc5, MsgModel.SourceNc6,MsgModel.SourceNc7, MsgModel.SourceNc8, MsgModel.Sour-ceRun, MsgModel.SourcePlc, MsgModel.SourceSim

n strNumber message number as stringn strSource message source as stringn text message textn time message timen type message type: MsgModel.TypeAlarm or MsgModel.Type-

NoteProperties

n count : intn host : stringn maxCount : intn port : intn sources : intn translator : var

Methods

n var getProperty(int row, int role)n void remove(int index)n string textForItem(int index, string text)

Table 34: Property Documentationcount : int Returns number of message items in the model.

host : string Property holds host name of CNC. By default, this is"127.0.0.1" (local connection to CNC).

maxCount : int Maximal number of messages to be stored in themodel. If new message exceeds this limit, then firstmessage in the model is removed.

port : int Property holds port number of CNC. By default, this is62937.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 46

Page 47: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

sources : int Defines sources which will be observed for error mes-sages. This can be any combinations ofMsgModel.SourceNc1, MsgModel.SourceNc2,MsgModel.SourceNc3, MsgModel.SourceNc4,MsgModel.SourceNc5, MsgModel.SourceNc6,MsgModel.SourceNc7, MsgModel.SourceNc8,MsgModel.SourceRun, MsgModel.SourcePlc,MsgModel.SourceSim or MsgModel.SourceAll forall sources. By default, this is MsgModel.SourceAll.

translator : var Sets translator with error messages texts.

Table 35: Method Documentationvar getProperty(int row, int role) Returns information depending on role. Index of item

is row. Available roles are:

n MsgModel.NumberRolen MsgModel.PrioRolen MsgModel.SourceRolen MsgModel.StrNumberRolen MsgModel.StrSourceRolen MsgModel.TextRolen MsgModel.TimeRolen MsgModel.TypeRole

string textForItem(int index, string text) If item with index exists in the model, then replies vari-able parts (%1…%9) of text by variables of item andreturns resulting string. If item doesn't exist, thenreturns text.

6.1.14 NCTableModelMore information about this model will come in the next release of thisdocumentation.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 47

Page 48: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.1.15 PlcType Plc provides convenient way to use PLC variables in QML appli-cation as conventional QML properties.

When value of PLC variable is changed in PLC program, then corre-sponding QML property is automatically updated.

When value of QML property is changed in QML (due to binding or inscript), then this change will be automatically synchronized with corre-sponding PLC variable.

Data exchange between PLC and QML needs time. Therefore, fol-lowing script will not provide result as expected:

Import QtQuick 2.7

import QmiControls 1.0

import CncCommunication 1.0

//…

Plc {

id: plc

host: control.host

property int myVariable

}

//…

QmiButton {

onClicked: {

plc.myVariable = 0

plc.myVariable = 1

}

}

PLC variable .myVariable will not really get 0, then 1. It will get onlyvalue 1!

If you want to generate such raise condition for PLC variable, youshould use function forcePlc() of the Control.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 48

Page 49: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

Import QtQuick 2.7

import CncCommunication 1.0

/*You don’t need this object, if you will only write to PLC

Plc {

id: plc

host: control.host

property int myVariable

}*/

//…

onClicked: {

//control is property of AppWindow

control.forcePlc(“.myVariable”, 0)

control.forcePlc(“.myVariable”, 1)

}

If PLC variable .myArray is ARRAY [0..6]:

property var myArray: [0, 0, 0, 0, 0, 0, 0]

You can connect properties to PLC variables from POU and use struc-tured variables by type Struct.Properties

n host : stringn port : intn time : int

Methods

n var getVar(string name)n void setVar(string name, var value)n void set(string name, var value, int index)

Table 36: Property Documentationhost : string Property holds host name of CNC. By default, this is

"127.0.0.1" (local connection to CNC).

port : int Property holds port number of PLC. By default, this is62944.

time : int Sets time in ms for cyclic data update from CNC. Bydefault, this is 50.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 49

Page 50: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

Table 37: Method Documentationvar getVar(string name) Don’t use this method.

void setVar(string name, var value) Don’t use this method.

void set(string name, var value, int index) Don’t use this method.

6.1.16 POUProvides connection of QML properties inside PLC to PLC variables inPOU.

Import QtQuick 2.7

import QmiControls 1.0

import CncCommunication 1.0

//…

Plc {

id: plc

host: control.host

property int myVariable

POU {

id: myPOU

property bool myVariableInPOU: false

}

}

QmiButton {

onClicked: {

plc.myVariable = 1

plc.myPOU.myVariableInPOU = true

}

}

Here myVariableInPOU is PLC variable in POU myPOU.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 50

Page 51: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.1.17 RequestProvides communication with CNC or PLC.

Sends specified XML request to CNC or PLC. When gets a reply, thencreates as many properties for values as XML tags of reply. If requestwas in automatic updating mode, then values of those properties willbe updated automatically when data is changed in CNC.

Properties

n host : stringn port : intn request : stringn station : stringn values : var

Table 38: Property Documentationhost : string Property holds host name of CNC. By default, this is

"127.0.0.1" (local connection to CNC).

port : int Property holds port number of PLC. By default, this is62937.

request : string XML command to send.

station : string Sets CNC station for communication. The propertyaccepts: nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8,sim. In case of request to PLC, this property isignored. By default, this is nc1.

values : var Contains as many properties inside as tags in reply.Properties have the same names as tag names.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 51

Page 52: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

Table 39: Using:Import QtQuick 2.7

import CncCommunication 1.0

//…

Text {

text: “M01 mode: “ + ncda.m01

}

Request {

Id: ncda

property int status2: Number(values.status2)

property int bsupr: Number(values.bsupr)

property int m01: Number(values.m01)

property int amode: Number(values.amode)

property int sub: Number(values.sub)

property int prg: Number(values.prg)

property int block: Number(values.block)

property int rep: Number(values.rep)

property int inauto: Number(values.inauto)

property int mode: Number(values.mode)

property int mmode: Number(values.mmode)

property int man: Number(values.man)

property int test: Number(values.test)

property int haxes: Number(values.haxes)

property int raxes: Number(values.raxes)

property int refapr: Number(values.refapr)

property int hrel: Number(values.hrel)

property int ret: Number(values.ret)

property int btr: Number(values.btr)

property int hwch: Number(values.hwch)

property int jogch: Number(values.jogch)

property int backw: Number(values.backw)

property int ibdisp: Number(values.ibdisp)

property int cbdisp: Number(values.cbdisp)

property int g92: Number(values.g92)

host: control.host

PA 9000 User HMI Programming

Submodules

21.07.2017 | 52

Page 53: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

request: "<ncda><auto>yes</auto><time>" + time +"</time><var>status2,bsupr,m01,amode,sub,prg,block,rep,inauto,mode,mmode,man,test,haxes,raxes,refapr,hrel,ret,btr,hwch,jogch,backw,ibdisp,cbdisp,g92</var></ncda>"

}

6.1.18 StructProvides connection of QML properties inside PLC to structed PLCvariables.

Import QtQuick 2.7

import QmiControls 1.0

import CncCommunication 1.0

//…

Plc {

id: plc

host: control.host

property int myVariable

Struct {

id: myStructedVar

property bool field1

property bool field2

}

}

QmiButton {

onClicked: {

plc.myVariable = 1

plc. myStructedVar.field1= true

plc. myStructedVar.field2= false

}

}

Here field1 and field2 are field of global PLC structed vari-able .myStructedVar.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 53

Page 54: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.2 FileListModelThe FileListModel module provides QML type for model of the con-tents of a file. The FileListModel type can be imported into your appli-cation using the following import statement in your qml file.

import filelistmodel 1.0Module contains following QML types:

n FileListModel

6.2.1 FileListModelThe FileListModel provides model of the contents of a text file.

Properties

n count : intn file : string

Methods

n bool contains(string str)

Signals

n error(int code)

Table 40: Property Documentationcount : int Returns number of line in the file.

file : string Holds file path.

Table 41: Method Documentationbool contains(string str) Returns true if file contains the string str.

Table 42: Signal Documentationerror(int code) Signal is emitted with code=1, if file was not opened.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 54

Page 55: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.3 MainThe Main module provides QML types for main QMI application. TheQML types can be imported into your application using the followingimport statement in your qml file.

import Main 1.0Module contains following QML types:

n ActiveWidget ( Ä Chapter 6.3.1 “ActiveWidget” on page 57)n AutoBackwPanel ( Ä Chapter 6.3.2 “AutoBackwPanel”

on page 57)n AutoDisplayPanel ( Ä Chapter 6.3.3 “AutoDisplayPanel”

on page 57)n AutoMenuButton ( Ä Chapter 6.3.4 “AutoMenuButton” on page 57)n AutoModePanel ( Ä Chapter 6.3.5 “AutoModePanel” on page 57)n AutoPage ( Ä Chapter 6.3.6 “AutoPage” on page 58)n AutoSubModePanel ( Ä Chapter 6.3.7 “AutoSubModePanel”

on page 58)n AutoTestPanel ( Ä Chapter 6.3.8 “AutoTestPanel” on page 58)n BasePage ( Ä Chapter 6.3.9 “BasePage” on page 58)n BcdWidget ( Ä Chapter 6.3.10 “BcdWidget” on page 58)n ChangePasswordDialog ( Ä Chapter 6.3.11 “ChangePassword-

Dialog” on page 58)n CompWidget ( Ä Chapter 6.3.12 “CompWidget” on page 58)n CorrWidget ( Ä Chapter 6.3.13 “CorrWidget” on page 58)n DataMenuButton ( Ä Chapter 6.3.14 “DataMenuButton”

on page 59)n DataPage ( Ä Chapter 6.3.15 “DataPage” on page 59)n DirWidget ( Ä Chapter 6.3.16 “DirWidget” on page 59)n EndPosWidget ( Ä Chapter 6.3.17 “EndPosWidget” on page 59)n FeedPanel ( Ä Chapter 6.3.18 “FeedPanel” on page 59)n FeedWidget ( Ä Chapter 6.3.19 “FeedWidget” on page 59)n GWidget ( Ä Chapter 6.3.20 “GWidget” on page 59)n HidePanelButton ( Ä Chapter 6.3.21 “HidePanelButton”

on page 59)n InfoMenuButton ( Ä Chapter 6.3.22 “InfoMenuButton” on page 60)n InfoPage ( Ä Chapter 6.3.23 “InfoPage” on page 60)n InfoWidget ( Ä Chapter 6.3.24 “InfoWidget” on page 60)n InterfaceSubPage ( Ä Chapter 6.3.25 “InterfaceSubPage”

on page 60)n InterfaceWidget ( Ä Chapter 6.3.26 “InterfaceWidget” on page 60)n KvWidget ( Ä Chapter 6.3.27 “KvWidget” on page 60)n LagWidget ( Ä Chapter 6.3.28 “LagWidget” on page 60)n LoginDialog ( Ä Chapter 6.3.29 “LoginDialog” on page 60)n MainAppWindow ( Ä Chapter 6.3.30 “MainAppWindow”

on page 61)n MainSettings ( Ä Chapter 6.3.31 “MainSettings” on page 63)

PA 9000 User HMI Programming

Submodules

21.07.2017 | 55

Page 56: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

n ManAuxPanel ( Ä Chapter 6.3.32 “ManAuxPanel” on page 63)n ManAxesPanel ( Ä Chapter 6.3.33 “ManAxesPanel” on page 63)n ManIncrementDialog ( Ä Chapter 6.3.34 “ManIncrementDialog”

on page 63)n ManJogPanel ( Ä Chapter 6.3.35 “ManJogPanel” on page 64)n ManMenuButton ( Ä Chapter 6.3.36 “ManMenuButton”

on page 64)n ManModePanel ( Ä Chapter 6.3.37 “ManModePanel” on page 64)n ManPage ( Ä Chapter 6.3.38 “ManPage” on page 64)n ManStepDialog ( Ä Chapter 6.3.39 “ManStepDialog” on page 64)n ManZeroDialog ( Ä Chapter 6.3.40 “ManZeroDialog” on page 64)n MdiSubPage ( Ä Chapter 6.3.41 “MdiSubPage” on page 64)n MessagesPanel ( Ä Chapter 6.3.42 “MessagesPanel” on page 64)n MessagesSubPage ( Ä Chapter 6.3.43 “MessagesSubPage”

on page 65)n ModeWidget ( Ä Chapter 6.3.44 “ModeWidget” on page 65)n NcProgramPanel ( Ä Chapter 6.3.45 “NcProgramPanel”

on page 65)n NcTablesSubPage ( Ä Chapter 6.3.46 “NcTablesSubPage”

on page 65)n OffsetWidget ( Ä Chapter 6.3.47 “OffsetWidget” on page 65)n OutWidget ( Ä Chapter 6.3.48 “OutWidget” on page 65)n OverrideIncrementDialog ( Ä Chapter 6.3.49 “OverrideIncrement-

Dialog” on page 65)n OverridePanel ( Ä Chapter 6.3.50 “OverridePanel” on page 65)n Pg2D ( Ä Chapter 6.3.51 “Pg2D” on page 66)n Pg3D ( Ä Chapter 6.3.52 “Pg3D” on page 66)n PgPanel ( Ä Chapter 6.3.53 “PgPanel” on page 66)n PgPanelButton ( Ä Chapter 6.3.54 “PgPanelButton” on page 66)n PgPanelModeButton ( Ä Chapter 6.3.55 “PgPanelModeButton”

on page 66)n PgStandard ( Ä Chapter 6.3.56 “PgStandard” on page 66)n PosWidget ( Ä Chapter 6.3.57 “PosWidget” on page 66)n ProgramWidget ( Ä Chapter 6.3.58 “ProgramWidget” on page 66)n RemWidget ( Ä Chapter 6.3.59 “RemWidget” on page 67)n ResetMenuButton ( Ä Chapter 6.3.60 “ResetMenuButton”

on page 67)n SetupMenuButton ( Ä Chapter 6.3.61 “SetupMenuButton”

on page 67)n SetupPage ( Ä Chapter 6.3.62 “SetupPage” on page 67)n SetupWidget ( Ä Chapter 6.3.63 “SetupWidget” on page 67)n SpeedWidget ( Ä Chapter 6.3.64 “SpeedWidget” on page 67)n SpindlePanel ( Ä Chapter 6.3.65 “SpindlePanel” on page 67)n SpindleWidget ( Ä Chapter 6.3.66 “SpindleWidget” on page 67)n StartMenuButton ( Ä Chapter 6.3.67 “StartMenuButton”

on page 68)

PA 9000 User HMI Programming

Submodules

21.07.2017 | 56

Page 57: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

n StateWidget ( Ä Chapter 6.3.68 “StateWidget” on page 68)n StopMenuButton ( Ä Chapter 6.3.69 “StopMenuButton”

on page 68)n ZoomSubPage ( Ä Chapter 6.3.70 “ZoomSubPage” on page 68)

6.3.1 ActiveWidgetMore information about this QML type will come in the next release ofthis documentation.

6.3.2 AutoBackwPanelMore information about this QML type will come in the next release ofthis documentation.

6.3.3 AutoDisplayPanelMore information about this QML type will come in the next release ofthis documentation.

6.3.4 AutoMenuButtonMore information about this QML type will come in the next release ofthis documentation.

6.3.5 AutoModePanelMore information about this QML type will come in the next release ofthis documentation.

6.3.6 AutoPageMore information about this QML type will come in the next release ofthis documentation.

6.3.7 AutoSubModePanelMore information about this QML type will come in the next release ofthis documentation.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 57

Page 58: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.3.8 AutoTestPanelMore information about this QML type will come in the next release ofthis documentation.

6.3.9 BasePageMore information about this QML type will come in the next release ofthis documentation.

6.3.10 BcdWidgetMore information about this QML type will come in the next release ofthis documentation.

6.3.11 ChangePasswordDialogMore information about this QML type will come in the next release ofthis documentation.

6.3.12 CompWidgetMore information about this QML type will come in the next release ofthis documentation.

6.3.13 CorrWidgetMore information about this QML type will come in the next release ofthis documentation.

6.3.14 DataMenuButtonMore information about this QML type will come in the next release ofthis documentation.

6.3.15 DataPageMore information about this QML type will come in the next release ofthis documentation.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 58

Page 59: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.3.16 DirWidgetMore information about this QML type will come in the next release ofthis documentation.

6.3.17 EndPosWidgetMore information about this QML type will come in the next release ofthis documentation.

6.3.18 FeedPanelMore information about this QML type will come in the next release ofthis documentation.

6.3.19 FeedWidgetMore information about this QML type will come in the next release ofthis documentation.

6.3.20 GWidgetMore information about this QML type will come in the next release ofthis documentation.

6.3.21 HidePanelButtonMore information about this QML type will come in the next release ofthis documentation.

6.3.22 InfoMenuButtonMore information about this QML type will come in the next release ofthis documentation.

6.3.23 InfoPageMore information about this QML type will come in the next release ofthis documentation.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 59

Page 60: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.3.24 InfoWidgetMore information about this QML type will come in the next release ofthis documentation.

6.3.25 InterfaceSubPageMore information about this QML type will come in the next release ofthis documentation.

6.3.26 InterfaceWidgetMore information about this QML type will come in the next release ofthis documentation.

6.3.27 KvWidgetMore information about this QML type will come in the next release ofthis documentation.

6.3.28 LagWidgetMore information about this QML type will come in the next release ofthis documentation.

6.3.29 LoginDialogMore information about this QML type will come in the next release ofthis documentation.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 60

Page 61: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.3.30 MainAppWindowProvides a top-level application window of main QMI application.

Inherits type AppWindow.

Properties

n activeWidget : Componentn autoPage : Componentn basePage : Componentn bcdWidget : Componentn blocksServo : booln compWidget : Componentn corrWidget : Componentn dataPage : Componentn dirWidget : Componentn endPosWidget : Componentn feedWidget : Componentn gWidget : Componentn infoPage : Componentn infoWidget : Componentn kvWidget : Componentn lagWidget : Componentn MainSettings : MainSettingsn manPage : Componentn outWidget : Componentn pgMode : intn pgObject : varn posWidget : Componentn programWidget : Componentn remWidget : Componentn setupPage : Componentn shutdownOS : booln speedWidget : Componentn spindleWidget : Componentn trErr : Translatorn trMain : Translator

Functions

n no()rejected()yes()

PA 9000 User HMI Programming

Submodules

21.07.2017 | 61

Page 62: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

Table 43: Property DocumentationblocksServo : bool 3 NC block display mode (true - servo, false -

basis). By default, this is false.

mainSettings : MainSettings References to main settings.

pgMode : int Holds path graphics mode:1- standard graphics2 - 2D graphics3 - 3D graphics.By default, this is 0. Initialized from CNC dongle orConfiguration File.

pgObject : var References on path graphics object. For internal use,only!

shutdownOS : bool For internal use, only!

trErr : Translator Translator for CNC, PLC and system errors. Trans-lator is loaded by default from text file errors.txt. Canbe redefined in Configuration File.

trMain : Translator Translator for module texts. Translator is loaded bydefault from text file main.txt. Can be redefined inConfiguration File.

activeWidget : Component Component of ActiveWidget for MenuView.

posWidget : Component Component of PosWidget for MenuView.

endPosWidget : Component Component of EndPosWidget for MenuView.

remWidget : Component Component of RemWidget for MenuView.

gWidget : Component Component of GWidget for MenuView.

corrWidget : Component Component of CorrWidget for MenuView.

kvWidget : Component Component of KvWidget for MenuView.

lagWidget : Component Component of LagWidget for MenuView.

dirWidget : Component Component of DirWidget for MenuView.

outWidget : Component Component of OutWidget for MenuView.

compWidget : Component Component of CompWidget for MenuView.

feedWidget : Component Component of FeedWidget for MenuView.

spindleWidget : Component Component of SpindleWidget for MenuView.

infoWidget : Component Component of InfoWidget for MenuView.

bcdWidget : Component Component of BcdWidget for MenuView.

programWidget : Component Component of ProgramWidget for MenuView.

speedWidget : Component Component of SpeedWidget for MenuView.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 62

Page 63: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

basePage : Component Component of for pages property of AppWindow.

manPage : Component Component of ManPage for pages property of App-Window.

autoPage : Component Component of AutoPage for pages property of App-Window.

dataPage : Component Component of DataPage for pages property of App-Window.

infoPage : Component Component of InfoPage for pages property of App-Window.

setupPage : Component Component of SetupPage for pages property of App-Window.

Table 44: Functionsno() Function for QMI closing dialog.

rejected() Function for QMI closing dialog.

yes() Function for QMI closing dialog.

6.3.31 MainSettingsMore information about this QML type will come in the next release ofthis documentation.

6.3.32 ManAuxPanelMore information about this QML type will come in the next release ofthis documentation.

6.3.33 ManAxesPanelMore information about this QML type will come in the next release ofthis documentation.

6.3.34 ManIncrementDialogMore information about this QML type will come in the next release ofthis documentation.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 63

Page 64: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.3.35 ManJogPanelMore information about this QML type will come in the next release ofthis documentation.

6.3.36 ManMenuButtonMore information about this QML type will come in the next release ofthis documentation.

6.3.37 ManModePanelMore information about this QML type will come in the next release ofthis documentation.

6.3.38 ManPageMore information about this QML type will come in the next release ofthis documentation.

6.3.39 ManStepDialogMore information about this QML type will come in the next release ofthis documentation.

6.3.40 ManZeroDialogMore information about this QML type will come in the next release ofthis documentation.

6.3.41 MdiSubPageMore information about this QML type will come in the next release ofthis documentation.

6.3.42 MessagesPanelMore information about this QML type will come in the next release ofthis documentation.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 64

Page 65: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.3.43 MessagesSubPageMore information about this QML type will come in the next release ofthis documentation.

6.3.44 ModeWidgetMore information about this QML type will come in the next release ofthis documentation.

6.3.45 NcProgramPanelMore information about this QML type will come in the next release ofthis documentation.

6.3.46 NcTablesSubPageMore information about this QML type will come in the next release ofthis documentation.

6.3.47 OffsetWidgetMore information about this QML type will come in the next release ofthis documentation.

6.3.48 OutWidgetMore information about this QML type will come in the next release ofthis documentation.

6.3.49 OverrideIncrementDialogMore information about this QML type will come in the next release ofthis documentation.

6.3.50 OverridePanelMore information about this QML type will come in the next release ofthis documentation.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 65

Page 66: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.3.51 Pg2DMore information about this QML type will come in the next release ofthis documentation.

6.3.52 Pg3DMore information about this QML type will come in the next release ofthis documentation.

6.3.53 PgPanelMore information about this QML type will come in the next release ofthis documentation.

6.3.54 PgPanelButtonMore information about this QML type will come in the next release ofthis documentation.

6.3.55 PgPanelModeButtonMore information about this QML type will come in the next release ofthis documentation.

6.3.56 PgStandardMore information about this QML type will come in the next release ofthis documentation.

6.3.57 PosWidgetMore information about this QML type will come in the next release ofthis documentation.

6.3.58 ProgramWidgetMore information about this QML type will come in the next release ofthis documentation.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 66

Page 67: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.3.59 RemWidgetMore information about this QML type will come in the next release ofthis documentation.

6.3.60 ResetMenuButtonMore information about this QML type will come in the next release ofthis documentation.

6.3.61 SetupMenuButtonMore information about this QML type will come in the next release ofthis documentation.

6.3.62 SetupPageMore information about this QML type will come in the next release ofthis documentation.

6.3.63 SetupWidgetMore information about this QML type will come in the next release ofthis documentation.

6.3.64 SpeedWidgetMore information about this QML type will come in the next release ofthis documentation.

6.3.65 SpindlePanelMore information about this QML type will come in the next release ofthis documentation.

6.3.66 SpindleWidgetMore information about this QML type will come in the next release ofthis documentation.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 67

Page 68: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.3.67 StartMenuButtonMore information about this QML type will come in the next release ofthis documentation.

6.3.68 StateWidgetMore information about this QML type will come in the next release ofthis documentation.

6.3.69 StopMenuButtonMore information about this QML type will come in the next release ofthis documentation.

6.3.70 ZoomSubPageMore information about this QML type will come in the next release ofthis documentation.

6.4 NCProgramListModelThe NCProgramListModel module provides QML type for model ofthe contents of a NC program file. The QML types can be imported intoyour application using the following import statement in your qml file.

import ncprogramlistmodel 1.0Module contains following QML types:

n NCProgramListModel ( Ä Chapter 6.4.1 “NCProgramListModel”on page 69)

PA 9000 User HMI Programming

Submodules

21.07.2017 | 68

Page 69: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.4.1 NCProgramListModelThe NCProgramListModel provides model of the contents of a NC pro-gram file.

Information about the NC blocks are supplied via the model's interface.Components can use the following roles:

n block: NC block body without numbern isCycleBlock: true if block starts with *n isSkipBlock: true if block starts with /n number: block number

Properties

n count : intn file : string

Signals

n error(int code)

Table 45: Property Documentationcount : int Returns number of line in the file.

file : string Holds file path.

Table 46: Signal Documentationerror(int code) Signal is emitted with code=1, if file was not opened.

6.5 PgThe Pg module provides QML type for path graphics display. The QMLtypes can be imported into your application using the following importstatement in your qml file.

import Pg 1.0Module contains following QML types:

n PgView2d ( Ä Chapter 6.5.1 “PgView2d” on page 69)n PgView3d ( Ä Chapter 6.5.2 “PgView3d” on page 70)

6.5.1 PgView2dMore information about this QML type will come in the next release ofthis documentation.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 69

Page 70: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.5.2 PgView3dMore information about this QML type will come in the next release ofthis documentation.

6.6 QMIThe Qmi module provides QML types for series of QMI applications.The QML types can be imported into your application using the fol-lowing import statement in your qml file.

import Qmi 1.0Module contains following QML types:

n AppWindow ( Ä Chapter 6.6.1 “AppWindow” on page 71)n ContextMenu ( Ä Chapter 6.6.2 “ContextMenu” on page 72)n ContextMenuButton ( Ä Chapter 6.6.3 “ContextMenuButton”

on page 72)n ContextMenuItem ( Ä Chapter 6.6.4 “ContextMenuItem”

on page 72)n FileDialog ( Ä Chapter 6.6.5 “FileDialog” on page 72)n FooterBackground ( Ä Chapter 6.6.6 “FooterBackground”

on page 72)n HeaderBarBackground ( Ä Chapter 6.6.7 “HeaderBarBackground”

on page 73)n HeaderContentBackground ( Ä Chapter 6.6.8 “HeaderContent-

Background” on page 73)n LogoWidget ( Ä Chapter 6.6.9 “LogoWidget” on page 73)n MenuButton ( Ä Chapter 6.6.10 “MenuButton” on page 73)n MenuView ( Ä Chapter 6.6.11 “MenuView” on page 73)n PagePanel ( Ä Chapter 6.6.12 “PagePanel” on page 73)n RotatableButton ( Ä Chapter 6.6.13 “RotatableButton” on page 73)n StatusPanel ( Ä Chapter 6.6.14 “StatusPanel” on page 73)n ToggleStatusButton ( Ä Chapter 6.6.15 “ToggleStatusButton”

on page 74)n VerticalProgressBar ( Ä Chapter 6.6.16 “VerticalProgressBar”

on page 74)n Widget ( Ä Chapter 6.6.17 “Widget” on page 74)

PA 9000 User HMI Programming

Submodules

21.07.2017 | 70

Page 71: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.6.1 AppWindowProvides a top-level application window for series of QMI applications(main QMI and others).

Inherits type QmiAppWindow.

Properties

n control : QtObjectn favoriteFolders : stringn grayColor : colorn greenColor : colorn headerContentHeight : realn menuButtonHeight : realn menuButtonWidth : realn menuOut : intn nameFilters0 : stringn nameFilters1 : stringn nameFilters2 : stringn pages : varn redColor : colorn statusWidgets : varn trQmi : Translatorn yellowColor : color

Table 47: Property Documentationcontrol : QtObject Holds Control object for communication with CNC.

favoriteFolders : string List of favorite folders for FileDialog. Default value is"file:///D:/PAData/NCProg,file:///E:,file:///F:". Can beredefined in Configuration File.

grayColor : color Defines gray color. By default, this is #B6B6B6.

greenColor : color Defines green color. By default, this is #9DCE32.

headerContentHeight : real Height of application header content. Default valuedepends on resolution. Can be redefined in Configu-ration File.

menuButtonHeight : real Height of menu button. Default value is 80. Can beredefined in Configuration File.

menuButtonWidth : real Width of menu button. Default value is 130. Can beredefined in Configuration File.

menuOut : int Holds main menu identifier (0…). When menu buttonis pressed, then this property gets its index. When nomenu button is selected, then menuOut is 0.

nameFilters0 : string All file filters for FileDialog. Default value is "*,*.*".

PA 9000 User HMI Programming

Submodules

21.07.2017 | 71

Page 72: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

nameFilters1 : string NC program file filters for FileDialog. Default value is"*.nc,*.cnc".

nameFilters2 : string STL file filters (3D graphics) for FileDialog. Defaultvalue is "*.stl".

pages : var List of pages of main menu. Number of pages isnumber of menu buttons + 1.

redColor : color Defines red color. By default, this is #D20023.

statusWidgets : var List of components for MenuView.

trQmi : Translator Translator for module texts. Translator is loaded bydefault from text file qmi.txt. Can be redefined in Con-figuration File.

yellowColor : color Defines yellow color. By default, this is #E2E200.

6.6.2 ContextMenuMore information about this QML type will come in the next release ofthis documentation.

6.6.3 ContextMenuButtonMore information about this QML type will come in the next release ofthis documentation.

6.6.4 ContextMenuItemMore information about this QML type will come in the next release ofthis documentation.

6.6.5 FileDialogMore information about this QML type will come in the next release ofthis documentation.

6.6.6 FooterBackgroundMore information about this QML type will come in the next release ofthis documentation.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 72

Page 73: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.6.7 HeaderBarBackgroundMore information about this QML type will come in the next release ofthis documentation.

6.6.8 HeaderContentBackgroundMore information about this QML type will come in the next release ofthis documentation.

6.6.9 LogoWidgetMore information about this QML type will come in the next release ofthis documentation.

6.6.10 MenuButtonMore information about this QML type will come in the next release ofthis documentation.

6.6.11 MenuViewMore information about this QML type will come in the next release ofthis documentation.

6.6.12 PagePanelMore information about this QML type will come in the next release ofthis documentation.

6.6.13 RotatableButtonMore information about this QML type will come in the next release ofthis documentation.

6.6.14 StatusPanelMore information about this QML type will come in the next release ofthis documentation.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 73

Page 74: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.6.15 ToggleStatusButtonMore information about this QML type will come in the next release ofthis documentation.

6.6.16 VerticalProgressBarMore information about this QML type will come in the next release ofthis documentation.

6.6.17 WidgetMore information about this QML type will come in the next release ofthis documentation.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 74

Page 75: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.7 QMIControlsThe QmiControls provides a set of controls that can be used to buildQMI applications. The QML types can be imported into your applica-tion using the following import statement in your qml file.

import QmiControls 1.0Module contains following QML types:

n Decoration ( Ä Chapter 6.7.1 “Decoration” on page 75)n DictModel ( Ä Chapter 6.7.2 “DictModel” on page 76)n LangModel ( Ä Chapter 6.7.3 “LangModel” on page 77)n Process ( Ä Chapter 6.7.4 “Process” on page 78)n QmiAbstractButton ( Ä Chapter 6.7.5 “QmiAbstractButton”

on page 79)n QmiAppWindow ( Ä Chapter 6.7.6 “QmiAppWindow” on page 81)n QmiButton ( Ä Chapter 6.7.7 “QmiButton” on page 83)n QmiCheckBox ( Ä Chapter 6.7.8 “QmiCheckBox” on page 84)n QmiControl ( Ä Chapter 6.7.9 “QmiControl” on page 84)n QmiDialog ( Ä Chapter 6.7.10 “QmiDialog” on page 85)n QmiFooter ( Ä Chapter 6.7.11 “QmiFooter” on page 87)n QmiFooterMenu ( Ä Chapter 6.7.12 “QmiFooterMenu” on page 88)n QmiHeader ( Ä Chapter 6.7.13 “QmiHeader” on page 88)n QmiItemGradient ( Ä Chapter 6.7.14 “QmiItemGradient”

on page 89)n QmiLabel ( Ä Chapter 6.7.15 “QmiLabel” on page 89)n QmiMessageBox ( Ä Chapter 6.7.16 “QmiMessageBox”

on page 90)n QmiSlider ( Ä Chapter 6.7.17 “QmiSlider” on page 91)n QmiSwitch ( Ä Chapter 6.7.18 “QmiSwitch” on page 92)n QmiTabBar ( Ä Chapter 6.7.19 “QmiTabBar” on page 93)n QmiTabButton ( Ä Chapter 6.7.20 “QmiTabButton” on page 93)n QmiTextField ( Ä Chapter 6.7.21 “QmiTextField” on page 94)n Translation ( Ä Chapter 6.7.22 “Translator” on page 95)

6.7.1 DecorationSets QML image as icon of application.

Properties

n icon : url

Table 48: Property Documentationicon : url This property holds url of image.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 75

Page 76: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.7.2 DictModelThe DictModel provides a model of pairs: name, value. Model is cre-ated from Translator.

Information about the pairs is supplied via the model's interface. Com-ponents access names and values via the following roles:

n namen value

Properties

n count : intn maxCount : intn section : stringn sort : booln tr : Translator

Methods

n var getProperty(int row, int role)n void refresh()

Signals

n error(int code)

Table 49: Property Documentationcount : int Returns the number of available pairs.

maxCount : int Sets maximal number of pairs which can be loadedinto the model from Translator.

section : string Name of the section of Translator from which pairs willbe loaded into the model.

sort : bool If set to true, sorts pairs by name. The default is false.

Table 50: Method Documentationvar getProperty(int row, int role) Returns name (role=DictModel.NameRole) or value

(role=DictModel.ValueRole) of pair which index isrow.

void refresh() Reloads model from the section of Translator.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 76

Page 77: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.7.3 LangModelThe LangModel provides a model of available languages (depends oflanguage specific directories in Qmi5\texts).

Information about the available languages is supplied via the model'sinterface. Components access language names and codes via the fol-lowing roles:

n coden name

Properties

n count : int

Methods

n var getProperty(int row, int role)n void refresh()

Table 51: Property Documentationcount : int Returns the number of available languages.

Table 52: Method Documentationvar getProperty(int row, int role) Returns name (role=LangModel.NameRole) or code

(role=LangModel.CodeRole) of language which indexis row.

void refresh() Scans Qmi5\texts directory to update the model.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 77

Page 78: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.7.4 ProcessThe type Process is used to start external programs.

Methods

n bool startDetached(string program, string args, string workingDir-ectory)

n bool startDetached(string command)n bool startPlc()

Table 53: Method Documentationbool startDetached(string program, string args, stringworkingDirectory)

Starts external program where program is path, argsis command line arguments, workingDirectory workingdirectory path (optional). Returns true on success; oth-erwise returns false.

bool startDetached(string command) Starts the command command in a new process.Returns true on success; otherwise returns false.

bool startPlc() Starts the PLC Development System IEC1131.Returns true on success; otherwise returns false.

Table 54: Usingimport QtQuick 2.7

import QmiControls 1.0

//…function run(code) {switch(code) {case 1:process.startPlc()breakcase 2:process.startDetached("%HMIDIR%/bin/hmiframe.exe", "-p:setup-tool", "%HMIDIR%/bin")break;case 3:process.startDetached("%HMIDIR%/bin/hmiframe.exe", "-p:la","%HMIDIR%/bin")breakcase 4:process.startDetached("%HMIDIR%/bin/hmiframe.exe", "-p:hmi","%HMIDIR%/bin")break}}//…

PA 9000 User HMI Programming

Submodules

21.07.2017 | 78

Page 79: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.7.5 QmiAbstractButtonBase type of all button controls.

Inherits type QmiControl.Properties

n checked : booln down : booln hint : stringn indicator : Itemn press : booln shortcut : Shortcutn text : string

Signals

n clicked()n pressAndHold()n pressed()n released()n hinted()

Table 55: Property Documentationchecked : bool This property holds whether the button is checked. By

default, this is false.

down : bool This property holds whether the button is visuallydown. By default, this is false.

hint : string This property holds a textual description of the hint.Hint is a popup window with text. It is opened auto-matically if the user clicks on the button which disa-bled property is true.

indicator : Item This property holds the indicator item.

press : bool This property holds whether the button is physicallypressed.

shortcut : Shortcut Keyboard shortcut for the button.

text : string This property holds a textual description of the button.

Table 56: Signal Documentationclicked() This signal is emitted when the button is interactively

clicked by the user.

pressAndHold() This signal is emitted when the button is interactivelypressed and held down by the user.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 79

Page 80: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

pressed() This signal is emitted when the button is interactivelypressed by the user.

released() This signal is emitted when the button is interactivelyreleased by the user.

hinted() This signal is emitted when the button is interactivelyclicked by the user while property disabled is true.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 80

Page 81: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.7.6 QmiAppWindowProvides base type of a top-level application window.

Inherits type ApplicationWindow Qt Quick Controls 2.

Properties

n appn applicationFont : fontn buttonHeight : realn buttonWidth : realn controlColor : colorn dialog : varn dialogButtonHeight : realn dialogButtonWidth : realn iconSize : realn inputPanel : InputPaneln message : varn qmiConfig : Settingsn smallIconSize : realn textColor : colorn trQmiControls : Translatorn userLevel : real

Functions

n void createDialog(url url)n void messageBox(string text, int buttons)

Table 57: Property Documentationapp Global reference to root object of application.

applicationFont : font Application font. Font can be redefined by parametersof Configuration File: fontfamily, fontitalic, font-pointsize, fontweight.

buttonHeight : real This property holds preferable height of all buttonsexcluding dialog buttons. Height can be redefined byparameters of Configuration File: buttonHeight. Bydefault, this is 60.

buttonWidth : real This property holds preferable width of all buttonsexcluding dialog buttons. Width can be redefined byparameters of Configuration File: buttonWidth. Bydefault, this is 120.

controlColor : color Color of controls. By default, this is #5D5D5D.

dialog : var Holds the reference on opened dialog. Property is null,when no opened dialog.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 81

Page 82: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

dialogButtonHeight : real This property holds preferable height of all dialogstandard buttons. Height can be redefined by parame-ters of Configuration File: dialogButtonHeight. Bydefault, this is 40.

dialogButtonWidth : real This property holds preferable width of all dialogstandard buttons. Width can be redefined by parame-ters of Configuration File: dialogButtonWidth. Bydefault, this is 80.

iconSize : real This property holds standard icon size. Size can beredefined by parameters of Configuration File: icon-Size. By default, this is 32.

inputPanel : InputPanel Virtual keyboard.

message : var This property holds pointer to opened message box.Property is null, when no opened message box.

qmiConfig : Settings Global pointer on Settings which properties are equiv-alent to parameters from Configuration File.

smallIconSize : real This property holds standard small icon size. Size canbe redefined by parameters of Configuration File:smallIconSize. By default, this is 24.

textColor : color This property holds general color of texts. Color canbe redefined by parameters of Configuration File:textColor. By default, this is #303030.

trQmiControls : Translator This property holds Translator for texts using in thismodule. By default, the translator is loaded from textfile qmicontrols.txt.

userLevel : int Current level of user authorization. Some functions orscreens of application can be not available if user-Level is less than required. Lowest level is 0.

Table 58: Function Documentationvar createDialog(url url) Creates dialog by url and return pointer on the dialog.

If creation was fault, then function returns undefined.

var messageBox(string text, int buttons) Opens message box by url and return pointer on themessage box. If creation was fault, then functionreturns undefined.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 82

Page 83: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.7.7 QmiButtonA push-button control that can be clicked by the user.

Inherits type QmiAbstractButton.

Properties

n icon : url

Table 59: Property Documentationicon : url This property holds url of image inside the button.

Table 60: Usingimport QtQuick 2.7

import QmiControls 1.0

//…property bool st: falseQmiButton {text: trMain.texts("texts", 290, "Show Zero position")disabled: truedown: stonClicked: st = !sthint: trMain.texts("hints", 30)}//…QmiButton {icon: "images/edit_enabled.svg"onClicked: {

//do something}}//…

PA 9000 User HMI Programming

Submodules

21.07.2017 | 83

Page 84: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.7.8 QmiCheckBoxAn option button that can be checked or unchecked.

Inherits type QmiAbstractButton.

Properties

n checkState : int

Table 61: Property DocumentationcheckState : int This property holds the check state of the check box:

Qt.Checked or Qt.Unchecked.

file : string Holds file path.

Table 62: Usingimport QtQuick 2.7

import QmiControls 1.0

//…property bool st: falseQmiCheckBox {checked: stonClicked: st = !st}//…

6.7.9 QmiControlThe base type of user interface controls.

Inherits type Control from Qt Quick Controls 2.

Properties

n disabled : bool

Table 63: Property Documentationdisabled : bool This property holds whether the item is disabled. By

default, this is false.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 84

Page 85: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.7.10 QmiDialogThe QmiDialog type provides a modal dialog.

Inherits type Popup from Qt Quick Controls 2.

Properties

n closeAccepted : booln content : Componentn buttons : intn title : string

Signals

n accepted()n apply()n discard()n help()n no()n rejected()n reset()n yes()

Table 64: Property DocumentationcloseAccepted : bool This property gets true before QmiDialog issues

signal when button pressed. You can set this propertyto false during processing a signal from dialog. In thiscase the dialog will not be closed.

content : Component This property holds Component to instantiate thecontent of the dialog, not including title on the top andstandard dialog buttons on the bottom.

buttons : int Dialog has a row of buttons along the bottom, each ofwhich has a role that determines which signal will beemitted when the button is pressed. You can controlwhich buttons are available by setting buttons to a bit-wise-or combination of the generic QtQuick DialogstandardButtons flags.

title : string Dialog title.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 85

Page 86: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

Table 65: Signal Documentationaccepted() This signal is emitted when the user has pressed any

button: OK, Open, Save, Save All, Retry or Ignore.

The corresponding handler is onAccepted.

apply() This signal is emitted when the user has pressed theApply button.

The corresponding handler is onApply.

discard() This signal is emitted when the user has pressed theDiscard button.

The corresponding handler is onDiscard.

help() This signal is emitted when the user has pressed theHelp button.

The corresponding handler is onHelp.

no() This signal is emitted when the user has pressed anybutton: No or No to All.The corresponding handler is onNo.

rejected() This signal is emitted when the user has dismissedthe dialog, by closing the dialog window, by pressing aCancel, Close or Abort button on the dialog, or bypressing the back button or the escape key.

The corresponding handler is onRejected.

reset() This signal is emitted when the user has pressed anybutton: Reset or Restore Defaults.

The corresponding handler is onReset.

yes() This signal is emitted when the user has pressed anybutton: Yes or Yes to All.The corresponding handler is onYes.

For single dialog (no more dialogs inside) you don't need to use thistype directly, but you can use method createDialog of QmiApp-Window instead.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 86

Page 87: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

QmiButton {onClicked: {var dialog = createDialog("ManIncrementDialog.qml")dialog.steps = 0.01dialog.open()dialog.setSteps.connect(setSteps)}function setSteps(steps) {//new value of steps in steps}}

Here dialog ManIncrementDialog is created in function createDialog,property steps of dialog is initialized from corresponding property ofobject settings, then dialog is open. The signal setSteps of dialog isconnected to function setSteps.

6.7.11 QmiFooterDisplays footer of application. The QMI footer contains menu buttons.

Inherits type QML type Item.

By default, height of footer is defined by parameter footerHeight ofconfiguration file.

Properties

n background : Componentn menu : Component

Table 66: Property Documentationbackground : Component This property holds Component to instantiate the

background of the footer. By default, this is null.

menu : Component This property holds Component to instantiate thecontent of the footer. By default, this is null. Compo-nent can be defined directly or by parameter footer-Menu of configuration file.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 87

Page 88: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.7.12 QmiFooterMenuSpecifies content of the application window footer.

Inherits type QML type RowLayout.Properties

n leftMenu : Componentn mainMenu : Componentn rightMenu : Component

Table 67: Property DocumentationleftMenu : Component This property holds Component to instantiate the

content of the left part (left aligned) of the footer. Bydefault, this is null.

mainMenu : Component This property holds Component to instantiate thecontent of the center part (centered) of the footer. Bydefault, this is null.

rightMenu : Component This property holds Component to instantiate thecontent of the right part (right aligned) of the footer. Bydefault, this is null.

6.7.13 QmiHeaderDisplays header of application.

Inherits type QML type Item.

Properties

n contentVisibility : booln content : Componentn background : Component

Table 68: Property DocumentationcontentVisibility : bool This property holds whether main content if the

header is visible or not. By default, this is true. Valueof this property is saved automatically in applicationsettings.

content : Component This property holds Component to instantiate themain content of the header. By default, this is null.

background : Component This property holds Component to instantiate thebackground of the main content of the header. Bydefault, this is null.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 88

Page 89: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.7.14 QmiItemGradientDefines a predefined gradient fill. For internal use.

Inherits type QML type Gradient.Properties

n highlight : booln highlightColorBottom : colorn highlightColorTop : colorn normalColor : color

Table 69: Property Documentationhighlight : bool This property holds whether the gradient is used for

highlight state. By default, this is false.

highlightColorBottom : color This property holds bottom position color for highlightstate. By default, this is #3b3b3b.

highlightColorTop : color This property holds top position color for highlightstate. By default, this is #252525.

normalColor : color This property holds color for normal state (no gra-dient). By default, this is transparent.

6.7.15 QmiLabelA text label.

Inherits type Label from Qt Quick Controls 2.

The control uses QmiAppWindow property textColor for text color.

Table 70: Property Documentationdisabled : bool This property holds whether the control is disabled. By

default, this is false.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 89

Page 90: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.7.16 QmiMessageBoxThe QmiMessageBox type provides a modal dialog for informing theuser or for asking the user a question and receiving an answer.

Inherits type QmiDialog.

Properties

n text : string

Table 71: Property Documentationtext : string Text to display.

You don't need to use this type directly, but you can use method mes-sageBox of QmiAppWindow instead:

import QtQuick 2.7

import QmiControls 1.0//…QmiButton {onClicked:{var msg = messageBox(trMain.texts("texts", 340, "CNC is busy"))msg.buttons = StandardButton.Close}}//…

PA 9000 User HMI Programming

Submodules

21.07.2017 | 90

Page 91: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.7.17 QmiSliderSelects a value by sliding a handle along a track.

Inherits type Slider from Qt Quick Controls 2.

Table 72: Usingimport QtQuick 2.7

import QmiControls 1.0

//…QmiSlider {id: red}QmiButton {onPressed: down = trueonReleased: down = falseonClicked: text = red.value}//…

PA 9000 User HMI Programming

Submodules

21.07.2017 | 91

Page 92: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.7.18 QmiSwitchAn option button that can be toggled on or off.

Inherits type Switch from Qt Quick Controls 2.

Properties

n visualPosition : real

Table 73: Property DocumentationvisualPosition : real This property holds the visual position of the thumb

indicator. The position is defined as a percentage ofthe indicator's size, scaled to 0.0 - 1.0. By default, vis-ualPosition gets 1 when the control is checked, oth-erwise 0.

Table 74: Usingimport QtQuick 2.7

import QmiControls 1.0

//…property bool st: false//…QmiSwitch {checked: stonClicked: st = !st}//…

PA 9000 User HMI Programming

Submodules

21.07.2017 | 92

Page 93: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.7.19 QmiTabBarQmiTabBar is a bar with icons or text that allows the user to switchbetween different subtasks, views, or modes.

Inherits type TabBar from Qt Quick Controls 2.

Table 75: Usingimport QtQuick 2.7

import QmiControls 1.0

QmiTabBar {id: barwidth: buttonWidth * 2height: dialogButtonHeightonCurrentIndexChanged: {//do something}QmiTabButton {fontIncr: 2text: trMain.text("texts", 430, "Messages")}QmiTabButton {fontIncr: 2text: trMain.text("texts", 440, "Interface")}}

6.7.20 QmiTabButtonA tab button control that can be found on a QmiTabBar.Inherits type TabButton from Qt Quick Controls 2.

The control uses QmiAppWindow property applicationFont for textfont.

Properties

n fontIncr : int

Table 76: Property DocumentationfontIncr : int Increments font to display text. By default, this is 0.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 93

Page 94: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.7.21 QmiTextFieldA single line text input control.

Inherits type TextField from Qt Quick Controls 2.

By default, all text is selected, when input focus goes into the controlfirst time. Next time all is selected by double click.

The control uses QmiAppWindow property textColor for text colorand property applicationFont for text font.

Properties

n backgroundColor : colorn keyboardRequested : bool

Table 77: Property DocumentationbackgroundColor : color Background color of the control.

keyboardRequested : bool When value of property is changed to true, then digitalvirtual keyboard is open near the control. By default,virtual keyboard is opened automatically if the controlgets active focus and its inputMethodHints isQt.ImhDigitsOnly.

Table 78: Usingimport QtQuick 2.7

import QmiControls 1.0

//…QmiTextField {inputMethodHints: Qt.ImhDigitsOnlyvalidator: DoubleValidator {notation: DoubleValidator.StandardNota-tion}text: 1.2onTextChanged: {//do something}}//…

Table 79: Method Documentationbool contains(string str) Returns true if file contains the string str.

Table 80: Signal Documentationerror(int code) Signal is emitted with code=1, if file was not opened.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 94

Page 95: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

6.7.22 TranslatorThe type Translator class provides internationalization support for textoutput.

Properties

n source : urln sources : list<url>

Methods

n string text(string addr, string defaultValue)n string text(string addr)n string text(string section, int num, string defaultValue)n string text(string section, int num)n string texts(string section, int num, string defaultValue)n string texts(string section, int num)

Table 81: Property Documentationsource : url Text file URL. Text file is loaded into memory. If

scheme lang is used in URL, then text file will beloaded from Qmi5\texts\[language] directory, where[language] is value of configuration file parameter lan-guage.

sources : list<url> List of text file URLs. All text files are loaded in thesame memory. When next text file from the list isloaded, then sections and entries are added if they arenew. If section or entry exists, then it is replaced. Ifsection name in the next text file starts with *, thenpreviously loaded section with same name is clearedcompletely in memory.

Table 82: Exampleimport QtQuick 2.7import QmiControls 1.0

AppWindow {id: windowproperty Translator trMain: Translator{id: trmainsource: "lang:main.txt"}}

PA 9000 User HMI Programming

Submodules

21.07.2017 | 95

Page 96: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

Table 83: Method Documentationstring text(string addr, string defaultValue) Returns text on actual language. The addr specifies

text location in file as "section/entry". If specified textwill not be found, then method returns defaultValue.

string text(string addr) Returns text on actual language. The addr specifiestext location in file as "section/entry". If specified textentry is missing, then method returns empty string.

string text(string section, int num, string defaultValue) Returns text on actual language. The section specifiessection in file, num specifies number of text string inthe section. If specified text will not be found, thenmethod returns defaultValue.

string text(string section, int num) Returns text on actual language. The section specifiessection in file, num specifies number of text string inthe section. If specified text will not be found, thenmethod returns empty string.

string texts(string section, int num, string defaultValue) Returns text on actual language. The section speci-fies section in file, num specifies the first number oftext string in the section. Method reads up to 10 textstrings starting from num with step 1. When next textwill not be found then reading stops. All text stringsare joined with line feed. If text string with num will notbe found, then method returns defaultValue.

string texts(string section, int num) Returns text on actual language. The section speci-fies section in file, num specifies the first number oftext string in the section. Method reads up to 10 textstrings starting from num with step 1. When next textwill not be found then reading stops. All text stringsare joined with line feed.

6.8 Sim3dThe Sim3d module provides QML type 3D graphics display. The QMLtypes can be imported into your application using the following importstatement in your qml file.

import Sim3d 1.0Module contains following QML types:

n Sim3dView ( Ä Chapter 6.8 “Sim3d” on page 96)

6.8.1 Sim3dViewMore information about this QML type will come in the next release ofthis documentation.

PA 9000 User HMI Programming

Submodules

21.07.2017 | 96

Page 97: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

7 Proof of changeVersion Change Date

1 Original Version 07/20/2017

Proof Of Change

PA 9000 User HMI Programming

Proof of change

21.07.2017 | 97

Page 98: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

PA 9000 User HMI Programming

Proof of change

21.07.2017 | 98

Page 99: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

8 Index

AActiveWidget . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57AppWindow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71AutoBackwPanel . . . . . . . . . . . . . . . . . . . . . . . . . 57AutoDisplayPanel . . . . . . . . . . . . . . . . . . . . . . . . . 57AutoMenuButton . . . . . . . . . . . . . . . . . . . . . . . . . 57AutoModePanel . . . . . . . . . . . . . . . . . . . . . . . . . . 57AutoPage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57AutoSubModePanel . . . . . . . . . . . . . . . . . . . . . . . 57AutoTestPanel . . . . . . . . . . . . . . . . . . . . . . . . . . . 58AxesModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

BBasePage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58BcdModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26BcdWidget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58BlockModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

CChangePasswordDialog . . . . . . . . . . . . . . . . . . . . 58CNC Communication . . . . . . . . . . . . . . . . . . . . . . 23Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28CompensationModel . . . . . . . . . . . . . . . . . . . . . . 31CompWidget . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58Configuration File . . . . . . . . . . . . . . . . . . . . . . . . . 15Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32ContextMenu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72ContextMenuButton . . . . . . . . . . . . . . . . . . . . . . . 72ContextMenuItem . . . . . . . . . . . . . . . . . . . . . . . . . 72Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34CorrWidget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

DDataMenuButton . . . . . . . . . . . . . . . . . . . . . . . . . 58DataPage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58Decoration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

Default Main QML File . . . . . . . . . . . . . . . . . . . . . 19DictModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76DirWidget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

EEndPosWidget . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

FFeedPanel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59FeedWidget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59FileDialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72FileListModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54FileServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40FooterBackground . . . . . . . . . . . . . . . . . . . . . . . . 72

GGCodesModel . . . . . . . . . . . . . . . . . . . . . . . . . . . 41GWidget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

HHeaderBarBackground . . . . . . . . . . . . . . . . . . . . . 73HeaderContentBackground . . . . . . . . . . . . . . . . . 73HidePanelButton . . . . . . . . . . . . . . . . . . . . . . . . . 59

IInfoMenuButton . . . . . . . . . . . . . . . . . . . . . . . . . . 59InfoModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42InfoPage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59InfoWidget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60InterfaceSubPage . . . . . . . . . . . . . . . . . . . . . . . . 60InterfaceWidget . . . . . . . . . . . . . . . . . . . . . . . . . . 60IoBitModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43IoNamesModel . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

KKvWidget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

PA 9000 User HMI Programming

Index

21.07.2017 | 99

Page 100: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

LLagWidget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60LangModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77Licensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Limitation of liability . . . . . . . . . . . . . . . . . . . . . . . 11LoginDialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60LogoWidget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

MMain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55Main Executable File . . . . . . . . . . . . . . . . . . . . . . 13MainAppWindow . . . . . . . . . . . . . . . . . . . . . . . . . 61MainSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63ManAuxPanel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63ManAxesPanel . . . . . . . . . . . . . . . . . . . . . . . . . . . 63ManIncrementDialog . . . . . . . . . . . . . . . . . . . . . . 63ManJogPanel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64ManMenuButton . . . . . . . . . . . . . . . . . . . . . . . . . . 64ManModePanel . . . . . . . . . . . . . . . . . . . . . . . . . . 64ManPage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64ManStepDialog . . . . . . . . . . . . . . . . . . . . . . . . . . 64ManZeroDialog . . . . . . . . . . . . . . . . . . . . . . . . . . 64MdiSubPage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64MenuButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73MenuView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73MessagesPanel . . . . . . . . . . . . . . . . . . . . . . . . . . 64MessagesSubPage . . . . . . . . . . . . . . . . . . . . . . . 65ModeWidget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65MsgModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

NNCProgramListModel . . . . . . . . . . . . . . . . . . . 68, 69NcProgramPanel . . . . . . . . . . . . . . . . . . . . . . . . . 65NCTableModel . . . . . . . . . . . . . . . . . . . . . . . . . . . 47NcTablesSubPage . . . . . . . . . . . . . . . . . . . . . . . . 65

OOffsetWidget . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65OutWidget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65OverrideIncrementDialog . . . . . . . . . . . . . . . . . . . 65OverridePanel . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

PPagePanel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73Pg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69Pg2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66Pg3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66PgPanel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66PgPanelButton . . . . . . . . . . . . . . . . . . . . . . . . . . . 66PgPanelModeButton . . . . . . . . . . . . . . . . . . . . . . 66PgStandard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66PgView2d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69PgView3d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70Pictures

in the manual . . . . . . . . . . . . . . . . . . . . . . . . . . 9Plc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48PosWidget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66POU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78ProgramWidget . . . . . . . . . . . . . . . . . . . . . . . . . . 66Proof of change . . . . . . . . . . . . . . . . . . . . . . . . . . 97

QQMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70QmiAbstractButton . . . . . . . . . . . . . . . . . . . . . . . . 79QmiAppWindow . . . . . . . . . . . . . . . . . . . . . . . . . . 81QmiButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83QmiCheckBox . . . . . . . . . . . . . . . . . . . . . . . . . . . 84QmiControl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84QMIControls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75QmiDialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85QmiFooter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87QmiFooterMenu . . . . . . . . . . . . . . . . . . . . . . . . . . 88

PA 9000 User HMI Programming

Index

21.07.2017 | 100

Page 101: Power Automation - PA 9000 User HMI Programming...1.6 Customer service Our Customer Service is always available for technical information. For information on whom to contact by phone,

QmiHeader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88QmiItemGradient . . . . . . . . . . . . . . . . . . . . . . . . . 89QmiLabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89QmiMessageBox . . . . . . . . . . . . . . . . . . . . . . . . . 90QmiSlider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91QmiSwitch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92QmiTabBar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93QmiTabButton . . . . . . . . . . . . . . . . . . . . . . . . . . . 93QmiTextField . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

RRemWidget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51ResetMenuButton . . . . . . . . . . . . . . . . . . . . . . . . 67RotatableButton . . . . . . . . . . . . . . . . . . . . . . . . . . 73

SSetupMenuButton . . . . . . . . . . . . . . . . . . . . . . . . 67SetupPage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67SetupWidget . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67Sim3d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96Sim3dView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96SpeedWidget . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67SpindlePanel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67SpindleWidget . . . . . . . . . . . . . . . . . . . . . . . . . . . 67StartMenuButton . . . . . . . . . . . . . . . . . . . . . . . . . 68StateWidget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68StatusPanel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73StopMenuButton . . . . . . . . . . . . . . . . . . . . . . . . . 68Struct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53Structure of QMI software . . . . . . . . . . . . . . . . . . 12Submodules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

TToggleStatusButton . . . . . . . . . . . . . . . . . . . . . . . 74Translation of QMI interface on own language . . . 12Translator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

UUser QMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

VVerticalProgressBar . . . . . . . . . . . . . . . . . . . . . . . 74

WWidget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

ZZoomSubPage . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

PA 9000 User HMI Programming

Index

21.07.2017 | 101