Oberfläche

Die Oberfläche hat Zugriff auf NC-Schnittstellen und NC-Daten über sogenannte HMI-Objekte. Das Protokoll des Zugriffs wird über eine DLL gekapselt, welche eine Windows-Applikation den Schreib-/Lesezugriff auf HMI-Objekte anbietet. Für die Oberfläche können automatisch entsprechend der Konfigurationsliste Schnittstellenobjekte angelegt werden, wenn dies für die Variable entsprechend konfiguriert ist.

Für jede angegebene Variable werden dann zwei Objekte angelegt, je eines für den Schreib- und eines für den Lesezugriff. Die findet unabhängig von den Zugriffsrechten des NC-Kanals statt, d.h. selbst wenn der NC-Kanal nur lesenden Zugriff auf die Variable hat (z.B. access_rights = READ_ONLY), kann die Oberfläche auch schreibend zugreifen. Bei einem Feld wird eine Oberflächenobjekt für jedes Feldelement angelegt.

Falls gewünscht kann das Format der Namen der Oberflächenobjekte durch Angabe entsprechender Schablonen in der Liste beliebig angepasst werden (ab Version V254). Hierbei sind als Platzhalter %s für den Namen und bei einem Feld nachfolgend zusätzlich %d für den Index anzugeben.

Bezeichner

Bedeutung

Defaultwert

name_rd_global_array

Lesen bei globalem Feld

cnc_ve_ %s _rd[ %d ]

name_wr_global_array

Schreiben bei globalem Feld

cnc_ve_ %s _wr[ %d ]

name_rd_channel_array

Lesen bei kanalspezifischem Feld

mc_ve_ %s _rd[ %d ]

name_wr_channel_array

Schreiben bei kanalspezifischem Feld

mc_ve_ %s _wr[ %d ]

name_rd_global

Lesen bei globalen Variablen

cnc_ve_ %s _rd

name_rd_global

Schreiben bei globalen Variablen

cnc_ve_ %s _wr

name_rd_channel

Lesen bei kanalspezifischen
Variablen

mc_ve_ %s _rd

name_wr_channel

Schreiben bei kanalspezifischen
Variablen

mc_ve_ %s _wr

Beispiel: Vergabe der Namen für die Oberflächenschnittstelle

# ***************************************
#
# ***************************************
#
name_rd_global_array cnc_test1_%s_rd[%d]
name_wr_global_array cnc_test1_%s_wr[%d]
name_rd_channel mc_test2_%s_rd
name_wr_channel mc_test2_%s_wr
...
var[0].name G_ARRAY5
var[0].index 0
var[0].type SGN32
var[0].scope GLOBAL
var[0].synchronisation FALSE
var[0].access_rights READ_WRITE
var[0].array_size 5
var[0].size 4 # 4 Byte pro Element
var[0].create_hmi_interface TRUE # HMI-Objekt wird angelegt
#
var[1].name L_BOOLEAN
var[1].index 1
var[1].type BOOLEAN
var[1].scope CHANNEL
var[1].synchronisation FALSE
var[1].access_rights READ_WRITE
var[1].array_size 1
var[1].size 1 # 4 Byte pro Element
var[1].create_hmi_interface TRUE # HMI-Objekt wird angelegt

Durch obigen Auszug aus der Konfigurationsliste werden implizit folgende HMI-Objekte angelegt:

cnc_test1_G_ARRAY5_rd[0]
cnc_test1_G_ARRAY5_wr[0]
cnc_test1_G_ARRAY5_rd[1]
cnc_test1_G_ARRAY5_wr[1]
cnc_test1_G_ARRAY5_rd[2]
cnc_test1_G_ARRAY5_wr[2]
cnc_test1_G_ARRAY5_rd[3]
cnc_test1_G_ARRAY5_wr[3]
cnc_test1_G_ARRAY5_rd[4]
cnc_test1_G_ARRAY5_wr[4]
mc_test2_L_BOOLEAN_wr
mc_test2_L_BOOLEAN_rd