If you are looking for the best timer application, you are in right place!
Timer software is one area that Serial Port Tool is focusing for years. Our timer applications are supposed to work in environment that requires accurate, reliable, robust and easy to use. There are several things to make our timer software the best timer software.
Working with best hardware
All our timer software works with relay controller from National Control Device. National Control Device is the largest relay controller producer in the world. They have relay boards of all types and supports all known interfaces, which includes regular RS232, USB, optical fiber, Ethernet, Wi-Fi, ZigBee, wireless, Bluetooth, and even satellite. The protocol the relay boards is binary protocol, which works very fast and reliable. We have been cooperating with National Control Device for years. Our timer applications work with the relay boards from National Control Device seamlessly.
Here is the diagram about how our timer series software send command.
Accurate
- Control relay with computer clock.It control relay with high resolution computer clock. Although all timer software use computer clock, there are big difference. There are two kinds of timer inside the computer, one is low resolution, which ticks 18 times per seconds. It is OK for most requirement, In general, you cannot depend on a Windows timer to have accuracy better than 55 milliseconds, and very often the best you’ll be able to do is 100 milliseconds: 1/10 second.. We use the high resolution timer that the same timer used in multimedia application, which can get resolution of 5 – 10 milliseconds. That makes big difference for real time application.
- Control relay in recurrent time sequence.Thanks to protocol of relay controller of Nation Control Device, it is possible that we update 8 relays status one time. It is much fast than update relay status one by one. Most of relay controller from Nation Control Device works at baud rate 115200, which is very fast, and the processer of relay controller is very fast too. It only take about 30 ms to update 8 relays. Using solid state relay controller will gain even better performance. Our timer application calculate all relays’ status together, even each of them work separately.
- Calculate relay status in a separate thread.All calculation and updating relay status is done in separate threads. That means the GUI can response user’s action all the time, while at the same time, nothing will slow down the calculation and updating relay status. The threads are well polished. It use as less resource of processer as possible while keep the highest accurate.
- Show relay on/off status in real-time.There are indicator of relay status in control panel of timer software. They show the current status that the relay should be. The status are updated with a separate thread, they keep updating even when user interaction with GUI.Reliable
- As an application controls hardware, it has to be reliable. There are many factors effect reliability. Hardware could fail. The connection could be broken. The power could fail. The computer could crash. It is easy to create a software that run perfect in perfect condition. However, it is not that easy to create a software works in a REAL environment. The code to deal with exception generally cost much more than just to implement the basic function. Sometimes, it is hard to say if it is the defect of hardware, connection or layout cause the problem. The software has to have a way to handle abnormal condition and maintain the system work as good as possible. We got a lot of experience by writing software work with hardware and apply those experience to our timer software, and make it very reliable. We have confidence in our software.
- Verify relay on/off status all the time.Even the application sends the command to update the relays at the correct time, that won’t guaranty the status of relay will be correct. The connection might be broken. Especially in wireless or network environment, this happens all the time, like there are strong radio near the boards. Two-ways communication is used in timer software. Every time when application update the status of the relays, it will query the device to see if the real status of relays are correct. If the status is not correct, it will update relay status again until either the status is correct or time out. This is been done in a separate thread, so the main program won’t hang up.
- Send detect command in specific interval..There are still any possibility make the status of relay wrong. For example, there might be power failure. The board lost power. When power on, the relays’ status of the board will be default initial value. If the program only update relays when there is change of status, the real status of relay will be wrong until next time it is updated. Our timer software update relay status both when there is change in status, and at the specific time interval. The interval is generally set to 2 – 5 seconds, that means, if there is a power failure, or lost connection, the status of relay will be recovered in seconds.
- Report lost connection immediately.When the connection is lost, or hardware doesn’t response, the timer software will try to update the status of relays, at the same time, it will report the error on GUI. This is very important. User will know there are something wrong, or might be something wrong. User can take actions to make the system work.Robust
- True native .net programOur timer software are written by native .net code. Native .net code are known as safe language. They can run safely in all windows platform after Windows XP.
- Keep sending detect command after lost connection.The program will keep seeding detect command if there is lose of connection. It will recover the status of relay at the first time when the connection is recovered.
- Automatic run after logging in Windows and back up status in hard driverThe program can be setup to start automatically after logging in windows. The program will write the status of program to hard driver whenever there is status change. If the program is closed accidently, it will load the last status from hard driver.