Menu

Frequent ping failure on Master.

Help
2018-09-03
2018-09-11
  • Paramasivan S

    Paramasivan S - 2018-09-03

    Hi ,
    Recently I have update the BACnet stack into 0.8.5 version from 0.7.1. I have connected five number of devices in my network(MS/TP). I am facing the communication drop problem in the network. It is happening on both versions. Any one of the device will be down on few seconds (5secs to 3 mins) and comes back. I am using the Jenysys as a master, the polling frquency on master is 5 secs(Normal). How can i resolve this issue? What are the parameters I need to look for?

    I couldn't configure the device as Slave (above 127 mac address). If I configure as a slave device, will it solve the issue? I had disabled the automac functionality and set my input as the MAC address.

    Kindly help me.

    Processor : STM32f4

    Configuration:

    MAC address : 121
    MAC ID :107
    MAC address : 122
    MAC ID :106
    MAC address : 123
    MAC ID :105
    MAC address : 124
    MAC ID :104
    MAC address : 125
    MAC ID :103

    Baudrate : 38400
    Network ID : 26
    Total number of objects per device 36.

    Thanks,
    Paramasivan.

     

    Last edit: Paramasivan S 2018-09-03
  • Edward Hague

    Edward Hague - 2018-09-03

    Paramasivan
    Do you have a capture of the MS/TP bus traffic? (See demo/mstpcap for a tool&docs). Look at that and see what is happening.

    Also, try setting your MAC addresses low in the range -e.g. 1-5, and max-masters to e.g. 10. That SHOULD NOT be the cause of your problems, but may provide a clue as to what is broken. Since Steve has tested 128 nodes in a network, I am going to bet it is not the stack. ;)

    Ed

     
  • Steve Karg

    Steve Karg - 2018-09-04

    Most of the time the problem in newly developed products using this stack relate to the FSM timing violations. The MS/TP state machine was designed to be tasked consistently and to never exceed 5ms between invocations.

    The typical microcontroller application architecture is a non-blocking main loop so that the mstp_receive() is called as fast as possible (along with every other application entity being non-blocking as well).
    Another architecture is to call mstp_receive() from a 5ms timer interrupt, but separate the data received into a queue that is read later by main loop (application layer).
    Another architecture is to call mstp_receive() from a 5ms RTOS task, incrementing the silence timer within that task.

     
  • Paramasivan S

    Paramasivan S - 2018-09-06

    Thanks for the reply. In my firmware , i am saving a log into SD card in every 5 mins. I had seen the drop in 5 mins interval (happening randomly not always). SoI had commented out the SD write section and running the firmware overnight. Still now i didn't get any communication drop. I will update the results.

    One more doubt.

    While discovering the objects from master,it shows as "Read only" for all objects(AV,BV) . I need to change in the setting as Writable point in master device, then i can write the values into .
    What I will do to show as the wirlable objects during discover from master?

    Thanks,
    Paramasivan.

     
    • Steve Karg

      Steve Karg - 2018-09-11

      BACnet doesn't currently have the concept of marking points (properties) as read-only, read-write, etc. electronically (i.e. via protocol), so the only way another device knows if a property is writable is to try to write it, and the device will respond with write-access-denied if the property is not writable, or SimpleACK if written, or some other error if some other error occurred (out-of-range, unknown object, etc).

       

Log in to post a comment.