54
Ⱦɥɹ ɡɚɩɪɨɫɚ ɜ ɪɟɠɢɦɟ REQUEST ɡɧɚɱɟɧɢɹ ɚɬɪɢɛɭɬɚ R ɫɨɡɞɚɞɢɦ ɜ
ɭɡɥɟ – ɤɥɢɟɧɬɟ NetDDE – ɤɚɧɚɥ ch3 ɢ ɫɜɹɠɟɦ ɟɝɨ ɫ ɩɟɪɟɦɟɧɧɨɣ DDE,
ɩɚɪɚɦɟɬɪɵ ɤɨɬɨɪɨɣ ɡɚɞɚɞɢɦ, ɤɚɤ ɭɤɚɡɚɧɨ ɧɚ ɪɢɫ. 2.19. Ⱦɥɹ ɡɚɩɪɨɫɚ ɜ ɪɟ-
ɠɢɦɟ REQUEST ɩɚɪɚɦɟɬɪɭ
Ɋɟɠɢɦ ɩɟɪɟɦɟɧɧɨɣ DDE ɦɨɠɧɨ ɬɚɤɠɟ ɡɚ-
ɞɚɬɶ ɡɧɚɱɟɧɢɟ
REQ/POKE[data]. Ɂɚɩɭɫɬɢɦ ɦɨɧɢɬɨɪɵ – ɦɟɠɞɭ ɧɢɦɢ ɭɫ-
ɬɚɧɨɜɢɬɫɹ ɫɜɹɡɶ ɜ ɪɟɠɢɦɟ REQUEST. ȼ ɷɬɨɦ ɪɟɠɢɦɟ ɤɥɢɟɧɬ ɝɟɧɟɪɢɪɭɟɬ
ɜ ɫɨɨɬɜɟɬɫɬɜɭɸɳɟɦ ɩɨɬɨɤɟ ɡɚɩɪɨɫɵ ɧɚ ɱɬɟɧɢɟ ɡɧɚɱɟɧɢɹ ɚɬɪɢɛɭɬɚ (0,
R)
ɤɚɧɚɥɚ
ch1 ɫɟɪɜɟɪɚ ɢ ɡɚɩɢɫɵɜɚɟɬ ɷɬɨ ɡɧɚɱɟɧɢɟ ɜɨ ɜɯɨɞ ɤɚɧɚɥɚ ch3.
2.7.5. ʽ̥̖̦̍ ̥̖̙̱̔ ̨̛̛̛̪̬̣̙̖̦̥́ ̨̪ ̨̨̡̨̪̬̯̣̱ OPC
OPC (OLE for Process Control) – ɷɬɨ ɫɬɚɧɞɚɪɬ ɜɡɚɢɦɨɞɟɣɫɬɜɢɹ ɦɟ-
ɠɞɭ ɩɪɨɝɪɚɦɦɧɵɦɢ ɤɨɦɩɨɧɟɧɬɚɦɢ ɫɢɫɬɟɦɵ ɫɛɨɪɚ ɞɚɧɧɵɯ ɢ ɭɩɪɚɜɥɟɧɢɹ
(SCADA), ɨɫɧɨɜɚɧɧɵɣ ɧɚ ɨɛɴɟɤɬɧɨɣ ɦɨɞɟɥɢ ɋɈɆ/DCOM ɮɢɪɦɵ
Microsoft. ɑɟɪɟɡ ɢɧɬɟɪɮɟɣɫɵ ɈɊɋ ɨɞɧɢ ɩɪɢɥɨɠɟɧɢɹ ɦɨɝɭɬ ɱɢɬɚɬɶ ɢɥɢ
ɡɚɩɢɫɵɜɚɬɶ ɞɚɧɧɵɟ ɜ ɞɪɭɝɢɟ ɩɪɢɥɨɠɟɧɢɹ, ɨɛɦɟɧɢɜɚɬɶɫɹ ɫɨɛɵɬɢɹɦɢ,
ɨɩɨɜɟɳɚɬɶ ɞɪɭɝ ɞɪɭɝɚ ɨ ɧɟɲɬɚɬɧɵɯ ɫɢɬɭɚɰɢɹɯ (ɬɪɟɜɨɝɚɯ), ɨɫɭɳɟɫɬɜɥɹɬɶ
ɞɨɫɬɭɩ ɤ ɞɚɧɧɵɦ, ɡɚɪɟɝɢɫɬɪɢɪɨɜɚɧɧɵɦ ɜ ɚɪɯɢɜɚɯ (ɬɚɤ ɧɚɦɵɜɚɟɦɵɟ «
ɢɫ-
ɬɨɪɢɱɟɫɤɢɟ» ɞɚɧɧɵɟ). ɗɬɢ ɩɪɢɥɨɠɟɧɢɹ ɦɨɝɭɬ ɪɚɫɩɨɥɚɝɚɬɶɫɹ ɤɚɤ ɧɚ ɨɞ-
ɧɨɦ ɤɨɦɩɶɸɬɟɪɟ, ɬɚɤ ɢ ɛɵɬɶ ɪɚɫɩɪɟɞɟɥɟɧɧɵɦɢ ɩɨ ɫɟɬɢ, ɩɪɢ ɷɬɨɦ ɧɟɡɚ-
ɜɢɫɢɦɨ ɨɬ ɮɢɪɦɵ-ɩɨɫɬɚɜɳɢɤɚ ɩɪɢɥɨɠɟɧɢɹ OPC, ɩɪɢɡɧɚɧɧɵɟ ɢ ɩɨɞɞɟɪ-
ɠɢɜɚɟɦɵɟ ɜɫɟɦɢ ɜɟɞɭɳɢɦɢ ɮɢɪɦɚɦɢ-ɩɪɨɢɡɜɨɞɢɬɟɥɹɦɢ SCADA-ɫɢɫɬɟɦ
ɢ ɨɛɨɪɭɞɨɜɚɧɢɹ, ɨɛɟɫɩɟɱɚɬ ɢɯ ɫɨɜɦɟɫɬɧɨɟ ɮɭɧɤɰɢɨɧɢɪɨɜɚɧɢɟ.
ɈɊɋ-ɜɡɚɢɦɨɞɟɣɫɬɜɢɟ ɨɫɧɨɜɚɧɨ ɧɚ ɤɥɢɟɧɬ-ɫɟɪɜɟɪɧɨɣ ɫɯɟɦɟ. ɈɊɋ-
ɤɥɢɟɧɬ (ɧɚɩɪɢɦɟɪ
, SCADA), ɜɵɡɵɜɚɹ ɨɩɪɟɞɟɥɟɧɧɵɟ ɮɭɧɤɰɢɢ ɨɛɴɟɤɬɚ
ɈɊɋ-ɫɟɪɜɟɪɚ, ɩɨɞɩɢɫɵɜɚɟɬɫɹ ɧɚ ɩɨɥɭɱɟɧɢɟ ɨɩɪɟɞɟɥɟɧɧɵɯ ɞɚɧɧɵɯ, ɫ ɨɩ-
ɪɟɞɟɥɟɧɧɨɣ ɱɚɫɬɨɬɨɣ. ȼ ɫɜɨɸ ɨɱɟɪɟɞɶ, ɈɊɋ-ɫɟɪɜɟɪ, ɨɩɪɨɫɢɜ ɮɢɡɢɱɟɫɤɨɟ
ɭɫɬɪɨɣɫɬɜɨ, ɜɵɡɵɜɚɟɬ ɢɡɜɟɫɬɧɵɟ ɮɭɧɤɰɢɢ ɤɥɢɟɧɬɚ, ɭɜɟɞɨɦɥɹɹ ɟɝɨ ɨ ɩɨ-
ɥɭɱɟɧɢɢ ɞɚɧɧɵɯ ɢ ɜɪɭɱɚɹ ɫɚɦɢ ɞɚɧɧɵɟ. Ɍɚɤɢɦ ɨɛɪɚɡɨɦ, ɩɪɢ ɈɊɋ-
ɜɡɚɢɦɨɞɟɣɫɬɜɢɢ ɢɫɩɨɥɶɡɭɸɬɫɹ ɤɚɤ ɩɪɹɦɵɟ ɋɈɆ-ɜɵɡɨɜɵ (ɨɬ ɤɥɢɟɧɬɚ ɤ
ɫɟɪɜɟɪɭ), ɬɚɤ ɢ ɨɛɪɚɬɧɵɟ (ɨɬ ɫɟɪɜɟɪɚ ɤ ɤɥɢɟɧɬɭ).
Ɋɚɫɫɦɨɬɪɢɦ ɢɫɩɨɥɶɡɨɜɚɧɢɟ ɆɊȼ TRACE MODE ɜ ɤɚɱɟɫɬɜɟ
OPC-ɫɟɪɜɟɪɚ ɞɥɹ ɨɛɦɟɧɚ ɫ ɞɪɭɝɢɦɢ SCADA-ɫɢɫɬɟɦɚɦɢ. Ⱦɥɹ ɞɨɫɬɭɩɚ
OPC-ɤɥɢɟɧɬɨɜ ɤ ɤɚɧɚɥɚɦ ɭɡɥɚ ɨɧ ɞɨɥɠɟɧ ɢɫɩɨɥɧɹɬɶɫɹ ɩɨɞ ɭɩɪɚɜɥɟɧɢɟɦ
ɫɩɟɰɢɚɥɢɡɢɪɨɜɚɧɧɨɝɨ ɆɊȼ – OPC-ɫɟɪɜɟɪɚ TRACE MODE 6.
ɉɟɪɟɞ ɧɚɱɚɥɨɦ ɢɫɩɨɥɶɡɨɜɚɧɢɹ OPC-ɫɟɪɜɟɪɚ TRACE MODE 6 ɟɝɨ
ɧɭɠɧɨ ɡɚɪɟɝɢɫɬɪɢɪɨɜɚɬɶ ɜ ɨɩɟɪɚɰɢɨɧɧɨɣ ɫɢɫɬɟɦɟ. Ⱦɥɹ ɷɬɨɝɨ ɢɫɩɨɥɶɡɭ-
ɸɬɫɹ ɤɨɦɚɧɞɧɵɟ ɮɚɣɥɵ:
x
register_opc_proxy_stub.cmd (ɨɞɧɨɤɪɚɬɧɚɹ ɩɪɨɰɟɞɭɪɚ, ɩɨɫɥɟ
ɤɨɬɨɪɨɣ ɫɟɪɜɟɪ ɦɨɠɧɨ ɪɟɝɢɫɬɪɢɪɨɜɚɬɶ/ɪɚɡɪɟɝɢɫɬɪɢɪɨɜɚɬɶ). Ⱦɥɹ ɨɬɦɟɧɵ
ɧɭɠɧɨ ɡɚɩɭɫɬɢɬɶ ɤɨɦɚɧɞɧɵɣ ɮɚɣɥ
unregister_opc_proxy_stub.cmd;
x
register_server.cmd (ɞɥɹ ɨɬɦɟɧɵ ɪɟɝɢɫɬɪɚɰɢɢ ɧɭɠɧɨ ɡɚɩɭɫɬɢɬɶ
ɮɚɣɥ
unregister_server.cmd).