Skip to content

crossrw/fbd-runtime

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

GitHub top language GitHub code size in bytes Codacy Badge GitHub

FBD-runtime

fbd logo

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° языкС FBD (Π―Π·Ρ‹ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ) для ΠŸΠ›Πš (ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ЛогичСских ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ²).

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ языкС FBD ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π½Π° сайтС Wikipedia.

FBD - ΠΎΠ΄ΠΈΠ½ ΠΈΠ· языков программирования описанных Π² ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎΠΌ стандартС IEC 61131-3. Данная рСализация Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ совмСстима с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ стандартом, ΠΎΠ΄Π½Π°ΠΊΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π΅Π³ΠΎ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ.

Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΈ симулятор выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ FBD Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΏΠΎ ссылкС.

На YoTube создан плСйлист, посвящСнный ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ БАВ-500, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅ΠΌ Π±ΠΈΠ±ΠΈΠ»ΠΈΠΎΡ‚Π΅ΠΊΡƒ.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° использована ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° БАВ-500, подробная информация ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅ Π½Π° доступна Π½Π° сайтС www.sat500.ru.

ОглавлСниС

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π―Π·Ρ‹ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ создан для описания функционирования ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… (соСдинСнных Ρ‡Π΅Ρ€Π΅Π· ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ ΡΠ΅Ρ‚ΡŒ) логичСских ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ². Π―Π·Ρ‹ΠΊ описываСт входящиС Π² состав схСмы элСмСнты ΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΠ΅ ΠΈΡ… Ρ†Π΅ΠΏΠΈ.

ВозмоТности

  • НСт зависимости ΠΎΡ‚ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ примСнСния Π½Π° любой ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Π³Π΄Π΅ Π΅ΡΡ‚ΡŒ компилятор языка C
  • Алгоритм ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ для встроСнных ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ²: PIC, AVR, ARM ΠΈ Ρ‚.ΠΏ. ВычислСниС Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ€Π΅ΠΊΡƒΡ€ΡΠΈΡŽ, стСк Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΡ‡Π΅Π½ΡŒ экономно
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ Big-Endian ΠΈ Litle-Endian
  • Π­ΠΊΠΎΠ½ΠΎΠΌΠ½ΠΎΠ΅ использованиС RAM: схСма ΠΈΠ· 400 элСмСнтов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠΊΠΎΠ»ΠΎ 1 kb ΠžΠ—Π£
  • Π¨ΠΈΡ€ΠΎΠΊΠΈΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… элСмСнтов: логичСскиС, арифмСтичСскиС, сравнСниС, Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρ‹, Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Ρ‹, рСгулятор. Набор элСмСнтов ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»Π΅Π³ΠΊΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½
  • Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π² NVRAM (для Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ΠΎΠ², Ρ‚Π°ΠΉΠΌΠ΅Ρ€ΠΎΠ², Ρ‚ΠΎΡ‡Π΅ΠΊ рСгулирования ΠΈ Ρ‚.ΠΏ.)
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎ сСти (Ethernet, ModBus ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅)
  • Базовая ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° интСрфСйса с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ (HMI)

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ понятия

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€

ΠŸΠ›Πš – ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ логичСский ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой микропроцСссорноС устройство, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ для сбора, прСобразования, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ Π²Ρ‹Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ управлСния, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ количСство Π²Ρ…ΠΎΠ΄ΠΎΠ² ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠ², ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΊ Π½ΠΈΠΌ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ управлСния, ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ… Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΌ Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎΠΌ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°. НаиболСС часто ΠŸΠ›Πš ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ тСхнологичСских процСссов.

Виповая структура ΠŸΠ›Πš ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π½Π° рисункС:

fbd struct

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠŸΠ›Πš прСдусматриваСт Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ:

  • Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ управлСния
  • ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… сигналов (input pins) Π²Π½Π΅ΡˆΠ½ΠΈΡ… Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² (Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π°, Π΄Π°Π²Π»Π΅Π½ΠΈΠ΅, дискрСтныС Π²Ρ…ΠΎΠ΄Ρ‹, напряТСниС ΠΈ Ρ‚.ΠΏ.)
  • ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… сигналов (output pins) для управлСния внСшним ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ (дискрСтныС Π²Ρ‹Ρ…ΠΎΠ΄Ρ‹, сигналы Ρ‚ΠΎΠΊΠ° ΠΈΠ»ΠΈ напряТСния)
  • ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ сСти (network), ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰Π΅ΠΉ нСсколько ΠŸΠ›Πš ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π΅ΠΉ ΠΈΡ… совмСстноС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅
  • Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ срСдства Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса с Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ (HMI) с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°, дисплСя, ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΈ Ρ‚.ΠΏ.

Π Π°Π±ΠΎΡ‡ΠΈΠΉ Ρ†ΠΈΠΊΠ» ΠŸΠ›Πš Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ 4 Ρ„Π°Π·Ρ‹:

  1. ЧтСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… сигналов
  2. Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ
  3. Установку Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… сигналов
  4. Π’ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ (ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΏΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ сСти, рСализация HMI ΠΈ Ρ‚.ΠΏ.).

Π‘Ρ…Π΅ΠΌΠ°

Π‘Ρ…Π΅ΠΌΠ° Π½Π° языкС FBD это Π½Π°Π±ΠΎΡ€ элСмСнтов, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈ соСдинСний (Ρ†Π΅ΠΏΠ΅ΠΉ) ΠΌΠ΅ΠΆΠ΄Ρƒ элСмСнтами.

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ схСмы это ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ Π±Π»ΠΎΠΊ, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ (Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ, Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ, Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΈ Ρ‚.ΠΏ.) ΠΈΠ»ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ схСмы ΠΊ Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌ ΠΈΠ»ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹ΠΌ цСпям ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°.

  • ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… схСмы ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ Π΅Π³ΠΎ имя.
  • Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ количСство Π²Ρ…ΠΎΠ΄ΠΎΠ² (Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈ Π½Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ) ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²Ρ‹Ρ…ΠΎΠ΄Π°. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π²Ρ…ΠΎΠ΄ΠΎΠ² ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠ² зависит ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° элСмСнта. На графичСском ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ элСмСнтов Π²Ρ…ΠΎΠ΄Ρ‹ всСгда располоТСны слСва, Π° Π²Ρ‹Ρ…ΠΎΠ΄Ρ‹ справа ΠΎΡ‚ элСмСнта. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π²Ρ…ΠΎΠ΄ элСмСнта Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΊ Ρ†Π΅ΠΏΠΈ, которая соСдиняСт Π΅Π³ΠΎ с Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ элСмСнта. Π’Ρ‹Ρ…ΠΎΠ΄ элСмСнта ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ»ΠΈ нСскольким Π²Ρ…ΠΎΠ΄Π°ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΡ… элСмСнтов (Π² Ρ‚ΠΎΠΌ числС ΠΈ Π΅Π³ΠΎ собствСнным Π²Ρ…ΠΎΠ΄Π°ΠΌ). Π’Ρ‹Ρ…ΠΎΠ΄ элСмСнта ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½ΠΈΠΊΡƒΠ΄Π° Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½, Π² этом случаС элСмСнт Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ смысла.
  • Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для обозначСния Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… сСтСвых ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Ρ‚ΠΎΡ‡Π΅ΠΊ отобраТСния.
  • Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π²Ρ…ΠΎΠ΄Π° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для обозначСния Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… Π²Ρ…ΠΎΠ΄ΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… сСтСвых ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Ρ‚ΠΎΡ‡Π΅ΠΊ рСгулирования.
  • Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ (Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈ Π½Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ: это зависит ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° элСмСнта) ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, Π²Π»ΠΈΡΡŽΡ‰ΠΈΠ΅ Π½Π° Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ фиксированноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ Π·Π°Π΄Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ схСмы.

