Wednesday, September 16, 2015

Simulation Analog Input and Output Programming in Simatic S7-PLCSim

In PLC there are two kind input/output, there are Digital and analog. Digital input/output only have two condition TRUE and FALSE, or ENERGIZE and DE-ENERGIZE. In field this defined as ON and OFF.
Different with Digital, analog input/output not read True and False. Analog input/output read data changes linearly. In Field instrument like sensor, transmitter, receiver, they produce voltage from 0 – 24 V (maximum voltage can be different depend specification). Voltage changes from 0 -24 v can read by PLC trough Analog Input/output.

Simulation Analog Input and Output Programming in Simatic S7-PLCSim

In this part, we will simulates the analog input and output PLC Programming with Simatic S7-PLCSim. Please follow the step by step to simulate Analog input/output programming in Simatic S7-PLCSim.

Step 1: Open Simatic Manager and Create New Project.

Follow Step 1 to Step 3 of the article about Learning PLC Programming With SIMATIC S7-PLCSIM

Step 2: Adding CPU, Analog Input and Analog Output.

Select the Processor/CPU, Analog Input and Output module are used in Project. Double click on Hardware and HW Config window will be open.
Figure 1 Open HW Config

Expand the Simatic 300, in Folder Rack 300 select Rail and Drag into left Panel.
Figure 2 HW Config Window and add Rack

In left panel, will show a Rack Column. This Rack Column represent a rail in Simatic 300 station, we can put Power Supply, CPU, Input and Output Module in this Rail.
Figure 3 Rail for Power Supply, CPU, Input and Output Module

Open CPU-300 folder, and choose the CPU which will used in Project. In this case I use CPU 312. Select the CPU-312 and drag into Rack Column no 2. Number in Rack Column is represent the order each module in Rail.
Figure 4 Add CPU into Rail

Open folder SM-300, in this folder we can choose AI, AO that we need. Open folder AI-300 and select SM 331 AI 2 x 12 Bit. Drag into Rack Column. This represent the Analog Input Module SM 331 with 2 Input analog and 12 Bit data buffer. In Rack Column below, that showing another information. That are I Address, this default analog Input address.
Figure 5 Adding Analog Input Module

Double click on AI2x12Bit module, AI module window properties will appear,
Figure 6 Double Click AI Module

AI Module window properties show description for Analog Input module. In general tab, show the information for AI type.
Figure 7 General Description

Click Address Tab. In this tab, show information for Input Address. The address is default but we can change the address, un-check the System default Box and change the address as needed.
Figure 8 Address

Click Input Tab. In this tab we can set the type for input, input can be Current or Voltage. And the range to be measured.  In this project we choose the Voltage Input with range +/- 10V. Click OK for save all changes.
Figure 9  Input Tab

Step add AO module same with add AI module, expand SM-300 folder then open AO-300, select and drag SM 332 AO2x12Bit into Rack Column.
Figure 10  Add AO Module

Double click again in AO module, to open AO Module Properties window. In General Tab properties, show general information for the AO Module.
Figure 11 AO General Properties

In address tab, show about address information for output. Same with AI, AO have default Address and we can change the default address with un-check the System default box.
Figure 12 AO Address Properties

Output Tab properties, show the configuration for the output, we can choose the output we needed for the project. In this project we select voltage for output with range +/- 10 V.
Figure 13 Output properties

After finish configure click save and compile for save and apply all changes.
Figure 14 Save and Compile

Step 3: Configure Network

Click on NetPro icon to open NetPro window,
Figure 15 Open NetPro

In NetPro window, we can see a station. This station represent the station we create in this project. Click the MPI port (Highlighted in Figure 16) and drag to MPI network in above. Save and compile for save all changes.
Figure 16 Connect MPI Port

Step 4: PLC Programming Language

Double click on OB1 Symbol in Simatic manager window, dialog box Properties – Organization Block will appear select the language will use for programming.
Figure 17 OB1 Symbol for Open Program Block
Figure 18 Organization Block Properties Dialog Box

Step 5: Ladder Programming for Move Data from AI to AO

First we try to read analog input and Move to analog output, for do this we use Move Instruction in Simatic manager. In left pane (Library) open Move folder, select Move Instruction and drag into main pane.
Figure 19 Move Instruction

MOVE (Assign a Value) is activated by the Enable EN Input. The value specified at the IN input is copied to the address specified at the OUT output. ENO has the same logic state as EN. MOVE can copy only BYTE, WORD, or DWORD data objects. User-defined data types like arrays or structures have to be copied with the system function "BLKMOVE". Put analog input address in IN, analog output in OUT. For assigning Input and output in program use forma PIB (in Byte), PIW (in Word). And PQB (in Byte), PQW (in Word).
Figure 20 Addressing

Try to simulate program use Simatic S7-PCSim, run Simatic S7-PLCSim with click Simatic S7-PLCSim icon.
Figure 21 Open Simatic S7-PLCSim
Figure 22 Input Address in S7-PLCSim

Put analog input address and analog output address in input and output variable on S7-PLCSim. For PIB use Slider, so we can change data linearly. For output we can’t measure the real output from AO, in S7-PLCSim the output from AO is in DATA. We can select data form in Binary, Word, Dword, Hexadecimal.
Figure 23 Download Program

Run S7-PCSim,
Figure 24 Run PLCSim

Move the slider in PIB 256, and see the change in PQB 272. In PLCSim we can measure voltage output from AO Module, the output is in data (Binary, Word, DWord, INT, Decimal, etc.).

Step 6: Store Data into memory

Same with previous step, but in this step we store data from Analog into Memory. We still use Move instruction. Open again Program Object, double click on OB1.
Figure 25 Open Program Block

Change address in Out become MB 1, this mean memory with address 1 with binary type data. Save and close program Block.
Figure 26 Move data into memory

Download again program into PLC, in PLCSim change Output Variable PQB 272 become MB 1.
Figure 27 PLCSIm Read Data from Memory

Like in Step 4, try move the slider in PIB and see the changes in MB 1. This represent Analog Input Module read analog data from Field instrument and stored in memory.
Figure 28 Simulation store data into Memory

Download project file click here

Video Demonstration:


Newer Post Older Post Home

You may also like these ebook:

Get Free PLC eBook directly sent to your email,
and email subscription to

We hate SPAM. Your information is never sold or shared with anyone.

Your Email Will Be 100% Secured !