engineering reference manual functions and function blocks
engineering reference manual functions and function blocks
File Name:engineering reference manual functions and function blocks.pdf
Size: 3091 KB
Type: PDF, ePub, eBook
Uploaded: 20 May 2019, 21:35
Rating: 4.6/5 from 753 votes.
Last checked: 18 Minutes ago!
eBook includes PDF, ePub and Kindle version
In order to read or download engineering reference manual functions and function blocks ebook, you need to create a FREE account.
✔ Register a free 1 month Trial Account.
✔ Download as many books as you like (Personal use)
✔ Cancel the membership at any time if not satisfied.
✔ Join Over 80000 Happy Readers
engineering reference manual functions and function blocks
It is a simple and graphical way to program any functions together in a PLC program. Function Block Diagram is easy to learn and provides a lot of possibilities. It is a great way to implement everything from logic to timers, PID controllers, and even a SCADA system in your solution, etc. Engineers like to put things in boxes. And that is exactly what the concept of function block diagrams is. FBD is very useful when batch control concepts from ISA-88 are applied. What FBD offers is a way to put functions written with many lines of code into boxes. Most PLC programs are written with some amount of FBD. Because, even though you might write your functions in structured text. You still, most of the times, have to connect those functions. They all have one or more inputs and outputs. The function of the block is the relation between the state of its inputs and outputs. In the middle of the box is often a symbol or a text. This symbol represents the actual functionality of the function block. You can connect the output of one function block to the input of another. Thereby creating a Function Block Diagram. Often, you will have to use the same piece of code in your PLC program multiple times. It could be a function for controlling a valve, a motor etc. With function blocks, you can make a function block specific for a motor and use it several times. They provide a variety of functions from very basic to advanced. Here’s an overview of the most important blocks in the official FBD description. Combined called combinatorial logic. Logic is the simplest form of algorithm that, via the states of its inputs can set some outputs. Basically, there are two different bit logic functions or operations in FBD. With just these two you can derive a whole bunch of other logic functions. It takes 2 inputs and has 1 output, and works just like an OR gate. It is basically the condition for the output. If the sum of the two inputs are greater than or equal to 1, the output becomes true.
engineering reference manual functions and function blocks, engineering reference manual functions and function blocks worksheet, engineering reference manual functions and function blocks using, engineering reference manual functions and function blocks examples, engineering reference manual functions and function blocks pdf.
If either one of the contacts are closed, the output is set. We can only connect the output pin to another function block. But what if we want to set an actual output or a bit with the block output? But sometimes you will want to use that output to control one or more bits. This could for example be setting an output or a value for a variable. Meaning that you cannot just set a memory address at the output of your block. This is very useful because you can assign values anywhere in your function block diagram. Not just at the output of the last block. Just like the OR-block this is one of the most fundamental function blocks in PLC programming. It is very similar to the OR function but works a little different. Instead of one of the two inputs, this block requires both inputs to be a true set the output. Both of them has to be true before the block evaluates its output to be true. To do that you have to use negation. It comes in different shapes, depending on the software you use. And sometimes it is just the small circle you can put on any pins of the function blocks. The small circle in the pin of the block represents exactly that function. The inputs can also be inverted. Simply by putting the circle on the input pin. You’ll see later that inverting either all inputs or the output has the same effect on the function of a block. The input values on the OR block has to be greater than or equal to 1. But as you can see below, the Exclusive OR or just XOR block requires the two inputs to be equal to 1. They are negated blocks. It actually just means that the output of the block is negated. As you can see, the NAND function block is really just the AND block with a negated output. NAND stands for NOT AND or Negated AND. Negating the inputs has the same effect as negating the output. Therefore a NAND block could also look like this: I like to think of them as the simplest form of memory. You can either set or reset the output.
The output (Q) remembers the last state of the set input (S1). Even though S1 then changes state to false, the output will still be true. You can say that Q1 remembers if anything happened at S1. That’s why I like to think of the bistable functions or flip-flops as memory. The function block body of the SR block shows that it is made up of 2 bit logic blocks. One AND function and one OR function. As one of the inputs on the AND function is Q1 which also acts the output for the whole block. Q1 will remember that at some point S1 was true. This is until R or reset will be sat to true. Thereafter Q1 will be reset. The output (Q1) remembers and therefore I like to think of the block as a simple memory block. If both inputs are true what will happen? So in the case where both inputs are true, the output will be set. And that will lead us to the next block. That is why we have to RS block. And although the flip flops are a very simple way to remember, the next types of blocks might be an even simpler form of memory. Of course I’m not talking about the edge of your kitchen table, but rather the edge of signals. You want to be able to count how many times you press that button. But if you remember the basic workings of a PLC you will know that the PLC has a scan time or a cycle time. When you press a push button (even though you press and release fast), the input will be on for way longer time (typically 100-200 ms). The input will be on for several scan cycles. For each time the push button is pressed the counter will count not only one up but 2, 3, 5 or even more. Sometimes also referred to as positive edge. In digital electronics when the voltage goes from 0 to 5V. The rising edge is what happens right when we push the button. But only for a brief moment, since the rising edge happens so fast. Even though the input might be true for next scan cycles, the output will not be set more than one time. The output generates a pulse when a positive or rising edge is detected.
The block remembers, so to speak, if a positive edge was at the input. So in order to set the output again the input needs to go to false and then true again. Or as in our push button example; you need to release the button and press it again. When the signal goes from true (1) to false (0) is the falling edge. It also works by generating a pulse at the output but with a falling edge at the input. But you only want this to happen when the motor has already been started. So that the yellow lamp is only turned on the moment the motor stops. This can then generate a pulse to set the output for the yellow lamp. But sometimes you will want to control the length of a signal, or when it happens. Timers are some of the most used functions in PLC programming. They are divided into three different types of timers. You will find video tutorials on both the on delay timer, off delay timer and pulse timer. But since all three are described in IEC 61131-3 and are provided in most software, I would like to introduce you to them all. So far, we have only seen function blocks where the inputs and outputs where boolean. This is still true for the IN and Q of the TP block. But it is a little different with the PT and ET. They both take variables of the data type TIME. This is where you put the time you want to pulse at Q to be. As soon as the input IN is true, the output Q will be set for PT time. This is the time Q has been active. You will then have to enter 10m at the PT and set the ventilation fan to the output Q. In many cases it is then useful to see how long the fan has been running. That is what ET is used for. But instead of setting the time for the pulse, it is used to set a delay for the pulse. After the time PT has elapsed the output Q will be set. This is also the reason for its name. And again, it still has the ET to see how much time has elapsed. But before explaining why, let me introduce you to the third and last type of timer. But with one big difference.
As long as the input stays true the output will stay on until the PT time has elapsed. After that time the output will be turned off. They also are, but with one crucial difference. This is because the timer looks for a rising edge at the input. With the off delay timer though the time will stop counting if the input comes back. This is done with a little bit of ladder logic. They also take another data type. It’s time to look at the PLC counters. How many products has the machine produced. In which step of the sequence is the tool. There are many reasons to use counters in a PLC program. One for counting up, one for counting down, and one for counting either up or down. Although this seems like a lot, they are all necessary to be able to count. But before looking at the details of each input and output, let me just briefly explain how the up counter block works. When that happens the output CV is increased by 1. To be able to do that, the output CV needs to take another data type: integer. Both the input PV and the output CV are of the data type integer. PV is the limit for when the boolean output Q is set. Sometimes you will also need to count down. Often you will want you PLC program to do an operation a certain amount of times. Here, the down counter comes in very handy. Where to count from? That is why we have to input LD. When LD is set to true the output CV is set to PV. That is why the IEC also provides an official block for counting both up and down. All of them has the same names as the inputs and outputs on the previous counter blocks. This block is a combination of the two previous blocks.But it really just is a combination of the up and the down counter. CU counts CV up by 1 and CD counts CV down by 1. Each of the outputs QU and QD are set with the same conditions as with the two previous counter blocks. Is A equal to B? Is CV greater than PV. It is time to compare some numbers! Take for example the OR block that compared two boolean inputs.
If the total of them were equal to 1, the output would be set. In fact, we can compare all real numbers (sorry mathematicians, no imaginary yet) and most data types. This is not only handy, I will also promise you that it is something that you will use a lot. The inputs can take up any elementary data type and the output is boolean. You have to be careful when comparing data types, because it can be a bit tricky. If so, the output will be set. I like to think of the block as asking this question: Comparing integers with this block is probably the data type you will use the most. Let’s say you want an output to be set when the machine is in step 12. IN1 would then be the step variable and IN2 would be 12. For the output to be set, all of the inputs has to be equal. This function is described like this using structured text: If you try to use equality to compare an analog value (real data type) to another real data type, you will see that it is very unlikely that they will ever equal each other. Remember that real data types are floating-point numbers. You may want something to happen when the temperature reaches 80 degrees. But if you use real numbers here the temperature has to equal 80.0 degrees exactly. For this type of comparison, it is better to use a combination of compare blocks. In that way, you can compare it to a range of numbers and not just one. Of course you could just negate the output of the equality block. But that would be rather confusing. And why do that when there’s a block for doing exactly that. The question to remember the functionality of this block could be: But only as long as they are not equal. As soon as the inputs are equal the output will be turned off. This and the next block might be the solution to that. Because with this block we can check if a variable is within a range of numbers. But less than is a way more simple name to remember it by.
Think of it as asking this question: The block works very well with real numbers since you can easily check if e.g. a temperature is less than 80.5 degrees. Just like the equality block you can extend this block with more than two inputs. When doing that the official name makes a whole lot more sense. In1 has to be less than IN2, that has to be less than IN3 and so on. The function can be described textually like this: Or put in more simple words. You can also check if some value is greater than another value. The question this block asks is this: That’s why this block also has to take a sequence of numbers, but this time a decreasing sequence in order to set the output. Written in a textual language like structured text, the function of the greater than block looks like this: When talking analog values you will often want to check if they are within a certain range. E.g. if a temperature is between 90 and 100 degrees. Here you could check if the temperature is greater than 90, and thereafter check if it is less than 100. You will often see the equality block combined with either less than or greater than. Although these are just a combination of blocks they often have their own function blocks: But sometimes, instead of comparing, you will have to choose between values. The selection function blocks give you that opportunity. With or without conditions. The essence of these blocks is really just an assignment. You will select one of the inputs and assign it to the output of these blocks. In fact, you have already seen this block before. Or at least a block with the same functionality. The assignment function block. And guess what. This block does exactly the same thing. You might wonder why FBD provides two blocks with the same function. They are also similar, but with one crucial difference. With the move block you can move any data type to any data type. The concept of selection doesn’t really apply to this block, since you only have one value to select.
Many times though you will be able to add more outputs to the move block. A moving block can thereby be used to move a value to different places. You can move values from any data type to any data type. You don’t even have to put the same data type in the output as the input. You’re free to move e.g. an integer to a real, a TIME to a double word and so on. You have to be really careful when moving from one data type to another. For beginners, I highly recommend that you only move values to the same data type as the input. As a matter of fact, I would rarely recommend mixing data types even for professionals. It just makes your PLC program complicated. It gives you the opportunity to select between two values to then assign to an output. Therefore this block has three inputs. One condition (G) and two values (IN0, IN1). The condition takes a boolean data type and is used to select between the two values. That is only to make the block easier to understand. Since the condition (G) can take two different values 0 and 1, it makes sense to call the inputs IN0 and IN1. And if G is 1 the input IN1 will be selected. The value of the selected input will then be assigned to the output (OUT). This is where the extensible multiplexer comes into the picture. You might even find the word multiplexer familiar if you know a few digital electronics.A condition (selector) and some input values. The block selects one of N inputs depending on the value of the selector. In fact, it can take up any elementary data type. Although the only data type that really makes sense to use here is an integer. Actually it is only valid to give K a number between 0 and n. The concept of the function may look like this: That input could be either binary or an integer depending on how many inputs you have to choose between But sometimes you will want to select a value depending on the values themself. It could be that you want to select the highest or the lowest value among different variables.
With the next two function blocks, you can do exactly that. The official name for this function block is extensible minimum, but often just called minimum or MIN. It is called extensible because you can add any number of inputs on the block. All the inputs can take any elementary data type, and they can even be of different data types on the same block. FBD also provides a standard function block for doing that. It works exactly the same way as the minimum function, but selects the variable with the maximum value and assigns that value to its output. Also this block takes any elementary data type as input and output. If you are trying to find the maximum value of two real data types e.g. 80.46 and 206.95 and you use integer as output, the output will simply be 206. Say you have a lot of date stamps in your PLC program and you want to find the latest. With the maximum function, you can always find the most recent date. This function is not so much about selection, but rather about limitation. That is why this function block is called a limiter. More than often you will want to set limits to a range of values in a PLC program. This can be seen if we take a look at the function block body: The min and max values are set at the inputs (MIN and MAX) and all three inputs can take any elementary data type. There are many more function blocks provided in the function block diagram. Actually there is almost a function block for every operation you can do in PLC programming. Among those are: Try creating simple PLC programs using function block diagram programming. I find that is the best way to learn about new function blocks. Inside the function block body, you will find that the function is described in either structured text, ladder logic, or another PLC programming language. There are many standard blocks providing you with a lot of different functions. But sometimes it’s just not enough. This is in fact one of the cornerstones in structured PLC programming.
Graham, Director of Formcraft Engineering at Standard Register Industrial, adapted the flow process chart to information processing with his development of the multi-flow process chart to display multiple documents and their relationships.FFBDs show the same tasks identified through functional decomposition and display them in their logical, sequential relationship.For example, does the spacecraft antenna acquire the tracking and data relay satellite (TDRS) only when the payload data are to be transmitted, or does it track TDRS continually to allow for the reception of emergency commands or transmission of emergency data. The FFBD also incorporates alternate and contingency operations, which improve the probability of mission success. The flow diagram provides an understanding of total operation of the system, serves as a basis for development of operational and contingency procedures, and pinpoints areas where changes in operational procedures could simplify the overall system operation.Each function needs to stand for definite, finite, discrete action to be accomplished by system elements. These numbers establish identification and relationships that will carry through all Functional Analysis and Allocation activities and facilitate traceability from lower to top levels. Arrows are often used to indicate functional flows. AND is used to indicate parallel functions and all conditions must be satisfied to proceed. OR is used to indicate that alternative paths can be satisfied to proceed. These symbols are placed adjacent to lines leaving a particular function to indicate alternative paths. A horizontal line shall separate this number and the title, as shown in see Figure 3 above. The figure also depicts how to represent a reference function, which provides context within a specific FFBD.The symbol may contain a single input with multiple outputs or multiple inputs with a single output, but not multiple inputs and outputs combined (Figure 5).
There are differences between the regular version of Step 7 and Step 7 Lite but for learning purposes you can go along way with the free Lite version. Getting used to part numbers and product groupings can go a long way with your comfort level. You can also order a hard copy. Hard copies can be ordered with number 6ES7810-4CA08-8BW1. Here’s how I would digest them. While it’s not the complete picture it does ease you very well into the learning curve of the Step 7 software. If you’re more comfortable with Ladder Logic or Function Block Diagram then start there but sooner or later you’ll have to become familiar with Statement List. This manual provides you with an overview of the system functions, organization blocks, and loadable standard functions available in S7, and detailed interface descriptions for their use in your programs. If you’re having a tough go with the manuals then you should definitely download the training material. There’s a lot more screen shots and even a picture of a balding pudgy guy to point things out to you. What more could you want. Flash Tutorials These are very professionally done with a nice sounding narrator to take you through all the basics of the Step 7 software and hardware. Clicking on the Product Support link will bring up a tree on the left hand side that can be expanded down to the product of your affection. Good luck and happy hunting. The four major limitations in STEP 7 Lite verses the more advanced STEP 7 package are. So no programming for the S7-200 or S7-400 PLC series. If your only use of Siemens PLCs are an S7-300, C7 or ET200 in a stand alone application with no special needs (CP or FM) then I could highly recommend the Lite package. It has the same level of programming functionality as the regular Step 7 packages plus some nifty interface enhancements to make it easier on the eyes and on the brain.
It is possible (though not easy) to convert any software created in the STEP 7 Lite to STEP 7 and visa versa keeping in mind the limitations of the Lite version. Since the packages bear a lot of similarities it will also be easy for the student to transfer any learning on the Lite package over to STEP 7. The STEP 7 Lite software opens right up to the editor screen. The added graphics and color are a welcome addition. Another nice friendly feature is the extended hover help on the menus and icons where clicking on the tool tip expands it into more help text. On that note all the pop up dialogs are clearer then its STEP 7 counterpart. Pretty much everything the programmer needs for maintaining the project is neatly organized here.The FC and FB blocks have been moved from here to a more logical place in the project window on the left hand side. Something that just thrilled me is the tabs below that separate the offline and online versions of the program. On the regular STEP 7 software there is often a confusion between when you are offline or online. STEP 7 Lite minimizes that confusion by also provided clearly differentiated color schemes for when you have a block open online. You can just hover the mouse over the symbol to get more detail. You can drag and drop then anywhere in the list.Even the OB selection has a nice drop down box of all the OBs available with its symbolic name. The layout is great and is to be expected without the need to factor in networking. Just drag and drop your hardware on the picture and away you go.One part I like is a slight revamp of the declaration table. That means no having to dig through the tree just to see all the declaration variables. Hopefully some of the better implementations will find there way into the STEP 7 software. Save often, arrgh! The following procedures were created using Siemens SIMATIC STEP 7 version 5.4 software. Note that PROFIBUS is labeled as DP on the Siemens connection ports.
These cables can piggyback on existing connectors. Be aware that the PC Adapter draws its power to work from the connection port so check the power LED for proper operation. The CP5512 card draws its power from the computer. If so, then close the Accessible Nodes window and proceed to the download or upload section. Be careful not to select your wireless Ethernet connection. This will discover working settings and use them automatically. It should not conflict with existing PLC and slave devices on the network. Also, check under the Local Connection tab and make sure connection selection matches the port the cable is connected into. It should work. If not double-check the connection and cable. With the CP5512 and PC Adapter cables, you should use the MPI port, as this is the default connection for Siemens. Be careful though as the order of download will occur in the order that the blocks were selected. This may mean that an error will occur if a block is called before it is downloaded. This is usually not necessary in a PLC that has all ready had its hardware configured. If you do download the system data, the following messages will prompt you through the transitions. The software will do the Run to Stop transition when you click OK. Click on the Download icon. You will be prompted to overwrite any existing blocks and if you want to load the system data (see above). Click Yes to perform the operation. The first is when you have the original project and you want to preserve the symbols and comments. The second method, when you don't have the original project, will upload everything from the CPU but will have no associated documentation (i.e. symbols and comments). It shows the existing blocks inside the CPU. The Online version is indicated by the highlighted title bar. For a full upload, select the Block folder and do the same. In the case below we are talking to a CPU over MPI with node address 10. Nobody knows what happened.