ЦСпь

ЦСпь это логичСская связь ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Ρ…ΠΎΠ΄Π°ΠΌΠΈ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π°ΠΌΠΈ элСмСнтов прСдназначСнная для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ состояния (значСния) сигнала. КаТдая Ρ†Π΅ΠΏΡŒ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π° строго ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ Π²Ρ‹Ρ…ΠΎΠ΄Ρƒ ΠΈ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ»ΠΈ нСскольким Π²Ρ…ΠΎΠ΄Π°ΠΌ элСмСнтов схСмы. БостояниС Ρ†Π΅ΠΏΠΈ ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ Π²Ρ‹Ρ…ΠΎΠ΄ элСмСнта являСтся Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ. ЦСпь, которая Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π½ΠΈ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ Π²Ρ…ΠΎΠ΄Ρƒ элСмСнта, являСтся Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ ΠΈ Π΅Π΅ состояниС Π½Π΅ вычисляСтся. Аналогично элСмСнтам, Ρ†Π΅ΠΏΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… схСмы ΠΈΠΌΠ΅Π½Π°. Π¦Π΅ΠΏΠΈ слуТат для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ сигналов ΠΌΠ΅ΠΆΠ΄Ρƒ элСмСнтами схСмы. На графичСском ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ схСмы Ρ†Π΅ΠΏΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ Π»ΠΈΠ½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ Π²Ρ…ΠΎΠ΄Ρ‹ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Ρ‹ элСмСнтов.

Π‘ΠΈΠ³Π½Π°Π»

Π‘ΠΈΠ³Π½Π°Π» прСдставляСт собой Ρ†Π΅Π»ΠΎΠ΅ число со Π·Π½Π°ΠΊΠΎΠΌ. Π’ зависимости ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ сборкС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, сигнал ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ 1, 2 ΠΈΠ»ΠΈ 4 Π±Π°ΠΉΡ‚Π°. Π‘ΠΈΠ³Π½Π°Π»Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. ΠŸΡ€ΠΈ этом Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сигнала Ρ€Π°Π²Π½ΠΎΠ΅ 0 интСрпрСтируСтся ΠΊΠ°ΠΊ логичСский "0" (False), Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сигнала Π½Π΅ Ρ€Π°Π²Π½ΠΎΠ΅ 0 - ΠΊΠ°ΠΊ логичСская "1" (True). Для Π²Ρ…ΠΎΠ΄ΠΎΠ² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… элСмСнтов Π²Π°ΠΆΠ½ΠΎ Π½Π΅ само Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сигнала, Π° Ρ„Π°ΠΊΡ‚ Π΅Π³ΠΎ нарастания (ΠΏΠ΅Ρ€Π΅Π΄Π½ΠΈΠΉ Ρ„Ρ€ΠΎΠ½Ρ‚). Π’Π°ΠΊΠΈΠ΅ Π²Ρ…ΠΎΠ΄Ρ‹ Π½Π° графичСском ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ элСмСнта ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½Ρ‹ Π½Π°ΠΊΠ»ΠΎΠ½Π½ΠΎΠΉ Ρ‡Π΅Ρ€Ρ‚ΠΎΠΉ. Π€Π°ΠΊΡ‚ наличия ΠΏΠ΅Ρ€Π΅Π΄Π½Π΅Π³ΠΎ Ρ„Ρ€ΠΎΠ½Ρ‚Π° фиксируСтся ΠΏΡ€ΠΈ любом ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ сигнала Π² Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ сторону (Si > Si-1). Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠ΅ логичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сигнала "1" для логичСской "1" ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сигнала "0" для логичСского "0".

Π’ΠΎΡ‡ΠΊΠΈ рСгулирования ΠΈ контроля

Π’ΠΎΡ‡ΠΊΠ° рСгулирования являСтся составной Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ (HMI). ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ‚ΠΎΡ‡Π΅ΠΊ рСгулирования ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ значСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ схСмы.

Π’ΠΎΡ‡ΠΊΠ° контроля являСтся составной Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ (HMI). ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ‚ΠΎΡ‡Π΅ΠΊ контроля ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ значСния сигналов Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… цСпях схСмы.

БСтСвая пСрСмСнная

Π‘Π΅Ρ‚Π΅Π²Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ слуТат для ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌΠΈ ΠΏΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ сСти. Π’ схСмС ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ сСтСвыС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. КаТдая сСтСвая пСрСмСнная идСнтифицируСтся Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сигнала ΠΏΠΎΠ΄Π°Π½Π½ΠΎΠ΅ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π½ΡƒΡŽ ΡΠ΅Ρ‚Π΅Π²ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ становится доступным Ρ‡Π΅Ρ€Π΅Π· ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Π½ΠΎΠΌΠ΅Ρ€ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ сСтСвыС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, описанныС Π² схСмах Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ…, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ сСти.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ схСмы

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ простой схСмы ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° рисункС:

fbd demo

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ расчСта содСрТит ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ограничСния:

  • Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²Ρ‹Ρ…ΠΎΠ΄Π°
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… (tSignal). Π­Ρ‚ΠΎ относится ΠΊΠΎ всСм Π²Ρ…ΠΎΠ΄Π°ΠΌ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π°ΠΌ всСх элСмСнтов, значСниям сигналов Ρ†Π΅ΠΏΠ΅ΠΉ, констант. Π Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… опрСдСляСтся ΠΏΡ€ΠΈ компиляции ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΈΠΏ Ρ†Π΅Π»ΠΎΠ΅ число со Π·Π½Π°ΠΊΠΎΠΌ.

ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

Один Ρ†ΠΈΠΊΠ» вычислСния схСмы производится Π² Ρ…ΠΎΠ΄Π΅ выполнСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ fbdDoStep(). Π’ Ρ…ΠΎΠ΄Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° производится расчСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ всСх элСмСнтов схСмы ΠΈ установка Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ всСх сСтСвых ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ². ВрСмя расчСта зависит ΠΎΡ‚ мноТСства Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ², Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΎΡ‚ количСства ΠΈ Ρ‚ΠΈΠΏΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… элСмСнтов Π² схСмС. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ тСстирования Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния нСбольшой схСмы ΠΈΠ· 10 элСмСнтов ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅:

CPU@FreqΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€Π”Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ циклаРасчСт ΠΎΠ΄Π½ΠΎΠ³ΠΎ элСмСнта (срСднСС)
PIC18@9.83x4MHzxc8 v1.21~5ms~500Β΅s
Si8051@48MHzKeil C51~2.5ms~250Β΅s
ARM920T@180MHzgcc v4.1.2~61Β΅s~6.1Β΅s
STMF437@168MHzKeil~31Β΅s~3.1Β΅s
i7-3770K@3.5GHzgcc v4.4.1~279ns~27.9ns

Описания элСмСнтов

Π’Ρ…ΠΎΠ΄Ρ‹/Π’Ρ‹Ρ…ΠΎΠ΄Ρ‹/ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹/ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

Π’Ρ…ΠΎΠ΄

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚. Π’Ρ…ΠΎΠ΄ΠΎΠ² Ρƒ элСмСнта Π½Π΅Ρ‚. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ являСтся источником значСния сигнала для Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΊ Π½Π΅ΠΌΡƒ элСмСнтов. Π’ зависимости ΠΎΡ‚ настроСк, элСмСнт ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

Бвязь с Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°

inpin

