ShIoTiny: Nodes, Vincula, et Eventus seu lineamenta Tractus Programs

ShIoTiny: Nodes, Vincula, et Eventus seu lineamenta Tractus Programs

Praecipua puncta vel quid hic articulus est de

Argumentum articuli visualis PLC programmatio est ShIoTiny nam dolor hic domum describit; ShIoTiny: parva automation, Internet rerum vel "sex mensibus ante vacation".

Brevissime conceptus ut nodis, communicationis, certe, tum lineamenta onerationis et programma visualis exsequendi ESP8266quod est basis PLCq ShIoTiny.

Introductio vel duobus normae quaestiones

In superiori articulo de evolutione mea breviter perspectum dedi facultates moderatoris ShIoTiny.

Satis insolenter, rem publicam satis validam ostendit, et me satis multum quaesivit. Aliqui amici etiam statim offerunt ut a me emant moderatorem. Imo parum pecuniae non sum, sed conscientia mea me non permittit vendere aliquid quod adhuc nimis rudis est in programmatis.

Ergo binaria firmware collocavi et notae fabricae in GitHub: firmware + instructiones brevissimas + diagram + examples.

Nunc omnes ESP-07 micare possunt et cum ipsis firmware ludere. Si quis re vera eandem prorsus tabulam velit ac in foto, tunc habeo plures. Scribere per inscriptio [Inscriptio protected]. Sed, ut memorabilis Ogurtsov dicere solebat: "Non sum de omnibus rebus!"

Itaque ad rem veniamus: quid est "nodi" (node) et "res"? Quid progressio supplicium est?

Ut solet, ordine committitur: deprimendo rationem.

Quam progressio oneratur

Quod fit cum urgemus puga sit amet Upload in editorem ElDraw et progressio noster, e quadratis pulchris constans, in cogitationem involat.

Uno modo, ex schemate quod diximus, eius descriptio in textu forma constructa est.
Secundo impedit an omnes nodi inputes connectantur cum outputs. Nullae introitus "suspendentes" sint. Si talis initus detegatur, ambitus in ShIoTiny non oneretur, et editor congruam admonitionem ostendet.

Si omnia bene evenerunt, editor mittit textum descriptionis circuli unius nodi tempore ShIoTiny. Nempe primus ab ShIoTiny existens circuitus remotus est. Inde descriptio textus in FULG memoria reponitur.

Viam, si ambitum ab artificio removere vis, simpliciter inanis circuitio (non continens unum nodi elementum).

Semel totum programmatis ambitus in ShIoTiny PLC oneratur, incipit "exsequi". Quid est hoc?

Nota quod processus ad onerandum ambitum a FLASH memoria, cum potestas vertitur in et in recipiendo ambitum ab editore identificantur.

Primum, nodi res creatae sunt ex eorum descriptione.
Tunc inter nodos nexus fiunt. That is, links of outputs to inputs and inputs to outputs are generated.

Et nonnisi post haec omnia praecipuum propositum exsecutionis cycli incipit.

Diu scripsi, sed totum processum - ab "loading" circuit a FULGUR memoria usque ad cyclum principalem incipiens - fractionem accipit secundae pro nodis ambitu 60-80.

Quid facit pelagus opere loop? Simplex. Primo expectat cessum certe in aliquo nodo, deinde processus illius rei. et sic deinceps sine fine. Bene, vel donec novum schema ad ShIoTiny imponunt.

Aliquoties iam diximus similia certe, nodis и communicationis. Sed quid hoc ex ratione? De hoc hodie loquemur.

Nodi, nexus et eventus

Specta exempla ambitum programmatum ShIoTinyad intellegendum schema de duobus tantum entia nodis (vel elementis) et nexus inter eos consistere.

nodi, sed sic aut circa elementum virtualis repraesentatio quaedam actus super data. Et hoc potest esse operatio arithmetica, vel operatio logica, vel quaelibet operatio quae in mentem nostram venit. Summa est quod nodi aditum et exitum habet.

