Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° 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.

πŸ“Š ΠžΡ‚ΠΊΡƒΠ΄Π° Π²Ρ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ скачиваСтС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для CODESYS?
  • ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ сайт 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.

  1. Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π² ΠΏΠ°ΠΏΠΊΡƒ с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ CODESYS. ΠžΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ: C:\Program Files\CODESYS 2.3\Libraries\.

  2. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π² CODESYS 2.3 ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Project β†’ Add Object β†’ Library.

  3. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» SysLibCallback.lib ΠΈ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅. Если Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π½Π΅ отобраТаСтся β€” ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ (Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ .lib, Π° Π½Π΅ .library).

  4. НастройтС компилятор: Π² свойствах ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (Project β†’ Properties) ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Compiler Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° опция Enable IEC Extensions.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π΄ компиляциСй

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

ПослС добавлСния Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ 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 стоит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚Ρ€Ρ‘Ρ… случаях:

  1. Π’Ρ‹ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Π½Π° Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ CODESYS 2.3 (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с 2.3.9.35 Π½Π° 2.3.9.50).
  2. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ ΠŸΠ›Πš выпустил ΠΏΠ°Ρ‚Ρ‡ для устранСния критичСской уязвимости (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² SysMem Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ).
  3. Π’Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° SysTime64 для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ послС 2038 Π³ΠΎΠ΄Π°).

ΠŸΡ€ΠΎΡ†Π΅ΡΡ обновлСния:

  1. Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ (SysLibCallback.lib ΠΈ SysLibCallback.h, Ссли Π΅ΡΡ‚ΡŒ).
  2. Π£Π΄Π°Π»ΠΈΡ‚Π΅ ΡΡ‚Π°Ρ€ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΈΠ· ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (Project β†’ Remove Object).
  3. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π½ΠΎΠ²ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ (см. ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Π²Ρ‹ΡˆΠ΅).
  4. ΠŸΠ΅Ρ€Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π»ΠΎΠ³ΠΈ Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΉ (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).