|
1 | 1 | <?xml version="1.0" encoding="utf-8"?>
|
2 | 2 | <TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.12">
|
3 | 3 | <POU Name="TryConvert_Source_TO_Destination" Id="{9fa60489-1690-4494-9711-0ba59e3729a3}" SpecialFunc="None">
|
4 |
| - <Declaration><![CDATA[FUNCTION TryConvert_Source_TO_Destination : BOOL |
| 4 | + <Declaration><![CDATA[{attribute 'linkalways'} |
| 5 | +FUNCTION TryConvert_Source_TO_Destination : BOOL |
5 | 6 | VAR_INPUT
|
6 | 7 | in : ANY;
|
7 | 8 | out : ANY;
|
@@ -33,83 +34,83 @@ END_VAR]]></Declaration>
|
33 | 34 | <ST><![CDATA[CASE in.TypeClass OF
|
34 | 35 |
|
35 | 36 | __SYSTEM.TYPE_CLASS.TYPE_BOOL :
|
36 |
| - memcpy(ADR(_BOOL),in.pValue,in.diSize); |
| 37 | + memcpy(ADR(_BOOL),in.pValue,DINT_TO_UDINT(in.diSize)); |
37 | 38 | convertResult := TryConvert_BOOL_To_Destination(_BOOL, out);
|
38 | 39 |
|
39 | 40 | __SYSTEM.TYPE_CLASS.TYPE_BYTE :
|
40 |
| - memcpy(ADR(_BYTE),in.pValue,in.diSize); |
| 41 | + memcpy(ADR(_BYTE),in.pValue,DINT_TO_UDINT(in.diSize)); |
41 | 42 | convertResult := TryConvert_BYTE_To_Destination(_BYTE, out);
|
42 | 43 |
|
43 | 44 | __SYSTEM.TYPE_CLASS.TYPE_WORD :
|
44 |
| - memcpy(ADR(_WORD),in.pValue,in.diSize); |
| 45 | + memcpy(ADR(_WORD),in.pValue,DINT_TO_UDINT(in.diSize)); |
45 | 46 | convertResult := TryConvert_WORD_To_Destination(_WORD, out);
|
46 | 47 |
|
47 | 48 | __SYSTEM.TYPE_CLASS.TYPE_DWORD :
|
48 |
| - memcpy(ADR(_DWORD),in.pValue,in.diSize); |
| 49 | + memcpy(ADR(_DWORD),in.pValue,DINT_TO_UDINT(in.diSize)); |
49 | 50 | convertResult := TryConvert_DWORD_To_Destination(_DWORD, out);
|
50 | 51 |
|
51 | 52 | __SYSTEM.TYPE_CLASS.TYPE_LWORD :
|
52 |
| - memcpy(ADR(_LWORD),in.pValue,in.diSize); |
| 53 | + memcpy(ADR(_LWORD),in.pValue,DINT_TO_UDINT(in.diSize)); |
53 | 54 | convertResult := TryConvert_LWORD_To_Destination(_LWORD, out);
|
54 | 55 |
|
55 | 56 | __SYSTEM.TYPE_CLASS.TYPE_SINT :
|
56 |
| - memcpy(ADR(_SINT),in.pValue,in.diSize); |
| 57 | + memcpy(ADR(_SINT),in.pValue,DINT_TO_UDINT(in.diSize)); |
57 | 58 | convertResult := TryConvert_SINT_To_Destination(_SINT, out);
|
58 | 59 |
|
59 | 60 | __SYSTEM.TYPE_CLASS.TYPE_INT :
|
60 |
| - memcpy(ADR(_INT),in.pValue,in.diSize); |
| 61 | + memcpy(ADR(_INT),in.pValue,DINT_TO_UDINT(in.diSize)); |
61 | 62 | convertResult := TryConvert_INT_To_Destination(_INT, out);
|
62 | 63 |
|
63 | 64 | __SYSTEM.TYPE_CLASS.TYPE_DINT :
|
64 |
| - memcpy(ADR(_DINT),in.pValue,in.diSize); |
| 65 | + memcpy(ADR(_DINT),in.pValue,DINT_TO_UDINT(in.diSize)); |
65 | 66 | convertResult := TryConvert_DINT_To_Destination(_DINT, out);
|
66 | 67 |
|
67 | 68 | __SYSTEM.TYPE_CLASS.TYPE_LINT :
|
68 |
| - memcpy(ADR(_LINT),in.pValue,in.diSize); |
| 69 | + memcpy(ADR(_LINT),in.pValue,DINT_TO_UDINT(in.diSize)); |
69 | 70 | convertResult := TryConvert_LINT_To_Destination(_LINT, out);
|
70 | 71 |
|
71 | 72 | __SYSTEM.TYPE_CLASS.TYPE_USINT :
|
72 |
| - memcpy(ADR(_USINT),in.pValue,in.diSize); |
| 73 | + memcpy(ADR(_USINT),in.pValue,DINT_TO_UDINT(in.diSize)); |
73 | 74 | convertResult := TryConvert_USINT_To_Destination(_USINT, out);
|
74 | 75 |
|
75 | 76 | __SYSTEM.TYPE_CLASS.TYPE_UINT :
|
76 |
| - memcpy(ADR(_UINT),in.pValue,in.diSize); |
| 77 | + memcpy(ADR(_UINT),in.pValue,DINT_TO_UDINT(in.diSize)); |
77 | 78 | convertResult := TryConvert_UINT_To_Destination(_UINT, out);
|
78 | 79 |
|
79 | 80 | __SYSTEM.TYPE_CLASS.TYPE_UDINT :
|
80 |
| - memcpy(ADR(_UDINT),in.pValue,in.diSize); |
| 81 | + memcpy(ADR(_UDINT),in.pValue,DINT_TO_UDINT(in.diSize)); |
81 | 82 | convertResult := TryConvert_UDINT_To_Destination(_UDINT, out);
|
82 | 83 |
|
83 | 84 | __SYSTEM.TYPE_CLASS.TYPE_ULINT :
|
84 |
| - memcpy(ADR(_ULINT),in.pValue,in.diSize); |
| 85 | + memcpy(ADR(_ULINT),in.pValue,DINT_TO_UDINT(in.diSize)); |
85 | 86 | convertResult := TryConvert_ULINT_To_Destination(_ULINT, out);
|
86 | 87 |
|
87 | 88 | __SYSTEM.TYPE_CLASS.TYPE_REAL :
|
88 |
| - memcpy(ADR(_REAL),in.pValue,in.diSize); |
| 89 | + memcpy(ADR(_REAL),in.pValue,DINT_TO_UDINT(in.diSize)); |
89 | 90 | convertResult := TryConvert_REAL_To_Destination(_REAL, out);
|
90 | 91 |
|
91 | 92 | __SYSTEM.TYPE_CLASS.TYPE_LREAL :
|
92 |
| - memcpy(ADR(_LREAL),in.pValue,in.diSize); |
| 93 | + memcpy(ADR(_LREAL),in.pValue,DINT_TO_UDINT(in.diSize)); |
93 | 94 | convertResult := TryConvert_LREAL_To_Destination(_LREAL, out);
|
94 | 95 |
|
95 | 96 | __SYSTEM.TYPE_CLASS.TYPE_TIME :
|
96 |
| - memcpy(ADR(_TIME),in.pValue,in.diSize); |
| 97 | + memcpy(ADR(_TIME),in.pValue,DINT_TO_UDINT(in.diSize)); |
97 | 98 | convertResult := TryConvert_TIME_To_Destination(_TIME, out);
|
98 | 99 |
|
99 | 100 | __SYSTEM.TYPE_CLASS.TYPE_TIMEOFDAY :
|
100 |
| - memcpy(ADR(_TOD),in.pValue,in.diSize); |
| 101 | + memcpy(ADR(_TOD),in.pValue,DINT_TO_UDINT(in.diSize)); |
101 | 102 | convertResult := TryConvert_TOD_To_Destination(_TOD, out);
|
102 | 103 |
|
103 | 104 | __SYSTEM.TYPE_CLASS.TYPE_DATE :
|
104 |
| - memcpy(ADR(_DATE),in.pValue,in.diSize); |
| 105 | + memcpy(ADR(_DATE),in.pValue,DINT_TO_UDINT(in.diSize)); |
105 | 106 | convertResult := TryConvert_DATE_To_Destination(_DATE, out);
|
106 | 107 |
|
107 | 108 | __SYSTEM.TYPE_CLASS.TYPE_DATEANDTIME :
|
108 |
| - memcpy(ADR(_DT),in.pValue,in.diSize); |
| 109 | + memcpy(ADR(_DT),in.pValue,DINT_TO_UDINT(in.diSize)); |
109 | 110 | convertResult := TryConvert_DT_To_Destination(_DT, out);
|
110 | 111 |
|
111 | 112 | __SYSTEM.TYPE_CLASS.TYPE_STRING :
|
112 |
| - memcpy(ADR(_STRING),in.pValue,in.diSize); |
| 113 | + memcpy(ADR(_STRING),in.pValue,DINT_TO_UDINT(in.diSize)); |
113 | 114 | convertResult := TryConvert_STRING_To_Destination(_STRING, out);
|
114 | 115 |
|
115 | 116 | END_CASE
|
|
0 commit comments