ingressum — Hoc loco data nodo accipit. Imagines inputationes puncta sunt quae semper in latere sinistro nodi sunt.

exitus - hoc loco redditur ubi effectus operationis nodi. Imagines output sunt puncta quae semper in dextro nodi latere sita sunt.

Nodi nonnulli initibus non habent. Tales nodos interne gignunt exitum. Exempli gratia, nodi constans vel nodi sensoris: notitia ex aliis nodi non indigent ad exitum referre.

Nodi alii, contra, outputes non habent. Nodi hi sunt qui ostentant, exempli gratia, actuatores (relas vel aliquid simile). Notitias accipiunt, sed exitum computationalem aliis nodis praesto non generant.

Praeterea est etiam nodi commentarium unicum. Nihil agit, nihil initibus aut outputs habet. Propositum est ut in schemate explicandum sit.

Quid factum est "res"? res est cessum novae notitiae in omni nodo. Exempli causa, eventus includit: mutationem in input statum (nodi initus) Acceptis notitia ab alio fabrica (nodorum MQTT и UDP) Intra certum tempus (nodos Vicis и mora) et sic porro.

Quid certe? Ita ut definiatur in quibus nodi notitia nova orta est et status nodi mutari debent circa acceptionem novarum notitiarum. Eventus, quasi "transit" in nodis nexibus, donec omnes nodos pertranseat, quorum status inhibendus ac mutandus est.

Nodi omnes in duo genera dividi possunt.
Vocemus nodos qui eventus generare possunt "active lymphaticorum".
Nodos vocabimus qui certe generare non possunt "lymphaticorum".

Cum nodi eventum generat (hoc est, nova notitia in suo output apparet), tunc in generali casu status totius nodis nexibus connexus cum output vicissitudines nodi generantis.

Ad cuius evidentiam considera exemplum figurae.

ShIoTiny: Nodes, Vincula, et Eventus seu lineamenta Tractus Programs

Nodi activae hic sunt Input1, Input2 et Input3. Reliqui nodi passivi sunt. Consideremus quid accidit cum una vel altera initus clausa est. Pro commodo, eventus perstringuntur in tabula.

ShIoTiny: Nodes, Vincula, et Eventus seu lineamenta Tractus Programs

Ut videre potes, cum incidit res, catena fabricatur a fonte nodi eventus usque ad finem nodi. Status nodorum illorum qui in catenam non cadunt non mutat.

Legitima quaestio oritur: quid fiet si duo vel etiam plures eventus simul fiant?

Amator operis Gleb Anfilov, temptatus sum ut curiosum percontatorem mittat ad librum suum "Effugium a Surprise". Haec est « theoria relationis ad parvulos », quae bene explanat quid sit « simultaneum » et quomodo vivere cum eo.

Sed omnia fere multo simpliciora sunt: ​​cum duo vel etiam plura eveniunt, omnes catenae ex unoquoque eventu structae sunt et vicissim discursum, et nulla miracula fiunt.

Proxima quæstio legitima omnino a curioso lectore est, quid fiet si nodos in anulo connexos? Vel, ut aiunt inter istas tuas latinas callidi, feedback introduc. Hoc est, output unius nodi coniunge cum initus nodi prioris, ita ut outputa huius nodi statum input eius afficiat. Editor non sinet te directe coniungere nodi outputum cum suo input. ElDraw. Sed indirecte, sicut in figura infra, hoc fieri potest.

Quid igitur in hoc casu fiet? Responsio valde erit "definita": lymphaticorum pendens. Exemplum videamus in figura.

ShIoTiny: Nodes, Vincula, et Eventus seu lineamenta Tractus Programs

Cum contactus input1 input0 patent, nodi initus superior A est 0. Nodi output A est etiam 1. Nodi output B est 1. Ac denique inferior initus nodi A est XNUMX. Omnia sunt. purgare. Et iis qui non liquet, infra vide descriptionem quomodo nodis "ET" et "non" operantur.

