
PHDays 9 рдореЗрдВ, рд╣рдордиреЗ
рдФрджреНрдпреЛрдЧрд┐рдХ рдкрдореНрдкрд┐рдВрдЧ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ - рдПрдХ рдЧреИрд╕ рдкрдореНрдкрд┐рдВрдЧ рдкреНрд▓рд╛рдВрдЯ рдХреЛ рд╣реИрдХ рдХрд░рдиреЗ рдХреА рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдЖрдпреЛрдЬрд┐рдд рдХреАред рд╕рд╛рдЗрдЯ рдкрд░ рддреАрди рд╕реБрд░рдХреНрд╖рд╛ рдорд╛рдирдХреЛрдВ (рдиреЛ рд╕рд┐рдХреНрдпреЛрд░рд┐рдЯреА, рд▓реЛ рд╕рд┐рдХреНрдпреЛрд░рд┐рдЯреА, рд╣рд╛рдИ рд╕рд┐рдХреНрдпреЛрд░рд┐рдЯреА) рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдФрджреНрдпреЛрдЧрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рддреЗ рд╣реБрдП рддреАрди рд╕реНрдЯреИрдВрдб рдереЗ: рджрдмрд╛рд╡ рдореЗрдВ рд╣рд╡рд╛ рдХреЛ рдЧреБрдмреНрдмрд╛рд░реЗ (рдФрд░ рдлрд┐рд░ рдиреАрдЪреЗ рдЙрддрд╛рд░рд╛ рдЧрдпрд╛) рдореЗрдВ рдкрдВрдк рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рд╡рд┐рднрд┐рдиреНрди рд╕реБрд░рдХреНрд╖рд╛ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рд╕реНрдЯреИрдВрдб рдХрд╛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕рдорд╛рди рдерд╛: рд╕реАрдореЗрдВрд╕ рд╕рд┐рдореИрдЯрд┐рдХ S7-300 рдкреАрдПрд▓рд╕реА; рдЖрдкрд╛рддрдХрд╛рд▓реАрди рдмреНрд▓реЛ-рдСрдл рдмрдЯрди рдФрд░ рджрдмрд╛рд╡ рдорд╛рдкрдиреЗ рд╡рд╛рд▓рд╛ рдЙрдкрдХрд░рдг (рдкреАрдПрд▓рд╕реА рдбрд┐рдЬрд┐рдЯрд▓ рдЗрдирдкреБрдЯ (рдбреАрдЖрдИ) рд╕реЗ рдЬреБрдбрд╝рд╛); рдкрдВрдк рдФрд░ рд░рдХреНрддрд╕реНрд░рд╛рд╡ рдХреЗ рд▓рд┐рдП рд╡рд╛рд▓реНрд╡ (рдкреАрдПрд▓рд╕реА (рдбреАрдУ) рдХреЗ рдбрд┐рдЬрд┐рдЯрд▓ рдЖрдЙрдЯрдкреБрдЯ рд╕реЗ рдЬреБрдбрд╝рд╛) - рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЖрдВрдХрдбрд╝реЗ рдХреЛ рджреЗрдЦреЗрдВред