Π’ этом случаС Ρƒ элСмСнта имССтся ΠΎΠ΄ΠΈΠ½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€: Π½ΠΎΠΌΠ΅Ρ€ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. Π’Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сигнала элСмСнта зависит ΠΎΡ‚ Π½ΠΎΠΌΠ΅Ρ€Π° ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π° ΠΈ особСнностСй Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для получСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… дискрСтных Π²Ρ…ΠΎΠ΄ΠΎΠ², Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹, давлСния, АЦП ΠΈ Ρ‚.ΠΏ. АктивноС состояниС дискрСтного Π²Ρ…ΠΎΠ΄Π° (Π·Π°ΠΌΠΊΠ½ΡƒΡ‚, ΠΏΠΎΠ΄Π°Π½ΠΎ напряТСниС) Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ сигнала "1".

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Π°

const

Π’ этом случаС Ρƒ элСмСнта имССтся ΠΎΠ΄ΠΈΠ½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€: Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ константы. Π’Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сигнала элСмСнта всСгда соотвСтствуСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° (константС).

Π’ΠΎΡ‡ΠΊΠ° рСгулирования

sp

Π’ΠΎΡ‡ΠΊΠ° рСгулирования Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ возмоТности ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ настроСк, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΈ вычислСнии схСмы. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ константы, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ сигнала элСмСнта ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΌ пСрсоналом (ΠΈΠ»ΠΈ Π½Π°Π»Π°Π΄Ρ‡ΠΈΠΊΠΎΠΌ) ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. ИзмСнСниС значСния Ρ‚ΠΎΡ‡ΠΊΠΈ Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Ρ‡Π΅Ρ€Π΅Π· срСдства Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎ-машинного интСрфСйса (HMI) ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° (ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρƒ, ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΈ Ρ‚.ΠΏ.). Π’ΠΎΡ‡ΠΊΠ° рСгулирования ΠΈΠΌΠ΅Π΅Ρ‚ 4 ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°: Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, минимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, тСкстовая строка с описаниСм.

Входная сСтСвая пСрСмСнная

invar

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° прСдусматриваСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ ΡΠ΅Ρ‚ΡŒ, которая ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ нСсколько ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Ρ… ΠΈΠ»ΠΈ Ρ€Π°Π·Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ². Вакая ΡΠ΅Ρ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ построСна с использованиСм интСрфСйсов Ethernet, RS-485, CAN ΠΈ Ρ‚.ΠΏ. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ сигнала соотвСтствуСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΌΡƒ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΏΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ сСти. Π£ элСмСнта Π΅ΡΡ‚ΡŒ Π΄Π²Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°: Π½ΠΎΠΌΠ΅Ρ€ сСтСвой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ "ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ". ПослСдниС ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΏΠΎ сСти значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² NVRAM ΠΈ доступны Π² дальнСйшСм ΠΏΡ€ΠΈ возникшСй нСисправности сСти, Π² Ρ‚ΠΎΠΌ числС послС Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сСтСвой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ "ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ" ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½ΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π΄ΠΎ получСния Π½ΠΎΠ²ΠΎΠ³ΠΎ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ· сСти.

Π’Ρ‹Ρ…ΠΎΠ΄

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚. Π’Ρ‹Ρ…ΠΎΠ΄ΠΎΠ² Ρƒ элСмСнта Π½Π΅Ρ‚. Π’ зависимости ΠΎΡ‚ настроСк, элСмСнт ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΄Π²Π΅ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

Бвязь с Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹ΠΌ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°

outpin

Π£ элСмСнта имССтся ΠΎΠ΄ΠΈΠ½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€: Π½ΠΎΠΌΠ΅Ρ€ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ значСния зависит ΠΎΡ‚ особСнностСй Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для управлСния дискрСтными ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹ΠΌΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π°ΠΌΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°.

Выходная сСтСвая пСрСмСнная

outvar

Π£ элСмСнта имССтся ΠΎΠ΄ΠΈΠ½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€: Π½ΠΎΠΌΠ΅Ρ€ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ сСтСвой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π°Π½Π½ΠΎΠ³ΠΎ Π½Π° Π²Ρ…ΠΎΠ΄ элСмСнта сигнала пСрСдаСтся ΠΏΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ сСти ΠΈ доступно Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ… Ρ‡Π΅Ρ€Π΅Π· элСмСнт "Входная сСтСвая пСрСмСнная". НС рСкомСндуСтся ΠΈΠΌΠ΅Ρ‚ΡŒ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΠ΄Π½ΠΎΠΉ схСмы элСмСнты "Входная сСтСвая пСрСмСнная" ΠΈ "Выходная сСтСвая пСрСмСнная" с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌΠΈ.

ЛогичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Π˜Π½Π²Π΅Ρ€ΡΠΈΡ (NOT)

not

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ выполняСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ логичСской инвСрсии "NOT". Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ Π²Ρ…ΠΎΠ΄ ΠΈ ΠΎΠ΄ΠΈΠ½ Π²Ρ‹Ρ…ΠΎΠ΄. Π’Π°Π±Π»ΠΈΡ†Π° истинности:

Π’Ρ…ΠΎΠ΄Π’Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ сигнал
ЛогичСский "0"1
ЛогичСская "1"0

ЛогичСскоС "И" (AND)

and

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ выполняСт Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ "И" ("AND"). Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° Π²Ρ…ΠΎΠ΄Π° ΠΈ ΠΎΠ΄ΠΈΠ½ Π²Ρ‹Ρ…ΠΎΠ΄. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ настройку инвСртирования Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ сигнала. Π’Π°Π±Π»ΠΈΡ†Π° истинности:

Π’Ρ…ΠΎΠ΄ 1Π’Ρ…ΠΎΠ΄ 2Π’Ρ‹Ρ…ΠΎΠ΄Π˜Π½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π²Ρ‹Ρ…ΠΎΠ΄
ЛогичСский "0"Π›ΡŽΠ±ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅01
Any valueЛогичСский "0"01
ЛогичСская "1"ЛогичСская "1"10

ЛогичСскоС "Π˜Π›Π˜" (OR)

or

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ выполняСт Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ "Π˜Π›Π˜" ("OR"). Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° Π²Ρ…ΠΎΠ΄Π° ΠΈ ΠΎΠ΄ΠΈΠ½ Π²Ρ‹Ρ…ΠΎΠ΄. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ настройку инвСртирования Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ сигнала. Π’Π°Π±Π»ΠΈΡ†Π° истинности:

Π’Ρ…ΠΎΠ΄ 1Π’Ρ…ΠΎΠ΄ 2Π’Ρ‹Ρ…ΠΎΠ΄Π˜Π½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π²Ρ‹Ρ…ΠΎΠ΄
ЛогичСский "0"ЛогичСский "0"01
ЛогичСская "1"Π›ΡŽΠ±ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅10
Π›ΡŽΠ±ΠΎΠ΅ значСниСЛогичСская "1"10

ЛогичСскоС "Π˜ΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ Π˜Π›Π˜" (XOR)

xor

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ выполняСт Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ "Π˜ΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ Π˜Π›Π˜" ("XOR"). Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° Π²Ρ…ΠΎΠ΄Π° ΠΈ ΠΎΠ΄ΠΈΠ½ Π²Ρ‹Ρ…ΠΎΠ΄. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ настройку инвСртирования Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ сигнала. Π’Π°Π±Π»ΠΈΡ†Π° истинности:

Π’Ρ…ΠΎΠ΄ 1Π’Ρ…ΠΎΠ΄ 2Π’Ρ‹Ρ…ΠΎΠ΄Π˜Π½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π²Ρ‹Ρ…ΠΎΠ΄
ЛогичСский "0"ЛогичСский "0"01
ЛогичСский "0"ЛогичСская "1"10
ЛогичСская "1"ЛогичСский "0"10
ЛогичСская "1"ЛогичСская "1"01

