Grunder

Användningsområde

När du vill få tillgång till numeriskt eller alfanumeriskt innehåll från en tabell eller manipulera en tabell (t.ex. döpa om kolumner eller rader), använder du de SQL-kommandon som står till förfogande.

Syntax för de SQL-kommandon som finns tillgängliga internt i styrsystemet liknar i stor utsträckning programmeringsspråket SQL, dock är det inte helt kompatibelt. Dessutom stödjer inte styrsystemet hela SQL-språkomfånget.

Förutsättningar

  • Kodnummer 555343
  • Tabell finns
  • Lämpligt tabellnamn
  • Namnet på tabeller i tabellkolumner måste inledas med en bokstav och får inte innehålla några aritmetiska tecken, t.ex. +. Dessa tecken kan på grund av SQL-kommandon leda till problem vid inläsning eller utläsning av data.

Funktionsbeskrivning

I NC-software sker tabellåtkomsten via en SQL-server. Denna server kontrolleras via de tillgängliga SQL-kommandona. SQL-kommandon kan definieras direkt i ett NC-program.

Servern baseras på en transaktionsmodell. En Transaktion består av flera steg, vilka utförs tillsammans och därmed säkerställer en ordnad och definierad hantering av tabelluppgifterna.

SQL-kommandona fungerar i driftarten Programkörning och användningsområdet MDI.

  • Exempel på en transaktion:
  • Tabellkolumner för läs- eller skrivåtkomst Q-parameter tilldelas med SQL BIND
  • Data selekteras med SQL EXECUTE med instruktionen SELECT
  • Läsa, ändra eller lägga till data med SQL FETCH, SQL UPDATE eller SQL INSERT
  • Bekräfta eller ångra interaktion med SQL COMMIT eller SQL ROLLBACK
  • Frige koppling mellan tabellkolumner och Q-parametrar med SQL BIND
 
Tip

Avsluta alla påbörjad transaktioner, även om de enbart används för läsande åtkomst. Endast avslut av transaktionen säkerställer överföringen av ändringar och kompletteringar, upphävande av spärrar samt att använda resurser friges.

Ett Result-set beskriver en tabellfils resultatmängd. En fråga med SELECT definierar resultatmängden.

Ett Result-set erhålls när en fråga ställs på SQL-servern och upptar resurser där.

Denna fråga fungerar som ett filter på tabellen och visar endast en del av dataposterna. En fråga är endast möjlig om tabellfilen läses vid denna punkt.

För att ett Result-set ska kunna identifieras när data läses och ändras samt när transaktionen avslutas, tilldelar SQL-servern en Handle. En Handle visar det i NC-programmet synliga resultatet av frågan. Värdet 0 indikerar en ogiltig Handle och visar att ett Result-set inte kunde skapas för den aktuella frågan. Om ingen rad uppfyller de angivna villkoren kommer ett tomt Result-set att skapas med en giltig Handle.

Översikt över SQL-kommandon

Styrsystemet erbjuder följande SQL-kommandon:

Syntax

Funktion

Ytterligare information

SQL BIND

SQL BIND upprättar eller upphäver en koppling mellan tabellkolumner och Q- eller QS-parametrar

SQL SELECT

SQL SELECT läser ett individuellt värde från tabellen och öppnar därvid inte någon transaktion

SQL EXECUTE

SQL EXECUTE öppnar en transaktion under selektering av tabellkolumner och tabellrader eller möjliggör användning av ytterligare SQL-kommandon (tilläggsfunktioner)

SQL FETCH

SQL FETCH hämtar över värdet till den kopplade Q-parametern

SQL ROLLBACK

SQL ROLLBACK ångrar alla ändringar och stänger transaktionen

SQL COMMIT

SQL COMMIT sparar alla ändringar och stänger transaktionen

SQL UPDATE

SQL UPDATE utökar transaktionen med ändringen av en befintlig rad

SQL INSERT

SQL INSERT skapar en ny tabellrad

Anmärkning

 
Hänvisning
Varning kollisionsrisk!
Läs- och skrivåtkomst med hjälp av SQL-kommandon sker alltid i metrisk enhet, oberoende av den valda måttenheten i tabellen eller NC-programmet.
När t.ex. en längd från en tabell sparas i en Q-parameter är värdet därefter alltid metriskt. Om detta värde sedan används för positionering i ett Inch-program (L X+Q1800), resulterar detta i en felaktig position.
  1. I ett Inch-program måste de inlästa värdena omvandlas innan de används
  • För att maximera hastigheten vid användning av tabeller med HDR-hårddiskar och för att spara datorkraft rekommenderar HEIDENHAIN att använda SQL-funktioner i stället för FN 26, FN 27 och FN 28.