8/18/2017 2:16 PM | |
Joined: 9/27/2006 Last visit: 10/17/2024 Posts: 12289 Rating: (2687)
|
Hello turkoghly; In Siemens, world, MPC has been implemented in an add-on to PCS 7 v8.1 called APC (Advanced Process Control). There is a 10*10 MIMO version of MPC that you can have a look at here: Siemens PCS7 Demo System - 06/11 - Model Predictive Control (MPC)Tutorial - New standards in process control - SiemensAdvanced Process Control - New standards in process control - Siemens But PCS 7 requires S7-400 CPUs, and is programmed in a language called CFC; the memory requirements do not allow the blocks to run in a S7-300 CPU. Some seem to have experimented with programming S7-300programs that include MPC; for example: Implementation of online Model Predictive Control on a Programmable Logic Controller As PLC, a Siemens CPU319-3DP/PN is used to host the MPC controller and state estimator. The Siemens CPU is programmed using the Step 7 Professional 2010 software. To code the problem, the Structured Control Language (S7-SCL) is used. This programming language corresponds to Structured Text (ST) in the standard IEC 61131-3. The information exchange between the PLC and the PC is performed by means of an OPC server (NI OPC server 2012, National Instruments). The base memory of this CPU is increased to the maximum allowed 8 MB. This CPU is the fastest Siemens S7-300 CPU and it takes 40 ns for one floating-point operation [12]. The size of functions (in this case called function blocks) programmed in the PLC are maximum 64 kB large. Hence, this strongly limits the number and the size of the variables that are used in one function… Hope this helps, Daniel Chartier |
8/22/2017 4:26 PM | |
Joined: 9/27/2006 Last visit: 10/17/2024 Posts: 12289 Rating: (2687)
|
Hello turkoghly; From what I know, most industries working with MPC will manipulte the data and calculations on a PC, with such dedicated software as Matlab MPC designer.toolbox. Those that use a PLC platform often require add-on software dedicated to the control algorithm. Such is the case for S7-400 PLCs under PCS 7 with the APC add-on. Here is one of manya rticles available on the web showing one way of designing MPC on a PLC platform (this one uses a s7-200 PLC): Real-Time Implementation of Explicit MPC Using PLCThe problem often resides in the fact that PLCs and PLC programmers are not equipped to handle matrix calculations, especially in MIMO processes. Siemens proposes a small library of matrix math functions, available in this link: The library “MatrixOperations” offers a solution to this problem by providing ready-made functions for processing matrices in SCL. To define a matrix, you use a UDT (user-defined data type), which requires header information on the number of rows and columns and contains the matrix elements in form of a two-dimensional array. Vectors are included in the definition as special matrices consisting of only one column. For all variables of this data type, at least the following ready-made functions are available as “FCs”: • Matrix addition • Subtraction • Matrix multiplication • Transposition • Inversion In addition, there are functions available for creating a zero matrix or an identity matrix of specified dimensions. Hope this helps, Daniel Chartier |
This contribution was helpful to2 thankful Users |
8/25/2017 3:58 PM | |
Joined: 8/15/2017 Last visit: 7/6/2023 Posts: 147 Rating: (2) |
thank you very much |
Follow us on