Π’Ρ€ΠΈΠ³Π³Π΅Ρ€Ρ‹

RS - Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€

rs

RS - Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° Π²Ρ…ΠΎΠ΄Π° (R-Reset ΠΈ S-Set) ΠΈ ΠΎΠ΄ΠΈΠ½ Π²Ρ‹Ρ…ΠΎΠ΄ (Q).

RS - Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€, сохраняСт своё ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π΅ состояниС ΠΏΡ€ΠΈ Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ состоянии ΠΎΠ±ΠΎΠΈΡ… Π²Ρ…ΠΎΠ΄ΠΎΠ² (сигнал логичСского "0") ΠΈ измСняСт своё состояниС ΠΏΡ€ΠΈ ΠΏΠΎΠ΄Π°Ρ‡Π΅ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π΅Π³ΠΎ Π²Ρ…ΠΎΠ΄ΠΎΠ² сигнала логичСской "1". Пока Π½Π° Π²Ρ…ΠΎΠ΄Ρ‹ R ΠΈ S ΠΏΠΎΠ΄Π°Π½ сигнал логичСский "0", Π²Ρ‹Ρ…ΠΎΠ΄ Q находится Π² Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΠΌ состоянии. Если Π½Π° Π²Ρ…ΠΎΠ΄ S (Set) ΠΏΠΎΠ΄Π°Ρ‚ΡŒ сигнал логичСская "1", Ρ‚ΠΎ сигнал Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Q ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ "1". Если Π½Π° Π²Ρ…ΠΎΠ΄ R (Reset) ΠΏΠΎΠ΄Π°Ρ‚ΡŒ сигнал логичСская "1", Ρ‚ΠΎ сигнал Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Q ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ "0". ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π΅ сигнала Π½Π° Π²Ρ…ΠΎΠ΄Π΅ S ΠΈΠ»ΠΈ R Π² состояниС логичСского "0", сигнал Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Q сохраняСт своё ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. ΠŸΡ€ΠΈ ΠΏΠΎΠ΄Π°Ρ‡Π΅ Π½Π° ΠΎΠ±Π° Π²Ρ…ΠΎΠ΄Π° S ΠΈ R сигнала логичСская "1" состояниС Π²Ρ‹Ρ…ΠΎΠ΄Π° Q Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ настройку инвСртирования Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ сигнала.

Π’Π°Π±Π»ΠΈΡ†Π° истинности:

SRQnextДСйствиС
00QΠ₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅
010Бброс
101Установка
11?НС Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ измСняСт своё состояниС, Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сохраняСтся Π² энСргонСзависимой памяти NVRAM (ΠΏΡƒΡ‚Ρ‘ΠΌ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ FBDsetProc(1, index, *value)). ΠŸΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ схСмы, Ρ€Π°Π½Π΅Π΅ сохранённыС значСния Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π° Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ (ΠΏΡƒΡ‚Ρ‘ΠΌ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ FBDgetProc(1, index)).

D - Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€

d

D - Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° Π²Ρ…ΠΎΠ΄Π° (D-Data ΠΈ C-Clock) ΠΈ ΠΎΠ΄ΠΈΠ½ Π²Ρ‹Ρ…ΠΎΠ΄ (Q).

D - Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΏΠ΅Ρ€Π΅ΠΏΠ°Π΄Π΅ (нарастании) сигнала Π½Π° Π²Ρ…ΠΎΠ΄Π΅ C Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ состояниС Π²Ρ…ΠΎΠ΄Π° D ΠΈ Π²Ρ‹Π΄Π°Ρ‘Ρ‚ Π΅Π³ΠΎ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄ Q. ΠŸΡ€ΠΈ отсутствии ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠ°Π΄Π° Π½Π° Π²Ρ…ΠΎΠ΄Π΅ C, состояниС Π²Ρ‹Ρ…ΠΎΠ΄Π° Q сохраняСтся постоянным.

Π’Π°Π±Π»ΠΈΡ†Π° истинности:

DCQnextДСйствиС
Π›ΡŽΠ±ΠΎΠ΅ значСниСНарастаниСDΠ—Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅
Π›ΡŽΠ±ΠΎΠ΅ значСниСНСт нарастанияБохранённоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ DΠ₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… D - Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ΠΎΠ² значСния сигнала Π½Π° Π²Ρ…ΠΎΠ΄Π΅ D ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Q ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ любоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ "0" ΠΈ "1").

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ измСняСт своё состояниС, Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сохраняСтся Π² энСргонСзависимой памяти NVRAM (ΠΏΡƒΡ‚Ρ‘ΠΌ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ FBDsetProc(1, index, *value)). ΠŸΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ схСмы, Ρ€Π°Π½Π΅Π΅ сохранённыС значСния Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π° Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ (ΠΏΡƒΡ‚Ρ‘ΠΌ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ FBDgetProc(1, index)).

Π‘Ρ‡Ρ‘Ρ‚Ρ‡ΠΈΠΊ

cnt

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Ρ€ΠΈ Π²Ρ…ΠΎΠ΄Π° ΠΈ ΠΎΠ΄ΠΈΠ½ Π²Ρ‹Ρ…ΠΎΠ΄. Если Π½Π° Π²Ρ…ΠΎΠ΄ R (Reset) ΠΏΠΎΠ΄Π°Π½ сигнал логичСской "1", Ρ‚ΠΎ сигнал Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Q ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ "0" (сброс счётчика). Если Π½Π° Π²Ρ…ΠΎΠ΄ R ΠΏΠΎΠ΄Π°Π½ сигнал логичСского "0", Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сигнала Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Q увСличиваСтся Π½Π° 1 ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΏΠ΅Ρ€Π΅ΠΏΠ°Π΄Π΅ Π½Π° Π²Ρ…ΠΎΠ΄Π΅ "+" ΠΈΠ»ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ Π½Π° 1 ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΏΠ΅Ρ€Π΅ΠΏΠ°Π΄Π΅ Π½Π° Π²Ρ…ΠΎΠ΄Π΅ "-". ΠŸΡ€ΠΈ отсутствии ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠ°Π΄Π° Π½Π° Π²Ρ…ΠΎΠ΄Π°Ρ… "+" ΠΈ "-" Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сигнала Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Q Π½Π΅ измСняСтся.

Π’Π°Π±Π»ΠΈΡ†Π° истинности:

+-RQnextДСйствиС
Π›ΡŽΠ±ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Π›ΡŽΠ±ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅10Бброс
НарастаниСНСт нарастания0Q+1Π£Π²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° 1
НСт нарастанияНарастаниС0Q-1УмСньшСниС Π½Π° 1
НСт нарастанияНСт нарастания0QНСт ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
НарастаниСНарастаниС0QНСт ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° счётчик измСняСт своё состояниС, Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сохраняСтся Π² энСргонСзависимой памяти NVRAM (ΠΏΡƒΡ‚Ρ‘ΠΌ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ FBDsetProc(1, index, *value)). ΠŸΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ схСмы, Ρ€Π°Π½Π΅Π΅ сохранённыС значСния счётчика Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ (ΠΏΡƒΡ‚Ρ‘ΠΌ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ FBDgetProc(1, index)).

АрифмСтичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅

add

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° Π²Ρ…ΠΎΠ΄Π° ΠΈ ΠΎΠ΄ΠΈΠ½ Π²Ρ‹Ρ…ΠΎΠ΄. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ сигнала вычисляСтся, ΠΊΠ°ΠΊ арифмСтичСская сумма Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ сигналов Π½Π° Π²Ρ…ΠΎΠ΄Π°Ρ….