рдкреАрдПрд▓рд╕реА, рджрдмрд╛рд╡ рд░реАрдбрд┐рдВрдЧ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдФрд░ рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЧреЗрдВрдж рдХреЛ рдЙрдбрд╝рд╛рдиреЗ рдпрд╛ рдЙрдбрд╝рд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд░реНрдгрдп рдХрд┐рдпрд╛ (рд╕рдВрдмрдВрдзрд┐рдд рд╡рд╛рд▓реНрд╡реЛрдВ рдХреЛ рдЦреЛрд▓рд╛ рдФрд░ рдмрдВрдж рдХрд┐рдпрд╛ рдЧрдпрд╛)ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕рднреА рд╕реНрдЯреИрдВрдбреЛрдВ рдкрд░ рдПрдХ рдореИрдиреБрдЕрд▓ рдХрдВрдЯреНрд░реЛрд▓ рдореЛрдб рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдиреЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдкреНрд░рддрд┐рдмрдВрдз рдХреЗ рд╡рд╛рд▓реНрд╡ рд░рд╛рдЬреНрдпреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛ рджрд┐рдпрд╛ред
рдЗрд╕ рдореЛрдб рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдЬрдЯрд┐рд▓рддрд╛ рд╕реЗ рд╕реНрдЯреИрдВрдб рдХреЛ рдкреНрд░рддрд┐рд╖реНрдард┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛: рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд╕реНрдЯреИрдВрдб рдкрд░ рдпрд╣ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рдерд╛, рд▓реЗрдХрд┐рди рдЙрдЪреНрдЪ рд╕реБрд░рдХреНрд╖рд╛ рд╕реНрдЯреИрдВрдб рдкрд░, рддрджрдиреБрд╕рд╛рд░, рдпрд╣ рдЕрдзрд┐рдХ рдХрдард┐рди рдерд╛ред
рджреЛ рджрд┐рдиреЛрдВ рдореЗрдВ, рдЫрд╣ рдореЗрдВ рд╕реЗ рдкрд╛рдВрдЪ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣рд▓ рд╣реЛ рдЧрдИрдВ; рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдкрд░ рд╡рд┐рдЬреЗрддрд╛ рдиреЗ 233 рдЕрдВрдХ рдЕрд░реНрдЬрд┐рдд рдХрд┐рдП (рдЙрд╕рдиреЗ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдкреНрддрд╛рд╣ рдХреА рддреИрдпрд╛рд░реА рдХреА)ред рддреАрди рд╡рд┐рдЬреЗрддрд╛: I рдЬрдЧрд╣ - a1exdandy, II - рд░реВрдмрд┐рдХреЙрдЗрдб, III - рдЬрд╝реАред
рд╣рд╛рд▓рд╛рдВрдХрд┐, PHDays рдХреЗ рджреМрд░рд╛рди, рдХреЛрдИ рднреА рдкреНрд░рддрд┐рднрд╛рдЧреА рд╕рднреА рддреАрди рд╕реНрдЯреИрдВрдбреЛрдВ рдХреЛ рдкрд╛рд░ рдирд╣реАрдВ рдХрд░ рдкрд╛рдпрд╛, рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдПрдХ рдСрдирд▓рд╛рдЗрди рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдФрд░ рдЬреВрди рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╕рдмрд╕реЗ рдореБрд╢реНрдХрд┐рд▓ рдХрд╛рдо рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ред рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЛ рдПрдХ рдорд╣реАрдиреЗ рдореЗрдВ рдХрд╛рд░реНрдп рдкреВрд░рд╛ рдХрд░рдирд╛ рдерд╛, рдЭрдВрдбрд╛ рдвреВрдВрдврдирд╛ рдерд╛, рд╕рдорд╛рдзрд╛рди рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рддрд░реАрдХреЗ рд╕реЗ рд╡рд░реНрдгрди рдХрд░рдирд╛ рдерд╛ред
рдХрдЯреМрддреА рдХреЗ рддрд╣рдд, рд╣рдо рдорд╣реАрдиреЗ рдореЗрдВ рднреЗрдЬреЗ рдЧрдП рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рдбрд┐рдЬрд┐рдЯрд▓ рд╕рд┐рдХреНрдпреЛрд░рд┐рдЯреА рдХрдВрдкрдиреА рдХреЗ рдПрд▓реЗрдХреНрд╕реА рдХреЛрд╡рд░реАрдЬрдиреАрдЦ (a1exdandy) рдиреЗ рдкрд╛рдпрд╛ рдерд╛, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ PHDays рдХреЗ рджреМрд░рд╛рди рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдореЗрдВ рдкреНрд░рдердо рд╕реНрдерд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдерд╛ред рдиреАрдЪреЗ рд╣рдо рдЕрдкрдиреА рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдкрд╛рда рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред
рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг
рдЗрд╕рд▓рд┐рдП, рдХрд╛рд░реНрдп рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрдЧреНрд░рд╣ рдерд╛:
- block_upload_traffic.pcapng
- DB100.bin
- hints.txt
Hints.txt рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХрд╛рд░реНрдп рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рдФрд░ рдпреБрдХреНрддрд┐рдпрд╛рдВ рд╣реИрдВред рдпрд╣рд╛рдБ рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рд╣реИрдВ:
- рдкреЗрдЯреНрд░реЛрд╡рд┐рдЪ рдиреЗ рдореБрдЭреЗ рдХрд▓ рдмрддрд╛рдпрд╛ рдерд╛ рдХрд┐ рдкреНрд▓реЗрд╕реАрдо рд╕реЗ рдЖрдк рд╕реНрдЯреЗрдк 7 рдореЗрдВ рдмреНрд▓реЙрдХ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
- рд╕реНрдЯреИрдВрдб рдкрд░, рд╕реАрдореЗрдВрд╕ рд╕рд┐рдореИрдЯрд┐рдХ рдПрд╕ 7-300 рд╢реНрд░реГрдВрдЦрд▓рд╛ рдкреАрдПрд▓рд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
- рдкреНрд▓реЗрд╕реАрдо рдПрдХ рдкреАрдПрд▓рд╕реА рдПрдореБрд▓реЗрдЯрд░ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рд╕реАрдореЗрдВрд╕ рдПрд╕ 7 рдкреАрдПрд▓рд╕реА рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЪрд▓рд╛рдиреЗ рдФрд░ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
DB100.bin рдлрд╝рд╛рдЗрд▓, рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░, рдПрдХ DB100 PLC рдбреЗрдЯрд╛ рдмреНрд▓реЙрдХ рд╕рдореНтАНрдорд┐рд▓рд┐рдд рд╣реИ: 00000000: 0100 0102 6e02 0401 0206 0100 0101 0102 .... n ........... 00000010: 1002 0501 0202 2002 0501 00 0100 0100 0102 ...... ......... 00000020: 0102 7702 0401 0206 0100 0103 0102 0a02 ..w ............. 00000030: 0501 0202 1602 0501 0206 0100 0104 0102 ................ 00000040: 7502 0401 0206 0100 0105 0102 0a02 0501 u ............... 00000050: 0202 1602 0501 0206 0100 0106 0102 3402 .............. 4ред 00000060: 0401 0206 0100 0107 0102 2602 0501 0202 .......... & ..... 00000070: 4c02 0501 0206 0100 0108 0102 3302 0401 рдПрд▓ ........... 3ред .. 00000080: 0206 0100 0109 0102 0a02 0501 0202 1602 ................ 00000090: 0501 0206 0100 010a 0102 3702 0401 0206 .......... 7ред .... 000000a0: 0100 010b 0102 2202 0501 0202 4602 0501 ...... "..... рдПрдл ... 000000b0: 0206 0100 010c 0102 3302 0401 0206 0100 ........ 3ред ...... 000000c0: 010d 0102 0a02 0501 0202 1602 0501 0206 ................ 000000d0: 0100 010e 0102 6d02 0401 0206 0100 010f ...... mред ........ 000000e0: 0102 1102 0501 0202 2302 0501 0206 0100 ........ # ....... 000000f0: 0110 0102 3502 0401 0206 0100 0111 0102 .... 5ред .......... 00000100: 1202 0501 0202 2502 0501 0206 0100 0112 ......% ......... 00000110: 0102 3302 0401 0206 0100 0113 0102 2602 ..3ред .......... &ред 00000120: 0501 0202 4c02 0501 0206 0100 .... L ......ред
рдирд╛рдо рд╕реЗ рджреЗрдЦрддреЗ рд╣реБрдП, block_upload_traffic.pcapng рдлрд╝рд╛рдЗрд▓ рдореЗрдВ PLC рд▓реЛрдб рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХрд╛ рдПрдХ рдбрдВрдк рд╣реЛрддрд╛ рд╣реИред
рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рд╕рдореНрдореЗрд▓рди рдХреЗ рджреМрд░рд╛рди рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рд╕реНрдерд▓ рдкрд░ рдпрд╛рддрд╛рдпрд╛рдд рдХрд╛ рдпрд╣ рдбрдВрдк рдереЛрдбрд╝рд╛ рдФрд░ рдореБрд╢реНрдХрд┐рд▓ рдерд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, TeslaSCADA2 рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕рдордЭрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред рдЗрд╕рд╕реЗ рдпрд╣ рд╕рдордЭрдирд╛ рд╕рдВрднрд╡ рдерд╛ рдХрд┐ RC4 рдХреЗ рд╕рд╛рде рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдбрдВрдк рдХрд╣рд╛рдВ рд╕реНрдерд┐рдд рд╣реИ рдФрд░ рдЗрд╕реЗ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕ рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рд╛рдЗрдЯ рдкрд░ рдбреЗрдЯрд╛ рдмреНрд▓реЙрдХ рдХреЗ рдбрдВрдк S7 рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП Snap7 рдкреИрдХреЗрдЬ рд╕реЗ рдбреЗрдореЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред
рдЯреНрд░реИрдлрд┐рдХ рдбрдВрдк рд╕реЗ рд╕рд┐рдЧреНрдирд▓ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдЗрдХрд╛рдЗрдпрд╛рдВ рдирд┐рдХрд╛рд▓рдирд╛
рдбрдВрдк рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдЖрдк рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рд┐рдЧреНрдирд▓ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдмреНрд▓реЙрдХ рдУрдмреА 1, рдПрдлрд╕реА 1, рдПрдлрд╕реА 2 рдФрд░ рдПрдлрд╕реА 3 рдореЗрдВ рдкреНрд░реЗрд╖рд┐рдд рд╣реИрдВ:

