Blinklampe mit C#
-
- SPSTreff-Fortgeschrittener User
- Beiträge: 14
- Registriert: 26 Jul 2010, 17:01
Blinklampe mit C#
Hallo,
ich bin dabei PLC-Lab mit C# zu erlernen. Im Projekt möchte ich eine
blinkende Lampe programmieren. Wenn ein Endschalter (Öffner) be
tätigt wird (bei mir Get_DebugS1() ) soll die Lampe (Set_DebugLampe )
blinken. Wollte es mit delay versuchen, aber beim using System.Threading.Task
bekomme ich schon eine Fehlermeldung.
Kann mir jemand helfen?
ich bin dabei PLC-Lab mit C# zu erlernen. Im Projekt möchte ich eine
blinkende Lampe programmieren. Wenn ein Endschalter (Öffner) be
tätigt wird (bei mir Get_DebugS1() ) soll die Lampe (Set_DebugLampe )
blinken. Wollte es mit delay versuchen, aber beim using System.Threading.Task
bekomme ich schon eine Fehlermeldung.
Kann mir jemand helfen?
Re: Blinklampe mit C#
Hallo,
das C#-Script wir ja im Zyklus von PLC-Lab aufgerufen und bearbeitet. Ein delay ist dabei keine gute Idee, da dies den gesamten Zyklus verlangsamt.
Auf der Hilfeseite von PLC-Lab zu C# finden Sie verschiedene Beispiel, dabei sind auch Beispiele dabei, bei denen Zeitfunktionen zum Einsatz kommen:
https://www.mhj-wiki.de/de/plc-lab/CSha ... example_03
Gruß
das C#-Script wir ja im Zyklus von PLC-Lab aufgerufen und bearbeitet. Ein delay ist dabei keine gute Idee, da dies den gesamten Zyklus verlangsamt.
Auf der Hilfeseite von PLC-Lab zu C# finden Sie verschiedene Beispiel, dabei sind auch Beispiele dabei, bei denen Zeitfunktionen zum Einsatz kommen:
https://www.mhj-wiki.de/de/plc-lab/CSha ... example_03
Gruß
Re: Blinklampe mit C#
Hallo,
hier ein Beispiel für eine Takterzeugung mitels DateTime:
hier ein Beispiel für eine Takterzeugung mitels DateTime:
Code: Alles auswählen
using System;
using Mhj.Plc_Lab.Scripting;
namespace Mhj.Plc_Lab.Scripting {
public class PlcLabScript {
bool Takt=true;
DateTime dt=DateTime.Now;
/// <summary>
/// This method is called cyclically
/// </summary>
public void Loop() {
if (DateTime.Now - dt > TimeSpan.FromMilliseconds(500)){ //Zeitvergleich T=500ms
Takt=!Takt; //toggle Takt
dt=DateTime.Now; //aktuelle Zeit merken
}
//
//Fill in your code here
//
//write a message to the output window
if (G.LoopCount == 0) {
G.DebugMessage("FIRST LOOP!");
}
Set_IMLampe_2(Takt); //Takt der Lampe zuweisen
}
//
//Defined read functions
//
////DO NOT CHANGE THE FOLLOWING LINE
//{{{PLC-Lab-Read}}}
//
//Defined write functions
//
////DO NOT CHANGE THE FOLLOWING LINE
//{{{PLC-Lab-Write}}}
void Set_IMLampe_2(bool value) { G.Write("IM.Lampe_2", value); }
//
//DO NOT CHANGE THE FOLLOWING LINES
//
public PlcLabScriptHost G;
public void Init(PlcLabScriptHost host) {
G = host;
}
}
}
-
- SPSTreff-Fortgeschrittener User
- Beiträge: 14
- Registriert: 26 Jul 2010, 17:01
Re: Blinklampe mit C#
Danke für die schnelle Antwort.
Habe es hinbekommen. Ich sende mal das
Projekt mit dem C#-Code. Vielleicht ist der Code zu
vereinfachen?! Da ich beim Lernen bin wäre ich dankbar!
Habe es hinbekommen. Ich sende mal das
Projekt mit dem C#-Code. Vielleicht ist der Code zu
vereinfachen?! Da ich beim Lernen bin wäre ich dankbar!
- Dateianhänge
-
- Kap 5.2 Bahnübergang mit C#.zip
- (1013.25 KiB) 406-mal heruntergeladen