ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΠΎΠΌΠ΅ΡΡΠ° Π΄Π»Ρ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π½Π°Π½ΠΎΡΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΌΠΈΠΊΡΠΎΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²
ΠΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΠΈ ΠΎΠΏΠΎΡΠ½ΡΠΉ ΡΠ²Π΅ΡΠΎΠ²ΡΠ΅ ΠΏΡΡΠΊΠΈ, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΠ΅Π½ΡΠΈΡ ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π΅Ρ Π³ΠΎΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π΄ΠΈΡΡΠ°Π³ΠΈΡΡΡΡ Π½Π° Π½Π΅ΠΉ ΡΠ°ΠΊ, ΡΡΠΎ Π΄ΠΈΡΡΠ°Π³ΠΈΡΠΎΠ²Π°Π²ΡΠ°Ρ ΡΠ°ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΏΡΡΠΊΠ° ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ Π² Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΎΠΏΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΡΠΊΠ° ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ Π³ΠΎΠ»ΠΎΠ³ΡΠ°ΡΠΈΠΈ Π²ΠΎΠ»Π½ΠΎΠ²ΠΎΠΉ ΡΡΠΎΠ½Ρ Π΄ΠΈΡΡΠ°Π³ΠΈΡΠΎΠ²Π°Π²ΡΠ΅ΠΉ ΡΠ°ΡΡΠΈ ΠΎΠΏΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΡΠΊΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΡΠ½ΡΡ ΠΊΠΎΠΏΠΈΡ Π½Π΅Π΄ΠΈΡΡΠ°Π³ΠΈΡΠΎΠ²Π°Π²ΡΠ΅ΠΉ ΡΠ°ΡΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΏΡΡΠΊΠ°. Π’ΠΎ ΠΆΠ΅ ΠΎΡΡΠ°Π΅ΡΡΡ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΠΎΠΌΠ΅ΡΡΠ° Π΄Π»Ρ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π½Π°Π½ΠΎΡΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΌΠΈΠΊΡΠΎΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
Π€Π΅Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π°Π³Π΅Π½ΡΡΡΠ²ΠΎ ΠΏΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΠΠΠ¬ΠΠΠΠΠ‘Π’ΠΠ§ΠΠ«Π ΠΠΠ‘Π£ΠΠΠ Π‘Π’ΠΠΠΠΠ«Π Π£ΠΠΠΠΠ Π‘ΠΠ’ΠΠ’ ΠΠΠ‘Π’ΠΠ’Π£Π’ Π€ΠΠΠΠΠ Π ΠΠΠ€ΠΠ ΠΠΠ¦ΠΠΠΠΠ«Π₯ Π’ΠΠ₯ΠΠΠΠΠΠΠ ΠΠ°ΡΠ΅Π΄ΡΠ° ΡΠΈΠ·ΠΈΠΊΠΈ Π°ΡΠΎΠΌΠΎΠ² ΠΈ ΠΌΠΎΠ»Π΅ΠΊΡΠ»
ΠΠ ΠΠΠΠΠΠΠΠ ΠΠΠ’ΠΠΠΠ’ΠΠΠΠ ΠΠΠΠΠΠΠΠ ΠΠΠΠΠ’ΠΠΠΠΠΠΠ ΠΠΠ’ΠΠ Π€ΠΠ ΠΠΠΠ’Π Π ΠΠΠ― ΠΠ‘Π‘ΠΠΠΠΠΠΠΠΠ― ΠΠΠΠΠ‘ΠΠΠ©ΠΠΠΠ ΠΠΠΠ ΠΠΠΠͺΠΠΠ’ΠΠ
ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ Π‘ΡΡΠ΄Π΅Π½Ρ Π³ΡΡΠΏΠΏΡ 141Π± ΠΡΠΈΠΌΠΎΠ² Π’.Π.
Π ΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ Π ΠΎΠΌΠ°ΡΠΊΠΎ Π .Π.
ΠΠ»Π°Π΄ΠΈΠ²ΠΎΡΡΠΎΠΊ 2010 Π³.
- ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ 3
- 1. Π’Π΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Ρ 5
- 1.1 ΠΡΠΈΠ½ΡΠΈΠΏ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΠΎΠΌΠ΅ΡΡΠ° 5
- 1.2 Π€ΠΎΡΠΎΡΠ΅ΡΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΡΡΠ΅ΠΊΡ 6
- 1.3 ΠΡΡΠΎΠ³ΠΎΠ½Π°Π»ΡΠ½Π°Ρ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΠ²Π΅ΡΠΎΠ²ΡΡ Π²ΠΎΠ»Π½ Π² ΡΠΎΡΠΎΡΠ΅ΡΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΠΊΡΠΈΡΡΠ°Π»Π»Π΅ 9
- 2. ΠΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½Π°Ρ ΡΠ°ΡΡΡ 11
- 2.1 ΠΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° 11
- 2.2. ΠΡΡΠ»Π΅Π΄ΡΠ΅ΠΌΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ 12
- 2.3 ΠΠ΅ΡΠΎΠ΄ΠΈΠΊΠ° ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ° 13
- 2.4 ΠΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ 15
- ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ 17
- Π‘ΠΏΠΈΡΠΎΠΊ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ 18
- ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 20
- ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° «motor control for 8DCMC1 20
Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΠΊΠΎΠ»Π΅Π±Π°Π½ΠΈΠΉ ΠΈ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΌΠΈΠΊΡΠΎΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π°ΠΆΠ½Π΅ΠΉΡΠ΅ΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅, ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΎΡΡΠΈΠ»Π»ΡΡΠΎΡΠΎΠ², ΡΠ΅Π·ΠΎΠ½Π°ΡΠΎΡΠΎΠ², ΠΌΠΈΠΊΡΠΎΠΈ Π½Π°Π½ΠΎΡΠ»Π΅ΠΊΡΡΠΎΠΌΠ΅Ρ Π°Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΈΡΡΠ΅ΠΌ. Π’Π°ΠΊΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π² Ρ ΠΈΠΌΠΈΠΈ ΠΈ Π±ΠΈΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΡΠ»ΡΠΆΠ°Ρ Π΄Π°ΡΡΠΈΠΊΠ°ΠΌΠΈ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ Π²Π΅Π»ΠΈΡΠΈΠ½, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠ°Π»ΡΡ ΠΈ ΡΠ²Π΅ΡΡ ΠΌΠ°Π»ΡΡ ΠΌΠ°ΡΡ [1−3].
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΈΠΊΡΠΎΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΌΠΈΠΊΡΠΎΠΌΠ΅Ρ Π°Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΈΡΡΠ΅ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ Π°ΠΌΠΏΠ»ΠΈΡΡΠ΄Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΊΠΎΠ»Π΅Π±Π°Π½ΠΈΠΉ Π½Π΅ ΠΏΡΠ΅Π²ΡΡΠ°Π΅Ρ Π΄Π΅ΡΡΡΠΊΠΎΠ² Π½Π°Π½ΠΎΠΌΠ΅ΡΡΠΎΠ², ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠ°ΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈ ΠΈΠ·ΠΌΠ΅ΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π² ΡΠ΅Π»ΠΎΠΌ ΠΏΠΎΠ΄Π²Π΅ΡΠ³Π°ΡΡΡΡ Π½Π΅ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΠΌΡΠΌ ΡΡΠΌΠΎΠ²ΡΠΌ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠΌ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΡΡΠ΅Π΄Ρ.
ΠΠ½ΡΠ΅ΡΡΠ΅ΡΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠ·ΠΌΠ΅ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ²Π»ΡΡΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π΄Π»Ρ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΠΎΠΊΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ Π²Π΅Π»ΠΈΡΠΈΠ½, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΌΠ΅Ρ Π°Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΠΎΠ»Π΅Π±Π°Π½ΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΠΌΠ΅ΡΡΠ΅ Ρ ΡΠ΅ΠΌ Π²ΡΡΠΎΠΊΠ°Ρ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΠΎΠΌΠ΅ΡΡΠ° Π΄Π΅Π»Π°Π΅Ρ Π΅Π³ΠΎ Π² Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½Π½ΡΠΌ Π²Π»ΠΈΡΠ½ΠΈΡ Π²Π½Π΅ΡΠ½ΠΈΡ ΡΠ°ΠΊΡΠΎΡΠΎΠ² (ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ, Π΄Π°Π²Π»Π΅Π½ΠΈΡ, Π½Π΅ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΠΌΡΡ Π΄Π΅ΡΠΎΡΠΌΠ°ΡΠΈΠΉ, ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΉΡΠΌΠΈΡΠ΅ΡΠΊΠΈΡ Π²ΠΈΠ±ΡΠ°ΡΠΈΠΉ ΠΈ ΠΏΡ.)
ΠΠ»Ρ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΌΠΈΠΊΡΠΎΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² Π½Π°ΡΡΠΎΡΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅ Π±ΡΠ» ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΠΎΠΌΠ΅ΡΡ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π΄Π²ΡΡ Π²ΠΎΠ»Π½ΠΎΠ²ΠΎΠ³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Π² ΡΠΎΡΠΎΡΠ΅ΡΡΠ°ΠΊΡΠΈΠ²Π½ΡΡ ΠΊΡΠΈΡΡΠ°Π»Π»Π°Ρ . ΠΠ΄Π°ΠΏΡΠΈΠ²Π½ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΠΎΠΌΠ΅ΡΡΡ ΡΠ²Π»ΡΡΡΡΡ Π²ΡΡΠΎΠΊΠΎΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠ°Π»ΡΡ ΡΠ°Π·ΠΎΠ²ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΡΠ»ΠΎΠ²ΠΈΡΡ Π½Π΅ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΠΌΡΡ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΎΠΊΡΡΠΆΠ°ΡΡΠ΅ΠΉ ΡΡΠ΅Π΄Ρ. ΠΠΎΠ΄ Π²ΡΡΠΎΠΊΠΎΠΉ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΡ Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΠΎΠΌΠ΅ΡΡΠ° ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΡΡ Π²ΡΡΠΎΠΊΠ°Ρ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ Π²ΡΡΠΎΠΊΠ°Ρ ΠΏΠΎΠΌΠ΅Ρ ΠΎΠ·Π°ΡΠΈΡΠ΅Π½Π½ΠΎΡΡΡ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠΌ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ, Π³ΠΎΠ»ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠΌ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΡΠΎΠ½ΡΠ° ΡΠ²Π΅ΡΠΎΠ²ΠΎΠΉ Π²ΠΎΠ»Π½Ρ (Π²ΠΊΠ»ΡΡΠ°Ρ, ΡΠΊΠΎΠ»Ρ ΡΠ³ΠΎΠ΄Π½ΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΏΠ΅ΠΊΠ»ΠΎΠ²ΡΠ΅) ΠΈ Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΡΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ Π³ΠΎΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΠ²Π΅ΡΠΎΠ²ΡΡ ΠΏΡΡΠΊΠΎΠ².
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΠΎΠΌΠ΅ΡΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈΠ·ΠΌΠ΅ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, Π° ΡΠ°ΠΊ ΠΆΠ΅, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ Π³ΠΎΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΡΠΎΡΠΎΡΠ΅ΡΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΠΊΡΠΈΡΡΠ°Π»Π»Π΅, ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΡΡ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ Π½ΠΈΠ·ΠΊΠΎΡΠ°ΡΡΠΎΡΠ½ΡΡ ΡΡΠΌΠΎΠ².
Π¦Π΅Π»ΡΡ Π΄Π°Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΌΠ°Π»ΡΡ ΠΊΠΎΠ»Π΅Π±Π°Π½ΠΈΠΉ ΠΌΠΈΠΊΡΠΎΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΠΎΠΌΠ΅ΡΡΠ°.
1. Π’Π΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Ρ
1.1 ΠΡΠΈΠ½ΡΠΈΠΏ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΠΎΠΌΠ΅ΡΡΠ°
ΠΡΠ»ΠΈΡΠΈΠ΅ Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΠΎΠΌΠ΅ΡΡΠ° ΠΎΡ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠΎΠ΄Π΅Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° (ΠΊΡΠ±Π° ΠΈΠ»ΠΈ Π·Π΅ΡΠΊΠ°Π»Π°) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ΅Π΄Π°, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ Π³ΠΎΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΠ°.
Π€ΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π³ΠΎΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² ΡΠΎΡΠΎΡΠ΅ΡΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΠΊΡΠΈΡΡΠ°Π»Π»Π΅ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠΈ Π½Π° Π½Π΅Π³ΠΎ ΠΎΠΏΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ·Π»ΡΡΠ΅Π½ΠΈΡ. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° (ΠΏΡΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅, ΡΠΈΠΊΡΠ°ΡΠΈΡ ΠΈ Ρ. ΠΏ.) Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ. Π’Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠ²Π΅ΡΠ° Π³ΠΎΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΠ΅ΡΡΠ°. Π‘Π²Π΅Ρ Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π²Π½ΡΡΡΠΈ ΠΊΡΠΈΡΡΠ°Π»Π»Π° ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π·Π°ΡΡΠ΄ΠΎΠ², ΠΈ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ (Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π·Π°ΠΏΠΈΡΠΈ) ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ°Π²Π½ΠΎΠ²Π΅ΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΠΌΠΈ ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²Π½ΠΎΡΡΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΠ΅Π³ΠΎ ΡΠ²Π΅ΡΠ° ΠΈ ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π·Π°ΡΡΠ΄Π°. ΠΡΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ²Π΅ΡΠΎΠ²ΡΡ Π²ΠΎΠ»Π½, ΡΠΎΡΠΌΠΈΡΡΡΡΠΈΡ Π³ΠΎΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ Π±ΡΡΡΡΠΎ, Π·Π° Π²ΡΠ΅ΠΌΡ ΠΌΠ΅Π½ΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π·Π°ΠΏΠΈΡΠΈ, ΡΠΎ Π³ΠΎΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ ΡΡΠΏΠ΅Π²Π°Π΅Ρ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ Π·Π° Π½ΠΈΠΌΠΈ. Π «Π±ΡΡΡΡΡΠΌ» Π·Π΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠ½Π΅ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²ΡΠ·Π²Π°Π½Π½ΡΠ΅ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΠΌ ΠΈΡΡΠ»Π΅Π΄ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° (ΠΈΠ»ΠΈ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΉ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ). ΠΠ»Ρ ΡΠ°ΠΊΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π³ΠΎΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π±ΡΠ΄Π΅Ρ «Π·Π°ΠΌΠΎΡΠΎΠΆΠ΅Π½Π°» (Π°Π½Π°Π»ΠΎΠ³ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π³ΠΎΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΡ), ΡΡΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Π½Π΅ΠΉ ΡΠ²Π΅ΡΠΎΠ²ΡΡ Π²ΠΎΠ»Π½ ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΠΎΠ±ΡΠ΅ΠΊΡΠ΅.
Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ²Π΅ΡΠΎΠ²ΡΡ Π²ΠΎΠ»Π½ ΠΌΠ΅Π½ΡΡΡΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ (Π·Π° Π²ΡΠ΅ΠΌΡ, ΠΏΡΠ΅Π²ΡΡΠ°ΡΡΠ΅Π΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π·Π°ΠΏΠΈΡΠΈ), ΡΡΠΎ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΠΎ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ½ΡΡ Π²Π»ΠΈΡΠ½ΠΈΠΉ ΠΈΠ»ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½ΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΡΠ΅ΡΠΊΠΈΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠΉ Π² ΠΈΡΡΠ»Π΅Π΄ΡΠ΅ΠΌΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ΅, ΡΠΎ Π² ΠΊΡΠΈΡΡΠ°Π»Π»Π΅ Π·Π°ΠΏΠΈΡΠ΅ΡΡΡ Π½ΠΎΠ²Π°Ρ Π³ΠΎΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΠ°, Π·Π°ΠΌΠ΅Π½ΠΈΠ² ΡΡΠ°ΡΡΡ. ΠΠ°ΠΊ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠ²Π΅ΡΠΎΠ²ΡΡ Π²ΠΎΠ»Π½, Π°, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΈ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π²Π½Π΅ΡΠ½ΠΈΡ ΡΠ°ΠΊΡΠΎΡΠΎΠ² Π½Π° ΠΈΠ·ΠΌΠ΅ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π±ΡΠ΄ΡΡ ΠΊΠΎΠΌΠΏΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ, ΠΏΡΠΎΠΈΠ·ΠΎΡΠ΅Π΄ΡΠΈΠΌΠΈ Π² Π³ΠΎΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΠ΅. Π ΡΡΠΎΠΌ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΎΠ±ΡΠΈΠΉ ΠΏΡΠΈΠ½ΡΠΈΠΏ Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΈΠ·ΠΌΠ΅ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ Π³ΠΎΠ»ΠΎΠ³ΡΠ°ΠΌΠΌ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ Π³ΠΎΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΠ΄Π° ΡΠΈΠ»ΡΡΡΠΎΠΌ Π½ΠΈΠ·ΠΊΠΈΡ ΡΠ°ΡΡΠΎΡ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΠΎΠΌΠ΅ΡΡ Π»ΡΠ±ΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΠΈΡ ΡΡ Π²Π½Π΅ΡΠ½ΠΈΡ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ.
1.2 Π€ΠΎΡΠΎΡΠ΅ΡΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΡΡΠ΅ΠΊΡ
Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΠΎΠΌΠ΅ΡΡ ΡΠ²Π΅ΡΠΎΠ²Π°Ρ Π²ΠΎΠ»Π½Π° ΠΠ°ΠΏΠΈΡΡ Π³ΠΎΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² ΡΠΎΡΠΎΡΠ΅ΡΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΠΊΡΠΈΡΡΠ°Π»Π»Π΅. Π ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π·Π°ΠΏΠΈΡΠΈ Π³ΠΎΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΡ Π»Π΅ΠΆΠΈΡ ΡΠΎΡΠΎΡΠ΅ΡΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΡΡΠ΅ΠΊΡ (Π€Π Π), Π·Π°ΠΊΠ»ΡΡΠ°ΡΡΠΈΠΉΡΡ Π² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠ° ΠΏΡΠ΅Π»ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΡΡΠ΅Π΄Ρ ΠΏΠΎΠ΄ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΠΌ ΡΠ²Π΅ΡΠ°. Π€Π Π Π²ΠΏΠ΅ΡΠ²ΡΠ΅ Π±ΡΠ» ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ Π² ΠΠ°Π±ΠΎΡΠ°ΡΠΎΡΠΈΠΈ ΠΡΠ»Π» Π² 1966 Π³. ΠΊΠ°ΠΊ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΈΡΠΊΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π»ΡΡΠ° ΠΏΡΠΈ ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΡΠ΅ΡΠ΅Π· Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠ΅ ΡΠ»Π΅ΠΊΡΡΠΎΠΎΠΏΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΡΠΈΡΡΠ°Π»Π»Ρ LiNbO3 ΠΈ LiTaO3. ΠΡΠ»ΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ, ΡΡΠΎ Π²ΡΠ·Π²Π°Π½Π½ΡΠ΅ ΡΠ²Π΅ΡΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΏΡΠ΅Π»ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΠΊΡΠΈΡΡΠ°Π»Π»Π° ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ ΠΊ ΠΈΡΠΊΠ°ΠΆΠ΅Π½ΠΈΡ ΡΡΠΎΠ½ΡΠ° ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΡΡΠ΅ΠΉΡΡ Π² Π½Π΅ΠΌ ΡΠ²Π΅ΡΠΎΠ²ΠΎΠΉ Π²ΠΎΠ»Π½Ρ ΠΈ, ΠΊΠ°ΠΊ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΈΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ Π²ΡΠΎΡΠΎΠΉ Π³Π°ΡΠΌΠΎΠ½ΠΈΠΊΠΈ ΠΈΠ»ΠΈ Π²ΡΡΠΎΠΊΠΎΡΠΊΠΎΡΠΎΡΡΠ½ΡΡ ΠΌΠΎΠ΄ΡΠ»ΡΡΠΎΡΠ°Ρ . ΠΡΠΊΠΎΡΠ΅ ΠΏΠΎΡΠ»Π΅ ΠΎΡΠΊΡΡΡΠΈΡ ΡΠΎΡΠΎΡΠ΅ΡΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΡΡΠ΅ΠΊΡΠ° Π±ΡΠ»ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΎ, ΡΡΠΎ ΡΠΎΡΠΎΡΠ΅ΡΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΊΡΠΈΡΡΠ°Π»Π» ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π°Π³ΡΠ΅Π²ΠΎΠΌ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΡΠ²Π΅ΡΠΊΠΎΠΉ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠΎΡΠΎΡΠ΅ΡΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΊΡΠΈΡΡΠ°Π»Π» ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ ΠΈ ΡΡΠΈΡΠ°Π½ΠΈΡ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π³ΠΎΠ»ΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠ³ΡΡ ΡΡΠ°ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ. Π Π½Π°ΡΡΠΎΡΡΠ΅ΠΌΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠΎΡΠΎΡΠ΅ΡΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΡΡΠ΅ΠΊΡ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ Π² Π±ΠΎΠ»ΡΡΠΎΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ²: Π΄ΠΈΡΠ»Π΅ΠΊΡΡΠΈΠΊΠ°Ρ , ΠΏΠΎΠ»ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ°Ρ , ΠΆΠΈΠ΄ΠΊΠΈΡ ΠΊΡΠΈΡΡΠ°Π»Π»Π°Ρ , ΠΎΡΠ³Π°Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠΎΠ»ΠΈΠΌΠ΅ΡΠ°Ρ [7−10].
ΠΠ»Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΡΠΎΡΠΎΡΠ΅ΡΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΡΡΠ΅ΠΊΡΠ° Π² Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΡΠΎΡΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΡΡΠΈΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ ΠΈ Π±ΡΡΡ ΡΠ»Π΅ΠΊΡΡΠΎΠΎΠΏΡΠΈΡΠ΅ΡΠΊΠΈΠΌ. Π ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠΎΡΠΎΡΠ΅ΡΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΡΡΠ΅ΠΊΡΠ° ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ ΠΊΡΠΈΡΡΠ°Π»Π» ΠΈΠΌΠ΅Π΅Ρ Π½ΠΎΡΠΈΡΠ΅Π»ΠΈ Π·Π°ΡΡΠ΄Π° ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° — ΡΠ»Π΅ΠΊΡΡΠΎΠ½Ρ — ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΈ Π΄Π²ΡΡ ΡΠΈΠΏΠΎΠ² — Π΄ΠΎΠ½ΠΎΡΡ ΠΈ Π°ΠΊΡΠ΅ΠΏΡΠΎΡΡ, ΡΠ½Π΅ΡΠ³Π΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠΎΠ²Π½ΠΈ ΠΊΠΎΡΠΎΡΡΡ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π² Π·Π°ΠΏΡΠ΅ΡΠ΅Π½Π½ΠΎΠΉ Π·ΠΎΠ½Π΅, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 1. ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ½ΠΎΡΡ ΠΈ Π²ΡΠ΅ Π°ΠΊΡΠ΅ΠΏΡΠΎΡΡ ΠΈΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Ρ. Π ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΡΠ²Π΅ΡΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠ·Π»ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠΌ, ΠΏΠΎΠΏΠΎΠ»Π½ΡΡΡΠΈΠΌ Π·ΠΎΠ½Ρ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π°ΠΌΠΈ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΠΏΠ»ΠΎΠ²ΠΎΠ΅ Π²ΠΎΠ·Π±ΡΠΆΠ΄Π΅Π½ΠΈΠ΅. ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ°Π²Π½ΠΎΠ²Π΅ΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΠΏΠ»ΠΎΠ³Π΅Π½Π΅ΡΠ°ΡΠΈΠ΅ΠΉ ΡΠ»Π΅ΠΊΡΡΠΎΠ½ΠΎΠ² ΠΈ ΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠ΅ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠ΅ΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΠ°ΡΠΈΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½ΠΎΠ² ne, ΠΊΠΎΡΠΎΡΠ°Ρ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΎΡΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎ ΠΎΠ±ΡΠ΅ΠΌΡ ΠΊΡΠΈΡΡΠ°Π»Π»Π° Π²Π΅Π»ΠΈΡΠΈΠ½ΠΎΠΉ ΠΈΠ»ΠΈ Π΅Π΅ ΡΠ»ΡΠΊΡΡΠ°ΡΠΈΡΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π½Π΅Π±ΡΠ΅ΡΡ.
Π ΠΈΡ 1. ΠΠΎΠ΄Π΅Π»Ρ ΡΠΎΡΠΎΡΠ΅ΡΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΡΡΠ΅ΠΊΡΠ°. ΠΠ»Π΅ΠΊΡΡΠΎΠ½Ρ Π²ΠΎΠ·Π±ΡΠΆΠ΄Π°ΡΡΡΡ ΡΠ²Π΅ΡΠΎΠΌ Ρ Π΄ΠΎΠ½ΠΎΡΠ½ΡΡ ΡΡΠΎΠ²Π½Π΅ΠΉ (D) Π² Π·ΠΎΠ½Ρ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ, Π³Π΄Π΅ ΠΎΠ½ΠΈ Π΄ΠΈΡΡΡΠ½Π΄ΠΈΡΡΡΡ ΠΈ Π΄ΡΠ΅ΠΉΡΡΡΡ Π² ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΏΠΎΠ»Π΅ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄ΡΡ Π·Π°Ρ Π²Π°ΡΠ΅Π½Ρ Π°ΠΊΡΠ΅ΠΏΡΠΎΡΠ°ΠΌΠΈ (Π) ΠΈΠ»ΠΈ ΠΈΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π΄ΠΎΠ½ΠΎΡΠ°ΠΌΠΈ
ΠΠΎΠΏΠ°Π΄Π°Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠ·Π»ΡΡΠ΅Π½ΠΈΡ Π² ΡΠΎΡΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΡΡΠΈΠΉ ΠΊΡΠΈΡΡΠ°Π»Π» ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ Π² Π½Π΅ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ (ΡΠΎΡΠΎΠΈΠ½Π΄ΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ) ΠΏΠ°Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½ΠΎΠ² ΠΈ ΠΈΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π΄ΠΎΠ½ΠΎΡΠΎΠ². Π€ΠΎΡΠΎΠΈΠ½Π΄ΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Ρ, Π΄ΠΈΡΡΡΠ½Π΄ΠΈΡΠΎΠ²Π°Π²ΡΠΈΠ΅ Π² ΡΠ»Π°Π±ΠΎΠΎΡΠ²Π΅ΡΠ΅Π½Π½ΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ, Π·Π°Ρ Π²Π°ΡΡΠ²Π°ΡΡΡΡ ΡΠ°ΠΌ Π°ΠΊΡΠ΅ΠΏΡΠΎΡΠ°ΠΌΠΈ. Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ, ΠΈΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄ΠΎΠ½ΠΎΡΡ Π½Π΅ ΠΌΠΎΠ³ΡΡ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ, ΡΠ²Π»ΡΡΡΡ ΡΠ°ΡΡΡΡ ΠΊΡΠΈΡΡΠ°Π»Π»ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ΅ΡΠ΅ΡΠΊΠΈ, ΡΡΠΎ Π²Π΅Π΄Π΅Ρ ΠΊ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌ Π½Π°ΡΡΡΠ΅Π½ΠΈΡΠΌ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π΅ΠΉΡΡΠ°Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅Π½Π½ΡΠΉ Π·Π°ΡΡΠ΄, ΠΏΠ»ΠΎΡΠ½ΠΎΡΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ΄Π½ΠΎΡΠΎΠ΄Π½Π° ΠΈ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΠ΅Π½ΡΠΈΠΎΠ½Π½ΠΎΠ΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²Π½ΠΎΡΡΠΈ ΡΠ²Π΅ΡΠ°. ΠΠ΅ΡΠΊΠΎΠΌΠΏΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π·Π°ΡΡΠ΄ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅ΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π·Π°ΡΡΠ΄Π°. ΠΠΎΠ΄ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΠΌ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ Π²ΡΠ΅ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠ΅ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Ρ (ΠΊΠ°ΠΊ ΠΈΠ½Π΄ΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ²Π΅ΡΠΎΠΌ, ΡΠ°ΠΊ ΠΈ ΡΠ΅ΡΠΌΠΈΡΠ΅ΡΠΊΠΈ) Π½Π°ΡΠΈΠ½Π°ΡΡ Π΄ΡΠ΅ΠΉΡΠΎΠ²Π°ΡΡ, ΡΠΎΡΠΌΠΈΡΡΡ ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΎΠΊ.
Π ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΠΎΠ»Π΅, Π²ΠΎΠ·Π½ΠΈΠΊΡΠ΅Π΅ Π²Π½ΡΡΡΠΈ ΡΠΎΡΠΎΡΠ΅ΡΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΊΡΠΈΡΡΠ°Π»Π»Π°, ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΅Π³ΠΎ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΏΡΠ΅Π»ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π² ΡΠΈΠ»Ρ Π½Π°Π»ΠΈΡΠΈΡ Ρ Π½Π΅Π³ΠΎ ΡΠ»Π΅ΠΊΡΡΠΎΠΎΠΏΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ².
ΠΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΠΈ ΠΎΠΏΠΎΡΠ½ΡΠΉ ΡΠ²Π΅ΡΠΎΠ²ΡΠ΅ ΠΏΡΡΠΊΠΈ, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΠ΅Π½ΡΠΈΡ ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π΅Ρ Π³ΠΎΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π΄ΠΈΡΡΠ°Π³ΠΈΡΡΡΡ Π½Π° Π½Π΅ΠΉ ΡΠ°ΠΊ, ΡΡΠΎ Π΄ΠΈΡΡΠ°Π³ΠΈΡΠΎΠ²Π°Π²ΡΠ°Ρ ΡΠ°ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΏΡΡΠΊΠ° ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ Π² Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΎΠΏΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΡΠΊΠ° ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ Π³ΠΎΠ»ΠΎΠ³ΡΠ°ΡΠΈΠΈ Π²ΠΎΠ»Π½ΠΎΠ²ΠΎΠΉ ΡΡΠΎΠ½Ρ Π΄ΠΈΡΡΠ°Π³ΠΈΡΠΎΠ²Π°Π²ΡΠ΅ΠΉ ΡΠ°ΡΡΠΈ ΠΎΠΏΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΡΠΊΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΡΠ½ΡΡ ΠΊΠΎΠΏΠΈΡ Π½Π΅Π΄ΠΈΡΡΠ°Π³ΠΈΡΠΎΠ²Π°Π²ΡΠ΅ΠΉ ΡΠ°ΡΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΏΡΡΠΊΠ°. Π’ΠΎ ΠΆΠ΅ ΠΎΡΡΠ°Π΅ΡΡΡ ΡΠΏΡΠ°Π²Π΅Π΄Π»ΠΈΠ²ΡΠΌ Π΄Π»Ρ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠ°ΡΡ ΠΏΡΡΠΊΠΎΠ² Π² ΠΊΡΠΈΡΡΠ°Π»Π»Π΅. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΡΠ»Π΅ ΠΊΡΠΈΡΡΠ°Π»Π»Π° Π² Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΡΠΊΠ° ΠΌΡ ΠΈΠΌΠ΅Π΅ΠΌ ΠΊΠΎΠ³Π΅ΡΠ΅Π½ΡΠ½ΠΎΠ΅ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π²ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΠΈΡΡΡΡΠΈΡ ΡΠ²Π΅ΡΠΎΠ²ΡΡ ΠΏΡΡΠΊΠΎΠ² Ρ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌΠΈ Π²ΠΎΠ»Π½ΠΎΠ²ΡΠΌΠΈ ΡΡΠΎΠ½ΡΠ°ΠΌΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠΎΠΏΡΡΠΆΠ΅Π½ΠΈΡ Π²ΠΎΠ»Π½ΠΎΠ²ΡΡ ΡΡΠΎΠ½ΡΠΎΠ² Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΠΎΠΌΠ΅ΡΡΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π³ΠΎΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΡ (Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ) ΡΠ΅ΡΠ°Π΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΎΠ»Π½Ρ ΡΠΎ ΡΠΊΠΎΠ»Ρ ΡΠ³ΠΎΠ΄Π½ΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠΌ Π²ΠΎΠ»Π½ΠΎΠ²ΡΠΌ ΡΡΠΎΠ½ΡΠΎΠΌ ΠΊΠ°ΠΊ Π² ΠΎΠ΄Π½ΠΎΠΌ, ΡΠ°ΠΊ ΠΈ Π² ΠΎΠ±ΠΎΠΈΡ ΠΏΠ»Π΅ΡΠ°Ρ Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΠΎΠΌΠ΅ΡΡΠ° Π±Π΅Π· ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΡ.
1.3 ΠΡΡΠΎΠ³ΠΎΠ½Π°Π»ΡΠ½Π°Ρ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΠ²Π΅ΡΠΎΠ²ΡΡ Π²ΠΎΠ»Π½ Π² ΡΠΎΡΠΎΡΠ΅ΡΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΠΊΡΠΈΡΡΠ°Π»Π»Π΅
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡ Π΅ΠΌ Π·Π°ΠΏΠΈΡΠΈ Π³ΠΎΠ»ΠΎΠ³ΡΠ°ΠΌΠΌ Π² ΡΠΎΡΠΎΡΠ΅ΡΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΠΊΡΠ΅ΡΡΠ°Π»Π»Π΅: ΠΏΡΠΎΠΏΡΡΠΊΠ°ΡΡΠ°Ρ, ΠΎΡΡΠ°ΠΆΠ°ΡΠ΅Π»ΡΠ½Π°Ρ ΠΈ ΠΎΡΡΠΎΠ³ΠΎΠ½Π°Π»ΡΠ½Π°Ρ. ΠΠ°ΠΊ Π±ΡΠ»ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠΈΡΠΎΠΊΠΎΠΌ ΠΊΡΡΠ³Π΅ Π·Π°Π΄Π°Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΡΠΎΠ³ΠΎΠ½Π°Π»ΡΠ½Π°Ρ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡ.
Π‘Ρ Π΅ΠΌΠ° ΠΎΡΡΠΎΠ³ΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΠ²Π΅ΡΠΎΠ²ΡΡ ΠΏΡΡΠΊΠΎΠ² Π² ΡΠΎΡΠΎΡΠ΅ΡΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΠΊΡΠΈΡΡΠ°Π»Π»Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π½Π° ΡΠΈΡ. 2.
Π ΠΈΡ. 2 Π‘Ρ Π΅ΠΌΠ° ΠΎΡΡΠΎΠ³ΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΠ²Π΅ΡΠΎΠ²ΡΡ ΠΏΡΡΠΊΠΎΠ² Π² ΡΠΎΡΠΎΡΠ΅ΡΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΠΊΡΠΈΡΡΠ°Π»Π»Π΅
S — ΠΎΠ±ΡΠ΅ΠΊΡΠ½Π°Ρ Π²ΠΎΠ»Π½Π°, R — ΠΎΠΏΠΎΡΠ½Π°Ρ. Π‘Π²Π΅ΡΠΎΠ²ΡΠ΅ Π»ΡΡΠΈ ΠΏΡΠΈΡ ΠΎΠ΄ΡΡ Π² ΡΠΎΡΠΎΡΠ΅ΡΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΊΡΠΈΡΡΠ°Π»Π» ΠΏΠΎΠ΄ ΠΏΡΡΠΌΡΠΌ ΡΠ³Π»ΠΎΠΌ, Π³Π΄Π΅ ΡΠΎΡΠΌΠΈΡΡΡΡ Π³ΠΎΠ»ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΡΠ΅ΡΠ΅ΡΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π° ΠΊ Π½ΠΈΠΌ ΠΏΠΎΠ΄ ΡΠ³Π»ΠΎΠΌ 45?. Π₯Π°ΡΠ°ΠΊΡΠ΅Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΠ²Π΅ΡΠΎΠ²ΡΡ ΠΏΡΡΠΊΠΎΠ² ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΈΡ Π²Π·Π°ΠΈΠΌΠ½Π°Ρ ΠΎΡΠΈΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ ΠΊΡΠΈΡΡΠ°Π»Π»ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΎΡΡΠΌ. ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Π²ΠΎΠ»Π½ Π² ΡΠ»Π΅ΠΊΡΡΠΎΠΎΠΏΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΊΡΠΈΡΡΠ°Π»Π»Π΅ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΎΡΠΈΠ΅Π½ΡΠ°ΡΠΈΠΈ ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ Π² ΠΊΡΠΈΡΡΠ°Π»Π»Π΅, ΡΡΠ΅Π·Π° ΠΊΡΠΈΡΡΠ°Π»Π»Π° ΠΈ ΠΎΡΠΈΠ΅Π½ΡΠ°ΡΠΈΠΈ Π³ΠΎΠ»ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ΅ΡΠ΅ΡΠΊΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΡΠΈΡΡΠ°Π»Π»ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΡΠ΅ΠΉ.
Π ΠΈΡ. 3 ΠΡΡΠΎΠ³ΠΎΠ½Π°Π»ΡΠ½Π°Ρ ΡΡ Π΅ΠΌΠ° Π·Π°ΠΏΠΈΡΠΈ Π³ΠΎΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΡΠΎΡΠΎΡΠ΅ΡΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΠΊΡΠΈΡΡΠ°Π»Π»Π΅
ΠΡΠΈ ΠΎΡΠΈΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΊΡΠΈΡΡΠ°Π»Π»Π°, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡ. 3 Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ S-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΠΈ ΠΎΠΏΠΎΡΠ½ΠΎΠΉ Π²ΠΎΠ»Π½Ρ, P-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΎΡΡΠΎΠ³ΠΎΠ½Π°Π»ΡΠ½Ρ ΠΈ Π½Π΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ. Π§ΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΈΠ·ΠΌΠ΅ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠ·Π°ΡΠΈΠΎΠ½Π½ΠΎ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΠΉ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠΉ Π²ΠΎΠ»Π½Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈΠ·Π»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡ Π΄ΠΈΡΡΡΠ·Π½ΠΎ-ΡΠ°ΡΡΠ΅Π²Π°ΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈΠ»ΠΈ ΠΈΠ·Π»ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΡΠ΅Π΄ΡΠ΅ΠΉ ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΎΠΌΠΎΠ΄ΠΎΠ²ΠΎΠ³ΠΎ Π²ΠΎΠ»ΠΎΠΊΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠΎΠ²ΠΎΠ΄Π°.
2. ΠΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½Π°Ρ ΡΠ°ΡΡΡ
2.1 ΠΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
ΠΠ»Ρ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ»Π΅Π±Π°Π½ΠΈΠΉ ΠΌΠΈΠΊΡΠΎΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π±ΡΠ»Π° ΡΠΎΠ±ΡΠ°Π½Π½Π° ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π³ΠΎΠ»ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ° ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π²ΠΎΠ»Π½, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π½Π°Ρ Π½Π° ΡΠΈΡ. 4.
Π ΠΈΡ.4 Π‘Ρ Π΅ΠΌΠ° ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ. m1, m3, m4 — Π·Π΅ΡΠΊΠ°Π»Π°; m2 — ΡΠ²Π΅ΡΠΎΠ΄Π΅Π»ΠΈΡΠ΅Π»Ρ; L1, L2,L3 — ΡΠΎΠ±ΠΈΡΠ°ΡΡΠΈΠ΅ Π»ΠΈΠ½Π·Ρ; Π»/4 — ΡΠ΅ΡΠ²Π΅ΡΡΡΠ²ΠΎΠ»Π½ΠΎΠ²Π°Ρ ΠΏΠ»Π°ΡΡΠΈΠ½ΠΊΠ°; Π€Π Π — ΡΠΎΡΠΎΡΠ΅ΡΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΊΡΠΈΡΡΠ°Π»Π»; D — ΡΠ»Π΅ΠΊΡΡΠΎΠ΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»Ρ; Π€Π — ΡΠΎΡΠΎΠΏΡΠΈΠ΅ΠΌΠ½ΠΈΠΊ; MT -ΠΌΠΎΡΠΎΡΠ΅Π·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π΄Π²ΡΡ -ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ½ΡΠΉ ΡΡΠ°Π½ΡΠ»ΡΡΠΎΡ
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΠΈΠ·Π»ΡΡΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ Nd: YAG-Π»Π°Π·Π΅Ρ Ρ Π΄Π»ΠΈΠ½ΠΎΠΉ Π²ΠΎΠ»Π½Ρ 1064 Π½ΠΌ. ΠΠ°Π·Π΅ΡΠ½ΡΠΉ ΠΏΡΡΠΎΠΊ Π΄Π΅Π»ΠΈΠ»ΡΡ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΠΈ ΠΎΠΏΠΎΡΠ½ΡΠΉ. ΠΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΠΏΡΡΠΎΠΊ ΡΠΎΠΊΡΡΠΈΡΠΎΠ²Π°Π»ΡΡ ΠΈ Π½Π°ΠΏΡΠ°Π²Π»ΡΠ»ΡΡ Π½Π° ΠΈΡΡΠ»Π΅Π΄ΡΠ΅ΠΌΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, Π·Π°ΠΊΡΠ΅ΠΏΠ»Π΅Π½Π½ΡΠΉ Π½Π° ΠΊΠ°Π»ΠΈΠ±ΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ»Π΅ΠΊΡΡΠΎΠ΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ»ΠΎΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° ΠΊΠΎΠ»Π΅Π±Π°Π½ΠΈΠΉ ΠΈΡΡΠ»Π΅Π΄ΡΠ΅ΠΌΠΎΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ. ΠΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ ΠΊΠΎΠ»Π΅Π±Π°Π½ΠΈΠΉ ΠΎΠ±ΡΠ°Π·ΡΠ°, ΠΎΡΡΠ°ΠΆΠ΅Π½Π½ΠΎΠ΅ ΠΎΡ Π½Π΅Π³ΠΎ ΠΈΠ·Π»ΡΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠΎΠ²Π°Π½ΠΎ ΠΏΠΎ ΡΠ°Π·Π΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π·Π°ΡΠ΅ΠΌ ΡΠΎΠ±ΠΈΡΠ°Π»ΠΎΡΡ Π»ΠΈΠ½Π·ΠΎΠΉ ΠΈ Π½Π°ΠΏΡΠ°Π²Π»ΡΠ»ΠΎΡΡ Π² ΡΠΎΡΠΎΡΠ΅ΡΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΊΡΠΈΡΡΠ°Π»Π». ΠΠ΅ΠΌΠΎΠ΄ΡΠ»ΡΡΠΈΡ ΡΠ°Π·Ρ ΠΎΡΡΠ°ΠΆΠ΅Π½Π½ΠΎΠΉ Π²ΠΎΠ»Π½Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ»Π°ΡΡ Π·Π° Π΅Π΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΎΠΏΠΎΡΠ½ΠΎΠΉ Π²ΠΎΠ»Π½ΠΎΠΉ Π½Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ Π³ΠΎΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΠΎΡΠΌΠ΅ΡΡΠ΅ΠΌΠΎΠΉ Π² ΠΊΡΠΈΡΡΠ°Π»Π»Π΅ CdTe. ΠΠ½ΡΠ΅Π½ΡΠΈΠ²Π½ΠΎΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΏΡΡΠΊΠ° ΡΠ΅Π³ΠΈΡΡΡΠΈΠ»ΠΎΠ²Π°Π»Π»ΠΎΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΡΠΎΠΏΡΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ°. Π‘ΠΈΠ³Π½Π°Π» ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π· ΠΠ¦Π ΠΏΠΎΡΡΡΠΏΠ°Π» Π² ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ.
2.2 ΠΡΡΠ»Π΅Π΄ΡΠ΅ΠΌΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΡΡΠ»Π΅Π΄ΡΠ΅ΠΌΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π±ΡΠ»ΠΈ Π²ΡΠ±ΡΠ°Π½Ρ Π²ΡΡΡΠ½ΡΡΡΠ΅ ΠΊΠ²Π°ΡΡΠ΅Π²ΡΠ΅ ΡΠ²Π΅ΡΠΎΠ²ΠΎΠ΄Ρ Π΄ΠΈΠ°ΠΌΠ΅ΡΡΠΎΠΌ 15 ΠΌΠΊΠΌ ΠΈ 2 ΠΌΠΊΠΌ Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΎΡΡΠ°ΠΆΠ°ΡΡΠΈΡ ΠΏΠΎΠΊΡΡΡΠΈΠΉ. ΠΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΡΠ½ΠΎΡΡΠΈ ΠΎΡΡΠ°ΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈΠ·Π»ΡΡΠ΅Π½ΠΈΡ ΠΈ ΠΈΠ·Π»ΡΡΠ΅Π½ΠΈΡ Π½Π°ΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ Π½Π΅ ΠΏΡΠ΅Π²ΡΡΠ°Π»ΠΎ 5%. Π’Π΅ΠΌ ΡΠ°ΠΌΡΠΌ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π»ΠΎΡΡ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ»Π°Π±ΠΎΠΎΡΡΠ°ΠΆΠ°ΡΡΠΈΡ ΠΈ ΠΏΠΎΠ»ΡΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
Π ΠΈΡ. 5 Π‘Π½ΠΈΠΌΠΎΠΊ ΠΈΡΡΠ»Π΅Π΄ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π·ΡΠ° Ρ Π΄ΠΈΠ°ΠΌΠ΅ΡΡΠΎΠΌ 15 ΠΌΠΊΠΌ
Π ΠΈΡ. 6 Π‘Π½ΠΈΠΌΠΎΠΊ ΠΈΡΡΠ»Π΅Π΄ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Ρ Π΄ΠΈΠ°ΠΌΠ΅ΡΡΠΎΠΌ 2 ΠΌΠΊΠΌ
Π ΠΈΡ. 7 Π‘Π½ΠΈΠΌΠΎΠΊ Π»Π°Π·Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΡΠΊΠ° ΠΎΡΡΠ°ΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡ ΠΈΡΡΠ»Π΅Π΄ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠ»ΠΎΠΆΠ½ΡΡ ΡΡΡΡΠΊΡΡΡΡ ΠΎΡΡΠ°ΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΏΡΡΠΊΠ° (ΡΠΈΡ. 8), Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π³ΠΎΠ»ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π²ΠΎΠ»Π½ Π² ΠΊΡΠΈΡΡΠ°Π»Π»Π΅, Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΠΎΠΌΠ΅ΡΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° Π΅Π³ΠΎ ΡΠ°Π·ΠΎΠ²Π°Ρ Π΄Π΅ΠΌΠΎΠ΄ΡΠ»ΡΡΠΈΡ.
2.3 ΠΠ΅ΡΠΎΠ΄ΠΈΠΊΠ° ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°
ΠΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΠΏΡΡΠΎΠΊ ΡΠΎΠΊΡΡΠΈΡΠΎΠ²Π°Π»ΡΡ ΠΊΠΎΡΠΎΡΠΊΠΎΡΠΎΠΊΡΡΠ½ΠΎΠΉ Π»ΠΈΠ½Π·ΠΎΠΉ L1 (ΡΠΈΡ. 4) Π½Π° ΠΈΡΡΠ»Π΅Π΄ΡΠ΅ΠΌΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ (ΡΠΈΡ. 4). ΠΠΎΠΏΠ΅ΡΠ΅ΡΠ½ΡΠΉ Π΄ΠΈΠ°ΠΌΠ΅ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΏΡΡΠΊΠ° Π² ΠΌΠ΅ΡΡΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΎΠΊΡΡΠΈΡΠΎΠ²ΠΊΠ΅ ΡΠΎΡΡΠ°Π²Π»ΡΠ» 50 ΠΌΠΊΠΌ.
ΠΡΡΠ»Π΅Π΄ΡΠ΅ΠΌΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π»ΡΡ ΡΡΠ΄ΠΎΠΌ Ρ ΡΠ΅ΠΏΠ΅ΡΠ½ΡΠΌ ΠΊΠ²Π°ΡΡΠ΅Π²ΡΠΌ Π²ΠΎΠ»ΠΎΠΊΠ½ΠΎΠΌ Ρ Π΄ΠΈΠ°ΠΌΠ΅ΡΡΠΎΠΌ 130 ΠΌΠΊΠΌ Π½Π° ΡΠ°ΠΌΠΊΠ΅, ΠΆΠ΅ΡΡΠΊΠΎ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ (ΡΠΈΡ. 8). Π ΡΠΈΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈΠΌΠ΅Π»ΠΈ ΠΌΠ°Π»ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΈ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ°Π·ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»Π°ΡΡ Π΄Π²ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ ΠΌΠΎΡΠΎΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Standa 8DCMC1.
ΠΠ°Π½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡ ΠΎΠ±ΡΠ°Π·Π΅Ρ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΏΡΡΠΊΠ° Ρ ΡΠΎΡΠ½ΠΎΡΡΡΡ Π΄ΠΎ 14 Π½ΠΌ.
Π ΠΈΡ. 8 ΠΠ·Π°ΠΈΠΌΠ½ΠΎΠ΅ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π·ΡΠ° Ρ Π΄ΠΈΠ°ΠΌΠ΅ΡΡΠΎΠΌ 15 ΠΌΠΊΠΌ ΠΈ ΡΠ΅ΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ²Π°ΡΡΠ΅Π²ΠΎΠ³ΠΎ Π²ΠΎΠ»ΠΎΠΊΠ½Π°
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌΠΈ Π½Π°Π½ΠΎ-ΡΡΠ°Π½ΡΠ»ΡΡΠΎΡΠ°ΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΡΠΎΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ»ΠΎΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎΠ΄Π°Π²Π°Π΅ΠΌΡΡ Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ. ΠΠ»Ρ ΠΏΠΎΠ΄Π°ΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±ΡΠ»ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ΠΎ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ «motor control for 8DCMC1», Π³Π»Π°Π²Π½ΠΎΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΎ Π½Π° ΡΠΈΡ. 8. (Π»ΠΈΡΡΠΈΠ½Π³ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ)
Π ΠΈΡ. 9 ΠΠ»Π°Π²Π½ΠΎΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ «motor control for 8DCMC1»
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±ΡΠ»Π° ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½Π° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΡΠΈΠ³Π½Π°Π»Π°, ΠΏΠΎΠ΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ Π½Π° ΠΠ¦Π, Ρ ΠΏΠ΅ΡΠ΅Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π°Π½ΠΎ-ΡΡΠ°Π½ΡΠ»ΡΡΠΎΡΠ°, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ.
2.4 ΠΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ
ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π·ΡΠΎΠ² ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΏΡΡΠΊΠ° ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ»Π°ΡΡ ΠΎΡ ΡΠ΅ΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ²Π°ΡΡΠ΅Π²ΠΎΠ³ΠΎ Π²ΠΎΠ»ΠΎΠΊΠ½Π° ΠΊ ΠΈΡΡΠ»Π΅Π΄ΡΠ΅ΠΌΠΎΠΌΡ ΠΎΠ±ΡΠ°Π·ΡΡ ΠΏΠΎ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π₯, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡ. 8.
ΠΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½Π°Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ Π°ΠΌΠΏΠ»ΠΈΡΡΠ΄Ρ Π΄Π΅ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π° ΠΎΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΊΠ°Π½ΠΈΡΡΡΡΠ΅Π³ΠΎ ΠΏΡΡΠΊΠ° Π΄Π»Ρ Π΄Π²ΡΡ ΠΎΠ±ΡΠ°Π·ΡΠΎΠ² Ρ Π΄ΠΈΠ°ΠΌΠ΅ΡΡΠΎΠΌ 15 ΠΌΠΊΠΌ ΠΈ 2 ΠΌΠΊΠΌ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° Π½Π° ΡΠΈΡ. 10. ΠΡΠΈ ΡΡΠΎΠΌ Π°ΠΌΠΏΠ»ΠΈΡΡΠ΄Π° ΠΊΠΎΠ»Π΅Π±Π°Π½ΠΈΠΉ ΠΎΠ±ΡΠ°Π·ΡΠ° ΡΠΎΡΡΠ°Π²Π»ΡΠ»Π° 20 Π½ΠΌ.
Π ΠΈΡ. 10 ΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π°ΠΌΠΏΠ»ΠΈΡΡΠ΄Ρ ΡΠΈΠ³Π½Π°Π»Π° ΠΎΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΊΠ°Π½ΠΈΡΡΡΡΠ΅Π³ΠΎ ΠΏΡΡΠΊΠ° Π΄Π»Ρ ΠΎΠ±ΡΠ°Π·ΡΠΎΠ² Ρ Π΄ΠΈΠ°ΠΌΠ΅ΡΡΠΎΠΌ 15 ΠΌΠΊΠΌ ΠΈ 2 ΠΌΠΊΠΌ
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΡΠΈΡ. 10 Ρ Π°ΡΠ°ΠΊΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΈΠ³Π½Π°Π»Π° Π΄Π΅ΠΌΠΎΠ΄ΡΠ»ΡΡΠΈΠΈ Ρ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ ΠΎΡ ΡΠ΅ΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΠΎΠ»ΠΎΠΊΠ½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΡΡΠΌΠΎΠΌΡ ΠΎΠΏΡΠΈΡΠ΅ΡΠΊΠΎΠΌΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΈΠΊΡΠΎΡΠΊΠΎΠΏΠ° (ΡΠΈΡ. 7), ΡΡΠΎ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π² Π½Π°ΡΡΠΎΡΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΌΠ°Π»ΡΡ ΠΊΠΎΠ»Π΅Π±Π°Π½ΠΈΠΉ ΠΌΠΈΠΊΡΠΎΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΠΎΠΌΠ΅ΡΡΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΡΡΠΎΠ³ΠΎΠ½Π°Π»ΡΠ½ΡΡ Π³ΠΎΠ»ΠΎΠ³ΡΠ°ΠΌΠΌ, ΡΠΎΡΠΌΠΈΡΡΠ΅ΠΌΡΡ Π² ΡΠΎΡΠΎΡΠ΅ΡΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΠΊΡΠΈΡΡΠ°Π»Π»Π΅. ΠΠΎΠΊΠ°Π·Π°Π½ΠΎ ΡΡΠΎ ΡΠ°ΠΊΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ»Π΅Π±Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠ°Π·ΠΌΠ΅ΡΠ°ΠΌΠΈ 2 ΠΌΠΊΠΌ. Π‘ΠΎΠ·Π΄Π°Π½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½Π°Π½ΠΎ-ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π΅ΡΠ°ΠΌΠΈ.
Π‘ ΡΡΠ΅ΡΠΎΠΌ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΎΡΡΠΎΠ³ΠΎΠ½Π°Π»ΡΠ½Π°Ρ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ Π³ΠΎΠ»ΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² Π€Π Π ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΠΎΠ»ΡΡΠΈΠ·Π°ΡΠΈΠΎΠ½Π½ΠΎ-Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ ΡΡ Π΅ΠΌΡ Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΠΎΠΌΠ΅ΡΡΠΎΠ², ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½Π°Ρ ΠΈΠ·ΠΌΠ΅ΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ Π΄Π»Ρ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΌΠΈΠΊΡΠΎΠΈ Π½Π°Π½ΠΎΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΈΠ·Π»ΡΡΠ΅Π½ΠΈΡ Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡ ΠΊ ΠΏΠΎΠ»Π½ΠΎΠΉ Π΅Π³ΠΎ Π΄Π΅ΠΏΠΎΠ»ΡΡΠΈΠ·Π°ΡΠΈΠΈ.
1. B. Ilic, H. G. Craighead, S. Krylov, W. Senaratne, C. Ober, and P. Neuzil. Attogram detection using nanoelectromechanical oscillators // J. Appl. Phys. — 2004 -Vol.95.
2. M. Sato, B. E. Hubbard, L. Q. English, and A. J. Sievers, B. Ilic, D. A. Czaplewski and H. G. Craighead. Study of intrinsic localized vibrational modes in micromechanical oscillator arrays // CHAOS — 2003. -Vol. 13, No.2 — P.702−715.
3. L. Sekaric, a) M. Zalalutdinov, S. W. Turner, A. T. Zehnder, J. M. Parpia, and H. G. Craighead Nanomechanical resonant structures as tunable passive modulators of light // J. Appl. Phys. — 2002 -Vol.80.
4. S. Di Girolamo, A.A.Kamshilin, R.V.Romashko, Yu.N.Kulchin, J.-C.Launay. Fast adaptive interferometer on dynamic reflection hologram in CdTe: V // Optics Express. — 2007. — Vol.15. — No.2. — P.545−555.
5. Π. Π. ΠΠ΅ΡΡΠΎΠ², Π‘. Π. Π‘ΡΠ΅ΠΏΠ°Π½ΠΎΠ², Π. Π. Π₯ΠΎΠΌΠ΅Π½ΠΊΠΎ. Π€ΠΎΡΠΎΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΊΡΡΠΎΠΎΠΏΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ΅Π΄Ρ Π² Π³ΠΎΠ»ΠΎΠ³ΡΠ°ΡΠΈΠΈ ΠΈ ΠΎΠΏΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. — Π.: ΠΠ°ΡΠΊΠ° ΠΠ΅Π½ΠΈΠ½Π³Ρ. ΠΎΡΠ΄.-Π½ΠΈΠ΅. — 1983. — 269 Ρ.
6. A. Ashkin, G. D. Boyd, J. M. Dziedzic, R. G. Smith, A. A. Ballman, J. J. Levinstein, K. Nassau. Optically-induced refractive index inhomogeneities in LiNbO3 and LiTaO3 // Appl. Phys. Lett. — 1966. — V.9. — P.72.
7. P. Gunter, J.-P. Huignard, eds. Photorefractive materials and their applications 2: Materials. — Springer Series in Optical Sciences. — 2007. — V.114. — 646 p.
8. G. Zhang, D. Kip, D. D. Nolte, J. Xu, eds. OSA Trends in Optics and Photonics: Photorefractive Effects, Materials, and Devices. — 2005. — V.99.
9. P. Delaye, C. Denz, L. Mager, G. Montemezzani, eds. OSA Trends in Optics and Photonics: Photorefractive Effects, Materials, and Devices. — 2003. — V.87.
10. Π. Π. ΠΠΈΠ½Π΅ΡΠΊΠΈΠΉ, Π. Π. ΠΡΡ ΡΠ°ΡΠ΅Π². ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ Π³ΠΎΠ»ΠΎΠ³ΡΠ°ΡΠΈΡ. — ΠΠΈΠ΅Π²: ΠΠ°ΡΠΊΠΎΠ²Π° Π΄ΡΠΌΠΊΠ°. — 1983. — 125 Ρ.
11. Di Girolamo S., Romashko R.V., Kulchin Y.N., Kamshilin A.A. Orthogonal geometry of wave interaction in a photorefractive crystal for linear phase demodulation // Opt. Commun. — 2010. — V.283. — P.128−131.
12. R. V. Romashko, S. Di Girolamo, Y. N. Kulchin, and A. A. Kamshilin. Photorefractive vectorial wave mixingin different geometries// J. Opt. Soc. Am. -2010. -Vol. 27. No. 2. -P. 311−317.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° «motor control for 8DCMC1»
ΠΠ°Π½Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΎΠ·Π΄Π°Π½Π° Π² ΡΡΠ΅Π΄Π΅ MS Visual C++ 6.0 Π½Π° Π±Π°Π·Π΅ ΠΊΠ»Π°ΡΡΠ° MFC. Π‘ΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΄Π²ΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡΡ ΠΎΠΊΠΎΠ½: SERIALGATETEST_DIALOG ΠΈ ABOUTBOX. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ:
1. ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ COM — ΠΏΠΎΡΡΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°. Π§ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° 8DCMC1 ΠΏΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° RS232. ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² Π²ΠΈΠ΄Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ — SerialGate.dll.
2. ΠΠ½Π°Π»ΠΎΠ³ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°Π³ΠΎΠ²ΡΠΌΠΈ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»ΡΠΌΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π° ΠΈ ΠΏΠΎΠ»Π΅ Π²ΡΠ²ΠΎΠ΄Π°.
3. ΠΠ°Π΄Π°Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠ°Π±ΠΎΡΡ ΡΠ°Π³ΠΎΠ²ΡΡ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»Π΅ΠΉ (ΡΠΊΠΎΡΠΎΡΡΡ, ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅).
4. 2D-cΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΡΠ°ΡΡΠΊΠ°.
5. ΠΠΏΡΠΎΡ ΠΠ¦Π, Π·Π°ΠΏΠΈΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ Π² ΡΠ°ΠΉΠ».
ΠΠΈΡΡΠΈΠ½Π³ SerialGateTest.cpp:
#include «stdafx.h»
#include «SerialGateTest.h»
#include «SerialGateTestDlg.h»
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
BEGIN_MESSAGE_MAP (CSerialGateTestApp, CWinApp)
//{{AFX_MSG_MAP (CSerialGateTestApp)
//}}AFX_MSG
ON_COMMAND (ID_HELP, CWinApp: OnHelp)
END_MESSAGE_MAP ()
// CSerialGateTestApp construction
CSerialGateTestApp:CSerialGateTestApp ()
{
}
CSerialGateTestApp theApp;
// CSerialGateTestApp initialization
BOOL CSerialGateTestApp: InitInstance ()
{
AfxEnableControlContainer ();
#ifdef _AFXDLL
Enable3dControls ();// Call this when using MFC in a shared DLL
#else
Enable3dControlsStatic ();// Call this when linking to MFC statically
#endif
CSerialGateTestDlg dlg;
m_pMainWnd = &dlg;
int nResponse = dlg. DoModal ();
if (nResponse == IDOK)
{
}
else if (nResponse == IDCANCEL)
{
}
return FALSE;
}
ΠΠΈΡΡΠΈΠ½Π³ SerialGateTestDlg.cpp:
#include
#include
#include
#include «stdafx.h»
#include «SerialGateTest.h»
#include «SerialGateTestDlg.h»
#include
#include
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
//using System;
int key=0;
//#include «thread.h»
//#include System: Threading;
// CAboutDlg dialog used for App About
class CAboutDlg: public CDialog
{
public:
CAboutDlg ();
// Dialog Data
//{{AFX_DATA (CAboutDlg)
enum { IDD = IDD_ABOUTBOX };
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL (CAboutDlg)
protected:
virtual void DoDataExchange (CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
//{{AFX_MSG (CAboutDlg)
//}}AFX_MSG
DECLARE_MESSAGE_MAP ()
};
CAboutDlg:CAboutDlg (): CDialog (CAboutDlg:IDD)
{
//{{AFX_DATA_INIT (CAboutDlg)
//}}AFX_DATA_INIT
}
void CAboutDlg: DoDataExchange (CDataExchange* pDX)
{
CDialog:DoDataExchange (pDX);
//{{AFX_DATA_MAP (CAboutDlg)
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP (CAboutDlg, CDialog)
//{{AFX_MSG_MAP (CAboutDlg)
// No message handlers
//}}AFX_MSG_MAP
END_MESSAGE_MAP ()
// CSerialGateTestDlg dialog
CSerialGateTestDlg:CSerialGateTestDlg (CWnd* pParent /*=NULL*/)
: CDialog (CSerialGateTestDlg:IDD, pParent)
{
//{{AFX_DATA_INIT (CSerialGateTestDlg)
m_port = 5;
m_rate = 9600;
m_recieve = _T (««);
m_send = _T (««);
m_axsis = _T (««);
m_vel = _T (««);
m_asel = _T (««);
m_gomr = _T (««);
m_mraxsis0 = _T (««);
m_mraxsis1 = _T (««);
m_tapeaxsis0 = _T (««);
m_tapeaxsis1 = _T (««);
m_dataininput = _T (««);
m_dataoutput = _T (««);
m_past = _T (««);
//}}AFX_DATA_INIT
// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
m_hIcon = AfxGetApp ()->LoadIcon (IDR_MAINFRAME);
}
void CSerialGateTestDlg: DoDataExchange (CDataExchange* pDX)
{
CDialog:DoDataExchange (pDX);
//{{AFX_DATA_MAP (CSerialGateTestDlg)
DDX_Control (pDX, IDC_RECIEVE, m_recievecontr);
DDX_Text (pDX, IDC_PORT, m_port);
DDX_Text (pDX, IDC_RATE, m_rate);
DDX_Text (pDX, IDC_RECIEVE, m_recieve);
DDX_Text (pDX, IDC_SEND, m_send);
DDX_Text (pDX, IDC_SETAXSCIS, m_axsis);
DDX_Text (pDX, IDC_SETVEL, m_vel);
DDX_Text (pDX, IDC_SETASEL, m_asel);
DDX_Text (pDX, IDC_MR, m_gomr);
DDX_Text (pDX, IDC_MRAXSIS0, m_mraxsis0);
DDX_Text (pDX, IDC_MRAXSIS1, m_mraxsis1);
DDX_Text (pDX, IDC_TAPEAXSIS1, m_tapeaxsis1);
DDX_Text (pDX, IDC_DATAEXCHANGE, m_dataininput);
DDX_Text (pDX, IDC_DATAEXCHANGE2, m_dataoutput);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP (CSerialGateTestDlg, CDialog)
//{{AFX_MSG_MAP (CSerialGateTestDlg)
ON_WM_SYSCOMMAND ()
ON_WM_PAINT ()
ON_WM_QUERYDRAGICON ()
ON_BN_CLICKED (IDC_BUTTON2, OnOpen)
ON_WM_TIMER ()
ON_BN_CLICKED (IDC_BUTTON1, OnSend)
ON_BN_CLICKED (IDC_BUTTON3, OnButton3)
ON_BN_CLICKED (IDC_ON_SETAXSIS, OnOnSetaxsis)
ON_BN_CLICKED (IDC_ON_SETACSEL, OnOnSetacsel)
ON_BN_CLICKED (IDC_ON_SETVELOS, OnOnSetvelos)
ON_BN_CLICKED (IDC_ON_MOTROON, OnOnMotroon)
ON_BN_CLICKED (IDC_ON_MOTOROFF, OnOnMotoroff)
ON_BN_CLICKED (IDC_ON_MR, OnOnMr)
ON_BN_CLICKED (IDC_ON_GO, OnOnGo)
//}}AFX_MSG_MAP
END_MESSAGE_MAP ()
// CSerialGateTestDlg message handlers
BOOL CSerialGateTestDlg: OnInitDialog ()
{
CDialog:OnInitDialog ();
// Add «About…» menu item to system menu.
// IDM_ABOUTBOX must be in the system command range.
ASSERT ((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT (IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu (FALSE);
if (pSysMenu ≠ NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString (IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty ())
{
pSysMenu->AppendMenu (MF_SEPARATOR);
pSysMenu->AppendMenu (MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
// Set the icon for this dialog. The framework does this automatically
// when the application’s main window is not a dialog
SetIcon (m_hIcon, TRUE);// Set big icon
SetIcon (m_hIcon, FALSE);// Set small icon
// TODO: Add extra initialization here
return TRUE; // return TRUE unless you set the focus to a control
}
void CSerialGateTestDlg: OnSysCommand (UINT nID, LPARAM lParam)
{
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
{
CAboutDlg dlgAbout;
dlgAbout.DoModal ();
}
else
{
CDialog:OnSysCommand (nID, lParam);
}
}
// If you add a minimize button to your dialog, you will need the code below
// to draw the icon. For MFC applications using the document/view model,
// this is automatically done for you by the framework.
void CSerialGateTestDlg: OnPaint ()
{
if (IsIconic ())
{
CPaintDC dc (this); // device context for painting
SendMessage (WM_ICONERASEBKGND, (WPARAM) dc. GetSafeHdc (), 0);
// Center icon in client rectangle
int cxIcon = GetSystemMetrics (SM_CXICON);
int cyIcon = GetSystemMetrics (SM_CYICON);
CRect rect;
GetClientRect (&rect);
int x = (rect.Width () — cxIcon + 1) / 2;
int y = (rect.Height () — cyIcon + 1) / 2;
// Draw the icon
dc.DrawIcon (x, y, m_hIcon);
}
else
{
CDialog:OnPaint ();
}
}
// The system calls this to obtain the cursor to display while the user drags
// the minimized window.
HCURSOR CSerialGateTestDlg: OnQueryDragIcon ()
{
return (HCURSOR) m_hIcon;
}
void CSerialGateTestDlg: OnOpen ()
{
// TODO: Add your control notification handler code here
UpdateData (true);
if (m_port == 0 || m_rate == 0)
{
MessageBox («Not correct data» ," Error", MB_ICONERROR);
return;;
}
bool b = sg. Open (m_port, m_rate);
if (b == false)
{
MessageBox («Can`t open Port» ," Error", MB_ICONERROR);
return;;
}
else
{
MessageBox («Port open OK» ," Info", MB_ICONINFORMATION);
}
SetTimer (1, 1000, NULL);
}
void CSerialGateTestDlg: OnTimer (UINT nIDEvent)
{
if (key==0)
{// TODO: Add your message handler code here and/or call default
char buff[128];
int rcv = sg. Recv (buff, sizeof (buff));
this->m_recievecontr.SetWindowText (««);
if (rcv > 0)
{
for (int i = 0; i< rcv; i++)
this->m_recieve += buff[i];
UpdateData (false);
}
}
CDialog:OnTimer (nIDEvent);
}
void CSerialGateTestDlg: OnSend ()
{
// TODO: Add your control notification handler code here
UpdateData (true);
int len = this->m_send.GetLength ();
if (len > 0)
{
char* LocBuf = m_send.GetBuffer (128);
sg.Send (LocBuf, len);
m_send.ReleaseBuffer ();
char ent=0x0D;
char* ent2 = &ent;
sg.Send (ent2, 1);
}
}
void CSerialGateTestDlg: OnButton3()
{
UpdateData (true);
int len = this->m_send.GetLength ();
if (len > 0)
{
char ent=0×01;
char* ent2 = &ent;
sg.Send (ent2, 1);
char* LocBuf = m_send.GetBuffer (128);
sg.Send (LocBuf, len);
m_send.ReleaseBuffer ();
}
}
void CSerialGateTestDlg: OnOnSetaxsis () //Π²ΡΠ±ΠΎΡ ΠΎΡΠΈ
{
UpdateData (true);
int popytka=0;
//ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΌΠΎΡΠΎΡΠ°
char ctrlkey=0×01;
char* ctrlkey2 = &ctrlkey;
sg.Send (ctrlkey2, 1);
int len=1;
char* LocBuf = m_axsis.GetBuffer (128);
sg.Send (LocBuf, len);
m_send.ReleaseBuffer ();
CString tp="tp" ;
char* LocBuf2 = tp. GetBuffer (128);
sg.Send (LocBuf2, 2);
tp.ReleaseBuffer ();
//enter
char ent=0x0D;
char* ent2 = &ent;
sg.Send (ent2, 1);
}
void CSerialGateTestDlg: OnOnSetacsel () //ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅
{
UpdateData (true);
CString sa="sa" ;
char* LocBuf2 = sa. GetBuffer (128);
sg.Send (LocBuf2, 2);
sa.ReleaseBuffer ();
int len = this->m_asel.GetLength ();
if (len > 0)
{
char* LocBuf = m_asel.GetBuffer (128);
sg.Send (LocBuf, len);
m_asel.ReleaseBuffer ();
//enter
char ent=0x0D;
char* ent2 = &ent;
sg.Send (ent2, 1);
//ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°tl
CString tl="tl" ;
char* LocBuf3 = tl. GetBuffer (128);
sg.Send (LocBuf3, 2);
tl.ReleaseBuffer ();
//enter
sg.Send (ent2, 1);
//m_recievecontr.SetWindowText («0»);
//CEdit:Clear;
//UpdateData (false);
}
}
void CSerialGateTestDlg: OnOnSetvelos ()
{
UpdateData (true);
CString sv="sv" ;
char* LocBuf2 = sv. GetBuffer (128);
sg.Send (LocBuf2, 2);
sv.ReleaseBuffer ();
int len = this->m_vel.GetLength ();
if (len > 0)
{
char* LocBuf = m_vel.GetBuffer (128);
sg.Send (LocBuf, len);
m_vel.ReleaseBuffer ();
//enter
char ent=0x0D;
char* ent2 = &ent;
sg.Send (ent2, 1);
//ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ty
CString ty="ty" ;
char* LocBuf3 = ty. GetBuffer (128);
sg.Send (LocBuf3, 2);
ty.ReleaseBuffer ();
//enter
sg.Send (ent2, 1);
}
}
void CSerialGateTestDlg: OnOnMotroon ()
{
UpdateData (true); //Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΌΠΎΡΠΎΡ
CString mn="mn" ;
char* LocBuf2 = mn. GetBuffer (128);
sg.Send (LocBuf2, 2);
mn.ReleaseBuffer ();// TODO: Add your control notification handler code here
//enter
char ent=0x0D;
char* ent2 = &ent;
sg.Send (ent2, 1);
}
void CSerialGateTestDlg: OnOnMotoroff () //Π²ΡΠΊΠ»ΡΡΠΈΡΡ ΠΌΠΎΡΠΎΡ
{
CString mf="mf" ;
char* LocBuf2 = mf. GetBuffer (128);
sg.Send (LocBuf2, 2);
mf.ReleaseBuffer ();// TODO: Add your control notification handler code here
//enter
char ent=0x0D;
char* ent2 = &ent;
sg.Send (ent2, 1);
}
void CSerialGateTestDlg: OnOnMr () //ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅
{
UpdateData (true);
CString mr="mr" ;
char* LocBuf2 = mr. GetBuffer (128);
sg.Send (LocBuf2, 2);
mr.ReleaseBuffer ();
int len = this->m_gomr.GetLength ();
if (len > 0)
{
char* LocBuf = m_gomr.GetBuffer (128);
sg.Send (LocBuf, len);
m_gomr.ReleaseBuffer ();
//enter
char ent=0x0D;
char* ent2 = &ent;
sg.Send (ent2, 1);
//ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ty
CString tp="tp" ;
char* LocBuf3 = tp. GetBuffer (128);
sg.Send (LocBuf3, 2);
tp.ReleaseBuffer ();
//enter
sg.Send (ent2, 1);
//m_recieve.Clear ();
}
}
void CSerialGateTestDlg: OnOnGo () //////////////////ΠΊΠ½ΠΎΠΏΠΊΠ° GO//////////////////////
{
UpdateData (true);
key=1;
int axis=0;
int res;
TP0:
//ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΌΠΎΡΠΎΡΠ°
char ctrlkey=0×01;
char* ctrlkey2 = &ctrlkey;
sg.Send (ctrlkey2, 1);
int len=1;
char axsis0='0';
char* axsis02 = &axsis0;
sg.Send (axsis02, 1);
CString tp="tp" ;
char* LocBuf2 = tp. GetBuffer (128);
sg.Send (LocBuf2, 2);
tp.ReleaseBuffer ();
//enter
char ent=0x0D;
char* ent2 = &ent;
sg.Send (ent2, 1);
Sleep (700); //ΠΎΡΠ³Π°Π½ΠΈΠ·ΡΠ΅ΠΌ ΠΏΠ°ΡΠ·Ρ ΡΡΠΎΠ±Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΡΠΏΠ΅Π» ΠΎΡΠ²Π΅ΡΠΈΡΡ
//ΡΡΠΈΡΠ°Π΅ΠΌ ΡΠ΅ΠΊΡΡΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ//
char buff[128];
int rcv = sg. Recv (buff, sizeof (buff));
int elmbuff=rcv-1;
buff[rcv]=0;
CString str;
for (int i = 0; i< rcv; i++)
str += buff[i];
char* j = strchr (buff, '+');
res = atoi (j);
if (j==0)
{
j = strchr (buff, '-');
res = atoi (j); //Π² res Π·Π΄Π΅ΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡΡ ΡΠ΅ΠΊΡΡΠΈΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
}
CString mraxsis02; //ΡΡΠ΄Π° Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π·Π°Π½ΡΠ΅Π½ΠΈΠ΅ Π΅ ΠΎΠΊΠΎΡΠΊΠ° edit axsis0
GetDlgItemText (IDC_MRAXSIS0,mraxsis02);
int posnum0=atoi (mraxsis02);
int posnum0_mr=res-posnum0/2;
CString mraxsis0_mr;
mraxsis0_mr =itoa (posnum0_mr, mraxsis0_mr.GetBuffer (10), 10);
//Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π½ΡΠ»Π΅Π²ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ//
CString mr="MA" ;
char* LocBuf8 = mr. GetBuffer (128);
sg.Send (LocBuf8, 2);
mr.ReleaseBuffer ();
len=mraxsis0_mr.GetLength ();
char* LocBuf9 = mraxsis0_mr.GetBuffer (128);
sg.Send (LocBuf9, len);
mraxsis0_mr.ReleaseBuffer ();
//enter
sg.Send (ent2, 1);
int gto0=posnum0_mr;
int posicino00=res;
Sleep (400);
TP1:
//ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΌΠΎΡΠΎΡΠ°
sg.Send (ctrlkey2, 1);
len=1;
char axsis1='1';
char* axsis12 = &axsis1;
sg.Send (axsis12, 1);
tp="tp" ;
LocBuf2 = tp. GetBuffer (128);
sg.Send (LocBuf2, 2);
tp.ReleaseBuffer ();
//enter
sg.Send (ent2, 1);
Sleep (700);
//ΠΎΡΠ³Π°Π½ΠΈΠ·ΡΠ΅ΠΌ ΠΏΠ°ΡΠ·Ρ ΡΡΠΎΠ±Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΡΠΏΠ΅Π» ΠΎΡΠ²Π΅ΡΠΈΡΡ
//ΡΡΠΈΡΠ°Π΅ΠΌ ΡΠ΅ΠΊΡΡΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ//
char buff2[128];
rcv = sg. Recv (buff2, sizeof (buff2));
elmbuff=rcv-1;
buff2[rcv]=0;
CString str2;
for (i = 0; i< rcv; i++)
str2 += buff2[i];
j = strchr (buff2, '+');
res = atoi (j);
if (j==0)
{
j = strchr (buff2, '-');
res = atoi (j); //Π² res Π·Π΄Π΅ΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡΡ ΡΠ΅ΠΊΡΡΠΈΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
}
CString mraxsis12; //ΡΡΠ΄Π° Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π·Π°Π½ΡΠ΅Π½ΠΈΠ΅ Π΅ ΠΎΠΊΠΎΡΠΊΠ° edit axsis0
GetDlgItemText (IDC_MRAXSIS1,mraxsis12);
int posnum1=atoi (mraxsis12);
int posnum1_mr=res-posnum½;
CString mraxsis1_mr;
mraxsis1_mr =itoa (posnum1_mr, mraxsis1_mr.GetBuffer (10), 10);
//Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π½ΡΠ»Π΅Π²ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ//
mr="MA" ;
LocBuf8 = mr. GetBuffer (128);
sg.Send (LocBuf8, 2);
mr.ReleaseBuffer ();
len=mraxsis1_mr.GetLength ();
LocBuf9 = mraxsis1_mr.GetBuffer (128);
sg.Send (LocBuf9, len);
mraxsis1_mr.ReleaseBuffer ();
//enter
sg.Send (ent2, 1);
int gto1=posnum1_mr;
int posicino01=res;
Sleep (130);
int pos01=gto1;
int pos00=gto0;
int modul;
do
{
Sleep (400);
//ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΌΠΎΡΠΎΡΠ°
sg.Send (ctrlkey2, 1);
sg.Send (axsis02, 1);
tp="tp" ;
LocBuf2 = tp. GetBuffer (128);
sg.Send (LocBuf2, 2);
tp.ReleaseBuffer ();
//enter
sg.Send (ent2, 1);
Sleep (800); //ΠΎΡΠ³Π°Π½ΠΈΠ·ΡΠ΅ΠΌ ΠΏΠ°ΡΠ·Ρ ΡΡΠΎΠ±Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΡΠΏΠ΅Π» ΠΎΡΠ²Π΅ΡΠΈΡΡ
//ΡΡΠΈΡΠ°Π΅ΠΌ ΡΠ΅ΠΊΡΡΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ//
CString str;
char buff[128];
rcv = sg. Recv (buff, sizeof (buff));
if (rcv > 0)
elmbuff=rcv-1;
buff[rcv]=0;
for (int i = 0; i< rcv; i++)
str += buff[i];
j = strchr (buff, '+');
res = atoi (j);
if (j==0)
{
j = strchr (buff, '-');
res = atoi (j); //Π² res Π·Π΄Π΅ΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡΡ ΡΠ΅ΠΊΡΡΠΈΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
}
}//ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ ΠΏΡΠΈΡ ΠΎΠ΄Π° ΠΏΠΎΠ΄Π²ΠΈΠΆΠΊΠΈ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ
modul=res-gto0;
if (modul<0) modul=-modul;
} while (modul>20);
do
{
Sleep (800);
//ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΌΠΎΡΠΎΡΠ°
sg.Send (ctrlkey2, 1);
sg.Send (axsis12, 1);
tp="tp" ;
LocBuf2 = tp. GetBuffer (128);
sg.Send (LocBuf2, 2);
tp.ReleaseBuffer ();
//enter
sg.Send (ent2, 1);
Sleep (400); //ΠΎΡΠ³Π°Π½ΠΈΠ·ΡΠ΅ΠΌ ΠΏΠ°ΡΠ·Ρ ΡΡΠΎΠ±Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΡΠΏΠ΅Π» ΠΎΡΠ²Π΅ΡΠΈΡΡ
//ΡΡΠΈΡΠ°Π΅ΠΌ ΡΠ΅ΠΊΡΡΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ//
char buff[128];
rcv = sg. Recv (buff, sizeof (buff));
elmbuff=rcv-1;
buff[rcv]=0;
CString str;
for (int i = 0; i< rcv; i++)
str += buff[i];
j = strchr (buff, '+');
res = atoi (j);
if (j==0)
{
j = strchr (buff, '-');
res = atoi (j); //Π² res Π·Π΄Π΅ΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡΡ ΡΠ΅ΠΊΡΡΠΈΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
}//ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ ΠΏΡΠΈΡ ΠΎΠ΄Π° ΠΏΠΎΠ΄Π²ΠΈΠΆΠΊΠΈ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ
modul=res-gto1;
if (modul<0) modul=-modul;
}while (modul>20);
MessageBox («peremecheno» ," ok", MB_ICONINFORMATION);
//UpdateData (false);
//////////////ΠΎΡΠ³Π°Π½ΠΈΠ·ΡΠ΅ΠΌ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅////////////////
int tape0=0;
int tape1=0;
int tape0t=0; //ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΏΡΠΎΡ ΠΎΠ΄
int tape1t=0;
//CString tapeaxsis01;
//GetDlgItemText (IDC_TAPEAXSIS0,tapeaxsis01);
//tape0=atoi (tapeaxsis01);
CString tapeaxsis11;
GetDlgItemText (IDC_TAPEAXSIS1,tapeaxsis11);
tape1=atoi (tapeaxsis11);
//ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΎΡΠΈ 1//
while (tape1t
{
//ΠΏΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΎΡΠΈ 0//
//UpdateData (false);
//CString mraxsis0_mr;
//mraxsis0_mr =itoa (posnum0_mr, mraxsis0_mr.GetBuffer (10), 10);
//this->m_pastcontrol.SetWindowText (««);
//CString tape1tstr;
//tape1tstr =itoa (tape1t, tape1tstr. GetBuffer (10), 10);
//this->m_past=tape1tstr;
tape1t++;
//ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΌΠΎΡΠΎΡΠ°
char ctrlkey=0×01;
char* ctrlkey2 = &ctrlkey;
sg.Send (ctrlkey2, 1);
int len=1;
char axsis0='0';
char* axsis02 = &axsis0;
sg.Send (axsis02, 1);
CString tp="tp" ;
char* LocBuf2 = tp. GetBuffer (128);
sg.Send (LocBuf2, 2);
tp.ReleaseBuffer ();
//enter
char ent=0x0D;
char* ent2 = &ent;
sg.Send (ent2, 1);
Sleep (600); //ΠΎΡΠ³Π°Π½ΠΈΠ·ΡΠ΅ΠΌ ΠΏΠ°ΡΠ·Ρ ΡΡΠΎΠ±Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΡΠΏΠ΅Π» ΠΎΡΠ²Π΅ΡΠΈΡΡ
//ΡΡΠΈΡΠ°Π΅ΠΌ ΡΠ΅ΠΊΡΡΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ//
char buff1[128];
int rcv = sg. Recv (buff1, sizeof (buff1));
buff1[rcv]=0;
char* j = strchr (buff1, '+');
int res = atoi (j);
if (j==0)
{
j = strchr (buff1, '-');
res = atoi (j); //Π² res Π·Π΄Π΅ΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡΡ ΡΠ΅ΠΊΡΡΠΈΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
}
CString mraxsis02; //ΡΡΠ΄Π° Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π·Π°Π½ΡΠ΅Π½ΠΈΠ΅ Π΅ ΠΎΠΊΠΎΡΠΊΠ° edit axsis0
GetDlgItemText (IDC_MRAXSIS0,mraxsis02);
posnum0=atoi (mraxsis02);
posnum0_mr=posicino00+posnum0/2; //ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΠΌΡΡ Π²ΠΏΠ΅ΡΠ΅Π΄
CString mraxsis0_mr;
mraxsis0_mr =itoa (posnum0_mr, mraxsis0_mr.GetBuffer (10), 10);
//Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅//
CString mr="MA" ;
char* LocBuf8 = mr. GetBuffer (128);
sg.Send (LocBuf8, 2);
mr.ReleaseBuffer ();
len=mraxsis0_mr.GetLength ();
char* LocBuf9 = mraxsis0_mr.GetBuffer (128);
sg.Send (LocBuf9, len);
mraxsis0_mr.ReleaseBuffer ();//enter
sg.Send (ent2, 1);
gto0=posnum0_mr;
//ΡΡΠΈΡΡΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π°//
CString inputfile;
GetDlgItemText (IDC_DATAEXCHANGE, inputfile);
CString outputfile;
GetDlgItemText (IDC_DATAEXCHANGE2, outputfile);
CString strinput;
CString stroutput;
CStdioFile FileInPut (inputfile, CFile: shareDenyNone);
CStdioFile FileOutPut (outputfile, CFile: modeCreate|CFile:modeNoTruncate|CFile:modeReadWrite|CFile:shareDenyNone);
FileInPut.SeekToEnd ();
int positionFileInPut1=FileInPut.GetPosition ();
//ΡΡΠΈΡΡΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π°//
Sleep (300);
do
{
Sleep (400);
//ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΌΠΎΡΠΎΡΠ°
sg.Send (ctrlkey2, 1);
sg.Send (axsis02, 1);
tp="tp" ;
LocBuf2 = tp. GetBuffer (128);
sg.Send (LocBuf2, 2);
tp.ReleaseBuffer ();
//enter
sg.Send (ent2, 1);
Sleep (800); //ΠΎΡΠ³Π°Π½ΠΈΠ·ΡΠ΅ΠΌ ΠΏΠ°ΡΠ·Ρ ΡΡΠΎΠ±Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΡΠΏΠ΅Π» ΠΎΡΠ²Π΅ΡΠΈΡΡ
//ΡΡΠΈΡΠ°Π΅ΠΌ ΡΠ΅ΠΊΡΡΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ//
CString str;
char buff[128];
rcv = sg. Recv (buff, sizeof (buff));
if (rcv > 0)
{
elmbuff=rcv-1;
buff[rcv]=0;
for (int i = 0; i< rcv; i++)
str += buff[i];
j = strchr (buff, '+');
res = atoi (j);
if (j==0)
{
j = strchr (buff, '-');
res = atoi (j); //Π² res Π·Π΄Π΅ΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡΡ ΡΠ΅ΠΊΡΡΠΈΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
}
}//ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ ΠΏΡΠΈΡ ΠΎΠ΄Π° ΠΏΠΎΠ΄Π²ΠΈΠΆΠΊΠΈ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ
modul=res-gto0;
if (modul<0) modul=-modul;
} while (modul>20);
//Π΄ΠΎΠΆΠ΄Π΅ΠΌΡΡ ΠΏΠΎΠΊΠ° ΠΏΠΎΠ΄Π²ΠΈΠΆΠΊΠ° ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠ½ΠΎΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅//
//ΡΡΠΈΡΡΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π°//
FileInPut.SeekToEnd ();
FileOutPut.SeekToEnd ();
int positionFileInPut2=FileInPut.GetPosition ();
FileInPut.Seek (positionFileInPut1, CFile: begin);
CString space=" «;
//char buffstr[128];
for (int positionFileInPutCurrent=FileInPut.GetPosition (); positionFileInPutCurrent
{
//FileOutPut.ReadString (stroutput);
FileInPut.ReadString (strinput);
char* buffstr = strinput. GetBuffer (128);
int lenstr=strinput.GetLength ();
buffstr[lenstr]=0;
char* j = strchr (buffstr, ',');
stroutput=j+1;
FileOutPut.WriteString (stroutput);
FileOutPut.WriteString (space);
}
//ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΎΡΠΈ 1//
FileOutPut.WriteString («rn»);
//ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΌΠΎΡΠΎΡΠ°//
sg.Send (ctrlkey2, 1);
len=1;
char axsis1='1';
char* axsis12 = &axsis1;
sg.Send (axsis12, 1);
tp="tp" ;
LocBuf2 = tp. GetBuffer (128);
sg.Send (LocBuf2, 2);
tp.ReleaseBuffer ();
//enter
sg.Send (ent2, 1);
Sleep (300); //ΠΎΡΠ³Π°Π½ΠΈΠ·ΡΠ΅ΠΌ ΠΏΠ°ΡΠ·Ρ ΡΡΠΎΠ±Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΡΠΏΠ΅Π» ΠΎΡΠ²Π΅ΡΠΈΡΡ
//ΡΡΠΈΡΠ°Π΅ΠΌ ΡΠ΅ΠΊΡΡΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ//
char buff4[128];
rcv = sg. Recv (buff4, sizeof (buff4));
buff4[rcv]=0;
j = strchr (buff4, '+');
res = atoi (j);
if (j==0)
{
j = strchr (buff4, '-');
res = atoi (j); //Π² res Π·Π΄Π΅ΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡΡ ΡΠ΅ΠΊΡΡΠΈΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
}
CString mraxsis12; //ΡΡΠ΄Π° Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π·Π°Π½ΡΠ΅Π½ΠΈΠ΅ Π΅ ΠΎΠΊΠΎΡΠΊΠ° edit axsis0
GetDlgItemText (IDC_MRAXSIS1,mraxsis12);
int posnum1=atoi (mraxsis12);
int posnum1_mr=pos01+tape1t*posnum1/tape1;
CString mraxsis1_mr;
mraxsis1_mr =itoa (posnum1_mr, mraxsis1_mr.GetBuffer (10), 10);
gto1=posnum1_mr;
//Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅//
mr="MA" ;
LocBuf8 = mr. GetBuffer (128);
sg.Send (LocBuf8, 2);
mr.ReleaseBuffer ();
len=mraxsis1_mr.GetLength ();
LocBuf9 = mraxsis1_mr.GetBuffer (128);
sg.Send (LocBuf9, len);
mraxsis1_mr.ReleaseBuffer ();
//enter
sg.Send (ent2, 1);
Sleep (300);
do
{
Sleep (400);
//ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΌΠΎΡΠΎΡΠ°
sg.Send (ctrlkey2, 1);
len=1;
char axsis1='1';
char* axsis12 = &axsis1;
sg.Send (axsis12, 1);
sg.Send (ctrlkey2, 1);
sg.Send (axsis12, 1);
tp="tp" ;
LocBuf2 = tp. GetBuffer (128);
sg.Send (LocBuf2, 2);
tp.ReleaseBuffer ();
//enter
sg.Send (ent2, 1);
Sleep (800); //ΠΎΡΠ³Π°Π½ΠΈΠ·ΡΠ΅ΠΌ ΠΏΠ°ΡΠ·Ρ ΡΡΠΎΠ±Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΡΠΏΠ΅Π» ΠΎΡΠ²Π΅ΡΠΈΡΡ
//ΡΡΠΈΡΠ°Π΅ΠΌ ΡΠ΅ΠΊΡΡΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ//
CString str;
char buff[128];
rcv = sg. Recv (buff, sizeof (buff));
if (rcv > 0)
{
elmbuff=rcv-1;
buff[rcv]=0;
for (int i = 0; i< rcv; i++)
str += buff[i];
j = strchr (buff, '+');
res = atoi (j);
if (j==0)
{
j = strchr (buff, '-');
res = atoi (j); //Π² res Π·Π΄Π΅ΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡΡ ΡΠ΅ΠΊΡΡΠΈΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
}
}//ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ ΠΏΡΠΈΡ ΠΎΠ΄Π° ΠΏΠΎΠ΄Π²ΠΈΠΆΠΊΠΈ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ
modul=res-gto1;
if (modul<0) modul=-modul;
} while (modul>20);
//ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅ΠΌ ΠΏΠΎΠ΄Π²ΠΈΠΆΠΊΡ Π² ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅//
//ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΌΠΎΡΠΎΡΠ°//
Sleep (300);
ctrlkey=0×01;
ctrlkey2 = &ctrlkey;
sg.Send (ctrlkey2, 1);
len=1;
axsis0='0';
axsis02 = &axsis0;
sg.Send (axsis02, 1);
tp="tp" ;
LocBuf2 = tp. GetBuffer (128);
sg.Send (LocBuf2, 2);
tp.ReleaseBuffer ();
//enter
ent=0x0D;
ent2 = &ent;
sg.Send (ent2, 1);
Sleep (300); //ΠΎΡΠ³Π°Π½ΠΈΠ·ΡΠ΅ΠΌ ΠΏΠ°ΡΠ·Ρ ΡΡΠΎΠ±Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΡΠΏΠ΅Π» ΠΎΡΠ²Π΅ΡΠΈΡΡ
//ΡΡΠΈΡΠ°Π΅ΠΌ ΡΠ΅ΠΊΡΡΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ//
charbuff7[128];
rcv = sg. Recv (buff7, sizeof (buff7));
elmbuff=rcv-1;
buff7[rcv]=0;
CStringstr7;
for (i = 0; i< rcv; i++)
str7 += buff7[i];
j = strchr (buff7, '+');
res = atoi (j);
if (j==0)
{
j = strchr (buff7, '-');
res = atoi (j); //Π² res Π·Π΄Π΅ΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡΡ ΡΠ΅ΠΊΡΡΠΈΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
}
//ΡΡΠ΄Π° Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π·Π°Π½ΡΠ΅Π½ΠΈΠ΅ Π΅ ΠΎΠΊΠΎΡΠΊΠ° edit axsis0
GetDlgItemText (IDC_MRAXSIS0,mraxsis02);
posnum0=atoi (mraxsis02);
posnum0_mr=pos00; //ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΠΌΡΡ Π½Π°Π·Π°Π΄
mraxsis0_mr =itoa (posnum0_mr, mraxsis0_mr.GetBuffer (10), 10);
//Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π½ΡΠ»Π΅Π²ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ//
mr="MA" ;
LocBuf8 = mr. GetBuffer (128);
sg.Send (LocBuf8, 2);
mr.ReleaseBuffer ();
len=mraxsis0_mr.GetLength ();
LocBuf9 = mraxsis0_mr.GetBuffer (128);
sg.Send (LocBuf9, len);
mraxsis0_mr.ReleaseBuffer ();//enter
sg.Send (ent2, 1);
gto0=pos00;
Sleep (300);
do
{
Sleep (300);
//ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΌΠΎΡΠΎΡΠ°
sg.Send (ctrlkey2, 1);
sg.Send (axsis02, 1);
tp="tp" ;
LocBuf2 = tp. GetBuffer (128);
sg.Send (LocBuf2, 2);
tp.ReleaseBuffer ();
//enter
sg.Send (ent2, 1);
Sleep (300); //ΠΎΡΠ³Π°Π½ΠΈΠ·ΡΠ΅ΠΌ ΠΏΠ°ΡΠ·Ρ ΡΡΠΎΠ±Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΡΠΏΠ΅Π» ΠΎΡΠ²Π΅ΡΠΈΡΡ
//ΡΡΠΈΡΠ°Π΅ΠΌ ΡΠ΅ΠΊΡΡΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ//
CString str8;
char buff8[128];
rcv = sg. Recv (buff8, sizeof (buff8));
if (rcv > 0)
{
elmbuff=rcv-1;
buff8[rcv]=0;
for (int i = 0; i< rcv; i++)
str8 += buff8[i];
j = strchr (buff8, '+');
res = atoi (j);
if (j==0)
{
j = strchr (buff8, '-');
res = atoi (j); //Π² res Π·Π΄Π΅ΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡΡ ΡΠ΅ΠΊΡΡΠΈΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
}
}//ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ ΠΏΡΠΈΡ ΠΎΠ΄Π° ΠΏΠΎΠ΄Π²ΠΈΠΆΠΊΠΈ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ
modul=res-gto0;
if (modul<0) modul=-modul;
} while (modul>20);//Π΄ΠΎΠΆΠ΄Π΅ΠΌΡΡ ΠΏΠΎΠΊΠ° ΠΏΠΎΠ΄Π²ΠΈΠΆΠΊΠ° ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠ½ΠΎΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅//
UpdateData (true);
//ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΎΡΠΈ 1//
}
//Π²Π΅ΡΠ½Π΅ΠΌ ΡΠΈΡΡΠ΅ΠΌΡ Π² ΠΏΠ΅ΡΠ²ΠΎΠ½ΠΎΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅//
Tp0:
//ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΌΠΎΡΠΎΡΠ°
sg.Send (ctrlkey2, 1);
len=1;
axsis0='0';
axsis02 = &axsis0;
sg.Send (axsis02, 1);
tp="tp" ;
LocBuf2 = tp. GetBuffer (128);
sg.Send (LocBuf2, 2);
tp.ReleaseBuffer ();
//enter
sg.Send (ent2, 1);
Sleep (300); //ΠΎΡΠ³Π°Π½ΠΈΠ·ΡΠ΅ΠΌ ΠΏΠ°ΡΠ·Ρ ΡΡΠΎΠ±Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΡΠΏΠ΅Π» ΠΎΡΠ²Π΅ΡΠΈΡΡ
//ΡΡΠΈΡΠ°Π΅ΠΌ ΡΠ΅ΠΊΡΡΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ//
posnum0_mr=posicino00;
mraxsis0_mr =itoa (posnum0_mr, mraxsis0_mr.GetBuffer (10), 10);
//Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π½ΡΠ»Π΅Π²ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ//
mr="MA" ;
char* LocBuf11 = mr. GetBuffer (128);
sg.Send (LocBuf11, 2);
mr.ReleaseBuffer ();
len=mraxsis0_mr.GetLength ();
char* LocBuf14 = mraxsis0_mr.GetBuffer (128);
sg.Send (LocBuf14, len);
mraxsis0_mr.ReleaseBuffer ();
//enter
sg.Send (ent2, 1);
Sleep (200);
UpdateData (true);
gto0=posicino00;
tp="tp" ;
LocBuf2 = tp. GetBuffer (128);
sg.Send (LocBuf2, 2);
tp.ReleaseBuffer ();
Sleep (300);
char buff10[128];
rcv = sg. Recv (buff10, sizeof (buff10));
Tp1:
//ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΌΠΎΡΠΎΡΠ°
sg.Send (ctrlkey2, 1);
len=1;
axsis1='1';
axsis12 = &axsis1;
sg.Send (axsis12, 1);
tp="tp" ;
LocBuf2 = tp. GetBuffer (128);
sg.Send (LocBuf2, 2);
tp.ReleaseBuffer ();
//enter
sg.Send (ent2, 1);
Sleep (300);
//ΠΎΡΠ³Π°Π½ΠΈΠ·ΡΠ΅ΠΌ ΠΏΠ°ΡΠ·Ρ ΡΡΠΎΠ±Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΡΠΏΠ΅Π» ΠΎΡΠ²Π΅ΡΠΈΡΡ
//ΡΡΠΈΡΠ°Π΅ΠΌ ΡΠ΅ΠΊΡΡΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ//
rcv = sg. Recv (buff10, sizeof (buff10));
posnum1_mr=posicino01;
mraxsis1_mr =itoa (posnum1_mr, mraxsis1_mr.GetBuffer (10), 10);
gto1=posicino01;
//Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π½ΡΠ»Π΅Π²ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ//
mr="MA" ;
LocBuf8 = mr. GetBuffer (128);
sg.Send (LocBuf8, 2);
mr.ReleaseBuffer ();
len=mraxsis1_mr.GetLength ();
LocBuf9 = mraxsis1_mr.GetBuffer (128);
sg.Send (LocBuf9, len);
mraxsis1_mr.ReleaseBuffer ();
//enter
sg.Send (ent2, 1);
UpdateData (true);
Sleep (130);
do
{
Sleep (300);
//ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΌΠΎΡΠΎΡΠ°
sg.Send (ctrlkey2, 1);
sg.Send (axsis02, 1);
tp="tp" ;
LocBuf2 = tp. GetBuffer (128);
sg.Send (LocBuf2, 2);
tp.ReleaseBuffer ();
//enter
sg.Send (ent2, 1);
Sleep (300); //ΠΎΡΠ³Π°Π½ΠΈΠ·ΡΠ΅ΠΌ ΠΏΠ°ΡΠ·Ρ ΡΡΠΎΠ±Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΡΠΏΠ΅Π» ΠΎΡΠ²Π΅ΡΠΈΡΡ
//ΡΡΠΈΡΠ°Π΅ΠΌ ΡΠ΅ΠΊΡΡΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ//
CString str;
char buff[128];
rcv = sg. Recv (buff, sizeof (buff));
if (rcv > 0)
{
elmbuff=rcv-1;
buff[rcv]=0;
for (int i = 0; i< rcv; i++)
str += buff[i];
j = strchr (buff, '+');
res = atoi (j);
if (j==0)
{
j = strchr (buff, '-');
res = atoi (j); //Π² res Π·Π΄Π΅ΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡΡ ΡΠ΅ΠΊΡΡΠΈΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
}
}//ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ ΠΏΡΠΈΡ ΠΎΠ΄Π° ΠΏΠΎΠ΄Π²ΠΈΠΆΠΊΠΈ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ
modul=res-gto0;
if (modul<0) modul=-modul;
} while (modul>40);
do
{
Sleep (400);
//ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΌΠΎΡΠΎΡΠ°
sg.Send (ctrlkey2, 1);
sg.Send (axsis12, 1);
tp="tp" ;
LocBuf2 = tp. GetBuffer (128);
sg.Send (LocBuf2, 2);
tp.ReleaseBuffer ();
//enter
sg.Send (ent2, 1);
Sleep (300); //ΠΎΡΠ³Π°Π½ΠΈΠ·ΡΠ΅ΠΌ ΠΏΠ°ΡΠ·Ρ ΡΡΠΎΠ±Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΡΠΏΠ΅Π» ΠΎΡΠ²Π΅ΡΠΈΡΡ
//ΡΡΠΈΡΠ°Π΅ΠΌ ΡΠ΅ΠΊΡΡΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ//
char buff[128];
rcv = sg. Recv (buff, sizeof (buff));
elmbuff=rcv-1;
buff[rcv]=0;
CString str;
for (int i = 0; i< rcv; i++)
str += buff[i];
j = strchr (buff, '+');
res = atoi (j);
if (j==0)
{
j = strchr (buff, '-');
res = atoi (j); //Π² res Π·Π΄Π΅ΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡΡ ΡΠ΅ΠΊΡΡΠΈΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
}//ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ ΠΏΡΠΈΡ ΠΎΠ΄Π° ΠΏΠΎΠ΄Π²ΠΈΠΆΠΊΠΈ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ
modul=res-gto1;
if (modul<0) modul=-modul;
}while (modul>20);
key=0;
}
ΠΠΈΡΡΠΈΠ½Π³ SerialGate.dll
SerialGate.cpp:
#include «stdafx.h»
#include «SerialGate.h»
#include
#include
BOOL APIENTRY DllMain (HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
extern «C» __declspec (dllexport) bool SerialGate: Open (int port, int baud)
{
char COM_string[20];
sprintf (COM_string," \\.\COM%d", port);
m_hFile = CreateFile (COM_string, GENERIC_READ|GENERIC_WRITE, 0, NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if (m_hFile == INVALID_HANDLE_VALUE)
{
return false;
}
DCB dcb;
GetCommState (m_hFile, &dcb);
COMMTIMEOUTS CommTimeOuts;
CommTimeOuts.ReadIntervalTimeout = MAXDWORD;
CommTimeOuts.ReadTotalTimeoutMultiplier = 0;
CommTimeOuts.ReadTotalTimeoutConstant = 0;
CommTimeOuts.WriteTotalTimeoutMultiplier = 0;
CommTimeOuts.WriteTotalTimeoutConstant = 1000;
SetCommTimeouts (m_hFile, &CommTimeOuts);
dcb.ByteSize = 8;
dcb.Parity = NOPARITY;
dcb.StopBits = ONESTOPBIT;
dcb.BaudRate = baud;
SetCommState (m_hFile, &dcb);
this->state = true;
return true;
}
extern «C» __declspec (dllexport) SerialGate: SerialGate ()
{
this->state = false;
}
extern «C» __declspec (dllexport) SerialGate:~SerialGate ()
{
this->Close ();
}
extern «C» __declspec (dllexport) void SerialGate: Close ()
{
this->state = false;
CloseHandle (m_hFile);
}
extern «C» __declspec (dllexport) void SerialGate: Clean ()
PURGE_RXCLEAR);
extern «C» __declspec (dllexport) int SerialGate: Send (char* buff, int szBuff)
{
if (!state)
return 0;
if (buff == NULL || szBuff <= 0)
{
return 0;
}
DWORD lpdwBytesWrittens = 0;
WriteFile (m_hFile, buff, szBuff, &lpdwBytesWrittens, NULL);
return lpdwBytesWrittens;
}
extern «C» __declspec (dllexport) int SerialGate: Recv (char* buff, int szBuff)
{
if (!state)
return 0;
if (buff == NULL || szBuff <= 0)
{
return 0;
}
DWORD dwBytesRead = 0;
ReadFile (m_hFile, buff, szBuff, &dwBytesRead, NULL);
return dwBytesRead;
}
extern «C» __declspec (dllexport) void SerialGate: SetLine (OUT_LINES_NAME ln, bool state)
{
if (!state)
return ;
unsigned char value;
if (ln == DTR)
{
if (state)
value = 6;
else
value = 5;
}
if (ln == RTS)
{
if (state)
value = 4;
else
value = 3;
}
EscapeCommFunction (m_hFile, value);
}
extern «C» __declspec (dllexport) bool SerialGate: GetLine (IN_LINES_NAME ln)
{
if (!state)
return 0;
unsigned long ul = 0;
GetCommModemStatus (m_hFile, &ul);
if (ul == 0×10 && ln == CTS)
{
return true;
}
if (ul == 0×20 && ln == DSR)
{
return true;
}
if (ul == 0×40 && ln == RING)
{
return true;
}
if (ul == 0×80 && ln == RLSD)
{
return true;
}
return false;
}
extern «C» __declspec (dllexport) void SerialGate: GetPortsInfo (PortInfo* pi)
{
DWORD Ports_MemSize = 0;
DWORD Ports_Count = 0;
BYTE* lpPorts = NULL;
//Getting Ports_MemSize value…
EnumPorts (NULL,
1,
lpPorts,
0,
&Ports_MemSize,
&Ports_Count);
//Getting lpPorts…
lpPorts = new BYTE[Ports_MemSize];
EnumPorts (NULL,
1,
lpPorts,
Ports_MemSize,
&Ports_MemSize,
&Ports_Count);
//Forming List Of Ports…
DWORD dw;
TCHAR str[8];
char temp[4];
int port = -1;
PORT_INFO1 *pPortInfo;
pPortInfo = (PORT_INFO1 *)lpPorts;
int counter = 0;
bool av = false;
for (dw = 0; dw < Ports_Count; dw++)
{
lstrcpyn (str, pPortInfo->pName, 4);
str[4] = 0;
if (lstrcmpi (str, «com») == 0)
{
//printf («%sn», pPortInfo->pName);
memset (temp, '', sizeof (temp));
temp[0] = pPortInfo->pName[3];
if (pPortInfo->pName[4]≠ ':' && pPortInfo->pName[4]≠ '')
temp[1] = pPortInfo->pName[4];
if (pPortInfo->pName[5]≠ ':' && pPortInfo->pName[5]≠ '')
temp[2] = pPortInfo->pName[5];
port = atoi (temp);
//printf («%dn», port);
char COM_string[20];
sprintf (COM_string," \\.\COM%d", port);
HANDLE h = CreateFile (COM_string, GENERIC_READ|GENERIC_WRITE, 0, NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if (h == INVALID_HANDLE_VALUE)
{
//return false;
av = false;
}
else
{
av = true;
CloseHandle (h);
}
pi->p[counter]. Id = port;
pi->p[counter]. Availbl = av;
counter++;
}
pPortInfo++;
}
pi->koll = counter;
delete [] lpPorts;
}
ΠΠΈΡΡΠΈΠ½Π³ SerialGate.dll
SerialGate.h:
#include
#define MAX_WIN_PORT 255
struct Port
{
unsigned char Id;
bool Availbl;
};
struct PortInfo
{
Port p[MAX_WIN_PORT];
unsigned char koll;
};
extern «C» class __declspec (dllexport) SerialGate
{
public:
enum IN_LINES_NAME {CTS, DSR, RING, RLSD};
enum OUT_LINES_NAME {DTR, RTS};
SerialGate ();
~SerialGate ();
bool Open (int port, int baud);
int Send (char* buff, int szBuff);
int Recv (char* buff, int szBuff);
void SetLine (OUT_LINES_NAME ln, bool state);
bool GetLine (IN_LINES_NAME ln);
void GetPortsInfo (PortInfo* pi);
void Close ();
void Clean ();
private:
HANDLE m_hFile;
bool state;
};