ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° SysLibCallback β ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π°ΠΆΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Π² ΡΡΠ΅Π΄Π΅ CODESYS 2.3, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΊΠΎΠ³Π΄Π° ΡΠ΅ΡΡ ΠΈΠ΄ΡΡ ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΈ Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΌΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡΠΌΠΈ, ΡΠ°ΠΉΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΈΠ»ΠΈ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΌΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°ΠΌΠΈ. ΠΠ΅Π· Π½Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ Π½Π° Π±Π°Π·Π΅ ΠΠΠ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, WAGO, Beckhoff, Siemens) ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΡΠΌΠΎΠ³ΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠΈΡ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ Π½Π°ΠΉΡΠΈ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅ΠΉ CODESYS 2.3 β Π·Π°Π΄Π°ΡΠ° Π½Π΅ ΠΈΠ· ΠΏΡΠΎΡΡΡΡ : ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΡ 3S-Smart Software Solutions Π΄Π°Π²Π½ΠΎ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π» ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΡΡ Π²Π΅ΡΠΊΡ, Π° ΡΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΡ ΡΠ°ΡΡΠΎ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠ΅ ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ±ΠΎΡΠΊΠΈ.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°Π·Π±Π΅ΡΡΠΌ, Π³Π΄Π΅ Π»Π΅Π³Π°Π»ΡΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ SysLibCallback Π΄Π»Ρ CODESYS 2.3, ΠΊΠ°ΠΊ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π΅Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ Π²Π°ΡΠΈΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠΌ, ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½ΡΠ΅ ΠΊΠ°ΠΌΠ½ΠΈ ΠΆΠ΄ΡΡ ΠΏΡΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ. ΠΡΠΎΠ±ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ΄Π΅Π»ΠΈΠΌ ΡΠΈΠΏΠΈΡΠ½ΡΠΌ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ Π²ΡΠΎΠ΄Π΅ Error 16#XXXX (Π³Π΄Π΅ XXXX β ΠΊΠΎΠ΄ Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ) ΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌ ΠΈΡ
ΠΎΠ±Ρ
ΠΎΠ΄Π°. ΠΡΠ»ΠΈ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Ρ IEC 61131-3 ΠΈ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π΅ΡΠ΅ΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΈΠ·-Π·Π° ΠΎΡΡΡΡΡΡΠ²ΠΈΡ callback-ΡΡΠ½ΠΊΡΠΈΠΉ β ΡΡΠΎΡ Π³Π°ΠΉΠ΄ Π΄Π»Ρ Π²Π°Ρ.
ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΠ΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΈ Π΄Π»Ρ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ SysLibCallback
ΠΠ΅ΡΠ²ΠΎΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΈΡΠΊΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ β ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΠΏΠΈΡΠ°ΡΡΠΊΠΈΡ
ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π². ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΠ°ΠΉΠ» Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎ (SysLibCallback.lib ΠΈΠ»ΠΈ SysLibCallback_2.3.x.x), ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΠΉ ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ Π±ΡΡΡ ΡΠΎΠ±ΡΠ°Π½ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ CODESYS Runtime, ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄ΡΡ ΠΊ ΡΠ±ΠΎΡΠΌ. ΠΠΎΡ ΠΏΠ΅ΡΠ΅ΡΠ΅Π½Ρ Π½Π°Π΄ΡΠΆΠ½ΡΡ
ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ²:
- πΉ ΠΡΡ
ΠΈΠ² 3S-Smart Software Solutions: ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ CODESYS 2.3 Π΅ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅
https://archive.codesys.com(ΡΠ°Π·Π΄Π΅Π»Legacy Versions β CODESYS V2.3). ΠΡΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡSysLibCallback_V230_X_X.zip. - πΉ ΠΠΎΡΡΠ°Π» ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΠΠ: ΠΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π²ΡΠΎΠ΄Π΅ WAGO ΠΈΠ»ΠΈ Beckhoff ΡΠ°ΡΡΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π΄Π»Ρ ΡΠ²ΠΎΠΈΡ
ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ WAGO PFC Π°ΠΊΡΡΠ°Π»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ Π»Π΅ΠΆΠΈΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅
Downloads β CODESYS Libraries. - πΉ GitHub-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π΄ΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΡ
ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²: ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΡ Π²ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ ΠΎΡΠ»Π°ΠΆΠ΅Π½Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ
ΠΎΠ΄Π½ΠΈΠΊΠΎΠΌ. ΠΡΠΈΠΌΠ΅Ρ: ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
codesys-legacy-libsΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρplc-dev-community. - πΉ Π€ΠΎΡΡΠΌΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ: ΠΠ° CODESYS Forum (ΡΠ°Π·Π΄Π΅Π»
Legacy Systems) ΠΈΠ»ΠΈ PLCtalk.ru ΡΠ°ΡΡΠΎ Π΄Π΅Π»ΡΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΠΌΠΈ ΡΠ±ΠΎΡΠΊΠ°ΠΌΠΈ. ΠΡΠΈΡΠ΅ ΡΠ΅ΠΌΡ Ρ ΠΏΠΎΠΌΠ΅ΡΠΊΠΎΠΉ[Solved].
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΡΠ»ΠΈ Π²Ρ ΡΠΊΠ°ΡΠΈΠ²Π°Π΅ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Ρ ΡΠΎΡΡΠ΅Π½Ρ-ΡΡΠ΅ΠΊΠ΅ΡΠΎΠ² ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ»ΠΎΠΎΠ±ΠΌΠ΅Π½Π½ΠΈΠΊΠΎΠ² ΡΠΈΠΏΠ° MediaFire, ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ Π΅Ρ Ρ
ΡΡ-ΡΡΠΌΠΌΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΡΠ΅Π· MD5). ΠΠ»Ρ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠΉ SysLibCallback 2.3.9.42 ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ a1b2c3d4e5f6... (ΡΡΠΎΡΠ½ΠΈΡΠ΅ Π½Π° ΡΠΎΡΡΠΌΠ΅). Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΈΡΠΊΡΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ "Π±ΠΈΡΡΡ" Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ·ΠΎΠ²Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ Library not compatible with target.
- ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΡ 3S
- Π‘Π°ΠΉΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΠΠ
- GitHub
- Π€ΠΎΡΡΠΌΡ/ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°
- ΠΡΡΠ³ΠΎΠ΅
Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ SysLibCallback Ρ Π²Π΅ΡΡΠΈΡΠΌΠΈ CODESYS 2.3 ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°ΠΌΠΈ
ΠΠ΄Π½Π° ΠΈΠ· Π³Π»Π°Π²Π½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ SysLibCallback β Π½Π΅ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΉ. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΡΠΎΠ±ΡΠ°Π½Π½Π°Ρ Π΄Π»Ρ CODESYS 2.3.9.35, ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² 2.3.9.50, Π° ΡΠ΅ΠΌ Π±ΠΎΠ»Π΅Π΅ Π² CODESYS 3.5. ΠΠΈΠΆΠ΅ ΡΠ°Π±Π»ΠΈΡΠ° ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Π΄Π»Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ²:
| ΠΠ΅ΡΡΠΈΡ CODESYS | ΠΠ΅ΡΡΠΈΡ SysLibCallback | ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΠΠΠ | ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ |
|---|---|---|---|
| 2.3.9.35 | 2.3.9.30 | WAGO 750-841/842, Beckhoff CX9020 | Π’ΡΠ΅Π±ΡΠ΅Ρ ΠΏΠ°ΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ IEC_Timer |
| 2.3.9.42 | 2.3.9.38β2.3.9.42 | Siemens SIMATIC, ABB AC500 | ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° SysTime ΠΈ SysMem |
| 2.3.9.50+ | 2.3.9.45+ | B&R X20, Phoenix Contact | ΠΠ΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠ° Ρ ΡΠ°Π½Π½ΠΈΠΌΠΈ WAGO |
ΠΠ΅ΡΠ΅Π΄ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ Π²Π΅ΡΡΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ CODESYS Development System ΡΠ΅ΡΠ΅Π· ΠΌΠ΅Π½Ρ Help β About. ΠΡΠ»ΠΈ Π²Π΅ΡΡΠΈΡ Π½ΠΈΠΆΠ΅ 2.3.9.35, ΠΏΡΠΈΠ΄ΡΡΡΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡΡΡ β ΠΈΠ½Π°ΡΠ΅ SysLibCallback Π½Π΅ Π·Π°Π³ΡΡΠ·ΠΈΡΡΡ ΠΈΠ·-Π·Π° ΠΎΡΡΡΡΡΡΠ²ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ IEC 61131-3 ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ.
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°Ρ
Beckhoff TwinCAT 2 Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ²Π°ΡΡ Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°ΠΌΠΈ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π² plc.prj ΡΡΡΠΎΠΊΡ:
#define __SYSLIBCALLBACK_NO_TC2_CONFLICT
ΠΡΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½ΠΎ Π»ΠΈΡΠΈΡ Π²Π°Ρ ΡΠ°ΡΡΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ SysTime.
ΠΠΎΡΠ°Π³ΠΎΠ²Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ SysLibCallback Π² CODESYS 2.3
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΡΡΡ
ΡΡΠ°ΠΏΠΎΠ²: Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Π² ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ° ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°. Π‘Π»Π΅Π΄ΡΠΉΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΡΡΡΠΎΠ³ΠΎ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ Π²ΡΠΎΠ΄Π΅ Error 16#8004: Library not found.
-
Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΡΠ°ΠΉΠ» Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π² ΠΏΠ°ΠΏΠΊΡ Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌΠΈ CODESYS. ΠΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΏΡΡΡ:
C:\Program Files\CODESYS 2.3\Libraries\. -
ΠΡΠΊΡΠΎΠΉΡΠ΅ Π²Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ Π² CODESYS 2.3 ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π²
Project β Add Object β Library. -
ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠ°ΠΉΠ»
SysLibCallback.libΠΈ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅. ΠΡΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ β ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ (Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ.lib, Π° Π½Π΅.library). -
ΠΠ°ΡΡΡΠΎΠΉΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ: Π² ΡΠ²ΠΎΠΉΡΡΠ²Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° (
Project β Properties) ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π² ΡΠ°Π·Π΄Π΅Π»Π΅CompilerΠ²ΠΊΠ»ΡΡΠ΅Π½Π° ΠΎΠΏΡΠΈΡEnable IEC Extensions.
βοΈ ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠ΅ΠΉ
ΠΠΎΡΠ»Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ CODESYS. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΎΡΠΈΠ±ΠΊΡ Undefined symbol 'SysLibCallback_Init'.
ΠΡΠ»ΠΈ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ° Error 16#8007: Out of memory, ΡΠΌΠ΅Π½ΡΡΠΈΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡΠΊΡΡΡΡΡ
Π²ΠΊΠ»Π°Π΄ΠΎΠΊ Π² CODESYS ΠΈΠ»ΠΈ ΡΠ²Π΅Π»ΠΈΡΡΡΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΏΠ°ΠΌΡΡΡ Windows Π΄Π»Ρ ΠΏΡΠΎΡΠ΅ΡΡΠ° CodesysControl.exe.
Π’ΠΈΠΏΠΈΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ SysLibCallback ΠΈ ΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ
ΠΠ°ΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ Π²Π΅ΡΡΠΈ ΡΠ΅Π±Ρ Π½Π΅ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎ. ΠΠΈΠΆΠ΅ β ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΌΡΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΈΡ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ, ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΠ΅ Π½Π° ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ .
- π¨ ΠΡΠΈΠ±ΠΊΠ°
Error 16#8004: Library not compatible with targetΠΡΠΈΡΠΈΠ½Π°: ΠΠ΅ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ CODESYS Runtime Π½Π° ΠΠΠ. Π Π΅ΡΠ΅Π½ΠΈΠ΅: Π‘ΠΊΠ°ΡΠ°ΠΉΡΠ΅ Π²Π΅ΡΡΠΈΡ
SysLibCallback, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ Π²Π°ΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ (ΡΠΌ. ΡΠ°Π±Π»ΠΈΡΡ Π²ΡΡΠ΅). ΠΡΠ»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΎΡΡΠ°ΡΡΡΡ β ΠΎΠ±Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠΎΡΠΈΠ²ΠΊΡ ΠΠΠ. - π¨ ΠΡΠΈΠ±ΠΊΠ°
Error 16#8011: Symbol 'SysTime' already definedΠΡΠΈΡΠΈΠ½Π°: ΠΠΎΠ½ΡΠ»ΠΈΠΊΡ Ρ Π΄ΡΡΠ³ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
Util.lib). Π Π΅ΡΠ΅Π½ΠΈΠ΅: Π£Π΄Π°Π»ΠΈΡΠ΅ Π΄ΡΠ±Π»ΠΈΡΡΡΡΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π² ΠΊΠΎΠ΄ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ:#define __SYSLIBCALLBACK_NO_SYSTIME - π¨ ΠΠΠ Π½Π΅ ΡΠ΅Π°Π³ΠΈΡΡΠ΅Ρ Π½Π° callback-ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΡΠΈΡΠΈΠ½Π°: ΠΠ΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ. Π Π΅ΡΠ΅Π½ΠΈΠ΅: ΠΠ΅ΡΠ΅Π΄ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ callback Π΄ΠΎΠ±Π°Π²ΡΡΠ΅:
SysLibCallback_Init(ADR(_CallbackHandler), 100);Π³Π΄Π΅
100β ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ Π·Π°Π΄Π°ΡΠΈ.
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΡΠ»ΠΈ ΠΏΠΎΡΠ»Π΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² ΠΠΠ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΉ ΡΠ±ΡΠΎΡ (ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ), ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅, Π½Π΅ ΠΏΡΠ΅Π²ΡΡΠ°Π΅Ρ Π»ΠΈ ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΠ΅ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ Ρ callback-ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ 2048 Π±Π°ΠΉΡ. ΠΠ»Ρ WAGO 750-881 ΡΡΠΎ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ β Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π² PLC Configuration β Task Settings.
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ SysLibCallback: ΠΊΠΎΠ³Π΄Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π½Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ
Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΡΠ»ΡΡΠ°ΡΡ
SysLibCallback ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΠΏΠΎΠΊΡΡΠ²Π°ΡΡ Π²ΡΠ΅ Π½ΡΠΆΠ΄Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ° Ρ CANopen ΠΈΠ»ΠΈ EtherCAT Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ, ΠΏΡΠΈΠ΄ΡΡΡΡ ΠΈΡΠΊΠ°ΡΡ ΠΎΠ±Ρ
ΠΎΠ΄Π½ΡΠ΅ ΠΏΡΡΠΈ. ΠΠΎΡ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΠ΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ:
- π§ SysComLib: ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΎΡ Berghof Automation, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ callback-ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΡ Π΄Π»Ρ
Modbus TCPΠΈPROFINET. Π‘ΠΊΠ°ΡΠ°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π΄Π΅ΡΡ. - π§ PLC-Lib ΠΎΡ WAGO: ΠΠΊΠ»ΡΡΠ°Π΅Ρ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ WAGO PFC, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ Ρ
GPIOΡΠ΅ΡΠ΅Π· callback. ΠΠΎΡΡΡΠΏΠ½Π° Π² WAGO Library Manager. - π§ Π‘Π°ΠΌΠΎΠΏΠΈΡΠ½ΡΠ΅ ΠΎΠ±ΡΡΡΠΊΠΈ Π½Π° C/C++: ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ Π³ΠΈΠ±ΠΊΠΎΡΡΡ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ CODESYS Control SDK ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π΅Ρ ΠΊΠ°ΠΊ
DLL.
β ΠΠ°ΠΆΠ½ΠΎ: ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΡ
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΎΡΠΊΠ»ΡΡΠΈΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ SysLibCallback, ΠΈΠ½Π°ΡΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈΠ·-Π·Π° Π΄ΡΠ±Π»ΠΈΡΡΡΡΠΈΡ
ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, SysInterrupt).
ΠΠ°ΠΊ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΠΊΠ°ΠΊΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡΠ΅Ρ?
ΠΡΠΊΡΠΎΠΉΡΠ΅ Π»ΠΎΠ³ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ (View β Output Window) ΠΈ Π½Π°ΠΉΠ΄ΠΈΡΠ΅ ΡΡΡΠΎΠΊΠΈ Ρ duplicate symbol. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, duplicate symbol 'SysTime_GetTime' in SysLibCallback.lib and Util.lib ΡΠΊΠ°ΠΆΠ΅Ρ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ callback-ΡΡΠ½ΠΊΡΠΈΠΉ
Callback-ΡΡΠ½ΠΊΡΠΈΠΈ Π² CODESYS Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΡ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π·Π°Π²ΠΈΡΠ°Π½ΠΈΡΠΌ ΠΠΠ ΠΈΠ»ΠΈ ΠΏΡΠΎΠΏΡΡΠΊΡ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π°ΠΆΠ½ΡΡ ΡΠΎΠ±ΡΡΠΈΠΉ. Π‘Π»Π΅Π΄ΡΠΉΡΠ΅ ΡΡΠΈΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ:
- β‘ ΠΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΡΠΉΡΠ΅ ΠΊΠΎΠ΄ Π² callback: ΠΠ΅ΡΠ΅Π½ΠΎΡΠΈΡΠ΅ ΡΠ»ΠΎΠΆΠ½ΡΡ Π»ΠΎΠ³ΠΈΠΊΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π·Π°Π΄Π°ΡΡ, ΠΎΡΡΠ°Π²Π»ΡΡ Π² callback ΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ ΡΠ»Π°Π³ΠΎΠ² ΠΈΠ»ΠΈ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π² Π±ΡΡΠ΅Ρ.
- β‘ ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΡ: ΠΠ°ΡΡΡΠΎΠΉΡΠ΅ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ Π·Π°Π΄Π°ΡΠΈ Ρ callback Π²ΡΡΠ΅, ΡΠ΅ΠΌ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
150ΠΏΡΠΎΡΠΈΠ²100). - β‘ ΠΠ·Π±Π΅Π³Π°ΠΉΡΠ΅ Π±Π»ΠΎΠΊΠΈΡΡΡΡΠΈΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ: ΠΠ΅ Π²ΡΠ·ΡΠ²Π°ΠΉΡΠ΅ Π² callback ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΠΎΠ΄Π΅
SysFileReadΠΈΠ»ΠΈModbusMasterβ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΄ΡΠΎ CODESYS Runtime.
ΠΡΠΈΠΌΠ΅Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ callback Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΎΡ Π΄Π°ΡΡΠΈΠΊΠ°:
FUNCTION_BLOCK FB_CallbackHandler IMPLEMENTS SysLibCallback.ITfCallback
VAR
bTriggered : BOOL; // Π€Π»Π°Π³ Π΄Π»Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ
nCounter : UINT; // Π‘ΡΡΡΡΠΈΠΊ ΡΠΎΠ±ΡΡΠΈΠΉ
END_VAR
METHOD Callback : DWORD
// ΠΠΎΠ΄ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΈ β ΡΠΎΠ»ΡΠΊΠΎ Π±ΡΡΡΡΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ!
bTriggered := TRUE;
nCounter := nCounter + 1;
Callback := 0; // ΠΠΎΠ·Π²ΡΠ°Ρ 0 = ΡΡΠΏΠ΅Ρ
END_METHOD
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°Ρ
Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌΠΈ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, WAGO 750-8202) ΡΠ°ΡΡΡΠ΅ callback-Π²ΡΠ·ΠΎΠ²Ρ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ΅ΠΊΠ°. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΌΠ΅Π½ΡΡΠΈΡΠ΅ ΡΠ°ΡΡΠΎΡΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ
Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΠ° ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ SysLibCallback_SetInterval(50) Π΄Π»Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² Π΄ΠΎ 50 ΠΌΡ.
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ SysLibCallback: ΠΊΠΎΠ³Π΄Π° ΠΈ ΠΊΠ°ΠΊ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ
ΠΠ±Π½ΠΎΠ²Π»ΡΡΡ SysLibCallback ΡΡΠΎΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΡΡΡ ΡΠ»ΡΡΠ°ΡΡ :
- ΠΡ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΡΠ΅ Π½Π° Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ CODESYS 2.3 (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ
2.3.9.35Π½Π°2.3.9.50). - ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΠΠ Π²ΡΠΏΡΡΡΠΈΠ» ΠΏΠ°ΡΡ Π΄Π»Ρ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²
SysMemΡΡΠ½ΠΊΡΠΈΠΈ). - ΠΠ°ΠΌ Π½ΡΠΆΠ½Ρ Π½ΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°
SysTime64Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΠΌΠ΅ΡΠΊΠ°ΠΌΠΈ ΠΏΠΎΡΠ»Π΅ 2038 Π³ΠΎΠ΄Π°).
ΠΡΠΎΡΠ΅ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ:
- Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΡ ΠΊΠΎΠΏΠΈΡ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ (
SysLibCallback.libΠΈSysLibCallback.h, Π΅ΡΠ»ΠΈ Π΅ΡΡΡ). - Π£Π΄Π°Π»ΠΈΡΠ΅ ΡΡΠ°ΡΡΡ Π²Π΅ΡΡΠΈΡ ΠΈΠ· ΠΏΡΠΎΠ΅ΠΊΡΠ° (
Project β Remove Object). - ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π½ΠΎΠ²ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ (ΡΠΌ. ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ Π²ΡΡΠ΅).
- ΠΠ΅ΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠΉΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ Π»ΠΎΠ³ΠΈ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠΉ (
Warnings).
β ΠΡΠΈΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ: ΠΡΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Ρ Π²Π΅ΡΡΠΈΠΈ 2.3.9.30 Π½Π° 2.3.9.45+ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ SysInterrupt_Enable. Π’Π΅ΠΏΠ΅ΡΡ ΠΎΠ½Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ DWORD Π²ΠΌΠ΅ΡΡΠΎ BOOL, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠ»ΠΎΠΌΠ°ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ Π²ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ!
ΠΠ±Π½ΠΎΠ²Π»ΡΠΉΡΠ΅ SysLibCallback ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΠΎΡΡΡΠΎΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ β Π½ΠΎΠ²ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π½Π΅Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π»ΠΎΠΌΠ°ΡΡΠΈΠ΅ ΡΡΠ°ΡΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ.
FAQ: Π§Π°ΡΡΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΏΠΎ SysLibCallback Π² CODESYS 2.3
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ SysLibCallback ΠΈΠ· CODESYS 3.5 Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ 2.3?
ΠΠ΅Ρ, ΡΡΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ CODESYS 3.5 ΡΠΎΠ±ΡΠ°Π½Ρ ΠΏΠΎΠ΄ Π΄ΡΡΠ³ΡΡ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ .package Π²ΠΌΠ΅ΡΡΠΎ .lib) ΠΈ Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡ Ρ CODESYS 2.3. ΠΠΎΠΏΡΡΠΊΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΈΡ
ΠΏΡΠΈΠ²Π΅Π΄ΡΡ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ΅ Error 16#8004: Invalid library format.
ΠΠ°ΠΊ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊΠ°Ρ Π²Π΅ΡΡΠΈΡ SysLibCallback ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅?
ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ°ΠΉΠ» SysLibCallback.lib Π»ΡΠ±ΡΠΌ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠΌ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Notepad++) ΠΈ Π½Π°ΠΉΠ΄ΠΈΡΠ΅ ΡΡΡΠΎΠΊΡ ; Version: X.X.X.X. ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΎ β ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠ°ΠΉΠ»Π° (ΠΏΡΠ°Π²ΡΠΉ ΠΊΠ»ΠΈΠΊ β Properties β Details Π² Windows).
ΠΠΎΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ SysLibCallback ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π» ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡΡΡ?
Π‘ΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ Ρ Π΄ΡΡΠ³ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ. ΠΡΠΊΡΠΎΠΉΡΠ΅ Π»ΠΎΠ³ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈ Π½Π°ΠΉΠ΄ΠΈΡΠ΅ ΡΡΡΠΎΠΊΠΈ Ρ duplicate symbol. Π£Π΄Π°Π»ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡΡΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, #define __NO_UTIL_LIB).
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ callback-ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΡΠΈΠΌΡΠ»ΡΡΠΎΡΠ΅ CODESYS?
ΠΠ°, Π½ΠΎ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ. Π CODESYS Control Win V2 callback Π±ΡΠ΄ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ, Π½ΠΎ ΡΠ΅Π°Π»ΡΠ½ΡΠ΅ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠ΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½Π΅ Π±ΡΠ΄ΡΡ. ΠΠ»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ SysLibCallback_SimulateInterrupt(1) (Π΅ΡΠ»ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π²Π΅ΡΡΠΈΠ΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ).
ΠΠ΄Π΅ Π½Π°ΠΉΡΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ ΡΡΠ½ΠΊΡΠΈΡΠΌ SysLibCallback?
ΠΡΠΈΡΠΈΠ°Π»ΡΠ½Π°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π΄Π»Ρ CODESYS 2.3 Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ, Π½ΠΎ Π΅Ρ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ:
- Π Π°ΡΡ
ΠΈΠ²Π΅
CODESYS_2.3_Documentation.zipΠ½Π°https://archive.codesys.com. - Π ΡΠ°ΠΉΠ»Π΅
SysLibCallback.chm, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ. - ΠΠ° ΡΠΎΡΡΠΌΠ°Ρ
PLCtalk.ru ΠΈΠ»ΠΈ CODESYS Forum (ΡΠ°Π·Π΄Π΅Π»
Legacy).