GSV/SSV 프로그래밍 예
다음 예에서는 GSV 명령어를 사용하여 폴트 정보를 가져옵니다.
예 1: I/O 폴트 정보 가져오기
이 예에서는 I/O 모듈인 disc_in_2의 폴트 정보를 가져와서 사용자 정의 구조인 disc_in_2_info에 데이터를 저장합니다.
래더 다이어그램

구조화된 텍스트
GSV(MODULE,disc_in_2,FaultCode,disc_in_2_info.FaultCode);
GSV(MODULE,disc_in_2,FaultInfo,disc_in_2_info.FaultInfo);
GSV(MODULE,disc_in_2,Mode,disc_in_2_info.Mode);
예 2: 프로그램 상태 정보 가져오기
이 예에서는 개별 프로그램의 상태 정보를 가져와서 사용자 정의 구조인 discrete_info에 데이터를 저장합니다.
래더 다이어그램

구조화된 텍스트
GSV(PROGRAM,DISCRETE,LASTSCANTIME,discrete_info.LastScanTime);
GSV(PROGRAM,DISCRETE,MAXSCANTIME,discrete_info.MaxScanTime);
예 3: 태스크 상태 정보 가져오기
이 예에서는 태스크 IO_test의 상태 정보를 가져와서 사용자 정의 구조인 io_test_info에 데이터를 저장합니다.
래더 다이어그램

구조화된 텍스트
GSV(TASK,IO_TEST,LASTSCANTIME,io_test_info.LastScanTime);
GSV(TASK,IO_TEST,MAXSCANTIME,io_test_info.MaxScanTime);
GSV(TASK,IO_TEST,WATCHDOG,io_test_info.Watchdog);
활성화 및 비활성화 플래그 설정
다음 예에서는 SSV 명령어를 사용해 프로그램을 활성화하거나 비활성화합니다. 이 방법을 사용하여 I/O 모듈 또한 활성화하거나 비활성화할 수 있으며 PLC-5 프로세서에서 금지 비트를 사용하는 것과 유사한 프로그램 솔루션에 해당합니다.
SW.1의 상태를 기준으로 개별 프로그램의 비활성화 플래그 속성에 해당하는 값을 설정합니다.
래더 다이어그램

구조화된 텍스트
IF SW.1 THEN
discrete_prog_flag := enable_prog;ELSEdiscrete_prog_flag := disable_prog;
END_IF;
SSV(PROGRAM,DISCRETE,DISABLEFLAG,discrete_prog_flag);
FirmwareSupervisor 자동 펌웨어 업데이트 금지 및 금지 해제
다음 예에서는 GSV/SSV 명령어를 사용하여 컨트롤러의 자동 펌웨어 업데이트 속성을 금지하거나 금지 해제합니다. 값을 1로 쓰면 기능을 금지합니다. 값을 0으로 쓰면 기능이 금지 해제됩니다. GSV 명령어를 사용하여 속성의 상태를 읽을 수도 있습니다.
래더 다이어그램

의견을 작성 부탁드립니다.