Parking Cars Simulator PLC Programming Part 1

Automated car parking is a great way to learn PLC programming. It is easily understood how this system is to function and operates. The 3D graphics on the machine simulator are good for visually seeing this interaction between the PLC and the virtual machine.
Parking Cars Simulator PLC Programming Part 1

Learn PLC programming the easy way. See below for a 10% discount on this cost-effective learning tool. Invest in yourself today.
Previously we have done the following:
Easy PLC Installing the SoftwareVideo
EasyPLC Software Suite – Quick StartVideo
Click PLC – Easy Transfer Line ProgrammingVideo
Productivity PLC Simulator – Chain Conveyor MSVideo
Do-More PLC – EasyPLC Box Selection ProgramVideo
Click PLC EasyPLC Gantry SimulatorVideo
Click PLC Simple Conveyor EasyPLCVideo
EasyPLC Paint Line Bit Shift – BRX Do-More PLCVideo
Click PLC – EasyPLC PLC Mixer ProgrammingVideo
Click PLC EasyPLC Warehouse Stacker ExampleVideo
–  Operation Video
EasyPLC Machine Simulator Productivity PLC Robotic CellVideo
EasyPLC Simulator Robotic Cell Click PLCVideo
EasyPLC Simulator Robotic Cell BRX Do-More PLCVideo
EasyPLC Factory Editor Robotic Cell Additions Video
4 Way Traffic Light PLC Program EasyPLCVideo
Rock Crusher Plant EasyPLC BRX Do-MoreVideo
Freight Carrier Weighing and Distribution EasyPLCVideo
EasyPLC Machining Center Loading RobotsVideo
EasyPLC Palletizing Robot Programming Click PLCVideo
EasyPLC Machine Editor – Design a SimulationVideo
PLC Programming Mixing Tank – EasyPLC / Do-MoreVideo
EasyPLC Solder Robot PLC ProgrammingVideo
PLC Programming – A Tutorial for BeginnersVideo

Define the task: (Step 1 – Parking Cars Simulator)

The first step of PLC program development is determining what must be done. A PLC programmer must know everything about the machine before programming. Start the EasyPLC Machine Simulator (MS). Select the start button on the main page or select machines from the main menu on the top of the machines simulator window.
Parking Cars Simulator PLC Programming Part 1
All the available machines will now be displayed. Click on the “Automated Parking.” This is the machine that we will be programming. To the left of the screen, information will be displayed. This will indicate what the machine needs to do and the inputs and outputs required for the program.

Manage the automated car park with seven floors and eight car parks per floor. The entrance of cars is automatic; every time the entrance barrier is opened, a car will enter. You must indicate when the car park is free or full on the entrance panel. The PLC manages the loading station, the belts, and the turning station. Digital PLC outputs activate the loading station positions. Each floor is binary coded with three bits so that the ground floor will be 000, floor 1 001, floor 2 010, floor 3 011, to floor 7 111. The same coding will work for each parking space on each floor.
To remove each car, there is a panel that is handled by an operator, in which the floor number (1 to 7) and the parking number (1 to 8) are entered when pressing the download request button; the station must unload the car and place it in the turning station to return it in the correct position. Once the vehicle is out of the turning station, the car will exit automatically.

Parking Cars Simulator PLC Programming Part 1
The machine simulator has a demo mode for the built-in machines. Select the demo mode for “Automatic Parking.” This will allow you to watch the operation of the automatic parking.
PLC Programming - Define the task
The demo mode will operate, showing you the basics of operation.
PLC Programming - Define the task
Move around the 3D virtual environment. Three icons on the top of the window will allow you to move around this 3D environment. The first icon is the default selection. This will enable you to move around without bumping into the components. The first-person mode will mimic a person in your 3D learning world. The last icon will automatically show you around this virtual environment.
PLC Programming - Define the task PLC Programming - Define the taskPLC Programming - Define the task
Once we understand what must be done, we can move on to the next development step in the PLC program.

Define the Inputs and Outputs: (Step 2 – Parking Cars Simulator)

