Wunsch-Logikbausteine

@Paresy:
Vor 4 wochen - ich hab ein Lego mindstorm projekt unfertig da liegen - kam ich in contact mit Labview. Mann ! aber komplex !! mensch pfft.

Aber ein perfekter ziel wohin mit die modulle…

Hasst du keine zeit einem Lego NTX modul in IPS rein zu proggen ?
Das wäre spitze : IPS = spitze und dabei den Designer : ich hab alles : vertrauete umgebung und visuilisation zum Kunde.

my 2 cents - wie immer -

Na das ist auf jeden Fall der richtige Weg. Eine kleine Grafik pro Block, wie in obicoms post, mit den Ein- und Ausgängen und einem Symbol, dann ist alles perfekt.

Okay, das kommt dem was ich mir vorgestellt hatte schon sehr Nahe, bleibt nur die Frage ob der Threadersteller das auch im Sinn hatte :smiley:

Einige Dinge sind mir aufgefallen:

[ul]
[li]Beim Brick erstellen bekam ich mehrmals die Meldung unten. Ist zwar logisch warum sie kommt, aber für End-User sicherlich nicht nachvollziehbar. Das solltest du besser differenzieren damit sie nicht versehendlich, wie ich, eines erstellt statt eines zu benutzen.
[/li][li]Ich habe, bevor ich verstanden habe was ich tun muss, mehrere Scripte mit leerem Namen erstellt, die dann irgendwie nervten…
[/li][li]Bei den Consts solltest du eine Validitätsprüfung einbauen. das testbrick nimmt dort als Integer die Value „test“ nicht :wink:
[/li][/ul]

Hab nur kurz draufgeschaut, aber ich denke das ist dir schon sehr gut gelungen.

Toni

msg.JPG

Danke für’s Feedback :slight_smile:
1+2 ist schon behoben. (Ist steiner schon drüber gestolpert)
3 s.U.

Was noch kommt:
-Validierung der Const Typen
-Eine Input Variable kann aus mehreren Typen gewählt werden
-Outputs werden vor Scriptausführung eingelesen. (z.B. für Schieberegiser)
-Input/Output Variablennamen werden in einem Array bereitgestellt
-Direkte Visu der Variablen ähnlich Live Ansicht im MacroEditor
-Outputs können direkt mit Scripten vernüpft werden
-Name/Beschreibung wird aus XML ausgelesen

Ideen, Vorschläge?

paresy

Ich hab mir das eher wie den Mokro-Editor vorgestellt.
Die „Bricks“ als Grafiken können im (Macro-) Editor frei positioniert werden (Wie die grafische Instanzenseite) und die „Anschlüsse“ miteinander verbunden werden. Vielleicht kannst du das am einfachsten im Macro-Editor umsetzen … ich mach mal ne Skizze wie das Blockschaltbild dann aussieht …

In einer „Run“ Ansicht könnten die Verbindungen „True“ in Rot und die „False“ in Schwarz angezeigt werden … also als Debugger oder Liveansicht …

Ach ja … „Step“ wäre auch sinnvoll um dann Fehler leichter zu finden … so kann man im garfischen Ablauf die Signale und Ausgaben verfolgen …
also bei „Klick“ ein Befehl weiter …

„Programmieren“ müsste man dann nur die „verquellungen“ … also A1 mit E7 usw…

Könnt ihr mir folgen? Ist vielleicht umständlich erklärt …

Du könntest den Brick so umbauen, dass er zusätzlich eine PHP-Schnittstelle fürs scripten bekommt. Dann bräuchte man ihn wenn man es denn will, nur manuell includen und könnte den Brick auch im Standard-Script nutzen. Voraussetzung dafür ist halt, dass er weiterhin automatisch ausgeführt wird aber eben auch includet werden kann ohne sofort ausgeführt werden zu müssen.



if ($__BrickSender = "Brick")
  testbrick($__inputA, $__inputB, $__constC, $__outC);

function testbrick($__MyInpA, $__MyInpB, $__MyConstC, $__MyOutC) 
{
  if(!$__MyInpA)  
  {
    $__MyOutC="Keine Berechnung";
  } 
  else 
  {
    $__MyOutC="Ergebniss: ".($__MyInpB * $__MyConstC);
  } 
  debug($__MyOutC);
}

Fällt dir was auf? :wink:

Toni

Ich weiß und wusste, was obicom und Olli sich vorgestellt hatten.
Es ist auch nicht unmöglich. Es ist aber wesentlich Aufwändiger und auch nicht für alles Sinnvoller. (z.B. das Waterkotte Script könnte man hierdamit sehr einfach aufbereiten: Buffer Variable als Input, die einzelnen Werte als Output Variablen). Da wäre das einbetten in den MacroEditor mit den einzelnen InputVariablen/OutputVariablen Blöcken viel komplizierter. Hier sind es jetzt ein paar Klicks. Fertig.

