<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to Funktion erstellen</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/20db808e68/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/20db808e68/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Deutsch/thread/20db808e68/</id><updated>2020-02-28T00:02:19.242000Z</updated><subtitle>Recent posts to Funktion erstellen</subtitle><entry><title>Funktion erstellen</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/20db808e68/?limit=25#987d" rel="alternate"/><published>2020-02-28T00:02:19.242000Z</published><updated>2020-02-28T00:02:19.242000Z</updated><author><name>Chris.O</name><uri>https://forge.codesys.com/u/chris-o/</uri></author><id>https://forge.codesys.comebf6a703972f513ee4d982775cca0c6c79124090</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Oder ein komplette PRG in AS programmieren... da tut man sich meiner Meinung nach bei Schrittketten etwas leichter.&lt;/p&gt;
&lt;p&gt;Ansonsten kannst du dir in der Funktion mal einen Breakpoint setzen, dann werden die die Werte in diesem Moment angezeigt.&lt;/p&gt;
&lt;p&gt;Gruß Chris&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Funktion erstellen</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/20db808e68/?limit=25#7a71" rel="alternate"/><published>2020-02-28T00:02:17.578000Z</published><updated>2020-02-28T00:02:17.578000Z</updated><author><name>wollvieh</name><uri>https://forge.codesys.com/u/wollvieh/</uri></author><id>https://forge.codesys.com45ddda53224efff3483b720d1a3c7cb694858ed0</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Eine Function kann keine Zustände speichern.&lt;br/&gt;
Du solltest dazu einen Functionblock verwenden.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Funktion erstellen</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/20db808e68/?limit=25#4423" rel="alternate"/><published>2020-02-28T00:02:15.798000Z</published><updated>2020-02-28T00:02:15.798000Z</updated><author><name>caprez95</name><uri>https://forge.codesys.com/u/caprez95/</uri></author><id>https://forge.codesys.com2da43d87ef4146547ad14f380a0333bd4ec559db</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Liebe Community&lt;/p&gt;
&lt;p&gt;Ich will eine Funktion erstellen, mit der ich einen Schrittmotor Referenzieren will.&lt;/p&gt;
&lt;p&gt;Die Funktion sieht folgendermassen aus:&lt;/p&gt;
&lt;p&gt;FUNCTION Stepper_Homing : BOOL&lt;br/&gt;
VAR_INPUT&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;Start&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;BOOL&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;END_VAR&lt;/p&gt;
&lt;p&gt;VAR&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;single_scan&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;BOOL&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="n"&gt;FALSE&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;Motor_Init&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;INT&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;END_VAR&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;IF Start AND NOT single_scan THEN&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;Motor_Init&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;single_scan&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;TRUE&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;END_IF&lt;/p&gt;
&lt;p&gt;CASE Motor_Init OF&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;:
    &lt;span class="nv"&gt;GVL&lt;/span&gt;.&lt;span class="nv"&gt;Motor_Controlword&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="c1"&gt;;                     //Enable Voltage, Disable Quickstop&lt;/span&gt;

    &lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;GVL&lt;/span&gt;.&lt;span class="nv"&gt;Motor_Statusword&lt;/span&gt;.&lt;span class="mi"&gt;4&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;

        &lt;span class="nv"&gt;Motor_Init&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;

    &lt;span class="nv"&gt;END_IF&lt;/span&gt;

&lt;span class="mi"&gt;20&lt;/span&gt;:
    &lt;span class="nv"&gt;GVL&lt;/span&gt;.&lt;span class="nv"&gt;Motor_OPMode&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="c1"&gt;;                          //Homing Mode&lt;/span&gt;

    &lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;GVL&lt;/span&gt;.&lt;span class="nv"&gt;Motor_OPMode_Display&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;6&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;

        &lt;span class="nv"&gt;Motor_Init&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;

    &lt;span class="nv"&gt;END_IF&lt;/span&gt;

&lt;span class="mi"&gt;30&lt;/span&gt;:
    &lt;span class="nv"&gt;GVL&lt;/span&gt;.&lt;span class="nv"&gt;Motor_Controlword&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="c1"&gt;;                 //Switch on&lt;/span&gt;

    &lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;GVL&lt;/span&gt;.&lt;span class="nv"&gt;Motor_Statusword&lt;/span&gt;.&lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;

        &lt;span class="nv"&gt;Motor_Init&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;40&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;

    &lt;span class="nv"&gt;END_IF&lt;/span&gt;

&lt;span class="mi"&gt;40&lt;/span&gt;:     
    &lt;span class="nv"&gt;GVL&lt;/span&gt;.&lt;span class="nv"&gt;Motor_Controlword&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="c1"&gt;;                    //Enable Operation&lt;/span&gt;

    &lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;GVL&lt;/span&gt;.&lt;span class="nv"&gt;Motor_Statusword&lt;/span&gt;.&lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;

        &lt;span class="nv"&gt;GVL&lt;/span&gt;.&lt;span class="nv"&gt;Motor_Homing_Method&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;27&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
        &lt;span class="nv"&gt;GVL&lt;/span&gt;.&lt;span class="nv"&gt;Motor_HomingVelF&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;500000&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
        &lt;span class="nv"&gt;GVL&lt;/span&gt;.&lt;span class="nv"&gt;Motor_HomingVelS&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;50000&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
        &lt;span class="nv"&gt;GVL&lt;/span&gt;.&lt;span class="nv"&gt;Motor_HomingAcc&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1000000&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
        &lt;span class="nv"&gt;Motor_Init&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;

    &lt;span class="nv"&gt;END_IF&lt;/span&gt;

&lt;span class="mi"&gt;50&lt;/span&gt;:     
    &lt;span class="nv"&gt;GVL&lt;/span&gt;.&lt;span class="nv"&gt;Motor_Controlword&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;31&lt;/span&gt;&lt;span class="c1"&gt;;                    //Start Motion&lt;/span&gt;

    &lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;GVL&lt;/span&gt;.&lt;span class="nv"&gt;Motor_Statusword&lt;/span&gt;.&lt;span class="mi"&gt;10&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;

        &lt;span class="nv"&gt;GVL&lt;/span&gt;.&lt;span class="nv"&gt;Motor_Controlword&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
        &lt;span class="nv"&gt;Stepper_Homing&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;TRUE&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;

    &lt;span class="nv"&gt;END_IF&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;END_CASE&lt;/p&gt;
&lt;p&gt;Diese Funktion rufe ich folgendermassen auf:&lt;/p&gt;
&lt;p&gt;PROGRAM Homing_Function&lt;br/&gt;
VAR&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;Stepper_Homed&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;BOOL&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;END_VAR&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;IF NOT Stepper_Homed THEN&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;Stepper_Homed&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Stepper_Homing&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;Start&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;TRUE&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;END_IF&lt;/p&gt;
&lt;p&gt;Jedoch funktioniert das ganze nicht. In der Funktion werden im Betrieb nur Fragezeichen anstatt den Werten angezeigt.&lt;br/&gt;
Kann mir jemand sagen, was ich falsch mache?&lt;/p&gt;
&lt;p&gt;Vielen Dank für eure Hilfe!&lt;/p&gt;
&lt;p&gt;Gruss caprez95&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>