1 (* |
1 (* |
2 * (c) 2003 Mario de Sousa |
2 * matiec - a compiler for the programming languages defined in IEC 61131-3 |
3 * |
3 * |
4 * Offered to the public under the terms of the GNU General Public License |
4 * Copyright (C) 2003-2011 Mario de Sousa (msousa@fe.up.pt) |
5 * as published by the Free Software Foundation; either version 2 of the |
|
6 * License, or (at your option) any later version. |
|
7 * |
5 * |
8 * This program is distributed in the hope that it will be useful, but |
6 * This program is free software: you can redistribute it and/or modify |
9 * WITHOUT ANY WARRANTY; without even the implied warranty of |
7 * it under the terms of the GNU General Public License as published by |
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
8 * the Free Software Foundation, either version 3 of the License, or |
11 * Public License for more details. |
9 * (at your option) any later version. |
|
10 * |
|
11 * This program is distributed in the hope that it will be useful, |
|
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
14 * GNU General Public License for more details. |
|
15 * |
|
16 * You should have received a copy of the GNU General Public License |
|
17 * along with this program. If not, see <http://www.gnu.org/licenses/>. |
|
18 * |
12 * |
19 * |
13 * This code is made available on the understanding that it will not be |
20 * This code is made available on the understanding that it will not be |
14 * used in safety-critical situations without a full and competent review. |
21 * used in safety-critical situations without a full and competent review. |
15 *) |
22 *) |
16 |
23 |
17 (* |
24 (* |
18 * An IEC 61131-3 IL and ST compiler. |
25 * An IEC 61131-3 compiler. |
19 * |
26 * |
20 * Based on the |
27 * Based on the |
21 * FINAL DRAFT - IEC 61131-3, 2nd Ed. (2001-12-10) |
28 * FINAL DRAFT - IEC 61131-3, 2nd Ed. (2001-12-10) |
22 * |
29 * |
23 *) |
30 *) |
24 |
31 |
25 (* |
32 (******************************************************************************************************* |
26 * This is the library conatining the function blocks defined in the standard. |
33 * This is the library conatining the standard functions and function blocks defined in the standard. * |
|
34 ******************************************************************************************************* |
27 *) |
35 *) |
28 |
36 |
|
37 (* The standard functions *) |
|
38 {#include "standard_functions.txt" } |
29 |
39 |
|
40 (* The standard function blocks *) |
30 {#include "edge_detection.txt" } |
41 {#include "edge_detection.txt" } |
31 {#include "bistable.txt" } |
42 {#include "bistable.txt" } |
32 {#include "counter.txt" } |
43 {#include "counter.txt" } |
33 {#include "timer.txt" } |
44 {#include "timer.txt" } |
34 {#include "derivative_st.txt" } |
45 {#include "derivative_st.txt" } |
35 {#include "hysteresis_st.txt" } |
46 {#include "hysteresis_st.txt" } |
36 {#include "integral_st.txt" } |
47 {#include "integral_st.txt" } |
37 {#include "pid_st.txt" } |
48 {#include "pid_st.txt" } |
38 {#include "ramp_st.txt" } |
49 {#include "ramp_st.txt" } |
|
50 |
|
51 (* Some usefull non-standard function blocks *) |
39 {#include "sema.txt" } |
52 {#include "sema.txt" } |