Wiki source code of 02 Description of each device

Version 1.1 by Leo Wei on 2022/06/08 12:57

Hide last authors
Leo Wei 1.1 1 **Device list**
2
3 (% class="table-bordered" %)
4 |**Classification**|**Type**|**Device name**|**Sign**|**Range**|**Mark**
5 |(% rowspan="10" %)User device|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 software|Bit|Special|SM|0 to 4095|Decimal number
16 |Word|Special register|SD|0 to 4095|Decimal number
17 |(% rowspan="3" %)Index register|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 device** =
27
28 == {{id name="_Toc10233"/}}**{{id name="_Toc9353"/}}{{id name="_Toc1366"/}}{{id name="_Toc17120"/}}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 == {{id name="_Toc2094"/}}**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 == {{id name="_Toc10273"/}}**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 == {{id name="_Toc17874"/}}**{{id name="_Toc25205"/}}{{id name="_Toc13491"/}}{{id name="_Toc17840"/}}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 == {{id name="_Toc30874"/}}**{{id name="_Toc6544"/}}{{id name="_Toc14641"/}}{{id name="_Toc32436"/}}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 (% class="table-bordered" %)
67 |**Device number**|**Timer**|**Device number**|**Timer**
68 |T0 to T191|100ms timer|T246 to T249|1ms accumulative timer
69 |(% rowspan="2" %)T192 to T199|(% rowspan="2" %)100ms subroutine timer (used in the subroutine, even if the subroutine is not called, it will still be updated)|T250 to T255|10ms cumulative timer
70 |T256 to T383|1ms timer
71 |T200 to T245|10ms timer|T384 to T511|0.1ms timer
72
73 **(1) General-purpose timer (T0 to T245)**{{id name="OLE_LINK328"/}}
74
75 (% style="text-align:center" %)
76 [[image:02(1)_html_b1b48247f79e373c.gif||class="img-thumbnail" height="214" width="800"]]
77
78 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.
79
80 **(2) Accumulative timer (T246 to T255)**
81
82 (% style="text-align:center" %)
83 [[image:02(1)_html_ad4dcbfaa1b0c0af.gif||class="img-thumbnail" height="305" width="800"]]
84
85 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).
86
87 **(3) Setting value**
88
89 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).
90
91 (% style="text-align:center" %)
92 [[image:02(1)_html_dcbc4c6a61066b8e.png||class="img-thumbnail" height="128" width="300"]]
93
94 After PLC is powered on, multiplication is performed, D3=D0*2. Use the data of D3 as the timing time value of T10.
95
96 == {{id name="_Toc21206"/}}**{{id name="_Toc31862"/}}{{id name="_Toc26590"/}}{{id name="_Toc29366"/}}Counter (C)** ==
97
98 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.
99
100 The counters are identified by C0, C1,..., C255, and the order is numbered in decimal.
101
102 The counter (C) is a 16-bit counter.
103
104 (% style="text-align:center" %)
105 [[image:02(1)_html_740e6ef971b9c6de.gif||class="img-thumbnail" height="234" width="800"]]
106
107 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.
108
109 == {{id name="_Toc30139"/}}**{{id name="_Toc23467"/}}{{id name="_Toc16112"/}}{{id name="_Toc2290"/}}Long Counter (LC)** ==
110
111 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.
112
113 The long counter is identified by LC0, LC1,...,LC255, and the sequence is numbered in decimal.
114
115 == {{id name="_Toc27105"/}}**{{id name="_Toc1133"/}}{{id name="_Toc1198"/}}{{id name="_Toc19952"/}}High-speed counter (HSC)** ==
116
117 High-speed counter (HSC) is a device used for counting through external input of high-speed pulse signals. HSC is a 32-bit register.
118
119 The corresponding parameter configuration can be configured through: “project management” -> “parameters” -> “high-speed counter configuration”:
120
121 (% style="text-align:center" %)
122 [[image:02(1)_html_d2ac1dfce0424263.png||class="img-thumbnail" height="198" width="300"]]
123
124 (% style="text-align:center" %)
125 [[image:02(1)_html_a2d0f82f3579adff.png||class="img-thumbnail"]]
126
127
128
129 == **Data Register (D & R)** ==
130
131 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.
132
133 The address range of D register: D0 to D7999; the address range of R register: R0 to R29999.
134
135 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.
136
137 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.
138
139 = {{id name="_Toc24649"/}}**System device** =
140
141 == {{id name="_Toc26153"/}}**{{id name="_Toc29513"/}}{{id name="_Toc18631"/}}{{id name="_Toc28930"/}}Special Relay (SM)** ==
142
143 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.
144
145 {{id name="OLE_LINK152"/}}For details, please refer to [[(% class="wikiinternallink wikiinternallink" %)__Special relays (SM) list__>>path:#_Attachment 1 Special Relay (SM)]](%%).
146
147 == {{id name="_Toc7566"/}}**{{id name="_Toc3384"/}}{{id name="_Toc32434"/}}{{id name="_Toc20897"/}}Special Register (SD)** ==
148
149 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.
150
151 For details, please refer to [[(% class="wikiinternallink wikiinternallink" %)__Special register (SD) list__>>path:#_Appendix 2 Special Register (SD)]](%%).
152
153 = {{id name="_Toc18802"/}}**Index Register** =
154
155 == {{id name="_Toc2075"/}}**{{id name="_Toc5787"/}}{{id name="_Toc5824"/}}{{id name="_Toc2076"/}}Index register ([D])** ==
156
157 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:
158
159 (% style="text-align:center" %)
160 [[image:02(1)_html_a363303e0fb39bd.png||class="img-thumbnail"]]
161
162 The supported soft components for index modification are as follows:
163
164 Constant K, H plus index modification, such as D0 = 10, K10[D0] result = 10 + 10 = 20.
165
166 Constant E and character strings do not support index modification.
167
168 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).
169
170 Bit device plus index modification, such as D0 = 10, the result of M0[D0] is the value of M10.
171
172 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.
173
174 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.
175
176 = {{id name="_Toc29907"/}}**{{id name="_Toc2190"/}}{{id name="_Toc18837"/}}Nesting** =
177
178 == {{id name="_Toc10381"/}}**{{id name="_Toc9090"/}}{{id name="_Toc18834"/}}{{id name="_Toc11480"/}}Nesting (N)** ==
179
180 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.
181
182 (% style="text-align:center" %)
183 [[image:02(1)_html_9f527858e72d3a79.gif||class="img-thumbnail"]]
184
185 *1 is an instruction used to create an efficient ladder switching program by opening and closing the common bus of the Circuit program.
186
187 = {{id name="_Toc31133"/}}**pointer** =
188
189 == {{id name="_Toc9036"/}}**{{id name="_Toc12926"/}}{{id name="_Toc20167"/}}{{id name="_Toc17677"/}}Pointer (P)** ==
190
191 The pointer is the device used in the jump instruction (CJ instruction).
192
193 At present, the CALL instruction directly uses the subroutine name to call, and no longer uses the P pointer.
194
195 = {{id name="_Toc3845"/}}**Constant** =
196
197 The constants are explained below.
198
199 == {{id name="_Toc24739"/}}**{{id name="_Toc31877"/}}{{id name="_Toc5216"/}}{{id name="_Toc13896"/}}Decimal constant (K)** ==
200
201 “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.
202
203 == {{id name="_Toc23697"/}}**{{id name="_Toc8455"/}}{{id name="_Toc19156"/}}{{id name="_Toc18932"/}}Hexadecimal constant (H)** ==
204
205 “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.
206
207 == {{id name="_Toc9652"/}}**{{id name="_Toc27560"/}}{{id name="_Toc27972"/}}{{id name="_Toc17774"/}}Real number constant (E)** ==
208
209 “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).
210
211 (% style="text-align:center" %)
212 [[image:02(1)_html_8a090037e802011b.png||class="img-thumbnail"]]
213
214 (The address occupies D1 and D0)
215
216 == {{id name="_Toc20728"/}}**{{id name="_Toc22438"/}}{{id name="_Toc27030"/}}{{id name="_Toc32625"/}}String constant** ==
217
218 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:
219
220 (% style="text-align:center" %)
221 [[image:02(1)_html_61bdd1807e91322f.png||class="img-thumbnail"]]
222
223 = {{id name="_Toc15009"/}}**Power-down retention setting** =
224
225 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”.
226
227 (% style="text-align:center" %)
228 [[image:02(1)_html_6ba62f454f76a539.png||class="img-thumbnail"]]
229
230 **{{id name="OLE_LINK153"/}}✎Note: **The X and Y registers do not support the power-down save function.
231
232 = {{id name="_Toc8668"/}}**Special use of device** =
233
234 **(1) Use bits to form words**
235
236 Format: KnB
237
238 K is a fixed character.
239
240 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.
241
242 B is the bit device number.
243
244 Example: Set a total of 32 bits M0 to M31 at the same time.
245
246 (% style="text-align:center" %)
247 [[image:02(1)_html_93f997406ac1572a.png||class="img-thumbnail"]]
248
249 **✎Note: **KnB type can also support index modification.
250
251 **(2) Take the bit in the word**
252
253 Format: D.b
254
255 D is the number of data device D (R is not available).
256
257 b is the bit number that needs to be taken, hexadecimal, and the value range is 0 to F.
258
259 Example: bit14 in D2000 is set and Y0 is output
260
261 (% style="text-align:center" %)
262 [[image:02(1)_html_8908a96754754a6.png||class="img-thumbnail"]]
263
264 **✎Note: **D.b type can also support index modification.