1 #!/bin/sh |
|
2 |
|
3 #/* |
|
4 # * matiec - a compiler for the programming languages defined in IEC 61131-3 |
|
5 # * Copyright (C) 2003-2011 Mario de Sousa (msousa@fe.up.pt) |
|
6 # * |
|
7 # * This program is free software: you can redistribute it and/or modify |
|
8 # * it under the terms of the GNU General Public License as published by |
|
9 # * the Free Software Foundation, either version 3 of the License, or |
|
10 # * (at your option) any later version. |
|
11 # * |
|
12 # * This program is distributed in the hope that it will be useful, |
|
13 # * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
14 # * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
15 # * GNU General Public License for more details. |
|
16 # * |
|
17 # * You should have received a copy of the GNU General Public License |
|
18 # * along with this program. If not, see <http://www.gnu.org/licenses/>. |
|
19 # * |
|
20 # * |
|
21 # * This code is made available on the understanding that it will not be |
|
22 # * used in safety-critical situations without a full and competent review. |
|
23 # */ |
|
24 # |
|
25 #/* |
|
26 # * An IEC 61131-3 compiler. |
|
27 # * |
|
28 # * Based on the |
|
29 # * FINAL DRAFT - IEC 61131-3, 2nd Ed. (2001-12-10) |
|
30 # * |
|
31 # */ |
|
32 # |
|
33 # |
|
34 # A shell script to create the library header file containing the |
|
35 # standard functions defined in IEC 61131-3 |
|
36 # |
|
37 |
|
38 |
|
39 print_usage() |
|
40 { |
|
41 echo "usage: $0 {c | iec}" |
|
42 echo " c -> produce c file with implementation of standard functions" |
|
43 echo " iec -> produce txt file with declaration of standard functions" |
|
44 exit 0 |
|
45 } |
|
46 |
|
47 |
|
48 create_iec_beg() |
|
49 { |
|
50 echo |
|
51 echo {disable code generation} |
|
52 echo |
|
53 } |
|
54 |
|
55 |
|
56 create_iec_end() |
|
57 { |
|
58 echo |
|
59 echo {enable code generation} |
|
60 echo |
|
61 } |
|
62 |
|
63 |
|
64 create_iec() |
|
65 { |
|
66 echo |
|
67 echo |
|
68 echo FUNCTION $1 : $3 |
|
69 echo " "VAR_INPUT IN: $2";" END_VAR |
|
70 echo " "VAR_OUTPUT OUT: $3";" END_VAR |
|
71 echo " "LD TRUE |
|
72 echo END_FUNCTION |
|
73 } |
|
74 |
|
75 |
|
76 create_c_beg() |
|
77 { |
|
78 echo |
|
79 } |
|
80 |
|
81 create_c_end() |
|
82 { |
|
83 echo |
|
84 } |
|
85 |
|
86 |
|
87 create_c() |
|
88 { |
|
89 echo |
|
90 echo inline |
|
91 echo $1"("$2 IN, $3 *__OUT, BOOL EN, BOOL *__ENO")" |
|
92 echo { $4 } |
|
93 } |
|
94 |
|
95 |
|
96 ################################## |
|
97 ################################## |
|
98 ## ## |
|
99 ## Main code starts here... ## |
|
100 ## ## |
|
101 ################################## |
|
102 ################################## |
|
103 |
|
104 if [ $# -ne 1 ] |
|
105 then |
|
106 print_usage |
|
107 fi |
|
108 |
|
109 if [ $1 = "c" ] |
|
110 then |
|
111 create=create_c |
|
112 create_beg=create_c_beg |
|
113 create_end=create_c_end |
|
114 elif [ $1 = "iec" ] |
|
115 then |
|
116 create=create_iec |
|
117 create_beg=create_iec_beg |
|
118 create_end=create_iec_end |
|
119 else |
|
120 print_usage |
|
121 fi |
|
122 |
|
123 |
|
124 |
|
125 $create_beg |
|
126 |
|
127 |
|
128 |
|
129 $create BOOL_TO_BYTE BOOL BYTE "*__OUT=(BYTE )__move_BOOL (EN,__ENO,IN);" |
|
130 $create BOOL_TO_DINT BOOL DINT "*__OUT=(DINT )__move_BOOL (EN,__ENO,IN);" |
|
131 $create BOOL_TO_DWORD BOOL DWORD "*__OUT=(DWORD )__move_BOOL (EN,__ENO,IN);" |
|
132 $create BOOL_TO_INT BOOL INT "*__OUT=(INT )__move_BOOL (EN,__ENO,IN);" |
|
133 $create BOOL_TO_LINT BOOL LINT "*__OUT=(LINT )__move_BOOL (EN,__ENO,IN);" |
|
134 $create BOOL_TO_LREAL BOOL LREAL "*__OUT=(LREAL )__move_BOOL (EN,__ENO,IN);" |
|
135 $create BOOL_TO_LWORD BOOL LWORD "*__OUT=(LWORD )__move_BOOL (EN,__ENO,IN);" |
|
136 $create BOOL_TO_REAL BOOL REAL "*__OUT=(REAL )__move_BOOL (EN,__ENO,IN);" |
|
137 $create BOOL_TO_SINT BOOL SINT "*__OUT=(SINT )__move_BOOL (EN,__ENO,IN);" |
|
138 $create BOOL_TO_UDINT BOOL UDINT "*__OUT=(UDINT )__move_BOOL (EN,__ENO,IN);" |
|
139 $create BOOL_TO_UINT BOOL UINT "*__OUT=(UINT )__move_BOOL (EN,__ENO,IN);" |
|
140 $create BOOL_TO_ULINT BOOL ULINT "*__OUT=(ULINT )__move_BOOL (EN,__ENO,IN);" |
|
141 $create BOOL_TO_USINT BOOL USINT "*__OUT=(USINT )__move_BOOL (EN,__ENO,IN);" |
|
142 $create BOOL_TO_WORD BOOL WORD "*__OUT=(WORD )__move_BOOL (EN,__ENO,IN);" |
|
143 $create BYTE_TO_BOOL BYTE BOOL "*__OUT=(BOOL )__move_BYTE (EN,__ENO,IN);" |
|
144 $create BYTE_TO_DINT BYTE DINT "*__OUT=(DINT )__move_BYTE (EN,__ENO,IN);" |
|
145 $create BYTE_TO_DWORD BYTE DWORD "*__OUT=(DWORD )__move_BYTE (EN,__ENO,IN);" |
|
146 $create BYTE_TO_INT BYTE INT "*__OUT=(INT )__move_BYTE (EN,__ENO,IN);" |
|
147 $create BYTE_TO_LINT BYTE LINT "*__OUT=(LINT )__move_BYTE (EN,__ENO,IN);" |
|
148 $create BYTE_TO_LREAL BYTE LREAL "*__OUT=(LREAL )__move_BYTE (EN,__ENO,IN);" |
|
149 $create BYTE_TO_LWORD BYTE LWORD "*__OUT=(LWORD )__move_BYTE (EN,__ENO,IN);" |
|
150 $create BYTE_TO_REAL BYTE REAL "*__OUT=(REAL )__move_BYTE (EN,__ENO,IN);" |
|
151 $create BYTE_TO_SINT BYTE SINT "*__OUT=(SINT )__move_BYTE (EN,__ENO,IN);" |
|
152 $create BYTE_TO_UDINT BYTE UDINT "*__OUT=(UDINT )__move_BYTE (EN,__ENO,IN);" |
|
153 $create BYTE_TO_UINT BYTE UINT "*__OUT=(UINT )__move_BYTE (EN,__ENO,IN);" |
|
154 $create BYTE_TO_ULINT BYTE ULINT "*__OUT=(ULINT )__move_BYTE (EN,__ENO,IN);" |
|
155 $create BYTE_TO_USINT BYTE USINT "*__OUT=(USINT )__move_BYTE (EN,__ENO,IN);" |
|
156 $create BYTE_TO_WORD BYTE WORD "*__OUT=(WORD )__move_BYTE (EN,__ENO,IN);" |
|
157 $create DINT_TO_BOOL DINT BOOL "*__OUT=(BOOL )__move_DINT (EN,__ENO,IN);" |
|
158 $create DINT_TO_BYTE DINT BYTE "*__OUT=(BYTE )__move_DINT (EN,__ENO,IN);" |
|
159 $create DINT_TO_DWORD DINT DWORD "*__OUT=(DWORD )__move_DINT (EN,__ENO,IN);" |
|
160 $create DINT_TO_INT DINT INT "*__OUT=(INT )__move_DINT (EN,__ENO,IN);" |
|
161 $create DINT_TO_LINT DINT LINT "*__OUT=(LINT )__move_DINT (EN,__ENO,IN);" |
|
162 $create DINT_TO_LREAL DINT LREAL "*__OUT=(LREAL )__move_DINT (EN,__ENO,IN);" |
|
163 $create DINT_TO_LWORD DINT LWORD "*__OUT=(LWORD )__move_DINT (EN,__ENO,IN);" |
|
164 $create DINT_TO_REAL DINT REAL "*__OUT=(REAL )__move_DINT (EN,__ENO,IN);" |
|
165 $create DINT_TO_SINT DINT SINT "*__OUT=(SINT )__move_DINT (EN,__ENO,IN);" |
|
166 $create DINT_TO_UDINT DINT UDINT "*__OUT=(UDINT )__move_DINT (EN,__ENO,IN);" |
|
167 $create DINT_TO_UINT DINT UINT "*__OUT=(UINT )__move_DINT (EN,__ENO,IN);" |
|
168 $create DINT_TO_ULINT DINT ULINT "*__OUT=(ULINT )__move_DINT (EN,__ENO,IN);" |
|
169 $create DINT_TO_USINT DINT USINT "*__OUT=(USINT )__move_DINT (EN,__ENO,IN);" |
|
170 $create DINT_TO_WORD DINT WORD "*__OUT=(WORD )__move_DINT (EN,__ENO,IN);" |
|
171 $create DWORD_TO_BOOL DWORD BOOL "*__OUT=(BOOL )__move_DWORD (EN,__ENO,IN);" |
|
172 $create DWORD_TO_BYTE DWORD BYTE "*__OUT=(BYTE )__move_DWORD (EN,__ENO,IN);" |
|
173 $create DWORD_TO_DINT DWORD DINT "*__OUT=(DINT )__move_DWORD (EN,__ENO,IN);" |
|
174 $create DWORD_TO_INT DWORD INT "*__OUT=(INT )__move_DWORD (EN,__ENO,IN);" |
|
175 $create DWORD_TO_LINT DWORD LINT "*__OUT=(LINT )__move_DWORD (EN,__ENO,IN);" |
|
176 $create DWORD_TO_LREAL DWORD LREAL "*__OUT=(LREAL )__move_DWORD (EN,__ENO,IN);" |
|
177 $create DWORD_TO_LWORD DWORD LWORD "*__OUT=(LWORD )__move_DWORD (EN,__ENO,IN);" |
|
178 $create DWORD_TO_REAL DWORD REAL "*__OUT=(REAL )__move_DWORD (EN,__ENO,IN);" |
|
179 $create DWORD_TO_SINT DWORD SINT "*__OUT=(SINT )__move_DWORD (EN,__ENO,IN);" |
|
180 $create DWORD_TO_UDINT DWORD UDINT "*__OUT=(UDINT )__move_DWORD (EN,__ENO,IN);" |
|
181 $create DWORD_TO_UINT DWORD UINT "*__OUT=(UINT )__move_DWORD (EN,__ENO,IN);" |
|
182 $create DWORD_TO_ULINT DWORD ULINT "*__OUT=(ULINT )__move_DWORD (EN,__ENO,IN);" |
|
183 $create DWORD_TO_USINT DWORD USINT "*__OUT=(USINT )__move_DWORD (EN,__ENO,IN);" |
|
184 $create DWORD_TO_WORD DWORD WORD "*__OUT=(WORD )__move_DWORD (EN,__ENO,IN);" |
|
185 $create INT_TO_BOOL INT BOOL "*__OUT=(BOOL )__move_INT (EN,__ENO,IN);" |
|
186 $create INT_TO_BYTE INT BYTE "*__OUT=(BYTE )__move_INT (EN,__ENO,IN);" |
|
187 $create INT_TO_DINT INT DINT "*__OUT=(DINT )__move_INT (EN,__ENO,IN);" |
|
188 $create INT_TO_DWORD INT DWORD "*__OUT=(DWORD )__move_INT (EN,__ENO,IN);" |
|
189 $create INT_TO_LINT INT LINT "*__OUT=(LINT )__move_INT (EN,__ENO,IN);" |
|
190 $create INT_TO_LREAL INT LREAL "*__OUT=(LREAL )__move_INT (EN,__ENO,IN);" |
|
191 $create INT_TO_LWORD INT LWORD "*__OUT=(LWORD )__move_INT (EN,__ENO,IN);" |
|
192 $create INT_TO_REAL INT REAL "*__OUT=(REAL )__move_INT (EN,__ENO,IN);" |
|
193 $create INT_TO_SINT INT SINT "*__OUT=(SINT )__move_INT (EN,__ENO,IN);" |
|
194 $create INT_TO_UDINT INT UDINT "*__OUT=(UDINT )__move_INT (EN,__ENO,IN);" |
|
195 $create INT_TO_UINT INT UINT "*__OUT=(UINT )__move_INT (EN,__ENO,IN);" |
|
196 $create INT_TO_ULINT INT ULINT "*__OUT=(ULINT )__move_INT (EN,__ENO,IN);" |
|
197 $create INT_TO_USINT INT USINT "*__OUT=(USINT )__move_INT (EN,__ENO,IN);" |
|
198 $create INT_TO_WORD INT WORD "*__OUT=(WORD )__move_INT (EN,__ENO,IN);" |
|
199 $create LINT_TO_BOOL LINT BOOL "*__OUT=(BOOL )__move_LINT (EN,__ENO,IN);" |
|
200 $create LINT_TO_BYTE LINT BYTE "*__OUT=(BYTE )__move_LINT (EN,__ENO,IN);" |
|
201 $create LINT_TO_DINT LINT DINT "*__OUT=(DINT )__move_LINT (EN,__ENO,IN);" |
|
202 $create LINT_TO_DWORD LINT DWORD "*__OUT=(DWORD )__move_LINT (EN,__ENO,IN);" |
|
203 $create LINT_TO_INT LINT INT "*__OUT=(INT )__move_LINT (EN,__ENO,IN);" |
|
204 $create LINT_TO_LREAL LINT LREAL "*__OUT=(LREAL )__move_LINT (EN,__ENO,IN);" |
|
205 $create LINT_TO_LWORD LINT LWORD "*__OUT=(LWORD )__move_LINT (EN,__ENO,IN);" |
|
206 $create LINT_TO_REAL LINT REAL "*__OUT=(REAL )__move_LINT (EN,__ENO,IN);" |
|
207 $create LINT_TO_SINT LINT SINT "*__OUT=(SINT )__move_LINT (EN,__ENO,IN);" |
|
208 $create LINT_TO_UDINT LINT UDINT "*__OUT=(UDINT )__move_LINT (EN,__ENO,IN);" |
|
209 $create LINT_TO_UINT LINT UINT "*__OUT=(UINT )__move_LINT (EN,__ENO,IN);" |
|
210 $create LINT_TO_ULINT LINT ULINT "*__OUT=(ULINT )__move_LINT (EN,__ENO,IN);" |
|
211 $create LINT_TO_USINT LINT USINT "*__OUT=(USINT )__move_LINT (EN,__ENO,IN);" |
|
212 $create LINT_TO_WORD LINT WORD "*__OUT=(WORD )__move_LINT (EN,__ENO,IN);" |
|
213 $create LREAL_TO_BOOL LREAL BOOL "*__OUT=(BOOL )__move_LREAL (EN,__ENO,IN);" |
|
214 $create LREAL_TO_BYTE LREAL BYTE "*__OUT=(BYTE )__move_LREAL (EN,__ENO,IN);" |
|
215 $create LREAL_TO_DINT LREAL DINT "*__OUT=(DINT )__move_LREAL (EN,__ENO,IN);" |
|
216 $create LREAL_TO_DWORD LREAL DWORD "*__OUT=(DWORD )__move_LREAL (EN,__ENO,IN);" |
|
217 $create LREAL_TO_INT LREAL INT "*__OUT=(INT )__move_LREAL (EN,__ENO,IN);" |
|
218 $create LREAL_TO_LINT LREAL LINT "*__OUT=(LINT )__move_LREAL (EN,__ENO,IN);" |
|
219 $create LREAL_TO_LWORD LREAL LWORD "*__OUT=(LWORD )__move_LREAL (EN,__ENO,IN);" |
|
220 $create LREAL_TO_REAL LREAL REAL "*__OUT=(REAL )__move_LREAL (EN,__ENO,IN);" |
|
221 $create LREAL_TO_SINT LREAL SINT "*__OUT=(SINT )__move_LREAL (EN,__ENO,IN);" |
|
222 $create LREAL_TO_UDINT LREAL UDINT "*__OUT=(UDINT )__move_LREAL (EN,__ENO,IN);" |
|
223 $create LREAL_TO_UINT LREAL UINT "*__OUT=(UINT )__move_LREAL (EN,__ENO,IN);" |
|
224 $create LREAL_TO_ULINT LREAL ULINT "*__OUT=(ULINT )__move_LREAL (EN,__ENO,IN);" |
|
225 $create LREAL_TO_USINT LREAL USINT "*__OUT=(USINT )__move_LREAL (EN,__ENO,IN);" |
|
226 $create LREAL_TO_WORD LREAL WORD "*__OUT=(WORD )__move_LREAL (EN,__ENO,IN);" |
|
227 $create LWORD_TO_BOOL LWORD BOOL "*__OUT=(BOOL )__move_LWORD (EN,__ENO,IN);" |
|
228 $create LWORD_TO_BYTE LWORD BYTE "*__OUT=(BYTE )__move_LWORD (EN,__ENO,IN);" |
|
229 $create LWORD_TO_DINT LWORD DINT "*__OUT=(DINT )__move_LWORD (EN,__ENO,IN);" |
|
230 $create LWORD_TO_DWORD LWORD DWORD "*__OUT=(DWORD )__move_LWORD (EN,__ENO,IN);" |
|
231 $create LWORD_TO_INT LWORD INT "*__OUT=(INT )__move_LWORD (EN,__ENO,IN);" |
|
232 $create LWORD_TO_LINT LWORD LINT "*__OUT=(LINT )__move_LWORD (EN,__ENO,IN);" |
|
233 $create LWORD_TO_LREAL LWORD LREAL "*__OUT=(LREAL )__move_LWORD (EN,__ENO,IN);" |
|
234 $create LWORD_TO_REAL LWORD REAL "*__OUT=(REAL )__move_LWORD (EN,__ENO,IN);" |
|
235 $create LWORD_TO_SINT LWORD SINT "*__OUT=(SINT )__move_LWORD (EN,__ENO,IN);" |
|
236 $create LWORD_TO_UDINT LWORD UDINT "*__OUT=(UDINT )__move_LWORD (EN,__ENO,IN);" |
|
237 $create LWORD_TO_UINT LWORD UINT "*__OUT=(UINT )__move_LWORD (EN,__ENO,IN);" |
|
238 $create LWORD_TO_ULINT LWORD ULINT "*__OUT=(ULINT )__move_LWORD (EN,__ENO,IN);" |
|
239 $create LWORD_TO_USINT LWORD USINT "*__OUT=(USINT )__move_LWORD (EN,__ENO,IN);" |
|
240 $create LWORD_TO_WORD LWORD WORD "*__OUT=(WORD )__move_LWORD (EN,__ENO,IN);" |
|
241 $create REAL_TO_BOOL REAL BOOL "*__OUT=(BOOL )__move_REAL (EN,__ENO,IN);" |
|
242 $create REAL_TO_BYTE REAL BYTE "*__OUT=(BYTE )__move_REAL (EN,__ENO,IN);" |
|
243 $create REAL_TO_DINT REAL DINT "*__OUT=(DINT )__move_REAL (EN,__ENO,IN);" |
|
244 $create REAL_TO_DWORD REAL DWORD "*__OUT=(DWORD )__move_REAL (EN,__ENO,IN);" |
|
245 $create REAL_TO_INT REAL INT "*__OUT=(INT )__move_REAL (EN,__ENO,IN);" |
|
246 $create REAL_TO_LINT REAL LINT "*__OUT=(LINT )__move_REAL (EN,__ENO,IN);" |
|
247 $create REAL_TO_LREAL REAL LREAL "*__OUT=(LREAL )__move_REAL (EN,__ENO,IN);" |
|
248 $create REAL_TO_LWORD REAL LWORD "*__OUT=(LWORD )__move_REAL (EN,__ENO,IN);" |
|
249 $create REAL_TO_SINT REAL SINT "*__OUT=(SINT )__move_REAL (EN,__ENO,IN);" |
|
250 $create REAL_TO_UDINT REAL UDINT "*__OUT=(UDINT )__move_REAL (EN,__ENO,IN);" |
|
251 $create REAL_TO_UINT REAL UINT "*__OUT=(UINT )__move_REAL (EN,__ENO,IN);" |
|
252 $create REAL_TO_ULINT REAL ULINT "*__OUT=(ULINT )__move_REAL (EN,__ENO,IN);" |
|
253 $create REAL_TO_USINT REAL USINT "*__OUT=(USINT )__move_REAL (EN,__ENO,IN);" |
|
254 $create REAL_TO_WORD REAL WORD "*__OUT=(WORD )__move_REAL (EN,__ENO,IN);" |
|
255 $create SINT_TO_BOOL SINT BOOL "*__OUT=(BOOL )__move_SINT (EN,__ENO,IN);" |
|
256 $create SINT_TO_BYTE SINT BYTE "*__OUT=(BYTE )__move_SINT (EN,__ENO,IN);" |
|
257 $create SINT_TO_DINT SINT DINT "*__OUT=(DINT )__move_SINT (EN,__ENO,IN);" |
|
258 $create SINT_TO_DWORD SINT DWORD "*__OUT=(DWORD )__move_SINT (EN,__ENO,IN);" |
|
259 $create SINT_TO_INT SINT INT "*__OUT=(INT )__move_SINT (EN,__ENO,IN);" |
|
260 $create SINT_TO_LINT SINT LINT "*__OUT=(LINT )__move_SINT (EN,__ENO,IN);" |
|
261 $create SINT_TO_LREAL SINT LREAL "*__OUT=(LREAL )__move_SINT (EN,__ENO,IN);" |
|
262 $create SINT_TO_LWORD SINT LWORD "*__OUT=(LWORD )__move_SINT (EN,__ENO,IN);" |
|
263 $create SINT_TO_REAL SINT REAL "*__OUT=(REAL )__move_SINT (EN,__ENO,IN);" |
|
264 $create SINT_TO_UDINT SINT UDINT "*__OUT=(UDINT )__move_SINT (EN,__ENO,IN);" |
|
265 $create SINT_TO_UINT SINT UINT "*__OUT=(UINT )__move_SINT (EN,__ENO,IN);" |
|
266 $create SINT_TO_ULINT SINT ULINT "*__OUT=(ULINT )__move_SINT (EN,__ENO,IN);" |
|
267 $create SINT_TO_USINT SINT USINT "*__OUT=(USINT )__move_SINT (EN,__ENO,IN);" |
|
268 $create SINT_TO_WORD SINT WORD "*__OUT=(WORD )__move_SINT (EN,__ENO,IN);" |
|
269 $create UDINT_TO_BOOL UDINT BOOL "*__OUT=(BOOL )__move_UDINT (EN,__ENO,IN);" |
|
270 $create UDINT_TO_BYTE UDINT BYTE "*__OUT=(BYTE )__move_UDINT (EN,__ENO,IN);" |
|
271 $create UDINT_TO_DINT UDINT DINT "*__OUT=(DINT )__move_UDINT (EN,__ENO,IN);" |
|
272 $create UDINT_TO_DWORD UDINT DWORD "*__OUT=(DWORD )__move_UDINT (EN,__ENO,IN);" |
|
273 $create UDINT_TO_INT UDINT INT "*__OUT=(INT )__move_UDINT (EN,__ENO,IN);" |
|
274 $create UDINT_TO_LINT UDINT LINT "*__OUT=(LINT )__move_UDINT (EN,__ENO,IN);" |
|
275 $create UDINT_TO_LREAL UDINT LREAL "*__OUT=(LREAL )__move_UDINT (EN,__ENO,IN);" |
|
276 $create UDINT_TO_LWORD UDINT LWORD "*__OUT=(LWORD )__move_UDINT (EN,__ENO,IN);" |
|
277 $create UDINT_TO_REAL UDINT REAL "*__OUT=(REAL )__move_UDINT (EN,__ENO,IN);" |
|
278 $create UDINT_TO_SINT UDINT SINT "*__OUT=(SINT )__move_UDINT (EN,__ENO,IN);" |
|
279 $create UDINT_TO_UINT UDINT UINT "*__OUT=(UINT )__move_UDINT (EN,__ENO,IN);" |
|
280 $create UDINT_TO_ULINT UDINT ULINT "*__OUT=(ULINT )__move_UDINT (EN,__ENO,IN);" |
|
281 $create UDINT_TO_USINT UDINT USINT "*__OUT=(USINT )__move_UDINT (EN,__ENO,IN);" |
|
282 $create UDINT_TO_WORD UDINT WORD "*__OUT=(WORD )__move_UDINT (EN,__ENO,IN);" |
|
283 $create UINT_TO_BOOL UINT BOOL "*__OUT=(BOOL )__move_UINT (EN,__ENO,IN);" |
|
284 $create UINT_TO_BYTE UINT BYTE "*__OUT=(BYTE )__move_UINT (EN,__ENO,IN);" |
|
285 $create UINT_TO_DINT UINT DINT "*__OUT=(DINT )__move_UINT (EN,__ENO,IN);" |
|
286 $create UINT_TO_DWORD UINT DWORD "*__OUT=(DWORD )__move_UINT (EN,__ENO,IN);" |
|
287 $create UINT_TO_INT UINT INT "*__OUT=(INT )__move_UINT (EN,__ENO,IN);" |
|
288 $create UINT_TO_LINT UINT LINT "*__OUT=(LINT )__move_UINT (EN,__ENO,IN);" |
|
289 $create UINT_TO_LREAL UINT LREAL "*__OUT=(LREAL )__move_UINT (EN,__ENO,IN);" |
|
290 $create UINT_TO_LWORD UINT LWORD "*__OUT=(LWORD )__move_UINT (EN,__ENO,IN);" |
|
291 $create UINT_TO_REAL UINT REAL "*__OUT=(REAL )__move_UINT (EN,__ENO,IN);" |
|
292 $create UINT_TO_SINT UINT SINT "*__OUT=(SINT )__move_UINT (EN,__ENO,IN);" |
|
293 $create UINT_TO_UDINT UINT UDINT "*__OUT=(UDINT )__move_UINT (EN,__ENO,IN);" |
|
294 $create UINT_TO_ULINT UINT ULINT "*__OUT=(ULINT )__move_UINT (EN,__ENO,IN);" |
|
295 $create UINT_TO_USINT UINT USINT "*__OUT=(USINT )__move_UINT (EN,__ENO,IN);" |
|
296 $create UINT_TO_WORD UINT WORD "*__OUT=(WORD )__move_UINT (EN,__ENO,IN);" |
|
297 $create ULINT_TO_BOOL ULINT BOOL "*__OUT=(BOOL )__move_ULINT (EN,__ENO,IN);" |
|
298 $create ULINT_TO_BYTE ULINT BYTE "*__OUT=(BYTE )__move_ULINT (EN,__ENO,IN);" |
|
299 $create ULINT_TO_DINT ULINT DINT "*__OUT=(DINT )__move_ULINT (EN,__ENO,IN);" |
|
300 $create ULINT_TO_DWORD ULINT DWORD "*__OUT=(DWORD )__move_ULINT (EN,__ENO,IN);" |
|
301 $create ULINT_TO_INT ULINT INT "*__OUT=(INT )__move_ULINT (EN,__ENO,IN);" |
|
302 $create ULINT_TO_LINT ULINT LINT "*__OUT=(LINT )__move_ULINT (EN,__ENO,IN);" |
|
303 $create ULINT_TO_LREAL ULINT LREAL "*__OUT=(LREAL )__move_ULINT (EN,__ENO,IN);" |
|
304 $create ULINT_TO_LWORD ULINT LWORD "*__OUT=(LWORD )__move_ULINT (EN,__ENO,IN);" |
|
305 $create ULINT_TO_REAL ULINT REAL "*__OUT=(REAL )__move_ULINT (EN,__ENO,IN);" |
|
306 $create ULINT_TO_SINT ULINT SINT "*__OUT=(SINT )__move_ULINT (EN,__ENO,IN);" |
|
307 $create ULINT_TO_UDINT ULINT UDINT "*__OUT=(UDINT )__move_ULINT (EN,__ENO,IN);" |
|
308 $create ULINT_TO_UINT ULINT UINT "*__OUT=(UINT )__move_ULINT (EN,__ENO,IN);" |
|
309 $create ULINT_TO_USINT ULINT USINT "*__OUT=(USINT )__move_ULINT (EN,__ENO,IN);" |
|
310 $create ULINT_TO_WORD ULINT WORD "*__OUT=(WORD )__move_ULINT (EN,__ENO,IN);" |
|
311 $create USINT_TO_BOOL USINT BOOL "*__OUT=(BOOL )__move_USINT (EN,__ENO,IN);" |
|
312 $create USINT_TO_BYTE USINT BYTE "*__OUT=(BYTE )__move_USINT (EN,__ENO,IN);" |
|
313 $create USINT_TO_DINT USINT DINT "*__OUT=(DINT )__move_USINT (EN,__ENO,IN);" |
|
314 $create USINT_TO_DWORD USINT DWORD "*__OUT=(DWORD )__move_USINT (EN,__ENO,IN);" |
|
315 $create USINT_TO_INT USINT INT "*__OUT=(INT )__move_USINT (EN,__ENO,IN);" |
|
316 $create USINT_TO_LINT USINT LINT "*__OUT=(LINT )__move_USINT (EN,__ENO,IN);" |
|
317 $create USINT_TO_LREAL USINT LREAL "*__OUT=(LREAL )__move_USINT (EN,__ENO,IN);" |
|
318 $create USINT_TO_LWORD USINT LWORD "*__OUT=(LWORD )__move_USINT (EN,__ENO,IN);" |
|
319 $create USINT_TO_REAL USINT REAL "*__OUT=(REAL )__move_USINT (EN,__ENO,IN);" |
|
320 $create USINT_TO_SINT USINT SINT "*__OUT=(SINT )__move_USINT (EN,__ENO,IN);" |
|
321 $create USINT_TO_UDINT USINT UDINT "*__OUT=(UDINT )__move_USINT (EN,__ENO,IN);" |
|
322 $create USINT_TO_UINT USINT UINT "*__OUT=(UINT )__move_USINT (EN,__ENO,IN);" |
|
323 $create USINT_TO_ULINT USINT ULINT "*__OUT=(ULINT )__move_USINT (EN,__ENO,IN);" |
|
324 $create USINT_TO_WORD USINT WORD "*__OUT=(WORD )__move_USINT (EN,__ENO,IN);" |
|
325 $create WORD_TO_BOOL WORD BOOL "*__OUT=(BOOL )__move_WORD (EN,__ENO,IN);" |
|
326 $create WORD_TO_BYTE WORD BYTE "*__OUT=(BYTE )__move_WORD (EN,__ENO,IN);" |
|
327 $create WORD_TO_DINT WORD DINT "*__OUT=(DINT )__move_WORD (EN,__ENO,IN);" |
|
328 $create WORD_TO_DWORD WORD DWORD "*__OUT=(DWORD )__move_WORD (EN,__ENO,IN);" |
|
329 $create WORD_TO_INT WORD INT "*__OUT=(INT )__move_WORD (EN,__ENO,IN);" |
|
330 $create WORD_TO_LINT WORD LINT "*__OUT=(LINT )__move_WORD (EN,__ENO,IN);" |
|
331 $create WORD_TO_LREAL WORD LREAL "*__OUT=(LREAL )__move_WORD (EN,__ENO,IN);" |
|
332 $create WORD_TO_LWORD WORD LWORD "*__OUT=(LWORD )__move_WORD (EN,__ENO,IN);" |
|
333 $create WORD_TO_REAL WORD REAL "*__OUT=(REAL )__move_WORD (EN,__ENO,IN);" |
|
334 $create WORD_TO_SINT WORD SINT "*__OUT=(SINT )__move_WORD (EN,__ENO,IN);" |
|
335 $create WORD_TO_UDINT WORD UDINT "*__OUT=(UDINT )__move_WORD (EN,__ENO,IN);" |
|
336 $create WORD_TO_UINT WORD UINT "*__OUT=(UINT )__move_WORD (EN,__ENO,IN);" |
|
337 $create WORD_TO_ULINT WORD ULINT "*__OUT=(ULINT )__move_WORD (EN,__ENO,IN);" |
|
338 $create WORD_TO_USINT WORD USINT "*__OUT=(USINT )__move_WORD (EN,__ENO,IN);" |
|
339 |
|
340 |
|
341 ######################## |
|
342 # Handling strings... # |
|
343 ######################## |
|
344 $create STRING_TO_BOOL STRING BOOL "*__OUT=(BOOL )__string_to_bool (EN,__ENO,IN);" |
|
345 $create STRING_TO_BYTE STRING BYTE "*__OUT=(BYTE )__string_to_bit (EN,__ENO,IN);" |
|
346 $create STRING_TO_WORD STRING WORD "*__OUT=(WORD )__string_to_bit (EN,__ENO,IN);" |
|
347 $create STRING_TO_DWORD STRING DWORD "*__OUT=(DWORD )__string_to_bit (EN,__ENO,IN);" |
|
348 $create STRING_TO_LWORD STRING LWORD "*__OUT=(LWORD )__string_to_bit (EN,__ENO,IN);" |
|
349 $create STRING_TO_SINT STRING SINT "*__OUT=(SINT )__string_to_sint (EN,__ENO,IN);" |
|
350 $create STRING_TO_INT STRING INT "*__OUT=(INT )__string_to_sint (EN,__ENO,IN);" |
|
351 $create STRING_TO_DINT STRING DINT "*__OUT=(DINT )__string_to_sint (EN,__ENO,IN);" |
|
352 $create STRING_TO_LINT STRING LINT "*__OUT=(LINT )__string_to_sint (EN,__ENO,IN);" |
|
353 $create STRING_TO_USINT STRING USINT "*__OUT=(USINT )__string_to_uint (EN,__ENO,IN);" |
|
354 $create STRING_TO_UINT STRING UINT "*__OUT=(UINT )__string_to_uint (EN,__ENO,IN);" |
|
355 $create STRING_TO_UDINT STRING UDINT "*__OUT=(UDINT )__string_to_uint (EN,__ENO,IN);" |
|
356 $create STRING_TO_ULINT STRING ULINT "*__OUT=(ULINT )__string_to_uint (EN,__ENO,IN);" |
|
357 $create STRING_TO_REAL STRING REAL "*__OUT=(REAL )__string_to_real (EN,__ENO,IN);" |
|
358 $create STRING_TO_LREAL STRING LREAL "*__OUT=(LREAL )__string_to_real (EN,__ENO,IN);" |
|
359 $create STRING_TO_DATE STRING DATE "*__OUT=(DATE )__string_to_time (EN,__ENO,IN);" |
|
360 $create STRING_TO_TIME STRING TIME "*__OUT=(TIME )__string_to_time (EN,__ENO,IN);" |
|
361 $create STRING_TO_TOD STRING TOD "*__OUT=(TOD )__string_to_time (EN,__ENO,IN);" |
|
362 $create STRING_TO_DT STRING DT "*__OUT=(DT )__string_to_time (EN,__ENO,IN);" |
|
363 |
|
364 $create BOOL_TO_STRING BOOL STRING "*__OUT=(STRING )__bool_to_string (EN,__ENO,IN);" |
|
365 $create BYTE_TO_STRING BYTE STRING "*__OUT=(STRING )__bit_to_string (EN,__ENO,IN);" |
|
366 $create WORD_TO_STRING WORD STRING "*__OUT=(STRING )__bit_to_string (EN,__ENO,IN);" |
|
367 $create DWORD_TO_STRING DWORD STRING "*__OUT=(STRING )__bit_to_string (EN,__ENO,IN);" |
|
368 $create LWORD_TO_STRING LWORD STRING "*__OUT=(STRING )__bit_to_string (EN,__ENO,IN);" |
|
369 $create INT_TO_STRING INT STRING "*__OUT=(STRING )__sint_to_string (EN,__ENO,IN);" |
|
370 $create LINT_TO_STRING LINT STRING "*__OUT=(STRING )__sint_to_string (EN,__ENO,IN);" |
|
371 $create DINT_TO_STRING DINT STRING "*__OUT=(STRING )__sint_to_string (EN,__ENO,IN);" |
|
372 $create SINT_TO_STRING SINT STRING "*__OUT=(STRING )__sint_to_string (EN,__ENO,IN);" |
|
373 $create USINT_TO_STRING USINT STRING "*__OUT=(STRING )__uint_to_string (EN,__ENO,IN);" |
|
374 $create UINT_TO_STRING UINT STRING "*__OUT=(STRING )__uint_to_string (EN,__ENO,IN);" |
|
375 $create UDINT_TO_STRING UDINT STRING "*__OUT=(STRING )__uint_to_string (EN,__ENO,IN);" |
|
376 $create ULINT_TO_STRING ULINT STRING "*__OUT=(STRING )__uint_to_string (EN,__ENO,IN);" |
|
377 $create REAL_TO_STRING REAL STRING "*__OUT=(STRING )__real_to_string (EN,__ENO,IN);" |
|
378 $create LREAL_TO_STRING LREAL STRING "*__OUT=(STRING )__real_to_string (EN,__ENO,IN);" |
|
379 $create DATE_TO_STRING DATE STRING "*__OUT=(STRING )__date_to_string (EN,__ENO,IN);" |
|
380 $create DT_TO_STRING DT STRING "*__OUT=(STRING )__dt_to_string (EN,__ENO,IN);" |
|
381 $create TIME_TO_STRING TIME STRING "*__OUT=(STRING )__time_to_string (EN,__ENO,IN);" |
|
382 $create TOD_TO_STRING TOD STRING "*__OUT=(STRING )__tod_to_string (EN,__ENO,IN);" |
|
383 |
|
384 ######################## |
|
385 # Handling of dates # |
|
386 ######################## |
|
387 $create BOOL_TO_DATE BOOL DATE "*__OUT=(DATE )__int_to_time (EN,__ENO,IN);" |
|
388 $create BYTE_TO_DATE BYTE DATE "*__OUT=(DATE )__int_to_time (EN,__ENO,IN);" |
|
389 $create WORD_TO_DATE WORD DATE "*__OUT=(DATE )__int_to_time (EN,__ENO,IN);" |
|
390 $create DWORD_TO_DATE DWORD DATE "*__OUT=(DATE )__int_to_time (EN,__ENO,IN);" |
|
391 $create LWORD_TO_DATE LWORD DATE "*__OUT=(DATE )__int_to_time (EN,__ENO,IN);" |
|
392 $create SINT_TO_DATE SINT DATE "*__OUT=(DATE )__int_to_time (EN,__ENO,IN);" |
|
393 $create INT_TO_DATE INT DATE "*__OUT=(DATE )__int_to_time (EN,__ENO,IN);" |
|
394 $create DINT_TO_DATE DINT DATE "*__OUT=(DATE )__int_to_time (EN,__ENO,IN);" |
|
395 $create LINT_TO_DATE LINT DATE "*__OUT=(DATE )__int_to_time (EN,__ENO,IN);" |
|
396 $create USINT_TO_DATE USINT DATE "*__OUT=(DATE )__int_to_time (EN,__ENO,IN);" |
|
397 $create UINT_TO_DATE UINT DATE "*__OUT=(DATE )__int_to_time (EN,__ENO,IN);" |
|
398 $create UDINT_TO_DATE UDINT DATE "*__OUT=(DATE )__int_to_time (EN,__ENO,IN);" |
|
399 $create ULINT_TO_DATE ULINT DATE "*__OUT=(DATE )__int_to_time (EN,__ENO,IN);" |
|
400 $create REAL_TO_DATE REAL DATE "*__OUT=(DATE )__real_to_time (EN,__ENO,IN);" |
|
401 $create LREAL_TO_DATE LREAL DATE "*__OUT=(DATE )__real_to_time (EN,__ENO,IN);" |
|
402 |
|
403 $create DATE_TO_BYTE DATE BYTE "*__OUT=(BYTE )__time_to_int (EN,__ENO,IN);" |
|
404 $create DATE_TO_WORD DATE WORD "*__OUT=(WORD )__time_to_int (EN,__ENO,IN);" |
|
405 $create DATE_TO_DWORD DATE DWORD "*__OUT=(DWORD )__time_to_int (EN,__ENO,IN);" |
|
406 $create DATE_TO_LWORD DATE LWORD "*__OUT=(LWORD )__time_to_int (EN,__ENO,IN);" |
|
407 $create DATE_TO_SINT DATE SINT "*__OUT=(SINT )__time_to_int (EN,__ENO,IN);" |
|
408 $create DATE_TO_INT DATE INT "*__OUT=(INT )__time_to_int (EN,__ENO,IN);" |
|
409 $create DATE_TO_DINT DATE DINT "*__OUT=(DINT )__time_to_int (EN,__ENO,IN);" |
|
410 $create DATE_TO_LINT DATE LINT "*__OUT=(LINT )__time_to_int (EN,__ENO,IN);" |
|
411 $create DATE_TO_USINT DATE USINT "*__OUT=(USINT )__time_to_int (EN,__ENO,IN);" |
|
412 $create DATE_TO_UINT DATE UINT "*__OUT=(UINT )__time_to_int (EN,__ENO,IN);" |
|
413 $create DATE_TO_UDINT DATE UDINT "*__OUT=(UDINT )__time_to_int (EN,__ENO,IN);" |
|
414 $create DATE_TO_ULINT DATE ULINT "*__OUT=(ULINT )__time_to_int (EN,__ENO,IN);" |
|
415 $create DATE_TO_REAL DATE REAL "*__OUT=(REAL )__time_to_real (EN,__ENO,IN);" |
|
416 $create DATE_TO_LREAL DATE LREAL "*__OUT=(LREAL )__time_to_real (EN,__ENO,IN);" |
|
417 |
|
418 ######################## |
|
419 # Handling of TIME # |
|
420 ######################## |
|
421 $create BOOL_TO_TIME BOOL TIME "*__OUT=(TIME )__int_to_time (EN,__ENO,IN);" |
|
422 $create BYTE_TO_TIME BYTE TIME "*__OUT=(TIME )__int_to_time (EN,__ENO,IN);" |
|
423 $create WORD_TO_TIME WORD TIME "*__OUT=(TIME )__int_to_time (EN,__ENO,IN);" |
|
424 $create DWORD_TO_TIME DWORD TIME "*__OUT=(TIME )__int_to_time (EN,__ENO,IN);" |
|
425 $create LWORD_TO_TIME LWORD TIME "*__OUT=(TIME )__int_to_time (EN,__ENO,IN);" |
|
426 $create SINT_TO_TIME SINT TIME "*__OUT=(TIME )__int_to_time (EN,__ENO,IN);" |
|
427 $create INT_TO_TIME INT TIME "*__OUT=(TIME )__int_to_time (EN,__ENO,IN);" |
|
428 $create DINT_TO_TIME DINT TIME "*__OUT=(TIME )__int_to_time (EN,__ENO,IN);" |
|
429 $create LINT_TO_TIME LINT TIME "*__OUT=(TIME )__int_to_time (EN,__ENO,IN);" |
|
430 $create USINT_TO_TIME USINT TIME "*__OUT=(TIME )__int_to_time (EN,__ENO,IN);" |
|
431 $create UINT_TO_TIME UINT TIME "*__OUT=(TIME )__int_to_time (EN,__ENO,IN);" |
|
432 $create UDINT_TO_TIME UDINT TIME "*__OUT=(TIME )__int_to_time (EN,__ENO,IN);" |
|
433 $create ULINT_TO_TIME ULINT TIME "*__OUT=(TIME )__int_to_time (EN,__ENO,IN);" |
|
434 $create REAL_TO_TIME REAL TIME "*__OUT=(TIME )__real_to_time (EN,__ENO,IN);" |
|
435 $create LREAL_TO_TIME LREAL TIME "*__OUT=(TIME )__real_to_time (EN,__ENO,IN);" |
|
436 |
|
437 $create TIME_TO_BYTE TIME BYTE "*__OUT=(BYTE )__time_to_int (EN,__ENO,IN);" |
|
438 $create TIME_TO_WORD TIME WORD "*__OUT=(WORD )__time_to_int (EN,__ENO,IN);" |
|
439 $create TIME_TO_DWORD TIME DWORD "*__OUT=(DWORD )__time_to_int (EN,__ENO,IN);" |
|
440 $create TIME_TO_LWORD TIME LWORD "*__OUT=(LWORD )__time_to_int (EN,__ENO,IN);" |
|
441 $create TIME_TO_SINT TIME SINT "*__OUT=(SINT )__time_to_int (EN,__ENO,IN);" |
|
442 $create TIME_TO_INT TIME INT "*__OUT=(INT )__time_to_int (EN,__ENO,IN);" |
|
443 $create TIME_TO_DINT TIME DINT "*__OUT=(DINT )__time_to_int (EN,__ENO,IN);" |
|
444 $create TIME_TO_LINT TIME LINT "*__OUT=(LINT )__time_to_int (EN,__ENO,IN);" |
|
445 $create TIME_TO_USINT TIME USINT "*__OUT=(USINT )__time_to_int (EN,__ENO,IN);" |
|
446 $create TIME_TO_UINT TIME UINT "*__OUT=(UINT )__time_to_int (EN,__ENO,IN);" |
|
447 $create TIME_TO_UDINT TIME UDINT "*__OUT=(UDINT )__time_to_int (EN,__ENO,IN);" |
|
448 $create TIME_TO_ULINT TIME ULINT "*__OUT=(ULINT )__time_to_int (EN,__ENO,IN);" |
|
449 $create TIME_TO_REAL TIME REAL "*__OUT=(REAL )__time_to_real (EN,__ENO,IN);" |
|
450 $create TIME_TO_LREAL TIME LREAL "*__OUT=(LREAL )__time_to_real (EN,__ENO,IN);" |
|
451 |
|
452 |
|
453 ############################## |
|
454 # Handling of DATE_AND_TIME # |
|
455 ############################## |
|
456 $create BOOL_TO_DT BOOL DT "*__OUT=(DT )__int_to_time (EN,__ENO,IN);" |
|
457 $create BYTE_TO_DT BYTE DT "*__OUT=(DT )__int_to_time (EN,__ENO,IN);" |
|
458 $create WORD_TO_DT WORD DT "*__OUT=(DT )__int_to_time (EN,__ENO,IN);" |
|
459 $create DWORD_TO_DT DWORD DT "*__OUT=(DT )__int_to_time (EN,__ENO,IN);" |
|
460 $create LWORD_TO_DT LWORD DT "*__OUT=(DT )__int_to_time (EN,__ENO,IN);" |
|
461 $create SINT_TO_DT SINT DT "*__OUT=(DT )__int_to_time (EN,__ENO,IN);" |
|
462 $create INT_TO_DT INT DT "*__OUT=(DT )__int_to_time (EN,__ENO,IN);" |
|
463 $create DINT_TO_DT DINT DT "*__OUT=(DT )__int_to_time (EN,__ENO,IN);" |
|
464 $create LINT_TO_DT LINT DT "*__OUT=(DT )__int_to_time (EN,__ENO,IN);" |
|
465 $create USINT_TO_DT USINT DT "*__OUT=(DT )__int_to_time (EN,__ENO,IN);" |
|
466 $create UINT_TO_DT UINT DT "*__OUT=(DT )__int_to_time (EN,__ENO,IN);" |
|
467 $create UDINT_TO_DT UDINT DT "*__OUT=(DT )__int_to_time (EN,__ENO,IN);" |
|
468 $create ULINT_TO_DT ULINT DT "*__OUT=(DT )__int_to_time (EN,__ENO,IN);" |
|
469 $create REAL_TO_DT REAL DT "*__OUT=(DT )__real_to_time (EN,__ENO,IN);" |
|
470 $create LREAL_TO_DT LREAL DT "*__OUT=(DT )__real_to_time (EN,__ENO,IN);" |
|
471 |
|
472 $create DT_TO_BYTE DT BYTE "*__OUT=(BYTE )__time_to_int (EN,__ENO,IN);" |
|
473 $create DT_TO_WORD DT WORD "*__OUT=(WORD )__time_to_int (EN,__ENO,IN);" |
|
474 $create DT_TO_DWORD DT DWORD "*__OUT=(DWORD )__time_to_int (EN,__ENO,IN);" |
|
475 $create DT_TO_LWORD DT LWORD "*__OUT=(LWORD )__time_to_int (EN,__ENO,IN);" |
|
476 $create DT_TO_SINT DT SINT "*__OUT=(SINT )__time_to_int (EN,__ENO,IN);" |
|
477 $create DT_TO_INT DT INT "*__OUT=(INT )__time_to_int (EN,__ENO,IN);" |
|
478 $create DT_TO_DINT DT DINT "*__OUT=(DINT )__time_to_int (EN,__ENO,IN);" |
|
479 $create DT_TO_LINT DT LINT "*__OUT=(LINT )__time_to_int (EN,__ENO,IN);" |
|
480 $create DT_TO_USINT DT USINT "*__OUT=(USINT )__time_to_int (EN,__ENO,IN);" |
|
481 $create DT_TO_UINT DT UINT "*__OUT=(UINT )__time_to_int (EN,__ENO,IN);" |
|
482 $create DT_TO_UDINT DT UDINT "*__OUT=(UDINT )__time_to_int (EN,__ENO,IN);" |
|
483 $create DT_TO_ULINT DT ULINT "*__OUT=(ULINT )__time_to_int (EN,__ENO,IN);" |
|
484 $create DT_TO_REAL DT REAL "*__OUT=(REAL )__time_to_real (EN,__ENO,IN);" |
|
485 $create DT_TO_LREAL DT LREAL "*__OUT=(LREAL )__time_to_real (EN,__ENO,IN);" |
|
486 |
|
487 |
|
488 #################### |
|
489 # Handling of TOD # |
|
490 #################### |
|
491 |
|
492 $create BOOL_TO_TOD BOOL TOD "*__OUT=(TOD )__int_to_time (EN,__ENO,IN);" |
|
493 $create BYTE_TO_TOD BYTE TOD "*__OUT=(TOD )__int_to_time (EN,__ENO,IN);" |
|
494 $create WORD_TO_TOD WORD TOD "*__OUT=(TOD )__int_to_time (EN,__ENO,IN);" |
|
495 $create DWORD_TO_TOD DWORD TOD "*__OUT=(TOD )__int_to_time (EN,__ENO,IN);" |
|
496 $create LWORD_TO_TOD LWORD TOD "*__OUT=(TOD )__int_to_time (EN,__ENO,IN);" |
|
497 $create SINT_TO_TOD SINT TOD "*__OUT=(TOD )__int_to_time (EN,__ENO,IN);" |
|
498 $create INT_TO_TOD INT TOD "*__OUT=(TOD )__int_to_time (EN,__ENO,IN);" |
|
499 $create DINT_TO_TOD DINT TOD "*__OUT=(TOD )__int_to_time (EN,__ENO,IN);" |
|
500 $create LINT_TO_TOD LINT TOD "*__OUT=(TOD )__int_to_time (EN,__ENO,IN);" |
|
501 $create USINT_TO_TOD USINT TOD "*__OUT=(TOD )__int_to_time (EN,__ENO,IN);" |
|
502 $create UINT_TO_TOD UINT TOD "*__OUT=(TOD )__int_to_time (EN,__ENO,IN);" |
|
503 $create UDINT_TO_TOD UDINT TOD "*__OUT=(TOD )__int_to_time (EN,__ENO,IN);" |
|
504 $create ULINT_TO_TOD ULINT TOD "*__OUT=(TOD )__int_to_time (EN,__ENO,IN);" |
|
505 $create REAL_TO_TOD REAL TOD "*__OUT=(TOD )__real_to_time (EN,__ENO,IN);" |
|
506 $create LREAL_TO_TOD LREAL TOD "*__OUT=(TOD )__real_to_time (EN,__ENO,IN);" |
|
507 |
|
508 $create TOD_TO_BYTE TOD BYTE "*__OUT=(BYTE )__time_to_int (EN,__ENO,IN);" |
|
509 $create TOD_TO_WORD TOD WORD "*__OUT=(WORD )__time_to_int (EN,__ENO,IN);" |
|
510 $create TOD_TO_DWORD TOD DWORD "*__OUT=(DWORD )__time_to_int (EN,__ENO,IN);" |
|
511 $create TOD_TO_LWORD TOD LWORD "*__OUT=(LWORD )__time_to_int (EN,__ENO,IN);" |
|
512 $create TOD_TO_SINT TOD SINT "*__OUT=(SINT )__time_to_int (EN,__ENO,IN);" |
|
513 $create TOD_TO_INT TOD INT "*__OUT=(INT )__time_to_int (EN,__ENO,IN);" |
|
514 $create TOD_TO_DINT TOD DINT "*__OUT=(DINT )__time_to_int (EN,__ENO,IN);" |
|
515 $create TOD_TO_LINT TOD LINT "*__OUT=(LINT )__time_to_int (EN,__ENO,IN);" |
|
516 $create TOD_TO_USINT TOD USINT "*__OUT=(USINT )__time_to_int (EN,__ENO,IN);" |
|
517 $create TOD_TO_UINT TOD UINT "*__OUT=(UINT )__time_to_int (EN,__ENO,IN);" |
|
518 $create TOD_TO_UDINT TOD UDINT "*__OUT=(UDINT )__time_to_int (EN,__ENO,IN);" |
|
519 $create TOD_TO_ULINT TOD ULINT "*__OUT=(ULINT )__time_to_int (EN,__ENO,IN);" |
|
520 $create TOD_TO_REAL TOD REAL "*__OUT=(REAL )__time_to_real (EN,__ENO,IN);" |
|
521 $create TOD_TO_LREAL TOD LREAL "*__OUT=(LREAL )__time_to_real (EN,__ENO,IN);" |
|
522 |
|
523 |
|
524 |
|
525 |
|
526 $create DATE_AND_TIME_TO_TIME_OF_DAY DT TOD "*__OUT = (TOD )__date_and_time_to_time_of_day(EN,__ENO,IN);" |
|
527 $create DATE_AND_TIME_TO_DATE DT DATE "*__OUT = (DATE )__date_and_time_to_date(EN,__ENO,IN);" |
|
528 |
|
529 |
|
530 |
|
531 |
|
532 $create_end |
|
533 |
|
534 |
|
535 # *BCD_TO_** and **_TO_BCD* are not yet supported |
|
536 # We comment them out for now... |
|
537 exit 0 |
|
538 create UDINT_TO_BCD_BYTE UDINT BYTE |
|
539 create UDINT_TO_BCD_WORD UDINT WORD |
|
540 create UDINT_TO_BCD_DWORD UDINT DWORD |
|
541 create UDINT_TO_BCD_LWORD UDINT LWORD |
|
542 create UINT_TO_BCD_BYTE UINT BYTE |
|
543 create UINT_TO_BCD_WORD UINT WORD |
|
544 create UINT_TO_BCD_DWORD UINT DWORD |
|
545 create UINT_TO_BCD_LWORD UINT LWORD |
|
546 create USINT_TO_BCD_BYTE USINT BYTE |
|
547 create USINT_TO_BCD_WORD USINT WORD |
|
548 create USINT_TO_BCD_DWORD USINT DWORD |
|
549 create USINT_TO_BCD_LWORD USINT LWORD |
|
550 create ULINT_TO_BCD_BYTE ULINT BYTE |
|
551 create ULINT_TO_BCD_WORD ULINT WORD |
|
552 create ULINT_TO_BCD_DWORD ULINT DWORD |
|
553 create ULINT_TO_BCD_LWORD ULINT LWORD |
|
554 |
|
555 create BYTE_BCD_TO_UDINT BYTE UDINT |
|
556 create WORD_BCD_TO_UDINT WORD UDINT |
|
557 create DWORD_BCD_TO_UDINT DWORD UDINT |
|
558 create LWORD_BCD_TO_UDINT LWORD UDINT |
|
559 create BYTE_BCD_TO_UINT BYTE UINT |
|
560 create WORD_BCD_TO_UINT WORD UINT |
|
561 create DWORD_BCD_TO_UINT DWORD UINT |
|
562 create LWORD_BCD_TO_UINT LWORD UINT |
|
563 create BYTE_BCD_TO_USINT BYTE USINT |
|
564 create WORD_BCD_TO_USINT WORD USINT |
|
565 create DWORD_BCD_TO_USINT DWORD USINT |
|
566 create LWORD_BCD_TO_USINT LWORD USINT |
|
567 create BYTE_BCD_TO_ULINT BYTE ULINT |
|
568 create WORD_BCD_TO_ULINT WORD ULINT |
|
569 create DWORD_BCD_TO_ULINT DWORD ULINT |
|
570 create LWORD_BCD_TO_ULINT LWORD ULINT |
|
571 |
|
572 |
|
573 |
|
574 exit 0 |
|
575 |
|
576 ABS |
|
577 SQRT |
|
578 LN |
|
579 LOG |
|
580 EXP |
|
581 SIN |
|
582 COS |
|
583 TAN |
|
584 ASIN |
|
585 ACOS |
|
586 ATAN |
|
587 ADD |
|
588 MUL |
|
589 SUB |
|
590 DIV |
|
591 MOD |
|
592 EXPT |
|
593 MOVE |
|
594 SHL |
|
595 SHR |
|
596 ROR |
|
597 ROL |
|
598 AND |
|
599 OR |
|
600 XOR |
|
601 NOT |
|
602 SEL |
|
603 MAX |
|
604 MIN |
|
605 LIMIT |
|
606 MUX |
|
607 GT |
|
608 GE |
|
609 EQ |
|
610 LT |
|
611 LE |
|
612 NE |
|
613 LEN |
|
614 LEFT |
|
615 RIGHT |
|
616 MID |
|
617 CONCAT |
|
618 INSERT |
|
619 DELETE |
|
620 REPLACE |
|
621 FIND |
|
622 |
|
623 TRUNC |
|
624 |
|
625 |
|
626 |
|
627 |
|
628 |
|
629 |
|
630 |
|
631 |
|