[r529]: / trunk / mqttsparkplugb / mqttsparkplugb-example / Device_1 / Plc Logic / Application / PRG_FB_EoN_Node / svnobj  Maximize  Restore  History

Download this file

66 lines (65 with data), 15.5 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
56
57
58
59
60
61
62
63
64
65
PROGRAM PRG_FB_EoN_Node
VAR
    Init                : BOOL := TRUE;
    EoN                 : SparkplugB.FB_Edge_Of_Network_Node;
    EoNConnectionState  : 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";
    DeviceName          : WSTRING                 := "EmulatedDevice";
    //(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;
{8e575c5b-1d37-49c6-941b-5c0ec7874787}
ChildObjectGuids
AddAttributeSubsequent
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_EoN,
         arSparkplugDouble   := SparkPlugBSimpleTypes.arSparkplugDouble_EoN,
         arSparkplugInt16    := SparkPlugBSimpleTypes.arSparkplugInt16_EoN,
         arSparkplugInt64    := SparkPlugBSimpleTypes.arSparkplugInt64_EoN,
         arSparkplugUInt16   := SparkPlugBSimpleTypes.arSparkplugUInt16_EoN,
         arSparkplugUInt64   := SparkPlugBSimpleTypes.arSparkplugUInt64_EoN,
         arSparkplugText     := SparkPlugBSimpleTypes.arSparkplugText_EoN,
    //It generates a CSR and sends it to test.mosquitto.org to be signed
           arSparkplugBoolean  := SparkPlugBSimpleTypes.arSparkplugBoolean_D1,
           arSparkplugFloat    := SparkPlugBSimpleTypes.arSparkplugFloat_D1,
           arSparkplugInt8     := SparkPlugBSimpleTypes.arSparkplugInt8_D1,
           arSparkplugInt32    := SparkPlugBSimpleTypes.arSparkplugInt32_D1,
           arSparkplugUInt8    := SparkPlugBSimpleTypes.arSparkplugUInt8_D1,
           arSparkplugUInt32   := SparkPlugBSimpleTypes.arSparkplugUInt32_D1,
           arSparkplugUUID     := SparkPlugBSimpleTypes.arSparkplugUUID_D1,
           arSparkplugString   := SparkPlugBSimpleTypes.arSparkplugString_D1);
Device1MetricsCount := MyDevice1.NumberOfMetrics();