Hi Hugo
Ich teste momentan die OSCAT-S7 Version.
Mir fallen einige Code-Stellen auf, die nachgebessert werden könnten.
ZitatOrginal: C_to_F := celsius * 1.8 + 32
Vorschlag: C_to_F := (celsius * 1.8 ) + 32.0
32 --> (INT-Wert)
Punkt vor Strich kann der Compiler, jedoch wird die lesbarkeit erhöht.
*******************************************************************************************************
check_parity
FUNCTION check_parity : BOOL
TITLE = 'check_parity'
//
// this function checks for an even partity for a dword and partity bit.
//
// Uses: even
//
VERSION : '1.0'
AUTHOR : hugo
NAME : CHECKP
FAMILY : GATE
VAR_INPUT
in : DWORD; *********************** FEHLER ? Sollte BYTE sein (Laut Handbuch)
p : BOOL; *********************** FEHLER ? Sollte BOOL sein (Laut Handbuch)
END_VAR
Zudem fehlt im Handbuch die Erklärung/Beschreibung für den Paramter "p"
danke für die inputs
zu punkt 1 32.0 ja vielleicht besser lesbar, aber durch typecast errechnet der compiler automatisch den richtigen wert.
32.0 wird als real gespeichert und 32 als in spart also 2 byte speicherplatz und ist effizienter
dword für input.
das ist volle absicht, dword kann durch typecast des compilers mit allen kleineren bit typen geladen werden, damit kann wenn in einem dword das unterste byte bearbeitet werden soll dieses direkt auf den eingang gelegt werden.
die funktion nist also flexibler.
wir wollen dies in der lib verstärkt nutzen um universeller zu sein.
p (parity sollte natuerlich beschrieben sein und wird unmittelbar berichtigt.
vielen dank
Hi
Zitatdword für input.
das ist volle absicht, dword kann durch typecast des compilers mit allen kleineren bit typen geladen werden
Jo, klingt logisch, sollte aber auch dokumentiert sein ;)
doku wird verbessert.
danke, hugo