I build a DNP3 outstation in an ARM board running on Linux. I am using DNP3 Master Testharness. Once I send time sync command from the master to outstation, Outstation reports that " Synronized with Matsre -F70". But it is not synced with Master.
Where is my fault?
Thanks,
F
I assume time synchronization is something to do with the following function defined in Slave.cpp
void Slave::HandleWriteTimeDate(HeaderReadIterator& arHWI)
{
if (!mIIN.GetNeedTime()) {
LOG_BLOCK(LEV_WARNING, "Master is attempting to write time but slave is not requesting time sync");
return;
}
ObjectReadIterator obj = arHWI.BeginRead();
if (obj.Count() != 1) {
mRspIIN.SetParameterError(true);
return;
}
millis_t val = Group50Var1::Inst()->mTime.Get(*obj);
mpTime->SetTime(val);
mIIN.SetNeedTime(false);
if(mpLogger->IsEnabled(LEV_EVENT)) {
LogEntry le(LEV_EVENT, mpLogger->GetName(), LOCATION,
"Time synchronized with master", TIME_SYNC_UPDATED);
le.AddValue("MILLISEC_SINCE_EPOCH", val);
mpLogger->Log(le);
}
}
I need to make sure that outstation is receiving time stamp by adding some print statements in the above function. The problem I got is i don't know how to access the above function.
I build dnp3 as per the directions given in opendnp3. I can see only header files and could not find source files in the directory.
opendnp3 directory structure in ARM board is as follows
opendnp3
APL
DNP3
Version.hpp
Where are the cpp files?
Any help would be appreciated?
Regards,
Faisal
Would be great if you can have a look at this query.
Regards,
Faisal