Ihr könnt für diesen Baukasten ja schon einmal Bausteine bauen. (Am besten ab heute Abend, wenn das nächste Update da ist)
Wenn das angenommen wird, kann man die selben Bausteine dann auch als MacroEditor Objekte einbinden. Erstmal würde ich aber die einzelne Bausteine testen wollen, um zu sehen, was alles machbar ist und welche Anforderungen gebraucht werden.

paresy

Ich werde es mit meinem Wetter-Skript probieren -> so in die Richtung Parser-Baustein und Decoder-Baustein. Oder vieleicht direkt beides zusammen… kann aber ein paar Tage dauern - ist leider nicht das kleinste Skript.

Entdecke die Möglichkeiten :slight_smile:

Gruss,
Olli

Ein Update wird es leider erst Sonntag geben. Sorry.

Macht am besten noch keine Module, weil die XML Config sich etwas ändern wird.

paresy

Hallo hier gehts ja ab!:slight_smile:

Danke für die prompte Erweiterung von IP-Symcon hier werden sie geholfen. Ich dachte ja nicht, dass gleich IPSymcon verändert wird.
War ja nur mal eine Idee.:smiley:

Ich weiss leider nicht ob das Beispiel das ist was ich (und hoffentlich viele andere auch ) brauchen. Aber ihr habt das bestimmt gründlich überlegt ob man da viel Zeit-Geld investiert.
Ich habe noch ein Beispiel aus der Praxis hochgeladen.
Braucht man diese Anhäufung von Modulen wie im Anhang gezeigt?
Dann braucht man eine Fläche wie beim Macroeditor wo man einzelne Module zu einem funktionierenden System zusammenklickt. Das wird Aufwändig!

Im Moment brauche ich vor allem etwas „einfaches“ z.B. Energiezähler , Momentanwertzähler.
Ich hab die Befürchtung: IP-Symcon wird immer professioneller evtl. dann teuer? Einstiegspreise von 1000.-Euro und mehr für ein paar Variablen, dann kauft das halt keiner mehr und wir Bastler sind aussen vor.

Paresy: Dein 1. Entwurf ist Klasse.
Wäre es aber „schöner“ bei Inputs links den Eingang (Variable) dann die Bezeichnung und bei Outputs rechts die Variable(Ausgang) zu platzieren?
Also: Was kommt rein was geht raus eindeutiger.
Ein Vorschlag noch für die fummelige Macrolinienverbindung: Beispiel: Auf das Kreuz in der Inputvariable dann auf das Kreuz der Outputvariable klicken die verbunden werden sollen, dann erscheint bei „Treffer“ die Linie-bedeutet-erfolgreich verknüpft.(Vorteil die Linienverschiebung entfällt)
Sonst:
Weiter so Spitze!!:slight_smile:
Gruß
Egon

Ich verstehe die Funktionsweise deines Screenshots zwar nicht ganz, vermute aber 3 AND Bausteine…

Wenn du mir die Farben noch erklärst und ich es gut finde… :wink: könnte ich das mit übernehmen.

paresy

Was auch ganz wichtig und praktidch wäre, wenn bei der verquellung der Eing- und Ausgänge diese jeweisl negierbar wären … so spart man sich den „Negator Baustein“ … ein guts „altes“ Beispiel ist die Siemens Simatic S5 mit der Programmiersprache STEP7 …

Die roten Kreise sind negierte Eingänge …

sps3.gif

Ich fühl mich schon fast als Noob-Anwalt…:smiley:

Diese Bricks sind, wie der Makroeditor, sicherlich sehr hilfreich wenn man noch kein PHP beherrscht. Ist es nun sinnvoll so viel „Zeugs“ einzubauen, dass man schon fast wieder Grundkenntnisse in SPS-Programmierung braucht um damit klar zu kommen?

Es ist sicherlich nicht falsch was obicom sagt, aber man sollte sich vorher kurz darüber klar werden wer denn die Zielgruppe sein soll…

Gruß,

Toni

Das System könnte, je nachdem wie es aufgezogen wird, auch interessant werden für Leute mit fundierten PHP-Kenntnissen: denn es könnte einiges an Zeit bei System-Implementierungen sparen.

Die wirklichen Spezialitäten werden weiterhin durch Custom-PHP-Programmierung abgebildet - aber die ‚Hausbasics‘ werden einfach zusammengeklickt.

Gruss,
Olli

Eben… es könnte alles mögliche werden… und darum bitte eben vorher drüber nachdenken. Hab nicht gesagt wo die Entwicklung hingehen soll, nur, dass man kurz drüber nachdenken sollte.

