안녕하세요.
CIMON 입니다.
입출력 테이블을 설정한 버튼으로 제어하는 예제입니다.
[ 이럴 때 사용하시면 됩니다 ]
CimonX 상에서 입출력 테이블의 행, 열을 추가/수정하고 데이터를 입력/삭제할 때 사용하시면 됩니다.
[ 프로젝트 예제 작성 버전 및 주의사항 ]
SCADA Ver 3.04(R160224)
v3.04에서 작성된 프로젝트는 하위버전에서 열리지 않습니다.
[ 예제 설명 ]
1. 처음 CimonX를 실행하였을 때 화면입니다. 예제는 행/열 추가, 다음 행/열로 넘어가는 기능, 편집 모드를 활성/비활성화, 내용 삭제,
그리고 원하는 위치에 데이터를 입력하는 기능을 가지고 있습니다.
아래에 열 추가 기능입니다.
버튼을 누르면 이와 같이 가장 아래에 새로운 열이 추가됩니다.
다음은 위에 열 추가입니다.
이렇게 위에도 열이 추가된 것을 알 수 있습니다.
wcGridCommand는 wcGridCommand(“목표 입출력테이블”, 명령번호, 행/열, 인덱스) 이렇게 구성되어 있습니다.
추가하는 기능은 wcGridCommand의 3 command를 이용하면 됩니다.
행/열 부분이 1로 설정되어 있는데 이는 ‘열’을 동작시킨다는 뜻입니다. 반대로 0으로 설정되어있으면 행을 제어하겠다는 뜻입니다.
다음으로 오른쪽에 행 추가 기능입니다.
차이가 없어 보이지만 아래 스크롤 바를 보시면 스크롤 바가 짧아진 것, 즉 오른쪽에 행이 추가된 것을 알 수 있습니다.
버튼의 명령식은 열 추가 때와 마찬가지로 명령 3을 쓰나 행/열 비트 부분이 0으로 세팅되어있는 것을 확인할 수 있을 겁니다.
여기서 -1인 가장 0,0에 가까운 쪽을 의마하고 1은 반대로 가장 먼 쪽을 의미합니다.
그 다음은 왼쪽에 행 추가 기능입니다.
위와 같이 6개의 데이터가 오른쪽으로 한 행 밀려난 것을 확인할 수 있습니다.
이번에는 다음 열 기능입니다.
다음 열 버튼을 누르면 이와 같인 스크롤 바가 끝까지 밀려나고 보이던 데이터들이 사라진 것을 알 수 있습니다.
이와 마찬가지로 다음 열 또한 행/열이 바뀌었다 뿐이지 같은 기능을 합니다.
이와 같이 밀어주는 역할은 wcGridCommand에서 명령 4가 수행합니다.
위의 설정에서는 1로 설정하였기 때문에 다음 열로 밀어주는 역할을 합니다.
이번에는 입출력 테이블 데이터 삭제 기능입니다.
내용삭제 버튼을 누르시면 기존의 데이터 6개가 모두 사라진 것을 볼 수 있습니다.
삭제는 명령 7을 이용하여 설정합니다. 이렇게 설정하면 입출력 테이블의 모든 데이터를 지울 수 있습니다.
다음은 편집 모드 활성화입니다.
편집 모드를 활성화 시키면 위와 같이 편집 모드가 ON 되었다고 알려줍니다.
편집모드가 ON 되었을 때는 위와 같인 선택한 셀에 원하는 값을 입력할 수 있습니다.
편집모드 활성/비활성화는 명령 6을 이용하시면 됩니다.
끝에 인덱스가 1로 되어있으면 활성화, 0이면 비활성화를 뜻합니다.
EDIT = 1은 편집 모드 ON인지 OFF인지 보여주기 위해 출몰 조건을 세팅하는 비트로 사용하였습니다.
편집 모드를 OFF 하면 다시 처음처럼 편집 모드 OFF 라고 상태가 바뀝니다.
편집모드가 OFF 되면 777밑에 셀처럼 선택한 셀만 표시되고 입력은 받지 않습니다.
마지막으로 데이터 입력입니다.
위와 같이 2열 4행의 셀에 8을 설정하고 데이터값 입력 버튼을 누르면 해당 위치에 8이 입력됩니다.
이 데이터값 입력은 편집 모드와는 상관없이 동작합니다.
데이터값 입력은 위의 기능들과 다르게 wcGridSetData라는 함수를 사용합니다.
이 예제에서는 열 정보의 에디트 박스를 ROW 태그와, 행 정보의 에디트 박스를 COL 태그와 연동하여 위치 정보를 받고
데이터값 입력 에디트 박스를 ANA와 연동하여 데이터를 해당 위치에 저장하게 하였습니다.
[ 적용 방법 ]
CimonX 실행 파일에서 직접적으로 테이블을 관리하고 싶을 때 사용하시면 됩니다.
SCADA의 도움말의 wcGridCommand를 참조하시면 다음과 같이 기입되어 있습니다.
<Command>
0 : Index로 지정된 Column 또는 Row를 보이도록 합니다.
1 : Index로 지정된 Column 또는 Row를 보이지 않도록 합니다.
2 : Index로 지정된 Column 또는 Row를 삭제합니다.
3 : 지정된 위치(Index)에 새로운 Column 또는 Row를 추가합니다. 제일 처음에 추가하는 경우에는 Index를 1로 설정하고, 마지막에 추가하는 경우에는 -1로 설정합니다.
4 : 화면을 Column 또는 Row로 다음 페이지로 이동합니다. (Index는 -1로 설정)
5 : 화면을 Column 또는 Row로 이전 페이지로 이동합니다. (Index는 -1로 설정)
6 : 그리드를 편집모드 또는 비편집모드로 전환합니다. (Index가 1일때 편집모드, Index가 0일때 비편집모드)
7 : 그리드에 입력된 모든 내용을 삭제 합니다. (Index는 0으로 설정)
8 : 그리드에 내용이 입력이 되어있을경우, Column 또는 Row 전체를 삭제 합니다. (Index는 0으로 설정)
이 도움말을 참조하시고 프로젝트에 맞게 Command를 설정하시면 더 활용 방안을 넓힐 수 있습니다.
첨부 1. 입출력테이블 제어예제.zip
#입출력테이블#입출력테이블예제#입출력테이블샘플#wcGridCommand#wcGridSetData#테이블추가#테이블삭제#프로젝트예제#샘플프로젝트#SCADA프로젝트예제#SCADA샘플프로젝트#SCADA스크립트사용예제#SCADA스크립트사용방법#SCADA스크립트사용샘플#SCADA스크립트