cos, sin, arcos, arsin und Look Up Table

Werna

Level-1
Beiträge
28
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich möchte gerne wissen, ob bei der neuen PSS Steuerung mit dem SW Tool PAS4000 trigonomische Funktionen (sin/arcsin/cos/arccos) unterstützt werden?
Wenn ja, sind diese auch für sicherheitsgerichtete Applikationen geeignet?

Gibt es die Möglichkeit "sichere" Look-Up Tables zu speichern, auf die man während der Laufzeit zugreifen kann --> natürlich auch für sichere Applikationen

Danke für die Info
lg
Werna
 
Hallo Werna,

Als Trigonometrische berechnungen kann die PSS4000:

SIN - Sinus
COS - Cosinus
TAN - Tangens
ASIN - Arkussinus
ACOS - Arkuscosinus
ATAN - Arkustangens

Allerdings nur im Standard-Teil da es sich hierbei um Gleitkomma-Berechnungen handelt, und Gleitkomma-Berechnungen in der Sicherheitstechnike ein heikles Thema sind.



Einen fertigen Baustein mit einer Look-Up Tabelle haben wir nicht, du könntest hierfür mit einem Array, oder auch mehrdimensionalen Array arbeiten, das natürlich während der Laufzeit auch im Sicherheitsteil ausgelesen werden kann.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke vorerst für die Antwort.
Das heisst ich kann keine trigonometrischen Sicherheitsfunktionen rechnen.
zB ich möchte eine Begrenzung realisieren, die bei derer man diese Funktionen benötigt, um zu rechnen, wie weit 4 gekoppelte Achsen ausgefahren sind?
Ich denke, dass ihr oft so ein Problem habt. Wie könnte man das realisieren?

bzgl. Gleitkommaberechnungen: Warum sind das eigentlich heikle Berechnungen? So viel ich weiß, hat KW-SW einen REAL Wert auch im Saftey Bereich.

bzgl. Look Up Table: Wie kann ich sicher sein, dass sich die Werte nicht verändert haben (zB CRC zusätzlich zu jedem Eintrag)?
Darf man einfach aus nicht sicheren Datentypen in der funktionale "Welt" einfach Daten in die sichere "Welt" übertragen?

Danke
lg
Werna
 
Hallo Werna,

Das heisst ich kann keine trigonometrischen Sicherheitsfunktionen rechnen.
Richtig, die trigometrischen Funktionen stehen im FS-Teil nicht zur Verfügung.


zB ich möchte eine Begrenzung realisieren, die bei derer man diese Funktionen benötigt, um zu rechnen, wie weit 4 gekoppelte Achsen ausgefahren sind?
Ich denke, dass ihr oft so ein Problem habt. Wie könnte man das realisieren?
Du könntest mit dem Baustein FS_PositionToAngle arbeiten. Brauchst halt jeweils einen sicheren Geber an deinen Achsen. Der Baustein macht dann aus deiner Position einen Winkelwert der in einem SAFEUINT gespeichert wird und im FS Teil weiterverarbeitet werden kann.


bzgl. Gleitkommaberechnungen: Warum sind das eigentlich heikle Berechnungen? So viel ich weiß, hat KW-SW einen REAL Wert auch im Saftey Bereich.
In der Sicherheitstechnik muss ja mit diversitären Bauteilen gearbeitet werden, um systematische Fehler in Bauteilen aus zu schließen. Un so kann es bei Gleitkommaberechnungen passieren dass bei unterschiedlichen Prozessoren verschiedener Hersteller leicht unterschiedliche Werte heraus kommen. Beim Vergleich dieser Werte hätte man laufend Fehler und die berechnungen müssten erneut durchgeführt werden, was sich negativ auf Zykluszeiten auswirken würde, oder die Steuerung geht bei einer unterschiedlichen Berechnung in Fehler was sich negativ auf die Verfügbarkeit der Anlage auswirken würde. Darum sind diese Datentypen im FS-Teil nicht verfügbar.


Wie kann ich sicher sein, dass sich die Werte nicht verändert haben
Wenn du so denkst, müsstest ja auch die Befürchtung haben dass sich dein Programmcode einfach mal so verändert und aus einem UND ein ODER wird oder so.
Wenn du die Werte fest in deinem Code in ein Array einfügst wird sich hier nichts mehr verändern.
Aber du kannst ja sogar ein Array mit sicheren Datentypen anlegen, dann hast du quasi ein sicheres Array.
Als sichere Datentypen stehen folgende zur Verfügung:
SAFEBOOL
SAFEBYTE
SAFEWORD
SAFEDWORD
SAFESINT
SAFEINT
SAFEDINT
SAFEUSINT
SAFEUINT
SAFEUDINT
 
Danke für die Antworten.
Eine Frage hätte ich noch. Es gibt Sensorhersteller, die auf den CAN-OPEN Layer noch einen Safety Layer setzen. Kann man diesen Layer auch sicherheitsgerichtet auf CAN-OPEN Basis nach implementieren?
Danke
lg
Werna
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Werna,

so ganz verstehe ich deine Frage nicht. Willst du in der PSS4000 dieses Sicherheits-Level nachprogrammieren oder wie?
Grundsätzlich hat die PSS4000 kein CAN-Open.
Wir haben nur ein Modbus-CAN Gateway, das dann aber auch nur als Slave fungiert.
 
Zurück
Oben