The View IO at the bottom of the machine simulator window will display the inputs and outputs required for this vehicle parking lot. While still in demo mode, you can see the operation of the digital inputs and outputs.
Parking Cars Simulator PLC Programming Part 1
The EasyPLC automatic parking will require 16 digital outputs and 15 digital inputs.
Parking Cars Simulator PLC Programming Part 1
This will also require two analog outputs to display the selected parking level and the spot to request a vehicle.
Start the machine in Start mode. If you are unsure what output or input is doing, we can manually control them.
Parking Cars Simulator PLC Programming Part 1
Select the View IO on the bottom middle of the machine simulator window. You can manually run the parking car simulator application without any control or PLC connection.
Clicking on the left-side outputs will allow you to turn them on manually. You can then monitor the right-side inputs to see their operation. The restart button on the bottom of the machine simulator window will reset the scene back to the start.
Parking Cars Simulator PLC Programming Part 1

The following table will define the inputs and outputs (IO) and Modbus addresses in the Do-More Designer Simulator PLC we will use for this program.

Digital Type Description Do-More PLC Modbus Address Machine Simulator Modbus Address
PLC Output – MS Input Barrier Move Up MI1 – 10001 0
PLC Output – MS Input Loader Tray Advance MI2 – 10002 1
PLC Output – MS Input Loader Tray Reverse MI3 – 10003 2
PLC Output – MS Input Park Strobe MI4 – 10004 3
PLC Output – MS Input Floor_Bit_1 MI5 – 10005 4
PLC Output – MS Input Floor_Bit_2 MI6 – 10006 5
PLC Output – MS Input Floor_Bit_4 MI7 – 10007 6
PLC Output – MS Input Parking_Bit_1 MI8 – 10008 7
PLC Output – MS Input Parking_Bit_2 MI9 – 10009 8
PLC Output – MS Input Parking_Bit_4 MI10- 10010 9
PLC Output – MS Input Parking Belts MI11 – 10011 10
PLC Output – MS Input Output Rotation MI12 – 10012 11
PLC Output – MS Input Output Advance MI13 – 10013 12
PLC Output – MS Input Output Reverse MI14 – 10014 13
PLC Output – MS Input Free Sign MI15 – 10015 14
PLC Output – MS Input Full Sign MI16- 10016 15
PLC Input – MS Output Barrier Up MC1 – 1 0
PLC Input – MS Output Barrier Down MC2 – 2 1
PLC Input – MS Output Photocell 01 Signal MC3 – 3 2
PLC Input – MS Output Input 3 MC4 – 4 3
PLC Input – MS Output Photo Tray Start MC5 – 5 4
PLC Input – MS Output Photo Tray End MC6 – 6 5
PLC Input – MS Output Photo Rot Stat 1 MC7 – 7 6
PLC Input – MS Output Photo Rot Stat 2 MC8 – 8 7
PLC Input – MS Output MS Button 1 (Floor +) MC9 – 9 8
PLC Input – MS Output  MS Button 2 (Floor -) MC10 – 10 9
PLC Input – MS Output  MS Button 3 (Spot +) MC11 – 11 10
PLC Input – MS Output  MS Button 4 (Spot -) MC12 – 12 11
PLC Input – MS Output  MS Button 5 (Request Car) MC13 – 13 12
PLC Input – MS Output Loader End Work MC14 – 14 13
PLC Input – MS Output Rotation Station End MC15 – 15 14
PLC Analog Output – MS Analog Input Display 1 Value – Level Request MHR1 – 1 0
PLC Analog Output – MS Analog Input Display 2 Value – Parking Spot Location MHR2 – 2 1

Note: The machine simulator will be offset by one on the Modbus Addresses. See the video below for the demo mode and determining inputs and outputs.

Develop a logical sequence of operation: (Step 3 – Parking Cars Simulator)

