이 기능 블록과 해당 매개 변수에 대한 설명을 할 수 있습니까 (시간 초과 : 무엇입니까?twincat/beckhoff plc의 NT_GetTime에 대한 설명
답변
음 ... Windows 시간/날짜 정보를 컨트롤러에 반환하는 기능 블록입니다.
이것은 비동기식 함수 블록 인 것처럼 보입니다. 즉, 비동기식 함수 블록으로 시작한다는 것을 의미하며 결과를 반환하려면 여러 컨트롤러 실행이 필요합니다. 그 동안, 사용 중 비트는 오류가 있거나 성공할 때까지 true입니다.
오류가 발생하면 오류 비트가 true로 설정되고 오류 ID 번호가 오류 필드에 표시됩니다. 결과가 성공적으로 반환되면 사용중 비트는 오류 피드백없이 재설정됩니다.
나는 벡 호프 프로그래밍에 익숙하지 않지만 시간 초과를 지정하는 것처럼 보입니다. 제한 시간 내에 결과를 얻지 못하면 오류가 발생합니다. 여기에 언급 된 바와 같이
펑션 블록은 NT_GetTime BUSY, ERR, ERRID, TIMESTR의 NETID, START, TMOUT의 입력 및 출력을 갖는다.
NETID는 대상 장치의 AmsNetId입니다. 기능 블록은 포기하기 전에이의 상승 에지가
TMOUT가 할당 된 시간의 양입니다 펑션 블록을 트리거 : 로컬 런타임에 실행하는 경우, 단지 빈 문자열, 즉 '
START를 넣어 명령 실행시
입력 START 상승 후, 펑션 블록이 실행되어 NETID에 지정된 장치에 연결하려고 시도하고 장치의 로컬 시간을 얻으려고 시도합니다. BUSY는 사실이 될 것입니다. 함수 블록이 잘 실행되면 BUSY는 false가되고 로컬 시간은 TIMESTR 출력에 의해 주어집니다.
기능 블록은 NETID에서 지정한 장치와 연결을 시도합니다. 연결 문제가있는 경우, 펑션 블록은 TMOUT에 지정된 시간 동안 장치와 연결을 계속 시도 할 것이고 BUSY는 계속 참일 것입니다. TMOUT에 지정된 시간이 경과하고 펑션 블록이 여전히 장치에 연결할 수 없으면 BUSY는 false가되고 ERR은 true가되고 ERRID는 문제가 무엇인지 알려줍니다 (예 : 0x745는 시간 초과 됨). 오류 코드의
나는 timout 완료 될 때까지 바쁜 여전히 것 사실 생각 –