Industrial Communications

cancel
Showing results for 
Search instead for 
Did you mean: 

Time synchronisation: NTP vs. IEC 60870

Hi,

I'm using IEC 60870-5-101 with the toolbox available from NI on a cRIO 9063. Previously we operated on a VXWorks based cRIO and migrated recently to RT Linux and LV 2017. After the migration, we are facing issues with the NTP time synchronisation. It seems that the IEC module accesses the system timer and collides with the NTP, which we installed via the package manager.

 

In VXWorks, there was a section in the ni-rt.ini, where sources and priorities for time synch could be configured. But I am not aware of a comparable file in RT-Linux. Maybe it's possible to manipulate access rights for the HW timer devicefile so that the IEC module is not able to interfere anymore? Or are there config files for the module?

 

I'm looking for a solution that does not require recompilation of the LV code since I am working on a remote target. putty access is available.

 

Thanks!

0 Kudos
Message 1 of 6
(3,280 Views)

Is this article helpful for you?

Installing and Configuring NTP on NI Linux Real-Time Devices

Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions

GCentral
0 Kudos
Message 2 of 6
(3,251 Views)

Thanks! I didn't know this page, but it seems this is how we installed the ntp service.

 

Found something here, where it says there should be a way to configure different time sources.

 

But in MAX on my system, the elements for configuring different time sources stay blank. Thought I might need to install "NI-Time-Synch Time Reference for IEEE1588", but that did not help.

 

Via top on linux console I found a process called /usr/local/natinst/share/TimeSync/nitsmd
Found some .json files there, e.g. tsm.json:

{
   "timeReferences": {
      "I870_1": {
         "priority": "unknown",
         "defaults": "/usr/local/natinst/share/TimeSync/TimeReferences/I870.json"
      }
   },
   "timeKeeper": {
      "library": "/usr/local/natinst/share/TimeSync/TimeKeepers/liblinuxTimekeeper.so.17.1.0"
   },
   "servo": {
      "library": "/usr/local/natinst/share/TimeSync/Servos/libdefaultServo.so.17.1.0"
   },
   "disabled": {}
}

But no ntp here. So how to proceed?

0 Kudos
Message 3 of 6
(3,234 Views)

It seems this works as a workaround:

mv /usr/local/natinst/share/TimeSync/TimeReferences/libts_i870.so /usr/local/natinst/share/TimeSync/TimeReferences/libts_i870.so.BAK
0 Kudos
Message 4 of 6
(3,196 Views)

I tried to find a proper fix instead of just letting the IEC 60870 time sync library call fail. So I updated to NI RIO 19.0, but still, I don't find a possibility to change the time sync source.

This is how it looks like:

grafik.png

This is how it should according to the link above:

 

The package "NI-TimeSync Time Reference for IEEE 1588-2008" V 19.0.0 is installed on the cRIO. But maybe this is just a plugin for another package? I installed NI TimeSync1.1 on the deployment machine, but that didn't unlock a new package to install on the cRIO.

 

0 Kudos
Message 5 of 6
(3,079 Views)

Hi,

 

Did you ever get this solved?

I would appreciate your comments. I'm working on an cRIO-9063 aswell and never had to deal with NTP synchronization before. In my case I'll need to ensure synchronization between the cRIO, a Windows PC and a temperature datalogger.

 

Regards,

Habil

0 Kudos
Message 6 of 6
(2,909 Views)