SPS programmieren

Um TwinCAT Speech nutzen zu können, muss ein SPS-Projekt programmiert werden. Für einen schnellen Start wird dieses im Folgenden anhand dieses Samples erklärt.

1. Legen Sie ein neues SPS-Projekt an.
SPS programmieren 1:
2. Fügen Sie die Tc3_Speech Library hinzu.
SPS programmieren 2:
3. Fügen Sie den folgenden Code aus Beispiel01 aus MainASR in Main ein.

Deklarationsteil:

PROGRAM MainASR
VAR
// Start speech recognition by setting to true
bListen         : BOOL     := FALSE;
// If "Hello TwinCAT" is recognized bRecognition is set to true for 1 sec
bRecognition    : BOOL;
// ASR Configuration
nConfigIdASR    : UINT                     := 100;
fbASR             : FB_SpeechRecognition   := (nConfigurationId := nConfigIdASR);
// ASR Variables
nLastRecoId     : ULINT                    := 0;
bInit           : BOOL;
timer           : TON;
END_VAR

Ablaufteil:

// Set bListen to true, to start speech recognition
fbASR(bListen := bListen, nConfigurationId:= nConfigIdASR);
// If new recognition is available and recognition confidence is high enough (over 70%) set bRecognition to true
IF nLastRecoId <> fbASR.nRecognitionId THEN
    nLastRecoId := fbASR.nRecognitionId;
    IF fbAsr.fRecognitionConfidence > 0.7 THEN
     bRecognition := TRUE;
    END_IF
END_IF
// Keep bRecognition true for just a second
IF bRecognition THEN
    timer(IN := TRUE, PT := T#1S);
    IF timer.Q THEN
        timer(IN := FALSE);
        bRecognition := FALSE;
    END_IF
END_IF
4. Setzen Sie "bListen" auf TRUE, um eine Spracheingabe tätigen zu können.
Vorher muss die TwinCAT Konfiguration aktiviert worden sein.

Die Identifikationsnummer für die ASR-Konfiguration, die verwendet werden soll, steht im Code als ConfigIdASR.