Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
en:sw:01-mervis:receive-sms-hidden [2021/08/31 12:40]
avsetula
en:sw:01-mervis:receive-sms-hidden [2021/09/02 08:08] (current)
avsetula
Line 1: Line 1:
-===== Příjem ​SMS ===== +===== Receiving ​SMS ===== 
-Funkční blok **receiveSMS** ​v základu ​**není určen pro** použití ve **FBD**, ​jelikož by se na zprávy dotazoval v každém cyklu programuS patřičnou úpravou jej však ve FBD použít lze.+The **receiveSMS** ​function block in the base **is not intended for** use in **FBD**, ​as it would query messages in each program cycleHowever, it can be used in FBD with appropriate modifications
  
-Tento funkční blok nemá žádné vstupní proměnnéale obsahuje ​výstupů+This function block has no input variablesbut contains ​outputs
-  * **channel:​** ​proměnná typu string, ​obsahuje označení alarmového kanálu na kterém byl SMS přijata ​(pro případ více modemů+  * **channel:​** ​variable of type string, ​contains the designation of the alarm channel on which the SMS was received ​(in case of multiple modems
-  * **sender:​** ​proměnná typu string, ​obsahuje telefonní číslo v mezinárodním formátu ​(tjnapř. +420777666555) +  * **sender:​** ​variable of type string, ​contains telephone number in international format ​(e.g. +420777666555) 
-  * **message:​** ​proměnná typu string, ​obsahuje ​text samotné ​SMS zprávy +  * **message:​** ​variable of type string, ​contains the text of the SMS message itself 
-  * **receivetime:​** ​proměnná typu DT, obsahuje čas, kdy byla zpráva přijata+  * **receivetime:​** ​variable of type DT, contains the time when the message was received
  
-Posledním výstupem je výstup bez označeníkterý je typu integer a obsahuje číselný ​status ​s výsledkem operaceVíce je popsno níže v textu (pro výstup ​result).+The last output is an unlabeled outputwhich is of type integer ​and contains ​numeric ​status ​with the result of the operationMore is described below in the text (for the output ​result).
  
 ---- ----
  
 <WRAP center round important 95%> <WRAP center round important 95%>
-Jelikož je blok určen pouze pro použití v ST, je nutné pro jeho použití vytvořit vlastní funkční blok psaný v ST. To je možné pouze v **Plném módu** sestavyPostup pro přepnutí do plného módu naleznete ​[[cs:​sw:​01-mervis:​creating-new-project-hidden#​prepnuti_do_plneho_modu|zde v úvodním článku]].+Since the block is intended only for use in the ST, it is necessary to create your own function block written in the ST for its useThis is only possible in **Full Mode** solutionThe procedure for switching to full mode can be found [[en:​sw:​01-mervis:​creating-new-project-hidden#​prepnuti_do_plneho_modu|here in the introductory article]].
 </​WRAP>​ </​WRAP>​
  
-Pro příjem ​SMS vytvořte funkční blok kliknutím pravým tlačítkem myši na projekt ​(napřve spustitelných projektech).+To receive an SMS, create a function block by right-clicking on the project ​(e.g. in executable projects).
  
 {{ :​en:​sw:​01-mervis:​sms_ide13.png?​direct |}} {{ :​en:​sw:​01-mervis:​sms_ide13.png?​direct |}}
Line 22: Line 22:
 ---- ----
  
-Zobrazí se dialogové oknozde vyberte/vložte+A dialog box will appearselect/paste here
-  * **Název:** ReceiveSMS_fbd +  * **Name:** ReceiveSMS_fbd 
-  * **Typ:** FunctionBlock +  * **Type:** FunctionBlock 
-  * **Jazyk:** st +  * **Language:** st 
-  * **Jmenný prostor:** v0_0+  * **Namespace:** v0_0
  
-a potvďte kliknutím na OK.+and confirm by clicking ​OK.
  
 {{ :​en:​sw:​01-mervis:​sms_ide14.png?​nolink |}} {{ :​en:​sw:​01-mervis:​sms_ide14.png?​nolink |}}
Line 34: Line 34:
 ---- ----
  
-Otevře se Vám okno se základní kostrou funkčního blokuVeškerý obsah bloku smažte a nahraďtě následujícím kódem:+A window with the code structure example of the function block will openDelete all the contents of the block and replace them with the following code:
  
 <code | ReceiveSMS_fbd.st>​ <code | ReceiveSMS_fbd.st>​
Line 71: Line 71:
 </​code>​ </​code>​
  
-Výsledek by měl vypadat následovně:+The result should look like this:
  
 {{ :​en:​sw:​01-mervis:​sms_ide15.png?​direct |}} {{ :​en:​sw:​01-mervis:​sms_ide15.png?​direct |}}
Line 77: Line 77:
 ---- ----
  
-Okno funkčního bloku nyní můžete zavřítnásledně sestavu uložte a kompilujte+You can now close the function block windowthen save and compile the solution.
  
-Poté otevřete ​**main.program.fbd** ​a klikněte pravým talčítkém myši do prázdného prostoru a z kontextové nabídky zvolte: **Přidat blok knihovny ​-> Přidat blok knihovny**.+Then open **main.program.fbd** ​and right-click on an empty space and select from the context menu: **Add library box -> Add library box**.
  
 {{ :​en:​sw:​01-mervis:​sms_ide16.png?​direct |}} {{ :​en:​sw:​01-mervis:​sms_ide16.png?​direct |}}
Line 85: Line 85:
 ---- ----
  
-Otevře se dialogové okno pro vyhledávání funkcí a funkčních blokůDo pole **Název** zadejte název bloku: //​ReceiveSMS_fbd//, ​označte jej a klikněte na OK. +A dialog window for searching for functions and function blocks opensIn the **Name** field, enter a name of the block: //​ReceiveSMS_fbd//, ​highlight it and click OK.
  
 {{ :​en:​sw:​01-mervis:​sms_ide17.png?​direct |}} {{ :​en:​sw:​01-mervis:​sms_ide17.png?​direct |}}
Line 91: Line 91:
 ---- ----
  
-Tím se blok vloží do prostoru programu:+This inserts the block into the program space:
  
 {{ :​en:​sw:​01-mervis:​sms_ide18.png?​direct |}} {{ :​en:​sw:​01-mervis:​sms_ide18.png?​direct |}}
Line 97: Line 97:
 ---- ----
  
-Nyní je třeba vytvořit několik testovacích proměnnýchNejprve vytvořte vstupní proměnnou ​**trigger** ​typu bool a jako její počáteční hodnotu zadejte ​**False**. ​Proměnnou propojte se vstupem ​**readSMS** ​bloku:+Now you need to create several test variablesFirst, create an input variable ​**trigger** ​of type bool and enter **False** ​as its initial valueConnect the variable to the **readSMS** ​input of the block:
  
 {{ :​en:​sw:​01-mervis:​sms_ide19.png?​direct |}} {{ :​en:​sw:​01-mervis:​sms_ide19.png?​direct |}}
Line 103: Line 103:
 ---- ----
  
-Dále vytvořte výstupní proměnné ​**channel**,​ **sender** ​**message**, ​všechny jsou typu string. ​Jako poslední vytvořte proměnnou ​**receivetime** ​typu DT. Jelikož jsou všechny proměnné výstupnínení nutné nastavovat jejich počáteční hodnotyNa závěr je propojte s blokem.+Next, create the output variables ​**channel**,​ **sender**, and **message**, ​all of the type string. ​Lastly, create a variable ​**receivetime** ​of type DT. Since all variables are outputit is not necessary to set their initial valuesFinally, connect them to the block.
  
-Výsledek by měl vypadat přibližně takto+The result should look something like this:
  
 {{ :​en:​sw:​01-mervis:​sms_ide20.png?​direct |}} {{ :​en:​sw:​01-mervis:​sms_ide20.png?​direct |}}
Line 111: Line 111:
 ---- ----
  
-Nahrajte sestavu a spusťte laděníPři každé změně hodnoty proměnné ​**trigger** ​**False** ​na **True** ​se přečte jedna zpráva z paměti ​SIM karty.+Upload the solution and start debuggingEach time the value of the variable ​**trigger** ​is changed from **False** ​to **True**, one message is read from the SIM card memory.
  
 {{ :​en:​sw:​01-mervis:​sms_ide21.png?​direct |}} {{ :​en:​sw:​01-mervis:​sms_ide21.png?​direct |}}
  
-Výstup ​**result** ​bude mít hodnotu ​**0**, pokud přečtění zprávy proběhlo v pořádku a hodnotu ​**31**, pokud není k dispozici žádná zprávaOstatní hodnoty indikují chybuvíce se dozvíte v nápovědě ​(klávesa ​F1) k funkčnímu bloku **receivesms**.+The **result** ​output will be **0** if the message was read correctly and **31** ​if no message is availableOther values indicate an errorsee the help (F1 keyfor the **receivesms** ​function block.