우리는 Beckhoff TwinCAT3에서 데이터 로깅 어플리케이션을 연구하고 있습니다. 우리가 현재 LTIME()를 사용하는 시간을 얻으려면, 다음 사용하여 MS에 C#으로 그 변환 :TwinCAT3에서 유닉스 타임 스탬프를 얻으려면 어떻게해야합니까?
는ulong valA = reader.ReadUInt64(); // this gets the LTIME
long ftime = (long)(valA/100);
DateTime t = DateTime.FromFileTime(ftime);
return (t.ToUniversalTime().Ticks - 621355968000000000)/10000;
더 나은 방법이 있어야합니다. 또한이 시간과 컴퓨터 시간 (작업 표시 줄에있는 시간) 사이의 차이가 나타납니다.
컴퓨터 시계에서 1970 년 (GMT) 이후로 ms를 얻는 가장 좋은 방법은 무엇입니까?
나는 NT_GetTime을 참조하십시오. 우리가 구조체에 수학을 할 필요가있는 것처럼 보입니다.
어떤 포인터를 주셔서 감사합니다.
중요한 점은 특히 데이터 포인트 간의 시간 간격이 매우 정확해야하는 경우 특히 PLC에서 시간을 해결하는 방법이 중요합니다. NT_GetTime 지터가/정확하지 않습니다. [Infosys] (https://infosys.beckhoff.com/content/1031/tcplclib_tc2_utilities/18014398544903307.html)를 참조하십시오. –