[r520]: / branches / h-hermsen / example / Device_1 / Plc Logic / Application / PRG_FB_EoN_Node / svnobj  Maximize  Restore  History

Download this file

56 lines (55 with data), 11.8 kB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
PROGRAM PRG_FB_EoN_Node
VAR
    Init            : BOOL := TRUE;
    EoN             : SparkplugB.FB_Edge_Of_Network_Node;
    ConnectionState : SparkplugB.SparkplugSessionStateType;
    NumberOfDevices : UDINT;
    MyDevice1           : SparkplugB.FB_Device;
    Device1MetricsCount : DINT;
    TestScenario : USINT := 1;
    ServerUrl    : STRING;
    ServerPort   : UINT;
    KeepAlive    : UINT;
    CleanSession : BOOL                    := FALSE;
    Username     : WSTRING                 := "";
    Password     : WSTRING                 := "";
    UseTLS       : BOOL                    := FALSE;
    GroupId      : WSTRING                 := "SparkplugBDevice";
        : UINT := 5000; // equals 5 seconds interval (scantime of this program = 250ms) so 20:1 (update rate = 20 scans to 1 publish)
    GenerateDataPeriod  : TIME;
    GenerateDataElapsed : TIME;
    GenerateDateTimer   : TON;
    Timestamp           : SparkplugB.T_DateTime;
    Str                 : ChangingString;
Scenario();
GenerateDateTimer(IN := NOT GenerateDateTimer.Q,
                  PT := GenerateDataPeriod,
                  ET => GenerateDataElapsed);
IF GenerateDateTimer.Q THEN
    GenerateEoNData();
    GenerateDeviceData();
END_IF
IF NOT StillGettingClientCertificate THEN
    EoN(ServerUrl           := ServerUrl,
        ServerPort          := ServerPort,
        KeepAlive           := KeepAlive,
        CleanSession        := CleanSession,
        Username            := Username,
        Password            := Password,
        UseTLS              := UseTLS,
        hCert               := hCert,
        GroupId             := GroupId,
        NodeName            := NodeName,
        DeviceName          := DeviceName,
        publishPeriod       := publishPeriod,
        arSparkplugDateTime := SparkPlugBSimpleTypes.arSparkplugDateTime,
        arSparkplugDouble   := SparkPlugBSimpleTypes.arSparkplugDouble,
        arSparkplugInt16    := SparkPlugBSimpleTypes.arSparkplugInt16,
        arSparkplugInt64    := SparkPlugBSimpleTypes.arSparkplugInt64,
        arSparkplugUInt16   := SparkPlugBSimpleTypes.arSparkplugUInt16,
        arSparkplugUInt64   := SparkPlugBSimpleTypes.arSparkplugUInt64,
        arSparkplugText     := SparkPlugBSimpleTypes.arSparkplugText,
    //It generates a CSR and sends it to test.mosquitto.org to be signed
        arSparkplugString   := SparkPlugBSimpleTypes.arSparkplugString);
MyDevice1.CoupledWithEoN;
Device1MetricsCount := MyDevice1.NumberOfMetrics();