Π’Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅

sub

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° Π²Ρ…ΠΎΠ΄Π° ΠΈ ΠΎΠ΄ΠΈΠ½ Π²Ρ‹Ρ…ΠΎΠ΄. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ сигнала вычисляСтся, ΠΊΠ°ΠΊ арифмСтичСская Ρ€Π°Π·Π½ΠΎΡΡ‚ΡŒ сигнала Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΌ (ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅ΠΌΠΎΠ΅) ΠΈ Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΌ (Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠ΅) Π²Ρ…ΠΎΠ΄Π°Ρ….

Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅

mul

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° Π²Ρ…ΠΎΠ΄Π° ΠΈ ΠΎΠ΄ΠΈΠ½ Π²Ρ‹Ρ…ΠΎΠ΄. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ сигнала вычисляСтся, ΠΊΠ°ΠΊ арифмСтичСскоС ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ сигналов Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΌ Π²Ρ…ΠΎΠ΄Π°Ρ….

Π”Π΅Π»Π΅Π½ΠΈΠ΅

div

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° Π²Ρ…ΠΎΠ΄Π° ΠΈ ΠΎΠ΄ΠΈΠ½ Π²Ρ‹Ρ…ΠΎΠ΄. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ сигнала вычисляСтся, ΠΊΠ°ΠΊ арифмСтичСскоС Π΄Π΅Π»Π΅Π½ΠΈΠ΅ значСния сигнала Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΌ Π²Ρ…ΠΎΠ΄Π΅ (Π΄Π΅Π»ΠΈΠΌΠΎΠ΅) Π½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сигнала Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΌ Π²Ρ…ΠΎΠ΄Π΅ (Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ).

ΠžΡΠΎΠ±Ρ‹Π΅ случаи:

Π’Ρ…ΠΎΠ΄ 1Π’Ρ…ΠΎΠ΄ 2Π’Ρ‹Ρ…ΠΎΠ΄
001
Π›ΡŽΠ±ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅0MAX_SIGNAL
Π›ΡŽΠ±ΠΎΠ΅ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅0MIN_SIGNAL

О Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° 0 нСльзя я знаю. :-)

ΠΠ±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

abs

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ Π²Ρ…ΠΎΠ΄ ΠΈ ΠΎΠ΄ΠΈΠ½ Π²Ρ‹Ρ…ΠΎΠ΄. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ сигнала Π΅ΡΡ‚ΡŒ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сигнала Π½Π° Π²Ρ…ΠΎΠ΄Π΅.

Π‘ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

ΠŸΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ логичСскоС "И"

band

ΠŸΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ «И» β€” это бинарная опСрация, дСйствиС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ эквивалСнтно ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡŽ логичСского «И» ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ°Ρ€Π΅ Π±ΠΈΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ стоят Π½Π° ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… позициях Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… прСдставлСниях Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… сигналов. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, Ссли ΠΎΠ±Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π±ΠΈΡ‚Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… сигналов Ρ€Π°Π²Π½Ρ‹ 1, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ разряд Ρ€Π°Π²Π΅Π½ 1; Ссли ΠΆΠ΅ хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ Π±ΠΈΡ‚ ΠΈΠ· ΠΏΠ°Ρ€Ρ‹ Ρ€Π°Π²Π΅Π½ 0, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ разряд Ρ€Π°Π²Π΅Π½ 0.

ΠŸΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ логичСскоС "Π˜Π›Π˜"

bor

ΠŸΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ Β«Π˜Π›Π˜Β» β€” это бинарная опСрация, дСйствиС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ эквивалСнтно ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡŽ логичСского Β«Π˜Π›Π˜Β» ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ°Ρ€Π΅ Π±ΠΈΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ стоят Π½Π° ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… позициях Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… прСдставлСниях Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… сигналов. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, Ссли ΠΎΠ±Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π±ΠΈΡ‚Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… сигналов Ρ€Π°Π²Π½Ρ‹ 0, Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ разряд Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Ρ€Π°Π²Π΅Π½ 0; Ссли ΠΆΠ΅ хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ Π±ΠΈΡ‚ ΠΈΠ· ΠΏΠ°Ρ€Ρ‹ Ρ€Π°Π²Π΅Π½ 1, Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ разряд Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Ρ€Π°Π²Π΅Π½ 1.

ΠŸΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ логичСскоС "Π˜ΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ Π˜Π›Π˜"

bxor

Π˜ΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅Β« Π˜Π›Π˜Β» (слоТСниС ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ 2) β€” это бинарная опСрация, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ дСйствия ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π²Π΅Π½ 1, Ссли число складываСмых Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½Ρ‹Ρ… Π±ΠΈΡ‚ΠΎΠ² Π½Π΅Ρ‡Ρ‘Ρ‚Π½ΠΎ ΠΈ Ρ€Π°Π²Π΅Π½ 0, Ссли Ρ‡Ρ‘Ρ‚Π½ΠΎ. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, Ссли ΠΎΠ±Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π±ΠΈΡ‚Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… сигналов Ρ€Π°Π²Π½Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ собой, Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ разряд Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Ρ€Π°Π²Π΅Π½ 0; Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС, Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ разряд Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Ρ€Π°Π²Π΅Π½ 1.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ рСгулирования

РСгулятор

pid

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Π²Ρ…ΠΎΠ΄Π° ΠΈ ΠΎΠ΄ΠΈΠ½ Π²Ρ‹Ρ…ΠΎΠ΄. Π’Ρ…ΠΎΠ΄Ρ‹:

  • U - Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ процСсса (обратная связь)
  • REF - Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ достигнуто Π² процСссС рСгулирования (уставка)
  • DT - врСмя Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ рСгулятора (мс)
  • P - коэффициСнт ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

Π’Ρ‹Ρ…ΠΎΠ΄ Q - сигнал влияния Π½Π° Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ процСсс.

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ мноТСства Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ, Π΄Π°Π½Π½Ρ‹ΠΉ элСмСнт Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ PID рСгулирования. ВмСсто этого ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π­ΠΉΠ»Π΅Ρ€Π°-Π›Π°Π³Ρ€Π°Π½ΠΆΠ°, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ простоту настройки, Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ сходимости ΠΈ отсутствиС склонности ΠΊ возникновСнию ΠΊΠΎΠ»Π΅Π±Π°Π½ΠΈΠΉ. Π”Π°Π½Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ стыковкС космичСских Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΠΎΠ². ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΈΠ· ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹, Π½Π° сайтС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Wikipedia имССтся ΡΡ‚Π°Ρ‚ΡŒΡ, которая поясняСт Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π² исходном ΠΊΠΎΠ΄Π΅ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ….

Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ‚ΠΎΡ€

sum

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для интСгрирования (суммирования) Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ значСния Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ сигнала. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ совмСстно с описанным Π²Ρ‹ΡˆΠ΅ рСгулятором. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Ρ€ΠΈ Π²Ρ…ΠΎΠ΄Π° ΠΈ ΠΎΠ΄ΠΈΠ½ Π²Ρ‹Ρ…ΠΎΠ΄. Π’Ρ…ΠΎΠ΄Ρ‹:

  • X - ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ сигнал
  • DT - врСмя интСгрирования (мс)
  • Lim - ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ значСния Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ сигнала

Π’Ρ‹Ρ…ΠΎΠ΄ Q - Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Π° (суммы).

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ DT Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ сигнала X складываСтся с Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½Π½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ. Если Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ большС значСния Lim ΠΈΠ»ΠΈ мСньшС значСния -Lim, Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ограничиваСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Lim ΠΈΠ»ΠΈ -Lim. Π‘ΠΈΠ³Π½Π°Π» Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Q ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°.

