How to create periodic Timers in iX Developer

Post Reply
User avatar
Ron L.
Posts: 214
Joined: Fri Jul 15, 2011 3:21 pm

How to create periodic Timers in iX Developer

Post by Ron L. »

Create a ScriptModule. Right click below the functions section and select "Add ScriptModule".
add_script_module.JPG
add_script_module.JPG (25.91 KiB) Viewed 30023 times
Right click on the Script Module and Rename it to "TimerScript".
rename_scriptmodule.JPG
rename_scriptmodule.JPG (10.67 KiB) Viewed 30023 times
The Script Module will default with the following code.

Code: Select all

namespace Neo.ApplicationFramework.Generated
{
    using System.Windows.Forms;
    using System;
    using System.Drawing;
    using Neo.ApplicationFramework.Tools;
    using Neo.ApplicationFramework.Common.Graphics.Logic;
    using Neo.ApplicationFramework.Controls;
    using Neo.ApplicationFramework.Interfaces;    
    
    public partial class TimerScript
    {

    }
}
In the code below, I have edited the TimerScript class to create and initialize two System.Windows.Form.Timer class instances. I have also created two functions "Stop()" and "Start()" that can be used to turn the timers on or off. The timers are configured to 1000 and 250 milliseconds.

Code: Select all

public partial class TimerScript
	{
		private static Timer timer1 = null;
		private static Timer timer2 = null;
		
		static TimerScript()
		{
			timer1 = new Timer();
			timer1.Tick += new EventHandler(TimeOut1);
			timer1.Interval = 1000;
			timer1.Enabled = true;			
			
			timer2 = new Timer();
			timer2.Tick += new EventHandler(TimeOut2);
			timer2.Interval = 250;
			timer2.Enabled = true;
		}

		public static void Stop() 
		{
			try {
				timer1.Enabled = false;
				timer2.Enabled = false;
			}
			catch(Exception) {}
		}		
		
		public static void Start()
		{
			try {
				timer1.Enabled = true;
				timer2.Enabled = true;
			}
			catch(Exception) {}
		}
		
		private static void TimeOut1(Object myObject, EventArgs myEventArgs) 
		{			
			Globals.Tags.Tag1.Value = Globals.Tags.Tag1.Value + 1;
		}		
		
		private static void TimeOut2(Object myObject, EventArgs myEventArgs) 
		{			
			Globals.Tags.Tag2.Value = Globals.Tags.Tag2.Value + 1;
		}		
    }
You may call the "Stop()" or "Stop()" functions from actions on screens.
timer_script.JPG
timer_script.JPG (68.3 KiB) Viewed 30021 times
Attachments
SimpleFormTimer.zip
Sample workspace. iX Developer version 1.3.
(30.56 KiB) Downloaded 2976 times
Best Regards,

Beijer Electronics, Inc.
Ron Lloyd | Applications Engineer

User avatar
Chris T.
Posts: 109
Joined: Mon Nov 20, 2017 5:29 pm

Re: How to create periodic Timers in iX Developer

Post by Chris T. »

Locked
Best regards,
Christopher
(801) 708-6690
Technical Support
Contact Us

Beijer Electronics AB
http://www.beijerelectronics.us

Post Reply