Nunc contactus Input1 initus claudimus, hoc est unum ad input nodi A superius applicamus. Qui electronicis noti sunt, noverunt nos revera ambitum generantis classici uti elementis logicalibus. Et in theoria talis circuii debet sine fine producere seriem 1-0-1-0-1-0 ... in elementis A et B. et 0-1-0-1-0-1-.... Post omnes, eventus debet constanter statum nodis A et B mutare, in circulo currentem 2-3-2-3-...!

Sed profecto id non contingit. Ambitus in statum temere incidet - vel nulla in vel off manebit, vel fortasse leviter stridore interdum pluries in ordine. Totum a tempestate ad meridiem Martis polum pendet. Quam ob rem hoc accidit.

Eventus a nodi Input1 mutat statum nodi A, tunc nodi B, et sic in circulo aliquoties. Propositum eventus "panniculum" detegit atque hunc agunt fortiter resistit. Post hoc, mutationes nodis A et B in statu praecluduntur donec novus eventus oriatur. Momentum ad quod programma decernit "consistere in circulis!" - generatim, ex multis causis pendet et temere cogitari potest.

Cave cum nodis in anulo iungendis - effectus non semper manifesti sint! Bonam notionem quid agis?

Licetne adhuc generans aedificare in nodis nobis praesto? Etiam, potes! Sed id eget nodi, qui res ipsas generare potest. Et talis nodi est - haec est "linea mora". Videamus quomodo generans per spatium 6 secundorum in figura infra operatur.

ShIoTiny: Nodes, Vincula, et Eventus seu lineamenta Tractus Programs

Elementum praecipuum generantis est nodi A - mora linea. Si mutaveris statum morae lineam ab 0 ad 1, tunc 1 non apparebit statim in output, sed solum post tempus determinatum. In nobis est 3 secundis. Eodem modo, si mutaveris statum morae lineae input ab 1 ad 0, tunc 0 in output apparebit post eadem 3 secunda. Morae tempus in secundo decumas constituitur. Hoc est, valor 30 significat 3 secundis.

Praecipuum notae morae linea est quod eventum generat post tempus elapsum morae.

Sumamus initio lineae morae outputationem 0. Post nodi transitum B - inverti - hoc 0 vertit in 1 et ad input lineae morae pergit. Nihil ilicet accidit. In linea morae output, manebit 0, sed tempus morae comitem incipiet. III secundis pass. Tum mora linea rem generat. In eius output apparet 3. Haec unitas, postquam per nodi B - invertentem transeat, in 1 vertit et ad input lineae morae pergit. Alius 0 seconds pass... et processus repetit. Id est, omnis 3 secundis status morae lineae output mutationes ab 3 ad 0 et deinde ab 1 ad 1. Nullam clicks. Generans laborat. Pulsus periodus 0 seconds est (secunda 6 in output nulla et 3 seconds ad output unum).

Sed in realibus circulis non opus est hoc exemplo uti. Speciales sunt nodi timendi, qui perfecte et sine auxilio extra ordinem pulsuum dato tempore generant. Duratio "nulla" et "unum" in his pulsibus aequale est dimidiae periodi.

Ut actiones periodicas constituas, nodis timentibus utere.

Noto quod talia signa digitalia, ubi duratio nulla et unum sunt equalia, "meander" dicuntur.

Spero me quaestionem paucula declarasse quomodo eventa inter nodos propagentur et quid non faciam?

Conclusio et index

Articulus brevis evasit, sed hic articulus respondet quaestionibus ortis circa nodos et eventus.

Ut firmware enucleantur et nova exempla apparent, scribam quomodo programmata ShIoTiny dum parva vasa populo iucunda erit.

Ut ante, tabula, firmware, exempla, descriptio partium et omnium Reliqua hic.

Quaestiones, suggestiones, reprehensiones - huc ibimus; [Inscriptio protected]

Source: www.habr.com

Add a comment