Compare commits
1 Commits
Author | SHA1 | Date | |
---|---|---|---|
6baa1fb3fc |
8
.gitignore
vendored
Normal file
8
.gitignore
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
*.bak
|
||||
*.gho
|
||||
*.ori
|
||||
*.orig
|
||||
*.tmp
|
||||
|
||||
# SQLite3
|
||||
*.db-*
|
Binary file not shown.
256
machine_1000t.db.sql
Normal file
256
machine_1000t.db.sql
Normal file
@ -0,0 +1,256 @@
|
||||
BEGIN TRANSACTION;
|
||||
DROP TABLE IF EXISTS "betriebsmittel";
|
||||
CREATE TABLE "betriebsmittel" (
|
||||
"ID" INTEGER,
|
||||
"kennzeichen" TEXT NOT NULL COLLATE NOCASE,
|
||||
"gruppe" INTEGER NOT NULL,
|
||||
"ort" TEXT,
|
||||
"bezeichnung" TEXT,
|
||||
"beschreibung" TEXT,
|
||||
UNIQUE("kennzeichen" COLLATE NOCASE,"gruppe"),
|
||||
PRIMARY KEY("ID"),
|
||||
FOREIGN KEY("gruppe") REFERENCES "gruppen"("gruppe") ON UPDATE CASCADE ON DELETE RESTRICT,
|
||||
FOREIGN KEY("ort") REFERENCES "orte"("ort") ON UPDATE CASCADE ON DELETE RESTRICT
|
||||
);
|
||||
DROP TABLE IF EXISTS "gruppen";
|
||||
CREATE TABLE "gruppen" (
|
||||
"gruppe" INTEGER,
|
||||
"beschreibung" TEXT,
|
||||
PRIMARY KEY("gruppe")
|
||||
);
|
||||
DROP TABLE IF EXISTS "input";
|
||||
CREATE TABLE "input" (
|
||||
"ID" INTEGER,
|
||||
"kennzeichen" TEXT NOT NULL COLLATE NOCASE,
|
||||
"gruppe" INTEGER NOT NULL,
|
||||
"byte" INTEGER NOT NULL CHECK("byte" >= 0),
|
||||
"bit" INTEGER NOT NULL CHECK("bit" BETWEEN 0 AND 7),
|
||||
"mapping" TEXT,
|
||||
"funktion" TEXT,
|
||||
"schaltet_betriebsmittel" TEXT COLLATE NOCASE,
|
||||
"schaltet_gruppe" INTEGER,
|
||||
"schaltet_klemme" TEXT COLLATE NOCASE,
|
||||
UNIQUE("schaltet_betriebsmittel" COLLATE NOCASE,"schaltet_gruppe","schaltet_klemme"),
|
||||
PRIMARY KEY("ID" AUTOINCREMENT),
|
||||
UNIQUE("gruppe","byte","bit"),
|
||||
FOREIGN KEY("kennzeichen","gruppe") REFERENCES "betriebsmittel"("kennzeichen","gruppe") ON UPDATE CASCADE ON DELETE RESTRICT,
|
||||
FOREIGN KEY("schaltet_betriebsmittel","schaltet_gruppe") REFERENCES "betriebsmittel"("kennzeichen","gruppe") ON UPDATE CASCADE ON DELETE RESTRICT,
|
||||
CHECK(("schaltet_betriebsmittel" IS NULL AND "schaltet_gruppe" IS NULL) OR ("schaltet_betriebsmittel" IS NOT NULL AND "schaltet_gruppe" IS NOT NULL))
|
||||
);
|
||||
DROP TABLE IF EXISTS "orte";
|
||||
CREATE TABLE "orte" (
|
||||
"ort" TEXT,
|
||||
"beschreibung" TEXT,
|
||||
PRIMARY KEY("ort")
|
||||
);
|
||||
DROP TABLE IF EXISTS "output";
|
||||
CREATE TABLE "output" (
|
||||
"ID" INTEGER,
|
||||
"kennzeichen" TEXT NOT NULL COLLATE NOCASE,
|
||||
"gruppe" INTEGER NOT NULL,
|
||||
"byte" INTEGER NOT NULL CHECK("byte" >= 0),
|
||||
"bit" INTEGER NOT NULL CHECK("bit" BETWEEN 0 AND 7),
|
||||
"mapping" TEXT,
|
||||
"funktion" TEXT,
|
||||
"schaltet_betriebsmittel" TEXT COLLATE NOCASE,
|
||||
"schaltet_gruppe" INTEGER,
|
||||
"schaltet_klemme" TEXT COLLATE NOCASE,
|
||||
UNIQUE("schaltet_betriebsmittel" COLLATE NOCASE,"schaltet_gruppe","schaltet_klemme"),
|
||||
PRIMARY KEY("ID" AUTOINCREMENT),
|
||||
UNIQUE("gruppe","byte","bit"),
|
||||
FOREIGN KEY("kennzeichen","gruppe") REFERENCES "betriebsmittel"("kennzeichen","gruppe") ON UPDATE CASCADE ON DELETE RESTRICT,
|
||||
FOREIGN KEY("schaltet_betriebsmittel","schaltet_gruppe") REFERENCES "betriebsmittel"("kennzeichen","gruppe") ON UPDATE CASCADE ON DELETE RESTRICT,
|
||||
CHECK(("schaltet_betriebsmittel" IS NULL AND "schaltet_gruppe" IS NULL) OR ("schaltet_betriebsmittel" IS NOT NULL AND "schaltet_gruppe" IS NOT NULL))
|
||||
);
|
||||
INSERT INTO "betriebsmittel" ("ID","kennzeichen","gruppe","ort","bezeichnung","beschreibung") VALUES (1,'M25',1,'H1','Schaltschranklüfter',NULL),
|
||||
(2,'A12',3,'H1','Pilz Basisgerät',NULL),
|
||||
(3,'F26',1,'H1','Blitzschutz Typ3',NULL),
|
||||
(4,'H24',1,'H1','Leuchte Hauptschalter EIN',NULL),
|
||||
(5,'L22',1,'H1','Blitzschutz Typ 2',NULL),
|
||||
(6,'F16',1,'H1','Sicherung Energiemessung',NULL),
|
||||
(7,'A14',1,'H1','Energiemessung',NULL),
|
||||
(8,'B12',1,'H1','Stromsummenzähler (CT) L3',NULL),
|
||||
(9,'B13',1,'H1','Stromsummenzähler (CT) L2',NULL),
|
||||
(10,'B14',1,'H1','Stromsummenzähler (CT) L1',NULL),
|
||||
(11,'S11',1,'H1','Hauptschalter',NULL),
|
||||
(12,'S25',1,'H1','Temperaturregler Schaltschranklüfter',NULL),
|
||||
(13,'F25',1,'H1','LS Schaltschranklüfter',NULL),
|
||||
(17,'A11',3,'H1','Pilz Buskoppler Ethercat',NULL),
|
||||
(18,'A16',3,'H1','Pilz Ausgangsbaugruppe',NULL),
|
||||
(19,'A17',3,'H1','Pilz Eingangsbaugruppe',NULL),
|
||||
(20,'A22',3,'H1','Pilz Eingangsbaugruppe',NULL),
|
||||
(21,'A23',3,'H1','Pilz Ausgangsbaugruppe',NULL),
|
||||
(22,'A24',3,'H1','Pilz Ausgangsbaugruppe',NULL),
|
||||
(24,'S32',3,'H1','Pilz Notausschalter',NULL),
|
||||
(25,'K62',15,'H1','Relais Ventil Y65 (Presse öffnen)',NULL),
|
||||
(26,'K63',15,'H1','Relais Ventil Y66 (Presse öffnen)',NULL),
|
||||
(27,'Y65',15,'H1','Ventil Presse öffnen 1',NULL),
|
||||
(28,'Y66',15,'H1','Ventil Presse öffnen 2',NULL),
|
||||
(29,'K72',15,'H1','Relais Ventil Y75 (Presse öffnen)',NULL),
|
||||
(30,'K73',15,'H1','Relais Ventil Y76 (Presse öffnen)',NULL),
|
||||
(31,'Y75',15,'H1','Ventil Presse öffnen 3',NULL),
|
||||
(32,'Y76',15,'H1','Ventil Presse öffnen 4',NULL),
|
||||
(34,'A14',2,'H1','SPS Ausgansbaugruppe',NULL),
|
||||
(35,'T62',1,'H1','Netzgerät 400V 24VDC',NULL),
|
||||
(36,'S33',3,'H1','Pilz Notausschalter (oben)',NULL),
|
||||
(37,'S34',3,'H1','Taster Quittieren Not-Aus',NULL),
|
||||
(38,'H36',3,'H1','Leuchte Not-Aus Meldung',NULL),
|
||||
(39,'K37',3,'H1','',NULL),
|
||||
(40,'K37.1',3,'H1','',NULL),
|
||||
(41,'S42',3,'H1','Taster Quittieren Störung',NULL),
|
||||
(42,'A42',3,'H1','PIT m3.2p (Safe Operation Module)',NULL),
|
||||
(43,'S52',3,'H1','Taster Quittieren Betriebsart','');
|
||||
INSERT INTO "gruppen" ("gruppe","beschreibung") VALUES (0,'Projektdaten'),
|
||||
(1,'Einspeisung'),
|
||||
(2,'Steuerung'),
|
||||
(3,'Pilz'),
|
||||
(11,'Bedienung Elemente'),
|
||||
(15,'Ventile'),
|
||||
(17,'Auswerfer'),
|
||||
(20,'Heizung'),
|
||||
(25,'Wasserbehälter'),
|
||||
(30,'Klemmleisten');
|
||||
INSERT INTO "input" ("ID","kennzeichen","gruppe","byte","bit","mapping","funktion","schaltet_betriebsmittel","schaltet_gruppe","schaltet_klemme") VALUES (1,'A12',3,2060,4,'I4','Notaus Quittieren','S34',3,'4'),
|
||||
(2,'A12',3,2061,0,'I8','Quittieren Störung Pilz','S42',3,'4'),
|
||||
(3,'A12',3,2061,5,'I13','Betriebsart Einzelhub','A42',3,'SOM1'),
|
||||
(4,'A12',3,2061,6,'I14','Betriebsart Einrichten','A42',3,'SOM2'),
|
||||
(5,'A12',3,2061,7,'I15','Betriebsart -frei-','A42',3,'SOM3'),
|
||||
(6,'A12',3,2062,0,'I16','Betriebsart -frei-','A42',3,'SOM4'),
|
||||
(7,'A12',3,2062,1,'I17','Betriebsart -frei-','A42',3,'SOM5'),
|
||||
(8,'A12',3,2062,2,NULL,'reserve',NULL,NULL,NULL),
|
||||
(9,'A12',3,2062,3,NULL,'reserve',NULL,NULL,NULL);
|
||||
INSERT INTO "orte" ("ort","beschreibung") VALUES ('H1','Schaltschrank 1, groß'),
|
||||
('H2','Schaltschrank 2, klein oberhalb H1'),
|
||||
('H3','Schaltschrank 3, klein, hinter Ventilgruppe'),
|
||||
('H4','mobiles Bedienelement'),
|
||||
('H5','Monitorgehäuse, schwenbar'),
|
||||
('H6','direkt an Presse montiert'),
|
||||
(NULL,NULL);
|
||||
INSERT INTO "output" ("ID","kennzeichen","gruppe","byte","bit","mapping","funktion","schaltet_betriebsmittel","schaltet_gruppe","schaltet_klemme") VALUES (1,'A14',2,2,0,NULL,'Schaltet -K72 und damit Ventil -Y75','K72',15,NULL);
|
||||
DROP VIEW IF EXISTS "v_input";
|
||||
CREATE VIEW "v_input" AS
|
||||
SELECT
|
||||
i.ID,
|
||||
i.kennzeichen,
|
||||
i.byte,
|
||||
i.bit,
|
||||
printf('%d.%d', i.byte, i.bit) AS adresse,
|
||||
i.gruppe,
|
||||
i.funktion
|
||||
FROM input i;
|
||||
DROP VIEW IF EXISTS "v_output";
|
||||
CREATE VIEW "v_output" AS
|
||||
SELECT
|
||||
o.ID,
|
||||
o.kennzeichen,
|
||||
o.byte,
|
||||
o.bit,
|
||||
printf('%d.%d', o.byte, o.bit) AS adresse,
|
||||
o.gruppe,
|
||||
o.funktion
|
||||
FROM output o;
|
||||
DROP TRIGGER IF EXISTS "bm_upper_ai";
|
||||
CREATE TRIGGER bm_upper_ai
|
||||
AFTER INSERT ON betriebsmittel
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE betriebsmittel
|
||||
SET kennzeichen = UPPER(kennzeichen)
|
||||
WHERE rowid = NEW.rowid
|
||||
AND kennzeichen <> UPPER(kennzeichen) COLLATE BINARY;
|
||||
END;
|
||||
DROP TRIGGER IF EXISTS "bm_upper_au";
|
||||
CREATE TRIGGER bm_upper_au
|
||||
AFTER UPDATE OF kennzeichen ON betriebsmittel
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE betriebsmittel
|
||||
SET kennzeichen = UPPER(kennzeichen)
|
||||
WHERE rowid = NEW.rowid
|
||||
AND kennzeichen <> UPPER(kennzeichen) COLLATE BINARY;
|
||||
END;
|
||||
DROP TRIGGER IF EXISTS "in_upper_ai";
|
||||
CREATE TRIGGER in_upper_ai
|
||||
AFTER INSERT ON input
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE input
|
||||
SET kennzeichen = UPPER(kennzeichen),
|
||||
schaltet_betriebsmittel = CASE
|
||||
WHEN schaltet_betriebsmittel IS NULL THEN NULL
|
||||
ELSE UPPER(schaltet_betriebsmittel)
|
||||
END
|
||||
WHERE rowid = NEW.rowid
|
||||
AND (kennzeichen <> UPPER(kennzeichen) COLLATE BINARY
|
||||
OR (schaltet_betriebsmittel IS NOT NULL
|
||||
AND schaltet_betriebsmittel <> UPPER(schaltet_betriebsmittel) COLLATE BINARY));
|
||||
END;
|
||||
DROP TRIGGER IF EXISTS "in_upper_au";
|
||||
CREATE TRIGGER in_upper_au
|
||||
AFTER UPDATE OF kennzeichen, schaltet_betriebsmittel ON input
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE input
|
||||
SET kennzeichen = UPPER(kennzeichen),
|
||||
schaltet_betriebsmittel = CASE
|
||||
WHEN schaltet_betriebsmittel IS NULL THEN NULL
|
||||
ELSE UPPER(schaltet_betriebsmittel)
|
||||
END
|
||||
WHERE rowid = NEW.rowid
|
||||
AND (kennzeichen <> UPPER(kennzeichen) COLLATE BINARY
|
||||
OR (schaltet_betriebsmittel IS NOT NULL
|
||||
AND schaltet_betriebsmittel <> UPPER(schaltet_betriebsmittel) COLLATE BINARY));
|
||||
END;
|
||||
DROP TRIGGER IF EXISTS "orte_upper_ai";
|
||||
CREATE TRIGGER orte_upper_ai
|
||||
AFTER INSERT ON orte
|
||||
FOR EACH ROW
|
||||
WHEN NEW.ort <> UPPER(NEW.ort)
|
||||
BEGIN
|
||||
UPDATE orte
|
||||
SET ort = UPPER(NEW.ort)
|
||||
WHERE rowid = NEW.rowid;
|
||||
END;
|
||||
DROP TRIGGER IF EXISTS "orte_upper_au";
|
||||
CREATE TRIGGER orte_upper_au
|
||||
AFTER UPDATE OF ort ON orte
|
||||
FOR EACH ROW
|
||||
WHEN NEW.ort <> UPPER(NEW.ort)
|
||||
BEGIN
|
||||
UPDATE orte
|
||||
SET ort = UPPER(NEW.ort)
|
||||
WHERE rowid = NEW.rowid;
|
||||
END;
|
||||
DROP TRIGGER IF EXISTS "out_upper_ai";
|
||||
CREATE TRIGGER out_upper_ai
|
||||
AFTER INSERT ON output
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE output
|
||||
SET kennzeichen = UPPER(kennzeichen),
|
||||
schaltet_betriebsmittel = CASE
|
||||
WHEN schaltet_betriebsmittel IS NULL THEN NULL
|
||||
ELSE UPPER(schaltet_betriebsmittel)
|
||||
END
|
||||
WHERE rowid = NEW.rowid
|
||||
AND (kennzeichen <> UPPER(kennzeichen) COLLATE BINARY
|
||||
OR (schaltet_betriebsmittel IS NOT NULL
|
||||
AND schaltet_betriebsmittel <> UPPER(schaltet_betriebsmittel) COLLATE BINARY));
|
||||
END;
|
||||
DROP TRIGGER IF EXISTS "out_upper_au";
|
||||
CREATE TRIGGER out_upper_au
|
||||
AFTER UPDATE OF kennzeichen, schaltet_betriebsmittel ON output
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE output
|
||||
SET kennzeichen = UPPER(kennzeichen),
|
||||
schaltet_betriebsmittel = CASE
|
||||
WHEN schaltet_betriebsmittel IS NULL THEN NULL
|
||||
ELSE UPPER(schaltet_betriebsmittel)
|
||||
END
|
||||
WHERE rowid = NEW.rowid
|
||||
AND (kennzeichen <> UPPER(kennzeichen) COLLATE BINARY
|
||||
OR (schaltet_betriebsmittel IS NOT NULL
|
||||
AND schaltet_betriebsmittel <> UPPER(schaltet_betriebsmittel) COLLATE BINARY));
|
||||
END;
|
||||
COMMIT;
|
Loading…
x
Reference in New Issue
Block a user