Click here to Skip to main content
13,449,194 members (53,156 online)
Click here to Skip to main content
Add your own
alternative version


37 bookmarked
Posted 28 Sep 2008

A PLC simulator for WINDOWS

, 28 Sep 2008
Rate this:
Please Sign up or sign in to vote.
A PLC simulator for WINDOWS

Download - 46.06 KB

Download - 70.53 KB

Download - 423 B


Here is my first version of PC PLC simulator program. I dreamed about it for almost 15 years and now my dream come true. 

I’ll keep it as real as possible, if I have plenty of time. Any contribute is thankful.
Programmable Logic Controller was designed for most industrial application.
In order to control peripheral electronic devices such as Relay、Magnetic-contactors、solenoid valve…etc. It is intended to be an Interpreter.

The PLC programming language is knowen like ladder diagram symbol, Person who is familiar with electronic automatic control, should be familiar with it. PLC was controlled by input and ladder program after program computation PLC will control output, after all you can control electronic devices as you want.


PLC.exe is a Programmable Logic Controller simulator program. It is parsing ladder program, reading input and doing computation then doing output.

In the simulator environment, we don’t need I/O control card. I have wroten a program IO_SIMULATOR.exe to simulator input and output via file input.txt and output.txt the example ladder program also included in files for downloading
running screen snapshot

1. the PLC program running, click Sel Ladder file to load ladder program


2.Select ladder file


3.Click Run to start PLC


4.You can stop at any time as you want by click Stop



5.After PLC is running, you can use IO_SIMULATOR.exe to simulate input and watching output.

pic6.jpg X000 and X001 to switch on input X000,X001 then ouput Y000 will switch on by PLC.

pic7.jpg X006 to switch on input X006 after 5 sec output Y002 will switch on by PLC.


pic9.jpg X002 to switch on input X002 in order to switch off output Y000(in our ladder program Y000 with Counter were mutually exclusive) then click X005 on/off for 5 times then output Y002 will be switch on by PLC


You can enjoy editing ladder program to test PLC program in ordering to check whether it is enough or any suggest.


I know it’s just simulator, but after improvI/O control module it can be real PLC for daily life. 

Technical details

I hope I can provide all of design document including Flow diagram,status diagram but it will take many time.

PLC program just implement a multimedia timer to computation timer object and parsing,computation working thread to computation ladder program to control output to proper status.

IO_SIMULATOR is just only an interface for control input and see output status via file,name input.txt and output.txt each byte indicate X000 to X007 and Y000 to Y007.


Ladder program was like the following,I don’t spend more time to do more desicriptions



Before complaining about that it was so ugly, I need to talk about my dream.
I want it to be a kind of application, and I planed to develop an Editor that it can edit ladder program and also can monitor computation status as soon as possible (I know in computer world what real time is , so I use the word as soon as possible),I also want to develop an GUI editor as for an Interface to control PLC, after all ,it can be applyed in many other environments as your application as possible.


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

Team Leader IISI
Taiwan Taiwan
8 years experience of automatic control with micro computer.
8 years experience of IT,SI,Software development(including 3 years of Project management).
I'm familiar with VB,C,C++,JAVA.
Operating System design and development is my little hobby.

You may also be interested in...

Comments and Discussions

GeneralRe: HI, Jaker Pin
Jaker.Chen21-Nov-09 3:44
memberJaker.Chen21-Nov-09 3:44 
Generalhye jaker... Pin
khairuni27-Jul-09 21:26
memberkhairuni27-Jul-09 21:26 
GeneralRe: hye jaker... Pin
Jaker.Chen29-Jul-09 4:45
memberJaker.Chen29-Jul-09 4:45 
Questionwhat compiler do you use Pin
yamilesandoval16-Jul-09 14:54
memberyamilesandoval16-Jul-09 14:54 
AnswerRe: what compiler do you use Pin
Jaker.Chen20-Jul-09 21:28
memberJaker.Chen20-Jul-09 21:28 
AnswerRe: what compiler do you use Pin
Jaker.Chen20-Jul-09 21:39
memberJaker.Chen20-Jul-09 21:39 
Generalit's me again Pin
yamilesandoval16-Jul-09 14:48
memberyamilesandoval16-Jul-09 14:48 
GeneralHallo Jaker Pin
yamilesandoval16-Jul-09 14:45
memberyamilesandoval16-Jul-09 14:45 
GeneralRe: Hallo Jaker Pin
Jaker.Chen20-Jul-09 21:33
memberJaker.Chen20-Jul-09 21:33 
GeneralVery good Pin
carl12489-Apr-09 0:47
membercarl12489-Apr-09 0:47 
GeneralRe: Very good Pin
Jaker.Chen22-Apr-09 19:26
memberJaker.Chen22-Apr-09 19:26 
GeneralI can get it to Change Pin
briviere211-Feb-09 6:08
memberbriviere211-Feb-09 6:08 
GeneralRe: I can get it to Change Pin
Jaker.Chen22-Feb-09 4:08
memberJaker.Chen22-Feb-09 4:08 
Generalhello Pin
reqinutzu14-Dec-08 21:43
memberreqinutzu14-Dec-08 21:43 
GeneralRe: hello Pin
Jaker.Chen31-Dec-08 3:54
memberJaker.Chen31-Dec-08 3:54 
GeneralAutomation Company In Montreal, Canada Pin
Elliot Brenhouse23-Oct-08 3:36
memberElliot Brenhouse23-Oct-08 3:36 
GeneralA simple Tool!! Pin
kennychou6-Oct-08 19:44
memberkennychou6-Oct-08 19:44 
GeneralRe: A simple Tool!! Pin
Jaker.Chen6-Oct-08 23:09
memberJaker.Chen6-Oct-08 23:09 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web02 | 2.8.180318.3 | Last Updated 29 Sep 2008
Article Copyright 2008 by Jaker.Chen
Everything else Copyright © CodeProject, 1999-2018
Layout: fixed | fluid