Π’Π°ΠΉΠΌΠ΅Ρ€Ρ‹

Π’Π°ΠΉΠΌΠ΅Ρ€ TON

ton

TON - это Ρ‚Π°ΠΉΠΌΠ΅Ρ€ с Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован Π² Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°Ρ… пСриодичСских сигналов ΠΈ счСтчиках Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° Π²Ρ…ΠΎΠ΄Π° ΠΈ ΠΎΠ΄ΠΈΠ½ Π²Ρ‹Ρ…ΠΎΠ΄:

  • D - запуск Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°
  • T - Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ (мс)
  • Q - Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ логичСский сигнал

Если Π½Π° Π²Ρ…ΠΎΠ΄Π΅ D присутствуСт сигнал логичСского "0", Ρ‚ΠΎ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Q всСгда сигнал "0". Если Π½Π° Π²Ρ…ΠΎΠ΄ D ΠΏΠΎΠ΄Π°Ρ‚ΡŒ сигнал логичСской "1", Ρ‚ΠΎ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Q появится сигнал "1" Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ сигналу Π½Π° Π²Ρ…ΠΎΠ΄Π΅ T. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ настройку, ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‰ΡƒΡŽ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ сигнала.

Π’Π°Π±Π»ΠΈΡ†Π° истинности:

DΠ£ΡΠ»ΠΎΠ²ΠΈΠ΅Π’Ρ‹Ρ…ΠΎΠ΄Π˜Π½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π²Ρ‹Ρ…ΠΎΠ΄
ЛогичСский "0"Π›ΡŽΠ±ΠΎΠ΅01
ЛогичСская "1"ВрСмя T Π½Π΅ истСкло01
ЛогичСская "1"ВрСмя T истСкло10

ВрСмСнная Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° TON:

dton

Π’Π°ΠΉΠΌΠ΅Ρ€ TP

tp

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° Π²Ρ…ΠΎΠ΄Π° ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄:

  • D - запуск Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°
  • T - врСмя Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ (мс)
  • Q - Π²Ρ‹Ρ…ΠΎΠ΄

ΠŸΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Ρ€ΠΎΠ½Ρ‚ сигнала Π½Π° Π²Ρ…ΠΎΠ΄Π΅ D запускаСт Ρ‚Π°ΠΉΠΌΠ΅Ρ€ ΠΈ устанавливаСт Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Q Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сигнала "1". По истСчСнии Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ T Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ сигнала ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ "0". Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ настройку, ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‰ΡƒΡŽ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ сигнала.

ВрСмСнная Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° TP:

dtp

Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€

gen

Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован для формирования пСриодичСских сигналов Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° Π²Ρ…ΠΎΠ΄Π° ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄:

  • A - Π°ΠΌΠΏΠ»ΠΈΡ‚ΡƒΠ΄Π° Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ сигнала
  • T - ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (мс)
  • Q - Π²Ρ‹Ρ…ΠΎΠ΄

Если Π½Π° Π²Ρ…ΠΎΠ΄Π΅ T присутствуСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сигнала мСньшСС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎΠ΅ "0", Ρ‚ΠΎ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ остановлСн ΠΈ Π½Π° Π΅Π³ΠΎ Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Q формируСтся сигнал со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ "0". ΠŸΡ€ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ сигнала Π½Π° Π²Ρ…ΠΎΠ΄Π΅ T Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Q пСриодичСский сигнал с Π°ΠΌΠΏΠ»ΠΈΡ‚ΡƒΠ΄ΠΎΠΉ A ΠΈ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΎΠΌ T. Π’ зависимости ΠΎΡ‚ настройки элСмСнта, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ схСмы, Ρ„ΠΎΡ€ΠΌΠ° сигнала ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π²ΠΈΠ΄ΠΎΠ²:

  • ΠŸΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΡ‹ (ΠΌΠ΅Π°Π½Π΄Ρ€ со значСниями сигнала "0" ΠΈ "A")
  • ΠŸΠΈΠ»ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹ΠΉ сигнал (сигнал с Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ Π½Π°Ρ€Π°ΡΡ‚Π°ΡŽΡ‰ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ сбросом Π² "0")
  • Π˜ΠΌΠΏΡƒΠ»ΡŒΡΡ‹ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹
  • Π‘ΠΈΠ½ΡƒΡΠΎΠΈΠ΄Π°Π»ΡŒΠ½Ρ‹ΠΉ сигнал

dgen

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сигнала Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Q Π»Π΅ΠΆΠΈΡ‚ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ "0" Π΄ΠΎ "A" для Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΌΠ΅Π°Π½Π΄Ρ€Π°, ΠΏΠΈΠ»ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Ρ… ΠΈ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ². Для Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΡΠΈΠ½ΡƒΡΠΎΠΈΠ΄Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ сигнала Π²Ρ‹Ρ…ΠΎΠ΄ Q ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚ "-A" Π΄ΠΎ "A".

Π‘Ρ‚Π΅ΠΏΠ΅Π½ΡŒ достовСрности Ρ„ΠΎΡ€ΠΌΡ‹ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ сигнала Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° зависит ΠΎΡ‚ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° сигнала ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния расчСта схСмы. РСкомСндуСтся ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° T большим, Ρ‡Π΅ΠΌ врСмя расчСта ΠΎΠ΄Π½ΠΎΠ³ΠΎ шага схСмы ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ Π½Π° коэффициСнт 15-20. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Ρ„ΠΎΡ€ΠΌΠ° Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ сигнала Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠΉ.

ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ элСмСнты

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅

cmp

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° Π²Ρ…ΠΎΠ΄Π° ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄, выполняСт сравнСниС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ сигналов Π½Π° Π²Ρ…ΠΎΠ΄Π°Ρ… 1 ΠΈ 2. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ настройку, ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‰ΡƒΡŽ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ сигнала. Π’Π°Π±Π»ΠΈΡ†Π° истинности:

Π£ΡΠ»ΠΎΠ²ΠΈΠ΅Π’Ρ‹Ρ…ΠΎΠ΄Π˜Π½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π²Ρ‹Ρ…ΠΎΠ΄
Input1Val > Input2Val10
Input1Val <= Input2Val01

ВычислСниС максимума

max

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° Π²Ρ…ΠΎΠ΄Π° ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄. Π’Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сигнала соотвСтствуСт Π²Ρ…ΠΎΠ΄Π½ΠΎΠΌΡƒ сигналу с ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ. Π’Π°Π±Π»ΠΈΡ†Π° истинности:

УсловиСВыход
Input1Val > Input2ValInput1Val
Input1Val <= Input2ValInput2Val

ВычислСниС ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠ°

min

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° Π²Ρ…ΠΎΠ΄Π° ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄. Π’Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сигнала соотвСтствуСт Π²Ρ…ΠΎΠ΄Π½ΠΎΠΌΡƒ сигналу с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ. Π’Π°Π±Π»ΠΈΡ†Π° истинности:

УсловиСВыход
Input1Val > Input2ValInput2Val
Input1Val <= Input2ValInput1Val

ΠœΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»Π΅ΠΊΡΠΎΡ€

ms

