Hallo, ich hoffe mir kann da jemand weiterhelfen. Ich habe hier zu meinem bestehenden und funktionierenden SPS Programm ein Struktogramm erstellt, welches ich als Vorlage nutzen will. Ich habe keinerlei Probleme in der SPS Programmierung - jedoch habe ich nur wenig Erfahrung mir der Assembler Programmierung. Vielleicht kann mir jemand Unterstützung geben. Teil 1 der Anlage ist eine Ofenüberwachung. Hier soll nur ausgewertet werden ob der Ofen in Bewegung ist. Siehe Anhang.
Hallo Solche Programme erstellt man heute mit einem C-Compiler... sost aber wwww.sprut.de oder bei fernando heitor vorbei schauen Beste Grüsse Geri
>Solche Programme erstellt man heute mit einem C-Compiler... Das wäre ein 10Zeiler in Asm... Grundlegende Frage zu deinem Programm: Was soll der COntroller machen, wenn er den Ofen ausgeschaltet hat? Guck dir am besten mal die Beispiele auf sprut.de und bei Fernado Heitor an (sofern es da welche gibt). Dann probierst du mal aus, wie man mit einem Controller eine LED leuchten lässt, dann wie man einen Taster einliest und irgendwann kannst du dann auch Öfen steuern.
Hallo Unter der Voraussetzung, dass das Programm entsprechend realisiert wird, liegt ein grosser Vorteil von C u.a. in der Portierbarkeit. Die Komplexität der Umsetzung ergibt sich nicht ausserdem nicht unmittelbar aus der Anzahl der Codezeilen. Erahrungsgemäss wächst ein Programmm auch mit der Zeit an...;) Deshalb auch der etwas eindeutige Hinweis zur Implementierung in C. Dazu kommt, dass sich Gregor nur wenig Erfahrung in Assembler hat... Beste Grüsse Geri
>Das wäre ein 10Zeiler in Asm... >Grundlegende Frage zu deinem Programm: Was soll der COntroller machen, >wenn er den Ofen ausgeschaltet hat? >Guck dir am besten mal die Beispiele auf sprut.de und bei Fernado Heitor >an (sofern es da welche gibt). >Dann probierst du mal aus, wie man mit einem Controller eine LED >leuchten lässt, dann wie man einen Taster einliest und irgendwann kannst >du dann auch Öfen steuern. Hallo, es gibt nicht darum einen Ofen zu steuern. Sondern diesen auf seine Drehbewegung (Drehhochhofen) abzufragen. Um etwas genauer dieses Projekt zu beschreiben: es geht hier um eine Ofenlaufringinnenschmierung. Über einen Laser wird abgetastet ob der Ofen in Bewegung ist. (Dies wäre auch der Teil 1 der Anlage) Teil2: wird erkannt, dass der Ofen in Betrieb ist, werden die Pratzen des Ofens einzeln mit Öl besprüht. D.h. Einzig und allein dieser Laser in 3m Entfernung, erkennt dann die Drehbewegung und die einzelnen Pratzen und gibt einen Impuls ab. Das ganze soll jedoch keine Dauerschmierung sein sondern abgestuft in 4 Phasen: Phase0 -> Pause (2 Ofenumläufe a 10 Pratzen (somit 10 Impulse)) == 20Takte Phase1 -> Mixphase ( auch einstellbar z.b. 2 Ouml.)(Ölgefäß wird gemixt) Phase2 -> Druckphase ( auch einstellbar z.b. 2 Ouml.)(Die Pumpe baut einen Druck in einem Druckgefäß auf ca.40 Bar, wird der Druckschalter bestätigt und ist die Anzahl der Takte auch hier erreicht, ist Phase 2 beendet.) Phase3 -> Arbeitsphase nun wird zu jeder steigenden Taktflanke die Sprühdüse kurzzeitig geöffnet. Nach der Arbeitsphase ist der Sprühvorgang beendet und beginnt wieder von vorn.
Geri wrote: > Hallo > > Unter der Voraussetzung, dass das Programm entsprechend realisiert wird, > liegt ein grosser Vorteil von C u.a. in der Portierbarkeit. Die > Komplexität der Umsetzung ergibt sich nicht ausserdem nicht unmittelbar > aus der Anzahl der Codezeilen. Erahrungsgemäss wächst ein Programmm auch > mit der Zeit an...;) > > Deshalb auch der etwas eindeutige Hinweis zur Implementierung in C. > > Dazu kommt, dass sich Gregor nur wenig Erfahrung in Assembler hat... > > Beste Grüsse > > Geri Er redet von einer Problemlösung und Ihr redet von Portierbarkeit in C. Für diese Anwendung reicht so gut wie jeder µC. Welche Notwendigkeit der Portierbarkeit besteht hier, wenn noch nicht mal die erste Lösung in Sicht ist. @Gregor Wobei brauchst Du jetzt genau Unterstützung? Gibt es schon eine Hardware, µC schon ausgesucht. Hast Du schon Erfahrung mit Programmiersprachen wie Assembler und C oder steigst Du in die Hard und Softwarematerie ganz neu ein. Ich sehe bei der Realisierung dieser Aufgabe absolut kein Problem, nur solltest Du uns mal den aktuellen Stand der vorhandenen Hardware rübergeben. Sonst wird dieses Forum zum A-Z Entwicklungsbüro. Es nützt nichts, Dir jetzt ein Beispiel in Assembler oder C zu geben, wenn wir nicht Deinen Wissenstand kenne. gruß Dirk
Hallo Dirk, wir haben einen eine Controller entwickeln lassen. Dieser Controller wird auch schon eingesetzt. D.h. wir haben ihn bisher von einer Firma programmieren lassen. Nun ist es aber so, dass nun ein weiteres Programm integriert werden soll. Wir haben uns nun zur Aufgabe gemacht, dieses Projekt selbst anzugehen und auch in die assambler Programmierung einzusteigen. Unsere Hardware ist sozusagen schon im Einsatz und muss nur um eine weitere Programmvariante erweitert werden. µC: Pic16F877 Software zur Programmierung MPLAP bzw. MCLS-Modular Um noch zu meinem Wissenstand zu kommen. Ich habe fundierte Kenntnisse in der SPS Programmierung (damit verdiene ich mein tägliches Brot). Ich hatte vor kurzem einen 2 Tages Assamblerkurs wo grundlegendes abgearbeitet wurde - soviel zu meinem Stand. Ich bräuchte jemand der mir sagen kann wie ich z.B: Vergleiche wie <;>;== ; Negationen UND, ODER, SPEICHERNDE EIN- AUSSCHALTVERZÖGERUNGEN programmieren muss.
Noch eine Frage zuvor. Was heisst "es soll ein weiteres Programm integriert werden" ??? Heisst das: Programme wahlweise umschaltbar oder Integration des neuen in das Alte???
was hast du denn 2 Tage in dem Assembler-Kurs gemacht? In der Zeit hättest du sich C gelernt. Zumindest um son paar einfache Sachen zu machen. Als Hinweis: So ein Programm wie in deinem Flussdiagramm angegeben kann man in C in 2 Stunden programmieren und Testen. Wer sowas noch in Assembler programmiert will nur Zeit/Geld schinden.
@Gregor >Um noch zu meinem Wissenstand zu kommen. Ich habe fundierte Kenntnisse >in der SPS Programmierung (damit verdiene ich mein tägliches Brot). Naja, bei SPS Programmen hat man es auch bisweilen mit arg verkorksten Konstruktionen zu tun . . .;-) No offence. >Ich hatte vor kurzem einen 2 Tages Assamblerkurs wo grundlegendes >abgearbeitet wurde - soviel zu meinem Stand. Nicht wirklich viel. >Ich bräuchte jemand der mir sagen kann wie ich z.B: >Vergleiche wie <;>;== ; >Negationen >UND, ODER, >SPEICHERNDE EIN- AUSSCHALTVERZÖGERUNGEN >programmieren muss. Das kann dir jedes durchschnittliche Lehrbuch zu Assembler sagen. Aber wenn du nur SPS Programmierkentnisse hast (kein BASIC, Pascal irgendwasanderes?) dann hast du noch einen langen Weg vor dir. MfG Falk
tom wrote: > was hast du denn 2 Tage in dem Assembler-Kurs gemacht? > > In der Zeit hättest du sich C gelernt. Zumindest um son paar einfache > Sachen zu machen. > Als Hinweis: So ein Programm wie in deinem Flussdiagramm angegeben kann > man in C in 2 Stunden programmieren und Testen. Wer sowas noch in > Assembler programmiert will nur Zeit/Geld schinden. Ich will es mal so ausdrücken. IHR SEID RICHTIGE SCHWÄTZER. Meldet Euch zu Wort, wenn Ihr Ihm wirklich Hilfestellung leisten könnt und labert nicht blöd umher, denn dafür ist das Forum gedacht. Dann schreibt Ihm doch das Programm in "C". Aber dafür müssen erst n dutzend anderer Threads geöffnet werden, wo nach ner Library für dies und das gefragt wird. Die einfachsten Dinge werden zum Problem. Immer alles andere schlecht machen. Was meint Ihr denn woraus "C" besteht? Aus ner Liste von Assembler Anweisungen, die nur so gut wie Ihre Programmierer und Oberprogrammierer sind. Also gebt dem guten Mann Unterstützung. Ich werde es tun.
@ Dirk Schön das es mal einer sagt. Warum muss man sich ständig für PIC und/oder Assembler Projekte rechtfertigen? Wie Du ja über die Verwendung von C gesagt hast, kann Grundlagenwissen in Assembler nur hilfreich sein, wenn man sich dessen bedienen möchte. Gruss,Edson
@Dirk Hallo Dirk, danke zunächst, dass du dich meinem Problem gewidmet hast. Wie du es richtig interpretiert hast, ist es eine Programmvariante, welches je nach Dipschalterstellung aufgerufen wird. Aber soweit müssen wir gar nicht gehen... Mir wäre es lieber mal Step by Step das Programm zu schreiben. Mit Mcls Modular habe ich die Möglichkeit dieses Programm dann auch noch zu simulieren.. Und das wäre schon ein riesiger Meilenstein. Zum Glück gibt es hier auch Leute wie dich, die einem nicht eine Kartoffel als Banane verkaufen wollen.. Ich hab auch etwas Visual Basic und C Erfahrung dies wurde mir mal während meiner Technikerausbildung beigebracht. Hier muss nun mal aber Assembler programmiert werden. Ich kann mir es nicht raussuchen. Im Assembler Kurs hab ich die 35 Befehle, Aufbau, Register und einfache Programme geschrieben. Lauflicht, Blinklicht usw. jedoch in kürzester Zeit.. Wie ich gemerkt hab bist du da ziemlich fit.. Geb mir auch mal ein paar Literaturtipps.
Hallo Gregor, hast Du eigentlich Hardware für die Programmentwicklung? Also ein Board oder so mit ICSP? Die beste Literatur ist meiner Meinung nach immer noch das Datenblatt selbst. Hier steht was man Controller-spezifisch beim programmieren beachten muss, der Rest kommt dann von selbst wenn man erst mal weiss wie man anfängt. Gruss, Edson ps. Was ist Mc1s Modular?
@Gregor > danke zunächst, dass du dich meinem Problem gewidmet hast. > Dafür ist dieses Forum da. Außerdem hat mir mal jemand gesagt "Es gibt keine Probleme nur Lösungen" :-) > Wie du es richtig interpretiert hast, ist es eine Programmvariante, > welches je nach Dipschalterstellung aufgerufen wird. > OK, kappiert ;-) > Aber soweit müssen wir gar nicht gehen... Mir wäre es lieber mal Step by > Step das Programm zu schreiben. > Mit Mcls Modular habe ich die Möglichkeit dieses Programm dann auch noch > zu simulieren.. Und das wäre schon ein riesiger Meilenstein. > Das setzt aber vorraus, daß Du Dich in dieses Programm einarbeitest, da ich etwas anderes benutze und die evtl. entstehende Problematik nur schwer nachvollziehen kann. Aber gut. > Zum Glück gibt es hier auch Leute wie dich, die einem nicht eine > Kartoffel als Banane verkaufen wollen.. > > Ich hab auch etwas Visual Basic und C Erfahrung dies wurde mir mal > während meiner Technikerausbildung beigebracht. Hier muss nun mal aber > Assembler programmiert werden. Ich kann mir es nicht raussuchen. > Dazu mache ich jetzt keine Bemerkungen, sonst werde ich hier im Forum mit den Kartoffeln und Bananen (evtl. noch Tomaten (holländische iiihhh)) beschossen. Denk dran, Assembler ist keine Krankheit. Wenn Du Dich ihm widmest und pflegst, wird er es Dir danken. > Im Assembler Kurs hab ich die 35 Befehle, Aufbau, Register und einfache > Programme geschrieben. Lauflicht, Blinklicht usw. jedoch in kürzester > Zeit.. > Das ist natürlich absolute Sch....., 2 Tage. Klingt wie die Bücher "Vom Baby zum Visual Studio Programmierer in 21 Tagen" Wenn Du schon SPS programmierst, weisst Du, daß 99% Autodidaktisch sind. Hier ist es genau so. > Wie ich gemerkt hab bist du da ziemlich fit.. Geb mir auch mal ein paar > Literaturtipps. Dann gib mit mal ne email adresse. Gruß Dirk
Vielleicht kannst du mir ja auch mal den Teil 1 als Beispiel programmieren. Ich versuche es dann umzusetzen und werde es in der Simulation sehen, ob ich es geschafft habe.
Ich habe nix verstanden,eine Logo für ein paar Euronen sollte dieses Problem doch lösen,wozu Assembler,wenn man es nicht kann. Wenn man 10000 Steuerungen dieser Art verkaufen muss,kann man dieses Problem auch mit einem Micro lösen,dafür gibt es ja auch alle Programmiersprachen,sogar SPS ähnlich :http://www.parsic.de/ Assembler ist in der Regel etwas für Leute,die regelmässig damit arbeiten. Gute Hochsprachen assemblieren schon hochwertig,sonst würden die sich ja blamieren,wenn man deren Übersetzung ansieht. Wer also nur ein paar Projekte im Jahr mit einem Micro hat, ist mit einer Hochsprache besser bedient. Wenn eine Arbeitsstunde 50-100 E kostet,sollte , wenn das Projekt es zulässt auf Industrielle Lösungen zurückgreifen.
Dieses Programm ist genau das was wir suchen.. Ich lass mir nun ein Angebot zukommen, was diese Vollversion kosten soll. Sollte es jedoch bessere Programmiertools geben, dann gebt mir bitte bescheid! Danke für diesen Tip. @F.H.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.