A flow chart, sequence table, or detailed sequence description is used to understand the process that needs to be controlled.
You may think this is like step 1, but it will go into more detail and utilize all the inputs and outputs that need to be programmed.
It must also answer questions like the following:
What happens when electrical power or pneumatic air is lost? What happens when the input/output devices fail? Do we need redundancy?
This step is where you will spend most of your time. Understanding everything about the operation will save you time. It will help prevent you from continuously re-writing the PLC program logic. Knowing all these answers upfront is vital in developing the PLC program. Our system will become simple to program once we understand the logical sequence. This will assist us in writing the ladder logic program.

Reviewing the inputs and output of the previous step has given us a good idea of how the logical sequence will work. We will use a drum instruction to control the overall sequence of the automatic parking simulator. The drum will turn on individual bits at a time so we can perform only the selected logic before moving on to the next. Here is the sequence of steps to be completed.
1 – Auto initialize – This will ensure that the elevator waits for the following vehicle to load from the entrance.
2 – Load Auto – This will open the barrier until it is in the open position. The car will automatically enter the parking lot. It will close when the sensor does not detect a car at the barrier. The elevator loading tray will advance to load the vehicle. Once the loading tray end signal is received, then the loading is complete.
3 – Move to Park Location – Determine the park location and move the elevator to this location.
4 – Unload the vehicle – This will unload the car in the parking location.

If a request is not made to return a vehicle, reset to the beginning of this sequence. A vehicle must be present in the parking level and location for a request to be valid. If a request has been made, then continue with the following steps.

5 – Return Load Auto – Move the elevator to the return level and parking location.
6 – Move Unload Auto – Move the elevator with the car to the unloading location.
7 – Return Unload Auto – Unload the car at the unload station.
8 – Rotate the vehicle to point in the correct orientation.
9 – Sent the vehicle out of the parking location.
10 – Rotate the unload station back and reset the sequence back to the beginning

Parking Cars Simulator PLC Programming Part 1
Keeping track of the car parking locations will be done with bits in specific registers.
Parking Cars Simulator PLC Programming Part 1
We have seven levels of parking with 8-bit locations (0 to 7) for each level. Memory retentive registers will be used to track the levels and bits. V1 to V7 will represent the levels. V1:0 to V1:7 is part of register V1 and will represent the parking locations for level 1. The rest of the levels will be similar.

A PLC programmer must know how everything about the sequence and operation of the machine before programming.
Ask questions or View existing documentation to ensure you know the logical steps to the machine’s operation.

In the next part of this post, we will write the PLC ladder logic program and test this with the simulators.

Watch the video below to see the first three steps of program development applied to the simple conveyor. The machine simulator is one of the best applications to help you learn PLC programming.

EasyPLC Software Suite is a complete PLC, HMI, and Machine Simulator package. This PLC learning package includes the following:
Easy PLC – PLC Simulation allows programming in Ladder, Grafcet, Logic Blocks, or Script.
HMI System – Easily create a visual human-machine interface (HMI)
Machine Simulator – A virtual 3D world with real-time graphics and physical properties. PLC programs can be tested using EasyPLC or through other interfaces. (Modbus RTU, TCP, etc.)
Machine Simulator Lite – Designed to run on Android Devices.
Machine Simulator VR – Virtual Reality comes to life so you can test, train or practice your PLC programming.

Purchase your copy of this learning package for less than USD 75 for a single computer install or less than USD 100 to allow different computers.
Receive 10% off the price by typing in ACC in the comment section when you order.
Learn PLC programming the easy way. Invest in yourself today.

Watch on YouTube: Parking Cars Simulator PLC Programming Part 1

If you have any questions or need further information, please get in touch with me.
Thank you,

If you’re like most of my readers, you’re committed to learning about technology. Numbering systems used in PLCs are not challenging to learn and understand. We will walk through the numbering systems used in PLCs. This includes Bits, decimals, Hexadecimal, ASCII, and Floating points.

To get this free article, subscribe to my free email newsletter.

Use the information to inform other people how numbering systems work. Sign up now.

The ‘Robust Data Logging for Free’ eBook is also available for free download. The link is included when you subscribe to ACC Automation.

Leave a Comment