рдЗрди рдмреНрд▓реЙрдХреЛрдВ рдХреЛ рдирд┐рдХрд╛рд▓рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдпрд╣ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде, pcapng рдкреНрд░рд╛рд░реВрдк рд╕реЗ pcap рдореЗрдВ рдЯреНрд░реИрдлрд╝рд┐рдХ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
рдкреНрд░рд╛рдкреНрдд рдмреНрд▓реЙрдХреЛрдВ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рд╣рдореЗрд╢рд╛ рдмрд╛рдЗрдЯреНрд╕ 70 70 (рдкреАрдкреА) рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВред рдЕрдм рдЖрдкрдХреЛ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рдЙрдирдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрдд рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреНрд▓реЗрд╕реАрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдмреНрд▓реЙрдХреЛрдВ рд╕реЗ рдорд╛рдирд╡-рдкрдардиреАрдп рдирд┐рд░реНрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЪрд▓реЛ S7-PlcSim рдХреЛ рджреЛрд╣рд░рд╛рддреЗ рд╣реБрдП рдирд┐рд░реНрджреЗрд╢ (= Q 0.0) рдХреЗ рд╕рд╛рде рдХрдИ рдмреНрд▓реЙрдХреЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рдХреЗ рдЗрд╕реЗ Simatic Manager рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдкреАрдПрд▓рд╕реА рдПрдореБрд▓реЗрдЯрд░ рдХреЛ save рдХрд░рддреЗ рд╣реИрдВред example.plc рдлрд╝рд╛рдЗрд▓ред рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рджреЗрдЦрдХрд░, рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ 70 70 рджреНрд╡рд╛рд░рд╛ рд▓реЛрдб рдХрд┐рдП рдЧрдП рдмреНрд▓реЙрдХреЛрдВ рдХреА рд╢реБрд░реБрдЖрдд рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдкрд╣рд▓реЗ рдЦреЛрдЬрд╛ рдерд╛ред рдмреНрд▓реЙрдХ рд╕реЗ рдкрд╣рд▓реЗ, рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░, рдмреНрд▓реЙрдХ рдЖрдХрд╛рд░ рдХреЛ 4-рдмрд╛рдЗрдЯ рд▓рд┐рдЯрд┐рд▓-рдПрдВрдбрд┐рдпрди рдорд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдкреАрдПрд▓рд╕реА рдлрд╛рдЗрд▓реЛрдВ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдкреАрдПрд▓рд╕реА рдПрд╕ 7 рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдп рдпреЛрдЬрдирд╛ рджрд┐рдЦрд╛рдИ рджреА:
- рд╕рд┐рдореИрдЯрд┐рдХ рдореИрдиреЗрдЬрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╣рдо S7-PlcSim рдореЗрдВ рдмреНрд▓реЙрдХ рд╕рдВрд░рдЪрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ рд╣рдореЗрдВ рдбрдВрдк рд╕реЗ рдорд┐рд▓реА рдереАред рдмреНрд▓реЙрдХ рдЖрдХрд╛рд░ рдХреЛ рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреА рд╕рд╣реА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдмреНрд▓реЙрдХреЛрдВ рдХреЛ рднрд░рдХрд░ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛) рдФрд░ рдЙрдирдХреЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ (OB1, FC1, FC2, FC3)ред
- рдкреАрдПрд▓рд╕реА рдХреЛ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВред
- рд╣рдо рдкреНрд░рд╛рдкреНрдд рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдмреНрд▓реЙрдХ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЯреНрд░реИрдлрд┐рдХ рдбрдВрдк рд╕реЗ рдмреНрд▓реЙрдХ рдХреЗ рд╕рд╛рде рдмрджрд▓рддреЗ рд╣реИрдВред рдмреНрд▓реЙрдХреЛрдВ рдХреА рд╢реБрд░реБрдЖрдд рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред
- рдкрд░рд┐рдгрд╛рдореА рдлрд╝рд╛рдЗрд▓ S7-PlcSim рдкрд░ рдЕрдкрд▓реЛрдб рдХреА рдЧрдИ рд╣реИ рдФрд░ рд╣рдо Simatic Manager рдореЗрдВ рдмреНрд▓реЙрдХ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВред
рдмреНрд▓реЙрдХ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рдХреЛрдб рдХреЗ рд╕рд╛рде:
with open('original.plc', 'rb') as f: plc = f.read() blocks = [] for fname in ['OB1.bin', 'FC1.bin', 'FC2.bin', 'FC3.bin']: with open(fname, 'rb') as f: blocks.append(f.read()) i = plc.find(b'pp') for block in blocks: plc = plc[:i] + block + plc[i+len(block):] i = plc.find(b'pp', i + 1) with open('target.plc', 'wb') as f: f.write(plc)
рдЕрд▓реЗрдХреНрд╕реЗрд╕реА рд╕рдВрднрд╡рддрдГ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛ рдЧрдпрд╛, рд▓реЗрдХрд┐рди рдЕрднреА рднреА рд╕рд╣реА рддрд░реАрдХрд╛ рд╣реИред рд╣рдордиреЗ рдпрд╣ рдорд╛рди рд▓рд┐рдпрд╛ рдерд╛ рдХрд┐ рдкреНрд░рддрд┐рднрд╛рдЧреА NetToPlcSim рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рддрд╛рдХрд┐ PlcSim рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╕рдВрдЪрд╛рд░ рдХрд░ рд╕рдХреЗ, Snap7 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ PlcSim рдореЗрдВ рдмреНрд▓реЙрдХ рд▓реЛрдб рдХрд░ рд╕рдХреЗ рдФрд░ рдлрд┐рд░ рд╡рд┐рдХрд╛рд╕ рдкрд░реНрдпрд╛рд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ PlcSim рд╕реЗ рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрди рдмреНрд▓реЙрдХреЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХреЗред
S7-PlcSim рдореЗрдВ рдкрд░рд┐рдгрд╛рдореА рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЦреЛрд▓рдХрд░, рдЖрдк рд╕рд┐рдореИрдЯрд┐рдХ рдореИрдиреЗрдЬрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд┐рдП рдЧрдП рдмреНрд▓реЙрдХреЛрдВ рдХреЛ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рдореБрдЦреНрдп рдбрд┐рд╡рд╛рдЗрд╕ рдкреНрд░рдмрдВрдзрди рдлрд╝рдВрдХреНрд╢рди рдмреНрд▓реЙрдХ FC1 рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдП рдЧрдП рд╣реИрдВред рдЪрд░ # TEMP0 рд╡рд┐рд╢реЗрд╖ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрдм рдЗрд╕реЗ рдЪрд╛рд▓реВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреАрдПрд▓рд╕реА рдирд┐рдпрдВрддреНрд░рдг рдХреЛ рдмрд┐рдЯ рдореЗрдореЛрд░реА M2.2 рдФрд░ M2.3 рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдореИрдиреБрдЕрд▓ рдореЛрдб рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред # TEMP0 FC3 рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реИред

рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдлрд╕реА 3 рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рдФрд░ рдпрд╣ рд╕рдордЭрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдпрд╣ рдПрдХ рддрд╛рд░реНрдХрд┐рдХ рдЗрдХрд╛рдИ рд▓реМрдЯрд╛рдПред
рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рд╕реНрдерд▓ рдкрд░ рд▓реЛ рд╕рд┐рдХреНрдпреЛрд░рд┐рдЯреА рд╕реНрдЯреИрдВрдб рдкрд░ рдкреАрдПрд▓рд╕реА рд╕рд┐рдЧреНрдирд▓ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдмреНрд▓реЙрдХ рдХреЛ рдЙрд╕реА рддрд░рд╣ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди # TEMP0 рд╡реИрд░рд┐рдПрдмрд▓ рдХреЗ рдорд╛рди рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд▓рд╛рдЗрди рдХреЛ рдореЗрд░реЗ рдирд┐рдВрдЬрд╛ рддрд░реАрдХреЗ рдХреЛ DB1 рдмреНрд▓реЙрдХ рдореЗрдВ рд▓рд┐рдЦрдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рдерд╛ред рдмреНрд▓реЙрдХ рдореЗрдВ рдореВрд▓реНрдп рдХреА рдЬрд╛рдБрдЪ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХреА рдЧрдИ рдереА рдФрд░ рдЗрд╕реЗ рдмреНрд▓реЙрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреЗ рдЧрд╣рди рдЬреНрдЮрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рдереАред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдЙрдЪреНрдЪ рд╕реБрд░рдХреНрд╖рд╛ рд╕реНрддрд░ рдкрд░ рдореИрдиреНрдпреБрдЕрд▓ рдирд┐рдпрдВрддреНрд░рдг рд╣рд╛рд╕рд┐рд▓ рдХрд░рдирд╛ рдмрд╣реБрдд рдХрдард┐рди рд╣реЛрдЧрд╛ рдФрд░ рдПрд╕рдЯреАрдПрд▓ рднрд╛рд╖рд╛ (рдПрд╕ 7 рдкреАрдПрд▓рд╕реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ) рдХреА рдкреЗрдЪреАрджрдЧрд┐рдпреЛрдВ рдХреЛ рд╕рдордЭрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдмреНрд▓реЙрдХ рдмреНрд▓реЙрдХ FC3
STL рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдореЗрдВ FC3 рдмреНрд▓реЙрдХ рдХреА рд╕рд╛рдордЧреНрд░реА: рдХреЛрдб рдХрд╛рдлреА рдмрдбрд╝рд╛ рд╣реИ рдФрд░ рдПрд╕рдЯреАрдПрд▓ рд╕реЗ рдЕрдкрд░рд┐рдЪрд┐рдд рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЬрдЯрд┐рд▓ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░ рдкреНрд░рддреНрдпреЗрдХ рдирд┐рд░реНрджреЗрд╢ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ, рд╡рд┐рд╕реНрддреГрдд рдирд┐рд░реНрджреЗрд╢ рдФрд░ рдПрд╕рдЯреАрдПрд▓ рднрд╛рд╖рд╛ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд▓рд┐рдП,
рдПрд╕ 7-300 рдФрд░ рдПрд╕ 7-400 рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕рдВрдмрдВрдзрд┐рдд рдореИрдиреБрдЕрд▓:
рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рд▓рд┐рд╕реНрдЯ (рдПрд╕рдЯреАрдПрд▓) рджреЗрдЦреЗрдВ ред рдпрд╣рд╛рдВ рдореИрдВ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЗ рдмрд╛рдж рдПрдХ рд╣реА рдХреЛрдб рджреВрдВрдЧрд╛ - рд▓реЗрдмрд▓ рдФрд░ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХрд╛ рдирд╛рдо рдмрджрд▓рдиреЗ рдФрд░ рдХрд╛рдо рдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдФрд░ рдПрд╕рдЯреАрдПрд▓ рднрд╛рд╖рд╛ рдХреЗ рдХреБрдЫ рдирд┐рд░реНрдорд╛рдгреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓реА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ред рдореИрдВ рддреБрд░рдВрдд рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рд╡рд┐рдЪрд╛рд░рд╛рдзреАрди рдмреНрд▓реЙрдХ рдореЗрдВ рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рд▓рд╛рдЧреВ рдХреА рдЧрдИ рд╣реИ рдЬреЛ DB100 рдмреНрд▓реЙрдХ рдореЗрдВ рд╕реНрдерд┐рдд рдХреБрдЫ рдмрд╛рдЗрдЯрдХреЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреА рд╣реИ, рдЬрд┐рд╕рдХреА рд╕рд╛рдордЧреНрд░реА рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВред рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдирд┐рд░реНрджреЗрд╢ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рдХреЛрдб рдХреЗ 1 рдмрд╛рдЗрдЯ рдФрд░ рддрд░реНрдХреЛрдВ рдХреЗ рдмрд╛рдЗрдЯреНрд╕ рд╣реИрдВ, рдкреНрд░рддреНрдпреЗрдХ рддрд░реНрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╛рдЗрдЯред рд╕рдореАрдХреНрд╖рд╛ рдХрд┐рдП рдЧрдП рд╕рднреА рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рджреЛ рддрд░реНрдХ рд╣реИрдВ, рдореИрдВрдиреЗ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЙрдирдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдПрдХреНрд╕ рдФрд░ рд╡рд╛рдИ рдХреЗ рд░реВрдк рдореЗрдВ рдирд╛рдорд┐рдд рдХрд┐рдпрд╛ рд╣реИред
рдкреЛрд╕реНрдЯ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЛрдб рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо DB100 рдмреНрд▓реЙрдХ рдореЗрдВ рдмрд╛рдпреЛрдЯреЗрдХ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдбрд┐рд╕реНрд╕реЗрдореНрдмрд▓рд░ рд▓рд┐рдЦреЗрдВрдЧреЗ:
import string alph = string.ascii_letters + string.digits with open('DB100.bin', 'rb') as f: m = f.read() pc = 0 while pc < len(m): op = m[pc] if op == 1: print('R{} = DB101[{}]'.format(m[pc + 2], m[pc + 1])) pc += 3 elif op == 2: c = chr(m[pc + 1]) c = c if c in alph else '?' print('R{} = {:02x} ({})'.format(m[pc + 2], m[pc + 1], c)) pc += 3 elif op == 4: print('R0 = 0; R{} = (R{} == R{})'.format( m[pc + 1], m[pc + 1], m[pc + 2])) pc += 3 elif op == 5: print('R0 = 0; R{} = R{} - R{}'.format( m[pc + 1], m[pc + 1], m[pc + 2])) pc += 3 elif op == 6: print('CHECK (R{} == R{})\n'.format( m[pc + 1], m[pc + 2])) pc += 3 else: print('unk opcode {}'.format(op)) break
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ рдирд┐рдореНрди рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЛрдб рдорд┐рд▓рддрд╛ рд╣реИ:
рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЛрдб R1 = DB101[0] R2 = 6e (n) R0 = 0; R1 = (R1 == R2) CHECK (R1 == R0) R1 = DB101[1] R2 = 10 (?) R0 = 0; R1 = R1 - R2 R2 = 20 (?) R0 = 0; R1 = R1 - R2 CHECK (R1 == R0) R1 = DB101[2] R2 = 77 (w) R0 = 0; R1 = (R1 == R2) CHECK (R1 == R0) R1 = DB101[3] R2 = 0a (?) R0 = 0; R1 = R1 - R2 R2 = 16 (?) R0 = 0; R1 = R1 - R2 CHECK (R1 == R0) R1 = DB101[4] R2 = 75 (u) R0 = 0; R1 = (R1 == R2) CHECK (R1 == R0) R1 = DB101[5] R2 = 0a (?) R0 = 0; R1 = R1 - R2 R2 = 16 (?) R0 = 0; R1 = R1 - R2 CHECK (R1 == R0) R1 = DB101[6] R2 = 34 (4) R0 = 0; R1 = (R1 == R2) CHECK (R1 == R0) R1 = DB101[7] R2 = 26 (?) R0 = 0; R1 = R1 - R2 R2 = 4c (L) R0 = 0; R1 = R1 - R2 CHECK (R1 == R0) R1 = DB101[8] R2 = 33 (3) R0 = 0; R1 = (R1 == R2) CHECK (R1 == R0) R1 = DB101[9] R2 = 0a (?) R0 = 0; R1 = R1 - R2 R2 = 16 (?) R0 = 0; R1 = R1 - R2 CHECK (R1 == R0) R1 = DB101[10] R2 = 37 (7) R0 = 0; R1 = (R1 == R2) CHECK (R1 == R0) R1 = DB101[11] R2 = 22 (?) R0 = 0; R1 = R1 - R2 R2 = 46 (F) R0 = 0; R1 = R1 - R2 CHECK (R1 == R0) R1 = DB101[12] R2 = 33 (3) R0 = 0; R1 = (R1 == R2) CHECK (R1 == R0) R1 = DB101[13] R2 = 0a (?) R0 = 0; R1 = R1 - R2 R2 = 16 (?) R0 = 0; R1 = R1 - R2 CHECK (R1 == R0) R1 = DB101[14] R2 = 6d (m) R0 = 0; R1 = (R1 == R2) CHECK (R1 == R0) R1 = DB101[15] R2 = 11 (?) R0 = 0; R1 = R1 - R2 R2 = 23 (?) R0 = 0; R1 = R1 - R2 CHECK (R1 == R0) R1 = DB101[16] R2 = 35 (5) R0 = 0; R1 = (R1 == R2) CHECK (R1 == R0) R1 = DB101[17] R2 = 12 (?) R0 = 0; R1 = R1 - R2 R2 = 25 (?) R0 = 0; R1 = R1 - R2 CHECK (R1 == R0) R1 = DB101[18] R2 = 33 (3) R0 = 0; R1 = (R1 == R2) CHECK (R1 == R0) R1 = DB101[19] R2 = 26 (?) R0 = 0; R1 = R1 - R2 R2 = 4c (L) R0 = 0; R1 = R1 - R2 CHECK (R1 == R0)
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд░рдо рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдореВрд▓реНрдп рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдирддрд╛ рдХреЗ рд▓рд┐рдП DB101 рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рддреАрдХ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИред рд╕рднреА рдЪреЗрдХ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐: n0w u 4r3 7h3 m4573rред рдпрджрд┐ рдпрд╣ рд░реЗрдЦрд╛ DB101 рдмреНрд▓реЙрдХ рдореЗрдВ рд░рдЦреА рдЧрдИ рд╣реИ, рддреЛ PLC рдХрд╛ рдореИрдиреНрдпреБрдЕрд▓ рдирд┐рдпрдВрддреНрд░рдг рд╕рдХреНрд░рд┐рдп рд╣реЛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЧреБрдмреНрдмрд╛рд░реЗ рдХреЛ рдЙрдбрд╝рд╛рдирд╛ рдпрд╛ рдЕрдкрд╕реНрдлреАрддрд┐ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред
рд╡рд╣ рд╕рдм рд╣реИ! рдПрд▓реЗрдХреНрд╕реА рдиреЗ рдФрджреНрдпреЛрдЧрд┐рдХ рдирд┐рдВрдЬрд╛ рдХреЗ рдпреЛрдЧреНрдп рдЙрдЪреНрдЪ рд╕реНрддрд░ рдХреЗ рдЬреНрдЮрд╛рди рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ :) рд╣рдордиреЗ рд╡рд┐рдЬреЗрддрд╛ рдХреЛ рдпрд╛рджрдЧрд╛рд░ рдкреБрд░рд╕реНрдХрд╛рд░ рднреЗрдЬреЗред рд╕рднреА рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЛ рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж!