This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

SOMPLC-F28PLC83 and G3_HostApplication Alarm Issue

Currently I am attempting to use the G3_HostApplications.exe program with evaluation kit (two SOMPLC-DOCKV1's connected together). The issue is that the service node tries to connect to the wrong PanId (basenode panid is set to 0x7855) and the service node discovers panid=0xFDFD, after connecting I receive the following alarm:

2015-01-01 12:00:00.000: Receiving G3 Network Alarm: Id= 7
Id: 7
Status: 0x221F
Security Level: 0
Key Id Mode: 0
Key Index: 0
Pan Id: 0xFDFD
Address Mode: 0

According to the documentation the status code 0x21F corresponds to a Sync Loss (Conflict PAN ID) , is there a way to correct this error, seems like the Discover.Request/Discover.Confirm is returning the wrong PanID.

Other information:

I flashed the latest firmwares (7.4.1.6) onto the SOMPLC-F28PLC83's.

Both the Intermediate and Zero Configuration GUI work fine, the issue seems to be only with G3_HostApplication.exe

Another thing is that when I use an external MCU to connect to the basenode and explicitly and force the service node to attempt to connect to a base node with a panid matching the base node's, I still get the same error.

I use the following to invoke the following command line parameters to invoke the base and service nodes:

basenode.txt:

host=1
data=0
diag=0
port=8
socketport=30001
panid=7855
node=b
xadd=FF.FF.FF.FF.FF.FF.FF.01

servnicenode.txt:

auto=off
host=1
port=11
diag=0
data=0
discover=4
socketport=30004
node=s
xadd=FF.FF.FF.FF.FF.FF.FF.04

Thanks!

Levi

  • I think I found a simple fix for this error and believe it occurs due to the firmware update, referring to the "PLC Suite G3 Host Message Protocol Specification", on Pg.59, the length of the DISCOVER.confirm changed for DSP versions 7.1.x.20 and later.

    To correct for the error you simply need to alter the header file for the discover message then recompile, this can be accomplished by opening "Discover.h" under the "G3_Host_Message_Library" project and changing:


    struct DiscoverNetworkConfirm
    {
    struct Header _Header;
    struct CRC_Header _CRC_Header;
    UINT16 _Status;
    UINT16 _PAN_Count;
    struct PAN_Description _PAN_Info[];
    };

    struct DiscoverNetworkConfirmVersion54
    {
    struct Header _Header;
    struct CRC_Header _CRC_Header;
    UINT16 _Status;
    UINT16 _PAN_Count;
    struct PAN_DescriptionVersion54 _PAN_Info[];
    };


    to:


    struct DiscoverNetworkConfirm
    {
    struct Header _Header;
    struct CRC_Header _CRC_Header;
    BYTE _DiscoverType; // *** Added this ***
    BYTE _Reserved; // *** Added this ***
    UINT16 _Status;
    UINT16 _PAN_Count;
    struct PAN_Description _PAN_Info[];
    };

    struct DiscoverNetworkConfirmVersion54
    {
    struct Header _Header;
    struct CRC_Header _CRC_Header;
    BYTE _DiscoverType; // *** Added this ***
    BYTE _Reserved; // *** Added this ***
    UINT16 _Status;
    UINT16 _PAN_Count;
    struct PAN_DescriptionVersion54 _PAN_Info[];
    };



    I guess this means that G3_HostApplications.exe (and source code) is not immediately compatible with newer versions of the firmware and other issues can possibly arise.


    Cheers,
    Levi