Modul-Code zur Anpassung

Begonnen von gravieren, 28. Februar 2007, 18:18:56

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 4 Gäste betrachten dieses Thema.

gravieren

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"




hugo

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

gravieren

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  ;)


hugo

doku wird verbessert.
danke, hugo