Letztlich ist IPS ein komerzielles Produkt, dass vor allem an Neulinge verkauft werden will und keine RAD-Umgebung für Profi-Heimautomatisierer. Auch wenn mir das genausogut gefallen würde wie dir, Olli…

Gruß,

Toni

Hier stimme ich Tonic völlig zu ! QUO VADIS IPS ??

Hier scheint eine Euphorie ausgebrochen zu sein, die ich leider nicht mehr nachvollziehen kann?? Ich dachte, IPS wäre ein Tool ‚ohne Grenzen‘, wo man frei drauf los programmieren könnte? Und jetzt erlebe ich einen Rückwärtsboom mit fertigen Modulen. Nanu?? Später, wenn die dann fertig sind, jammert dann jeder, ob nicht im Modul dies und das geändert werden könnte da es seinen Bedürfnissen nicht angepasst ist !

Ich habe jahrelang CFC für die redundante Sicherheits SPS S7-400H geschrieben, und das ganze läuft darauf aus. Ich fühl mich pudelwohl in der Umgebung, dennoch wird es vielen nicht mehr schmecken.
Die Fexibilität von IPS wird darunter leiden. Nun will auch noch der ein oder andere RUN/STOP und STEP Funktion, dann alle Logikgatter…etc !
Jetzt fehlt nur noch, dass jemand Equivalenz- und Antivalenzschalter erwähnt, na prost !

So, ich werde mir sicherlich mit diesem Post ein paar Gegener machen, aber damit kann ich leben. Wenigstens habe ich das gesagt, was ich sagen wollte !

mfG Franz

Eines fällt mir noch grad ein…

Bislang sind wir immer ganz gut damit gefahren den Leuten Mut zu machen sich mit PHP vertraut zu machen. Das sollte auch weiterhin so laufen.

Wenn jemand sich nicht an PHP herantraut und lieber ersteinmal was mit den Bricks zusammenklickt, dabei aber nicht sofort ein einen kleinen Erfolg erlebt, könnte das durchaus demotivierende Wirkung haben.

So nett die Idee auch ist, ich würde mir wünschen, dass dies zunächst als Hilfe für Einsteiger entwickelt wird bevor ultrakomplexe eierlegenden Wollmilch Module - pardon, Bricks - geschaffen werden. Und das bezieht sich in diesem Falle nicht auf paresy, sondern auf diejenigen unter uns, die nun Bricks schreiben wollen.

Ich selbst werde mir das genau so vornehmen, aber aus akutem Zeitmangel sicherlich nicht unbedingt die Masse an Bricks produzieren können.

@guy
Die flexibilität wird nicht sooo sehr drunter leiden. Die Möglichkeit scripte zu schreiben bleibt ja weiterhin bestehen. Aber wenn das mit den Bricks gut funktioniert ist das ein echtes Argument für den erwerb einer IPS-Lizenz statt sich das Wenndannendewenn-Kauderwelsch der Mitbewerber anzutun.

Toni

Toni

Es steht doch jeden frei, seine Wünsche mit PHP-Programmierung auszuleben, oder sich mit „Bausteinen“ zu Ergebnissen zu kommen.

Seht das doch einfach mal bisschen weltoffener und nicht nur aus der eigenen engstirnigen Denkweise.
Mich und mit Sicherheit vielen anderen Interessierten würde das auf alle Fälle schneller zu Erfolgen bringen.
Ich z.B. habe Digitaltechnik gelernt und kenne mich mit NAND, AND, OR, NOR… aus.
Programmieren, insbesondere mit PHP, muss ich mir beibringen.

Vor sehr langer Zeit habe ich mich mit BASIC beschäftigt… :smiley:

Ich sehe es vor allem von mehreren Winkeln aus:

[ul]
[li]…leidet das bisherige IPS darunter. Bugs, die gefixt werden sollten, bleiben dann mal liegen um IPS immer wieder weiter auszubauen.
[/li][li]Wenn mehr in die Entwicklung von IPS gesteckt wird, heisst das auch mehr Aufwand, sprich mehr Ausgaben, und es wird nicht nicht jedem schmecken, wenn IPS auf einmal schlagartig drastig erhöht würde im Beitrag.
[/li][li]IPS wird immer ‚schwerer‘ und irgendwann wird aus Barebone Rechnern auch nichts mehr.
[/li][/ul]

Ich frage mich, ob jeh einer von euch mal eine Lizenz zu STEP7 bezahlt hat, der weiss, wovon ich spreche.

ausserdem, jeder der mal ein AND-Gatter gesehen hat, kann auch in PHP

if ((Schalter_1 == TURE) AND (Schalter_2 = TRUE)) … schreiben.

mfG Franz