Wiki source code of 02 Registers

Version 9.1 by Stone Wu on 2022/07/23 09:35

Show last authors
1 = Registers list =
2
3
4 |**Classification**|**Length**|**Description**|**Register**|**Range**|**Number**
5 |(% rowspan="10" %)User registers|Bit|Input|X|0 to 1777|Octal number
6 |Bit|Output|Y|0 to 1777|Octal number
7 |Bit|Internal relay|M|0 to 7999|Decimal number
8 |Bit|Step relay|S|0 to 4095|Decimal number
9 |Bit/word|Timer|T|0 to 511|Decimal number
10 |Bit/word|Counter|C|0 to 255|Decimal number
11 |Bit/double word|Long counter|LC|0 to 255|Decimal number
12 |Bit/double word|High-speed counter|HSC|0 to 15|Decimal number
13 |Word|Data Register|D|0 to 7999|Decimal number
14 |Word|Data Register|R|0 to 29999|Decimal number
15 |(% rowspan="2" %)System registers|Bit|Special|SM|0 to 4095|Decimal number
16 |Word|Special register|SD|0 to 4095|Decimal number
17 |(% rowspan="3" %)Index registers|Word|Index register|[D]|0 to 7999|Decimal number
18 |Word|Index register|V|0 to 7|Decimal number
19 |Double word|Long index register|Z|0 to 7|Decimal number
20 |Nested|Bit|Nested|N|0 to 7|Decimal number
21 |Pointer|-|Pointer|P|0 to 4095|Decimal number
22 |(% rowspan="3" %)Constant|-|Decimal constant|K|-|Decimal number
23 |-|Hexadecimal constant|H|-|Hexadecimal number
24 |Single precision floating point|Real constant|E|-|-
25
26 = User registers =
27
28 == Input relay (X) ==
29
30 The input relay represents the original PLC external input signal status, and the external signal status is detected through the input X port. 0 represents the external signal is open, and 1 represents the external signal is closed.
31
32 Using the program instruction method, the state of the input relay cannot be modified, and its node signals (normally open, normally closed) can be used indefinitely in the user program.
33
34 The relay signal is identified by Signs such as X0, X1,......X7, X10, X11...... and its serial number is numbered in octal.
35
36 When an expansion module is connected, the extended X point will also use the X point as the component of the input signal state, and the occupied X point is the starting position of the X point used by the PLC with 0 as the end of the X point, such as PLC Occupy 17 to 24 X points (X0 to X21, X0 to X27), at this time the X points of the expansion module will be stored starting from X30.
37
38 == Output relay (Y) ==
39
40 The output relay is a Devices directly connected to the hardware port of the external user control device, and logically corresponds to the physical output port of the PLC. After the PLC scans the user program each time, the component status of the Y relay will be transmitted to the hardware port of the PLC. 0 means the output port is open; 1 means the output port is closed.
41
42 Y relay numbers are identified by Signs such as Y0, Y1,...Y7, Y10, Y11, etc., and their serial numbers are numbered in octal format. Y relay components can be used indefinitely as promised by users .
43
44 In terms of hardware, according to the different output components, it can be divided into relay type, transistor type, solid state relay type, etc. If there are output expansion module ports, they are numbered in sequence starting from the main module.
45
46 == Internal relay (M) ==
47
48 The auxiliary relay M element is used as an intermediate variable in the execution of the user program, just like the auxiliary relay in the actual electronic control system, used for the transmission of status information, and multiple M variables can also be combined into word variables. M variables and external ports There is no direct connection, but you can copy X to M through program statements, or copy M to Y to connect with the outside world. An M variable can be used unlimited times.
49
50 The auxiliary relay M is identified by Signs such as M0, M1........., M7999, and its serial number is numbered in decimal system.
51
52 == Status relay (S) ==
53
54 The state relay S is used for the design and execution of the step program. The STL step instruction is used to control the transfer of the step state S, simplifying the programming design. If STL programming is not used, S can be used as an M variable. State S variables are identified by Signs such as S0, S1...S4095, and their serial numbers are numbered in decimal system.
55
56 == Timer (T) ==
57
58 The timer T is equivalent to the time relay in the relay system and is used to complete the timing function. The timer is an addition expression. When the timer expires, the current value and the set value are the same value.
59
60 The measurement starts when the timer coil turns ON. When the current value of the timer is consistent with the set value, it will become the time limit, and the timer contact will turn ON. When the timer coil is turned OFF, the current value will become 0, and the timer contact will also become OFF.
61
62 The T value range of the timer is 0 to 32767.
63
64 When the timer coil (OUT T instruction) is executed, the timer coil is turned on/off, the current value is updated, and the contact is turned on/off.
65
66
67 |=Registers|=Timer
68 |=T0 to T191|100ms timer
69 |=T192 to T199|100ms subroutine timer (used in the subroutine, even if the subroutine is not called, it will still be updated)
70 |=T200 to T245|10ms timer
71 |=T246 to T249|1ms accumulative timer
72 |=T250 to T255|10ms cumulative timer
73 |=T256 to T383|1ms timer
74 |=T384 to T511|0.1ms timer
75
76 **(1) General-purpose timer (T0 to T245)**
77
78 (% style="text-align:center" %)
79 [[image:02(1)_html_b1b48247f79e373c.gif||height="214" width="800" class="img-thumbnail"]]
80
81 As shown in the figure above: when the normally open contact of X0 is turned on, the current value counter of T200 starts timing from zero and counts up the 10ms clock pulse. When the current value is equal to the set value 223, the timer's normally open contact is turned on and the normally closed contact is turned off, that is, the output contact of T200 will act after its coil is driven for 2.23s. After the normally open contact of X0 is disconnected, T200 is reset because the coil is de-energized. After reset, its normally open contact is disconnected, and the normally closed contact is connected, and the current value returns to zero.
82
83 **(2) Accumulative timer (T246 to T255)**
84
85 (% style="text-align:center" %)
86 [[image:02(1)_html_ad4dcbfaa1b0c0af.gif||height="305" width="800" class="img-thumbnail"]]
87
88 When the X1 normally open contact in Figure b is turned on, the current value counter of T250 accumulates the 10ms clock pulse. When the normally open contact of X1 is disconnected or stopped, the counting stops, and the current value remains unchanged. When the normally open contact of X1 is turned on again, counting continues. When the accumulated time t1+t2 is 4.2s, the current value is equal to the set value of 420, the normally open contact of T250 is turned on and the normally closed contact is turned off. When the normally open contact of X2 is turned on, T250 will reset (because the coil of the accumulative timer will not reset when the power is off, you need to use the normally open contact of X2 and the reset instruction to force T250 to reset).
89
90 **(3) Setting value**
91
92 The timer time can use the constants (K, H) in the program memory as the set value, or can be specified indirectly by the content of the data register (D).
93
94 (% style="text-align:center" %)
95 [[image:02(1)_html_dcbc4c6a61066b8e.png||height="128" width="300" class="img-thumbnail"]]
96
97 After PLC is powered on, multiplication is performed, D3=D0*2. Use the data of D3 as the timing time value of T10.
98
99 == Counter (C) ==
100
101 The counter is used to complete the counting function. Each counter contains a coil, a contact, and a timer value register. Whenever the driving signal of the counter coil changes from OFF to ON, the counter reading value increases by 1, if the timer value reaches the preset time value, Its contact action, a contact (NO contact) is closed, b contact (NC contact) is opened; if the timing value is cleared, the output a contact will be opened, and b contact (NC contact) will be closed. Some timers have features such as power-down retention, accumulation, etc., and maintain the value before power-down after power-on again.
102
103 The counters are identified by C0, C1,..., C255, and the order is numbered in decimal.
104
105 The counter (C) is a 16-bit counter.
106
107 (% style="text-align:center" %)
108 [[image:02(1)_html_740e6ef971b9c6de.gif||height="234" width="800" class="img-thumbnail"]]
109
110 The setting value of the 16-bit up counter is 1 to 32767. As shown in the working process of the up counter in Figure c, after the normally open contact of X1 in the figure is turned on, C0 is reset, its corresponding bit storage unit is set to 0, the normally open contact of C0 is disconnected, and the normally closed contact Point is turned on, and its current counter value is set to 0 at the same time. X2 provides a counting input signal. When the reset input circuit of the counter is disconnected and the counting input circuit changes from disconnected to connected (that is, the rising edge of the counting pulse), the current value of counter C0 is increased by 1. After 10 count pulses, the current value of C0 is equal to the set value of 10, and its corresponding bit storage unit is set to 1, and the Y0 contact is turned on at this time. When counting pulses again, the current value does not change until the reset input signal is turned on, and the current value of the counter is set to 0.
111
112 == Long Counter (LC) ==
113
114 The long counter (LC) is basically the same as the counter (C), but compared to the counter (C), the long counter (LC) is a 32-bit register, and the range of values that can be counted is larger.
115
116 The long counter is identified by LC0, LC1,...,LC255, and the sequence is numbered in decimal.
117
118 == High-speed counter (HSC) ==
119
120 High-speed counter (HSC) is a device used for counting through external input of high-speed pulse signals. HSC is a 32-bit register.
121
122 The corresponding parameter configuration can be configured through: “project management” -> “parameters” -> “high-speed counter configuration”:
123
124 (% style="text-align:center" %)
125 [[image:02(1)_html_d2ac1dfce0424263.png||height="198" width="300" class="img-thumbnail"]]
126
127 (% style="text-align:center" %)
128 [[image:02(1)_html_a2d0f82f3579adff.png||class="img-thumbnail"]]
129
130
131
132 == Data Register (D&R) ==
133
134 Registers are used for data calculation and storage, such as the calculation and calculation of timers, counters, and analog parameters. The width of each register is 16 bits. If 32bit instructions are used, the adjacent registers are automatically formed into 32bit registers for use, the lower address is the low byte, and the higher address is the high byte.
135
136 The address range of D register: D0 to D7999; the address range of R register: R0 to R29999.
137
138 The data involved in operations in most of our series PLC instructions are processed as signed numbers. For 16-bit registers, bit15 is the sign bit (0 represents a positive number, 1 represents a negative number); for a 32-bit register, the high byte bit15 It is the sign bit, and the value range is -32768 to 32767.
139
140 When 32-bit data needs to be processed, the two adjacent D registers can be formed into a 32-bit double word. For example, when accessing D100 in 32-bit format, use the high address D101 register as the high word and the high byte bit 15 as The sign bit of a double word can handle values from -2147483648 to 2 147483647.
141
142 = System device =
143
144 == Special Relay (SM) ==
145
146 The special relay SM is an internal relay with a certain specification inside the programmable controller, so it cannot be used in the program like ordinary internal relays. It can be turned ON/OFF as needed to control the PLC.
147
148 For details, please refer to [[(% class="wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink" %)__Special relays (SM) list__>>path:https://docs.we-con.com.cn/bin/view/PLC%20Editor2/2.1%20LX5V%20user%20manual/15/#HAttachment1SpecialRelay28SM29]](%%).
149
150 == Special Register (SD) ==
151
152 The special register SD is an internal register whose specifications are determined within the programmable controller, so it cannot be used in the program like a normal internal register, and the corresponding data can be written as needed to control the PLC.
153
154 For details, please refer to [[(% class="wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink" %)__Special register (SD) list__>>path:https://docs.we-con.com.cn/bin/view/PLC%20Editor2/2.1%20LX5V%20user%20manual/15/#HAppendix2SpecialRegister28SD29]](%%).
155
156 = Index Register =
157
158 == Index register ([D]) ==
159
160 The index register is used to modify the index of the Devices. [D] The index register is actually the same as the data register D, ranging from D0 to D7999. The input method is as follows, just add [D] directly after the Devices:
161
162 (% style="text-align:center" %)
163 [[image:02(1)_html_a363303e0fb39bd.png||class="img-thumbnail"]]
164
165 The supported soft components for index modification are as follows:
166
167 Constant K, H plus index modification, such as D0 = 10, K10[D0] result = 10 + 10 = 20.
168
169 Constant E and character strings do not support index modification.
170
171 Add index modification to the data device, such as D0 = 10, the result of D10[D0] is the value of D20. Even if D10[D0] is used in a double word instruction, the double word value is the value of D20 (low word) and D21 (high word).
172
173 Bit device plus index modification, such as D0 = 10, the result of M0[D0] is the value of M10.
174
175 Bits are combined into words with index modification. For example, D0 = 10, K4M10[D0] first takes M10 offset by 10 addresses, and then combines them. The result is equivalent to K4M10.
176
177 Whether the index modification can be used depends on whether each instruction supports the format, you can check the "offset modification" in the description of the available device for each instruction.
178
179 = Nesting =
180
181 == Nesting (N) ==
182
183 Nesting is a device used in master station control instructions (MC/MCR instructions)*1 to program operating conditions through a nested structure. Specify with a small number (order from N0 to N7) from the outside of the nested structure.
184
185 (% style="text-align:center" %)
186 [[image:02(1)_html_9f527858e72d3a79.gif||class="img-thumbnail"]]
187
188 *1 is an instruction used to create an efficient ladder switching program by opening and closing the common bus of the Circuit program.
189
190 = pointer =
191
192 == Pointer (P) ==
193
194 The pointer is the device used in the jump instruction (CJ instruction).
195
196 At present, the CALL instruction directly uses the subroutine name to call, and no longer uses the P pointer.
197
198 = Constant =
199
200 The constants are explained below.
201
202 == Decimal constant (K) ==
203
204 “K” is a Sign that represents a decimal integer and is specified by K£ (for example: K123). It is mainly used to designate the set value of a timer or counter or the value in the operand of an application instruction. In 16bit instructions, the value range of constant K is -32768 to 32767; in 32bit instructions, the value range of constant K is -247483648 to 2147483647.
205
206 == Hexadecimal constant (H) ==
207
208 “H” is the Sign of hexadecimal number, specified by H□ (example: H123), mainly used to designate the value of the operand of the application instruction. The value range of the constant H is 0000 to FFFF; in the 32-bit instruction, the value range of the constant K is 0000, 0000 to FFFF, FFFF.
209
210 == Real number constant (E) ==
211
212 “E” is the single-precision floating-point number representation Sign, specified by E□ (example: E1.23), mainly used to specify the value of the operand of the application instruction, the value range of the single-precision floating-point number E is ±1.175495*10 -38 to ±3.402823*10+38 (±1.175495 E-38 to ±3.402823 E+38) and 0 (7 effective digits).
213
214 (% style="text-align:center" %)
215 [[image:02(1)_html_8a090037e802011b.png||class="img-thumbnail"]]
216
217 (The address occupies D1 and D0)
218
219 == String constant ==
220
221 The character string constant is the device that specifies the character string, and only supports the ASCII code character set, and any character string ends with a NULL character (00H). To use string devices, you must use double eye marks to modify the characters, as follows to convert the string to ASCII characters and fill in the device starting with D0:
222
223 (% style="text-align:center" %)
224 [[image:02(1)_html_61bdd1807e91322f.png||class="img-thumbnail"]]
225
226 = Power-down retention setting =
227
228 The user can freely configure the power-off storage range within the range of the Devices. The constant configuration is located in: “Project Management”→”Parameters”→”PLC Parameters”→”Device Latch”.
229
230 (% style="text-align:center" %)
231 [[image:02(1)_html_6ba62f454f76a539.png||class="img-thumbnail"]]
232
233 **✎Note: **The X and Y registers do not support the power-down save function.
234
235 = Special use of device =
236
237 **(1) Use bits to form words**
238
239 Format: KnB
240
241 K is a fixed character.
242
243 The value of n is 1 to 8, which means that (n * 4) bits are combined into a word, such as K4M0 is a combination of M0 to M15.
244
245 B is the bit device number.
246
247 Example: Set a total of 32 bits M0 to M31 at the same time.
248
249 (% style="text-align:center" %)
250 [[image:02(1)_html_93f997406ac1572a.png||class="img-thumbnail"]]
251
252 **✎Note: **KnB type can also support index modification.
253
254 **(2) Take the bit in the word**
255
256 Format: D.b
257
258 D is the number of data device D (R is not available).
259
260 b is the bit number that needs to be taken, hexadecimal, and the value range is 0 to F.
261
262 Example: bit14 in D2000 is set and Y0 is output
263
264 (% style="text-align:center" %)
265 [[image:02(1)_html_8908a96754754a6.png||class="img-thumbnail"]]
266
267 **✎Note: **D.b type can also support index modification.