Π Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹ΠΉ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»Π΅ΠΊΡΠΎΡ€. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡΡ‚ΡŒ Π²Ρ…ΠΎΠ΄ΠΎΠ² (D0-D3, A) ΠΈ ΠΎΠ΄ΠΈΠ½ Π²Ρ‹Ρ…ΠΎΠ΄. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ сигнала соотвСтствуСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ сигнала Π½Π° Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌ Π²Ρ…ΠΎΠ΄Π΅ D0-D3. Π’Ρ‹Π±ΠΎΡ€ Π²Ρ‹Ρ…ΠΎΠ΄Π° производится Π½Π° основании значСния сигнала Π½Π° Π²Ρ…ΠΎΠ΄Π΅ A. Π’Π°Π±Π»ΠΈΡ†Π° истинности:

AΠ’Ρ‹Ρ…ΠΎΠ΄ Q
0D0
1D1
2D2
3D3

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒ

lim

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒ сигнала ΠΈΠΌΠ΅Π΅Ρ‚ 3 Π²Ρ…ΠΎΠ΄Π° ΠΈ ΠΎΠ΄ΠΈΠ½ Π²Ρ‹Ρ…ΠΎΠ΄:

  • D - Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ сигнал
  • MX - Π²Π΅Ρ€Ρ…Π½Π΅Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ сигнала
  • MN - Π½ΠΈΠΆΠ½Π΅Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ сигнала

Π’Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сигнала элСмСнта соотвСтствуСт Π²Ρ…ΠΎΠ΄Π½ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΌΡƒ значСниями сигналов Π½Π° Π²Ρ…ΠΎΠ΄Π°Ρ… MX (Π²Π΅Ρ€Ρ…Π½Π΅Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅) ΠΈ MN (Π½ΠΈΠΆΠ½Π΅Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅).

Установка ΠΈ настройка Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

Установка Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² fbdrt.h ΠΈ fbdrt.c Π² свой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Настройка состоит Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° fbdrt.h Π² соотвСтствии со своими трСбованиями.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ опрСдСлСния Π² Ρ„Π°ΠΉΠ»Π΅ fbdrt.h:

  1. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для хранСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ сигналов.
  2. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для индСкса элСмСнтов.
  3. Если Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ опрСдСлСния ROM_CONST ΠΈ DESCR_MEM.
  4. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ использования ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎ скорости выполнСния (ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ SPEED_OPT).
  5. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ HMI (ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ USE_HMI).
  6. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ свою Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ FBDgetProc() ΠΈ FBDsetProc().
  7. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ экраны HMI Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ свою Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ FBDdrawXXXXXX().

ΠžΡ‚ Π²Ρ‹Π±ΠΎΡ€Π° Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… для хранСния сигналов зависит Ρ‚ΠΎ, сигналы ΠΊΠ°ΠΊΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ смоТСт ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ваша схСма. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΡ‚ этого Π²Ρ‹Π±ΠΎΡ€Π° зависят объСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ объСм ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Сю памяти ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ расчСта схСмы. Для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… встариваСмых ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π°ΠΆΠ½Ρ‹ΠΌ. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Ρ†Π΅Π»ΠΎΠ³ΠΎ числа со Π·Π½Π°ΠΊΠΎΠΌ. Если Π²Ρ‹ Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ Π² Π²Ρ‹Π±ΠΎΡ€Π΅, Ρ‚ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ Π½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ "ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ": 32-Ρ… Π±ΠΈΡ‚Π½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число со Π·Π½Π°ΠΊΠΎΠΌ. Π’Ρ‹Π±ΠΎΡ€ Ρ‚ΠΈΠΏΠ° производится установкой значСния опрСдСлСния SIGNAL_SIZE:

// Ρ€Π°Π·ΠΌΠ΅Ρ€ памяти для сигнала схСмы (1, 2 ΠΈΠ»ΠΈ 4)
#define SIGNAL_SIZE 4

Π’Ρ‹Π±ΠΎΡ€ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… для индСкса элСмСнта опрСдСляСт ΠΊΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ элСмСнтов ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π² вашСй схСмС. Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ хранСния Ρ†Π΅Π»Ρ‹Ρ… чисСл Π±Π΅Π· Π·Π½Π°ΠΊΠ°. Π’Ρ‹Π±ΠΎΡ€ Ρ‚ΠΈΠΏΠ° производится установкой значСния опрСдСлСния INDEX_SIZE. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ свой Π²Ρ‹Π±ΠΎΡ€ Π½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ "ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ" 2, Π² этом случаС Π² вашСй схСмС ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄ΠΎ 65535 элСмСнтов.

// Ρ€Π°Π·ΠΌΠ΅Ρ€ пямяти для индСкса элСмСнта (1 ΠΈΠ»ΠΈ 2)
#define INDEX_SIZE 2

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡ ROM_CONST ΠΈ DESCR_MEM ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для описания памяти Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ константы ΠΈ массив описания схСмы соотвСтствСнно. ЗначСния зависят ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Π²Π°ΠΌΠΈ компилятора. Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, ΠΏΡ€ΠΈ использовании компилятора xc8 (Microchip) ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² памяти FLASH Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ const:

// data in ROM/FLASH
#define ROM_CONST const
// schema description
#define DESCR_MEM const

ИспользованиС опрСдСлСния SPEED_OPT ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ врСмя расчСта схСмы ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π² 6 Ρ€Π°Π·(для срСдних ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… схСм), объСм Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ памяти RAM ΠΏΡ€ΠΈ этом увСличиваСтся ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π² 3 Ρ€Π°Π·Π°. Когда Π²Ρ‹ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ SPEED_OPT, Ρ‚ΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ производится ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ расчСт Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ† с указатСлями, использованиС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ врСмя расчСта схСмы.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ USE_HMI Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π² случаС, ΠΊΠΎΠ³Π΄Π° ваш PLC содСрТит срСдства ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ интрСрфСйса с Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ. Π’Π°ΠΊΠΈΠΌΠΈ срСдствами ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ экран ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ. Π‘ΡƒΠ΄ΡŒΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹: Ссли Π²Ρ‹ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ HMI Ρ‚ΠΎΡ‡ΠΊΠΈ управлСния Π±ΡƒΠ΄ΡƒΡ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅! ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

// needed if you use HMI functions
#define USE_HMI
// speed optimization reduces the calculation time, but increases the size of memory (RAM) required
#define SPEED_OPT

Если Π²Ρ‹ установили USE_HMI, Ρ‚ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ экранС вашСго ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π² опрСдСлСниях:

#define SCREEN_WIDTH 320
#define SCREEN_HEIGHT 240

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ FBDgetProc() ΠΈ FBDsetProc() слуТат для связи схСмы с Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π²Ρ…ΠΎΠ΄Π°ΠΌΠΈ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π°ΠΌΠΈ вашСго PLC.

Ѐункция FBDgetProc() ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для чтСния состояния Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… сигналов (ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ²) ΠΈΠ»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, сохранСнных Π² памяти NVRAM.

Ѐункция FBDsetProc() ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для записии Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… сигналов (ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ²) ΠΈΠ»ΠΈ для сохранСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ NVRAM.

РСализация этих Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ зависит ΠΎΡ‚ спСцифики Π²Π°ΡˆΠΈΡ… Π·Π°Π΄Π°Ρ‡. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€Π°Π²ΠΈΠ»:

  • Для дискрСтных Π²Ρ…ΠΎΠ΄ΠΎΠ² ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ значСния 0 ΠΈ 1. ΠŸΡ€ΠΈ этом Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0 Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ пассивному ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ: Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½, Ρ€Π°Π·ΠΎΠΌΠΊΠ½ΡƒΡ‚ ΠΈ Ρ‚.ΠΏ.
  • Для Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… Π²Ρ…ΠΎΠ΄ΠΎΠ² ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠ² значСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… прСдставлСны Π² ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½Ρ‹Ρ… Π΅Π΄ΠΈΠ½ΠΈΡ†Π°Ρ… измСрСния (градусы, Π±Π°Ρ€Ρ‹, Π²ΠΎΠ»ΡŒΡ‚Ρ‹) Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ эти значСния Π² Ρ†Π΅Π»Ρ‹Π΅ числа. НапримСр для Π²Ρ…ΠΎΠ΄Π° ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ Π΄Π°Ρ‚Ρ‡ΠΈΠΊ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒ 100, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ Π½Π° Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ΅ +10.5 C Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сигнала схСмы 1050.

НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΡΠΌΡƒΡŽ запись Π² EEPROM ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²Ρ‹Π·ΠΎΠ²Π΅ FBDsetProc(): Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π΄Π°Π»Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠ΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ состяния Ρ‚Ρ€ΠΈΠ³Π΅Ρ€ΠΎΠ², Ρ‚Π°ΠΉΠΌΠ΅Ρ€ΠΎΠ² ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°. Частая запись Π² EEPROM ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ срок Π΅Π΅ слуТбы. РСшСниСм ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ отлоТСнная запись ΠΈΠ»ΠΈ использованиС памяти RAM с ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ΠΌ ΠΎΡ‚ Π±Π°Ρ‚Π°Ρ€Π΅ΠΉΠΊΠΈ.

tSignal FBDgetProc(char type, tSignal index)
{
    switch(type) {
    case 0:
        printf(" request InputPin(%d)\n", index);
        return 0;
    case 1:
        printf(" request NVRAM(%d)\n", index);
        return 0;
    }
}

void FBDsetProc(char type, tSignal index, tSignal *value)
{
    switch(type)
    {
    case 0:
        printf(" set OutputPin(%d) to value %d\n", index, *value);
        break;
    case 1:
        printf(" set NVRAM(%d) to value %d\n", index, *value);
        break;
    }
}

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅

fbd alg

Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ

Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ схСмы Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π² Π½Π°Ρ‡Π°Π»Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΠΌΠΎΠΆΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ для сброса состояния схСмы. Для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ схСмы Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

int fbdInit(DESCR_MEM unsigned char *descr)

descr - ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° массив описания схСмы.

ΠžΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ:
-1 - Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ элСмСнта Π² описании схСмы;
-2 - нСсовпадСниС размСрности сигнала ΠΈΠ»ΠΈ элСмСнта;
-3 - массив описания содСрТит схСму с Π½Π΅ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ вСрсиСй;
-4 - ошибка ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ суммы описания схСмы.

ΠŸΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ - Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹ΠΉ объСм RAM для выполнСния схСмы.

Если Π²Ρ‹Π·ΠΎΠ² ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°ΠΈΠΈ схСмы Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ Π±Π΅Π· ошибок ΠΈ Π²Ρ‹ ΠΈΠΌΠ΅Π΅Ρ‚Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ объСм RAM, Ρ‚ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ шагом Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π²Ρ‹Π·ΠΎΠ² ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ памяти:

void fbdSetMemory(char *buf, bool needReset)

buf - ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π±ΡƒΡ„Π΅Ρ€ памяти, Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±ΡƒΡ„Π΅Ρ€Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ мСньшС Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Π΅Ρ€Π½ΡƒΠ» Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ fbdInit();
needReset - Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ сброса содСрТимого EEPROM.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ needReset Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ установлСн Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ TRUE послС записи Π² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π½ΠΎΠ²ΠΎΠΉ схСмы. ΠŸΡ€ΠΈ этом значСния всСх элСмСнтов с "ΠΏΡΠΌΡΡ‚ΡŒΡŽ" (Ρ‚ΠΎΡ‡Π΅ΠΊ рСгулирования, Ρ‚Ρ€ΠΈΠ³Π΅Ρ€ΠΎΠ² ΠΈ Π³Π΅Π½Π΅Ρ€ΠΎΠ°Ρ‚ΠΎΡ€ΠΎΠ²) ΡΠ±Ρ€Π°ΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² состояниС "ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ".

ПослС ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ памяти схСма Π³ΠΎΡ‚ΠΎΠ²Π° ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅.

ПошаговоС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅

Для вычислСния схСмы Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ пСриодичСски (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² Π³Π»Π°Π²Π½ΠΎΠΌ Ρ†ΠΈΠΊΠ»Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹) Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ:

void fbdDoStep(tSignal period)

period - врСмя, ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠ΅Π΅ с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ Π²Ρ‹Π·ΠΎΠ²Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ выполняСтся вычислСниС всСх элСмСнтов схСмы ΠΈ производится установка всСх Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

Бинхронизация Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

НСкоторыС элСмСнты схСмы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈΠ»ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠ². К Ρ‚Π°ΠΊΠΈΠΌ элСмСнтам относятся Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€, Ρ‚Π°ΠΉΠΌΠ΅Ρ€, ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ‚ΠΎΡ€ сигнала, рСгулятор. Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΡƒΠ΅Ρ‚ нСзависимый Ρ‚Π°ΠΉΠΌΠ΅Ρ€, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ хранится Π² RAM. Для хранСния значСния Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΈΠΏ tSignal.

Timer values changes by period every time the function fbdDoStep(tSignal period) is called. Time can be expressed in any units: sec, ms, Β΅s. Unit selection depends on the time scale in which the PLC should work. In my opinion, a decent selection of milliseconds for most cases.

Network variables

Human machine interface (HMI)

The library contains basic functions support HMI. This can be used if your PLC has a display (LCD). You can make character or graphical menu with which to perform the following functions:

  • View values of schema points (Watchpoints)
  • Set the values of set points (Setpoints)

fbd menu

Watchpoints is used to display the values of the signals for operator. Setpoints are used to set the reference values, used in the operation of the circuit. Each watchpoint and setpoint has the associated text caption, that can be displayed on LCD. Moreover, for setpoints are stored maximum and minimum values of the signal that it can receive.

fbd menu2

To get the value of the watchpoint, use the function:

bool fbdHMIGetWP(tSignal index, tHMIdata *pnt);
// index - number of watchpoint (0..watch points count-1)
// pnt - pointer to data struct:
typedef struct {
    tSignal value;              // current point value
    tSignal lowlimit;           // low limit for value (only for setpoints)
    tSignal upperLimit;         // upper limit for value (only for setpoints)
    DESCR_MEM char *caption;    // pointer to text caption (asciiz)
} tHMIdata;

If the point exists, the function returns true and the data in the structure of pnt, otherwise the function returns a value false. Items lowlimit and upperlimit not used. To get the value of the setpoint, use the function:

bool fbdHMIGetSP(tSignal index, tHMIdata *pnt);
// index - number of setpoint (0..set points count-1)
// pnt - pointer to data structure

If the point exists, the function returns true and the data in the structure of pnt, otherwise the function returns a value false. Watchpoints and setpoints numbering starts with 0. To set the new setpoint value, use the function:

void fbdHMISetSP(tSignal index, tSignal value);
// index - number of setpoint (0..set points count-1)
// value - new value of setpoint

Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ статус

Π­Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… "Π±ΠΎΠ΅Π²Ρ‹Ρ…" ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… ΠΈ Π½Π΅ содСрТит извСстных Π°Π²Ρ‚ΠΎΡ€Ρƒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΠ΅ ΠΏΠ»Π°Π½Ρ‹:

  • оптимизация скорости выполнСния
  • Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ
  • Modbus-Master
  • Alarms
  • ΠΆΡƒΡ€Π½Π°Π» событий

Автор

АлСксСй Π›ΡƒΡ‚ΠΎΠ²ΠΈΠ½ΠΈΠ½ -- crossrw1@gmail.com

About

run-time FBD library for PLC

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages