[SCADA][기능] 입출력 테이블 제어 예제

안녕하세요.

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스크립트

[PLC] CICON 로더 프로그램 V3.08 Update

 CICON V3.08이 업데이트 되었습니다.

 

수정 / 변경 내용은 아래와 같습니다.(사용전 도움말을 확인해 주십시요.)

1.   CICON XP Style 설정 추가(옵션 선택)

2.   접점 입력시 디바이스를 선택할 수 있는 접점 입력창 추가(옵션 선택)

3.   로드셀 화면 표시 코멘트 및 화면 선택 추가

4.   로드셀 모듈 매뉴얼 수정 및 추가

5.   BP32M / BP16M 통신 옵션 매뉴얼 추가

6.   BP 내장 고속 카운터 영문 매뉴얼 추가

7.   PEK-308 Training Kit 도움말 추가

#PLC로더프로그램#PLC소프트웨어#PLC소프트프로그램#V2.08#PLC로더프로그램V2.08#PLC소프트웨어V2.08#PLC소프트프로그램V2.08#PLC로더프로그램2.08#PLC소프트웨어2.08#PLC소프트프로그램2.08#2.08#PLC2.08#PLC V2.08

[Xpanel][스크립트][기능] 일정시간 후 또는 로그오프 시 화면보호기 전환하는 방법 예제

안녕하세요.
CIMON 입니다.

Xpanel에서 스크립트와 사용자보안을 이용하여 화면보호기로 전환하는 방법에 대한 예제입니다.

[이럴 때 사용하시면 됩니다]
화면보호기와 사용자보안 설정을 하고 싶을 때 사용하시면 됩니다.

[프로젝트 예제 작성 버전 및 주의사항]
Xpanel Ver 2.52(R170203)
Ver 2.52 프로젝트는 하위버전에서 프로젝트가 열리지 않습니다.

[예제 설명]
이 예제는 아날로그 태그로 일정시간 후 화면보고기 화면으로 전환되도록 만들었습니다. 화면보호기 전에 화면을 터치하면 아날로그 태그가 초기화되어 시간을 다시 측정합니다.
화면보호기로 전환된 후에는 로그인을 해야지만 제어화면을 불러올 수 있도록 설정하였습니다. 사용자 로그오프로도 화면보호기 페이지로 전환할 수 있습니다.

1. 페이지 작화를 합니다.
제어화면과 화면보호기 화면을 구성해야 합니다. 먼저 제어화면 Main을 구성하겠습니다.
화면보호기 용 아날로그 태그를 화면 터치 시 리셋하기 위해 페이지 환경설정에서 ‘중첩 터치 동작 허용’을 체크합니다.

 

2. 배경으로 사각형을 만들고 배경 터치 시 SCREENSAVER 아날로그 태그값을 0으로 쓰도록 설정합니다.
(아날로그 태그값를 초당 1씩 증가시켜 일정시간이 되면 화면보호기로 전환되도록 스크립트를 작성합니다. 사용 중에는 전환되지 않게 하기 위함입니다.)

태그는 아날로그 태그로 등록합니다.

3. 제어화면을 구성합니다.
예제로 다양한 오브젝트를 넣었습니다.

4. 배경으로 만든 사각형을 ‘정렬-배경 그림으로’ 설정합니다.
배경화면으로 고정되어 사각형 오브젝트를 선택할 수 없게 되지만 실행 시 설정한 터치 기능은 동작합니다.

5. 화면보호기 SCREENSAVER 페이지를 작화합니다.
제어화면과 같이 배경으로 사각형을 등록하여 터치 시 사용자보안 로그인 화면을 불러오도록 하겠습니다.

6. 배경을 만들고, 터치 시 LogOnWin() 함수를 사용하여 로그인 화면을 띄우도록 합니다.

7. 로그인을 이용하기 위해서는 사용자 ID가 등록되어 있어야 합니다.
도구-사용자보안 에서 사용자 ID를 등록합니다. 로그온 동작에 PageOpen(“Main”); SCREENSAVER=0; USER_ON=1; 을 작성합니다.
PageOpen(“Main”); 은 제어화면으로 변경하기 위함입니다. SCREENSAVER=0; 은 아날로그 태그를 초기화시키기 위해서입니다.
USER_ON=1; 은 사용자가 로그온 상태임을 확인하기 위함입니다.
사용자 로그오프 시에는 바로 화면보호기로 전환되게끔 PageOpen(“SCREENSAVER”); 명령식과 사용자 상태를 알리는 USER_ON=0; 을 작성합니다.
USER_ON 을 디지털 태그로 등록합니다.

8. 사용자를 등록했으니 로그온, 로그오프 버튼도 만들어 줍니다.
로그온 버튼은 LogOn(“사용자 ID”,”비밀번호”) 함수를 작성합니다. 누르는 즉시 해당 ID로 로그인 되는 함수입니다.
로그오프 버트은 LogOff(); 함수를 이용하여 사용자ID를 로그오프 시킵니다.

9. 스크립트를 작성합니다.
1초마다 스크립트가 실행되도록 정주기로 등록합니다.
1초마다 SCREENSAVER 아날로그 태그값이 1씩 증가합니다.
SCREENSAVER가 10이 되면, 화면보호기 페이지가 열리도록 하였습니다. 사용자가 로그인되어 있었다면, 로그오프 합니다.
(로그오프 하지 않는다면, 로그인할 때 사용자가 로그인되어 있다는 오류창이 표시됩니다.)

10. 초기화면을 설정하기 위해 도구-CIMON-XPANEL 동작 설정 창을 엽니다.
초기화면을 제어화면으로 선택합니다. 터치 시 Beep음을 듣고 싶지 않다면 Beep Off를 체크합니다.

11. 모두 저장한 후 도구–시뮬레이터 실행 으로 정상적으로 동작하는지 확인합니다.

정상적으로 동작되는지 직접 예제를 실행해보시기 바랍니다.
사용자 비밀번호는 1234 입니다.

 

[적용 방법]
기존 프로젝트에 사용하시려면 다음과 같이 작업하시면 됩니다.
기존 프로젝트에 예제와 같이 화면보호기를 작화합니다.
사용자 ID를 예제와 동일하게 등록하며, 2개의 태그(SCREENSAVER 아날로그, USER_ON 디지털)를 동일하게 등록합니다.
기존 사용자 ID가 있다면 해당 ID의 로그온 동작과 로그오프 동작에 예제의 사용자 ID 명령식들을 넣습니다.
기존 프로젝트에 스크립트를 복사 붙여넣기하고 화면보호기 대기시간을 변경하시면 됩니다.

 

첨부 1. ScreenSaverV252.zip

 

감사합니다.

 

 

#화면보호기예제#화면보호기설정방법#화면보호기샘플#화면보호기설정#프로젝트예제#샘플프로젝트#XPANEL프로젝트예제#XPANEL샘플프로젝트#엑스판넬프로젝트예제#엑스판넬샘플프로젝트

PLCS 위치결정 예제입니다.

PLCS 모델을 사용한 예제 프로그램 첨부합니다.
예제에는 다음과 같은 동작을 위한 프로그램 방법이 포함되어 있습니다.

1. 조그동작
2. 비상정지
3. 원점복귀
4. Posctrl 을 사용한 INC , ABS
5. 보간동작

#위치결정#위치결정예제프로젝트#위치결정샘플프로젝트#프로젝트예제#샘플프로젝트#PLC프로젝트예제#PLC샘플프로젝트

[SCADA][기능] 트렌드 상에서 원하는 태그값만 선택하여 보여주는 예제

안녕하세요.

CIMON 입니다.

콤보 박스를 이용해 트렌드에서 펜을 선택하는 예제입니다.

 

[ 이럴 사용하시면 됩니다 ]

여러 개의 태그가 하나의 트렌드에 같이 표현돼 구분하기 힘들 때 원하는 트렌드 펜을 선택해 해당 태그만 볼 수 있습니다.

 

[ 프로젝트 예제 작성 버전 주의사항 ]

SCADA Ver 3.04(R160224)

v3.04에서 작성된 프로젝트는 하위버전에서 열리지 않습니다.

 

[ 예제 설명 ]

 

1. 먼저 트렌드를 생성해줍니다.

트렌드 생성 시에 이름을 설정하는 것이 중요합니다. 이유는 후에 스크립트에서 사용할 SetPenStatus 함수에 트렌드의 이름으로 제어할 개체를 지정하기 때문입니다.

트렌드에 네 개의 태그를 등록하고 CimonX를 통해 확인하면 위와 같이 표현됩니다.

만약 트렌드에서 원하는 태그값만 확인하고 싶다면 다음과 같이 하면 됩니다.

먼저 콤보 박스를 등록합니다. 콤보박스는 PEN 태그로 이어주고 선택 항목에는 ANA1~ANA4, 즉 트렌드에 등록한 태그들을 입력합니다.

TREND_PEN() 스크립트를 작성합니다. 이 스크립트는 콤보 박스 PEN 태그의 상태를 판별해 SetPenStatus 함수를 사용하여 원하는 태그의 펜만 트렌드에 표현해줍니다.

작성한 스크립트는 PEN의 태그동작에 입력하여 콤보 박스로 PEN 태그의 값이 변화할 때만 작동하게 해줍니다.

위의 설정들이 끝나면 CimonX를 이용해 콤보박스에서 원하는 태그만 선택하여 출력되는 것을 확인할 수 있습니다.

ANA1을 선택한 화면입니다.

마찬가지로 ANA2를 선택한 화면입니다.

[ 적용 방법 ]
이 샘플에서 가장 중요한 것은 SetPenStatus 함수입니다. 이번에는 콤보 박스를 이용해 하나의 펜만 나타나게 SetPenStatus를 제어하였지만, 스크립트를 조금 수정해 주기적으로 태그가 하나씩 나타나게 하거나 체크 박스를 이용해 선택한 펜은 모두 나타나게 할 수 있습니다.

첨부 1. 트렌드 펜 선택.zip

#트렌드#트렌드펜#SetPenStatus#펜제어#펜선택#펜스크립트#콤보박스#펜설정#태그선택#원하는펜#샘플프로젝트#SCADA프로젝트예제#SCADA샘플프로젝트#SCADA사용예제#SCADA사용방법#SCADA사용샘플#SCADA

[SCADA][기능] 레시피 기능 사용 방법 예제

안녕하세요.
CIMON 입니다.

같은 공정에 들어가는 재료 비율이나 조건이 달라질 때 사용되는 레시피 기능을 사용하는 방법에 대한 예제입니다.
예제는 돼지사료와 닭사료를 만드는 공장에서 사용되는 재료에 대해 레시피 기능을 만들어 넣었습니다.

[이럴 때 사용하시면 됩니다]
공정에서 들어가는 재료는 같으나 비율, 양만 달라질 때 그리고 그 비율, 양을 저장하여 다시 쓰고 싶을 때 사용하시면 됩니다.

[프로젝트 예제 작성 버전 및 주의사항]
SCADA Ver 2.10(R100618), SCADA Ver 3.04(R160224)
v3.04에서 작성된 프로젝트는 하위버전에서 열리지 않습니다.
v2.10을 받으셔서 프로젝트 업그레이드를 하시기 바랍니다.

[예제 설명]
RecipeDialog() 내부함수를 실행하여 레시피다이얼로그를 실행합니다. 레시피 기능을 이용하여 태그값들을 레시피 메모리에 읽고 쓰고 저장할 수 있습니다.
닭과 돼지 사료를 만드는 사료공장을 가정합시다. 각각의 사료를 만드는데 필요한 재료는 동일하게 칼륨, 칼슘, 인, 질소라고 합니다.
두 사료는 들어가는 재료의 양이 다르기 때문에 각각 다른 값들을 저장하여 사용해야 합니다.
요리 레시피와 같이 들어가는 재료의 양만 달라지는 경우, 그 값들을 기억해서 사용하기 용이하게 만든 기능이 레시피 기능입니다.

1. 레시피편집기를 열어 레시피 모델을 생성합니다.
레시피 모델 이름을 쓰고, 저장 경로를 선택한 후, 필드이름을 씁니다. 필드이름은 재료명이라고 보시면 됩니다.
그룹 추가를 합니다. 어떤 제품명이라고 생각하시면 됩니다.
그룹을 추가하셨으면, 필드에 맞게 해당 재료의 태그값들을 설정합니다.
예제의 경우, 돼지 사료의 칼슘 재료는 돼지 그룹의 칼슘 아날로그 태그로 ‘돼지.칼슘’이 됩니다.
태그는 레시피편집기에서 적으시면 데이터베이스에 등록 여부를 묻습니다. 등록하시면 됩니다.

2. 데이터베이스를 확인합니다.
1번 과정에서 예제와 같이 태그를 등록하셨다면 다음과 같이 표시됩니다.

3. 간단히 화면에 표현하기 위해 작화를 합니다.

4. 각각의 버튼을 설정해줍니다.
레시피 다이얼로그 버튼은 RecipeDialog() 내부함수를 실행시키는 버튼입니다.

5. ????로 표시된 태그값은 각각의 이름에 맞는 태그값들을 보여줍니다.

6. 값 설정 또한 각각의 이름에 맞게 데이터입력으로 설정합니다.

7. CimonX를 실행시키고, 레시피 다이얼로그 버튼을 클릭합니다.
태그그룹을 선택하시고, 연산값을 입력합니다. 그리고 쓰기를 합니다.

8. 레시피 창을 닫으시고, 페이지에서 닭 사료의 재료 항목들의 값 설정을 한 후 레시피 다이얼로그 창을 열어 닭 그룹에서 읽기를 실행합니다.

9. 저장을 하시면 생산이력으로 레시피편집기에서 저장경로로 선택했던 위치에 저장됩니다.
CimonX가 종료되어도 CimonX 재실행 후 레시피 다이얼로그에서 열기로 데이터를 다시 불러올 수 있습니다.

 

[적용 방법]
기존 프로젝트에 사용하시려면 다음과 같이 작업하시면 됩니다.
기존 프로젝트에 레시피 편집기를 엽니다.
레시피 편집기에서 레시피로 등록하고 싶은 태그들을 입력하고 모델로 등록합니다.
RecipeDialog()를 실행시킬 버튼이나 명령식을 만듭니다.
CimonX를 실행시켜 정상적으로 동작하는지 확인합니다.

 

첨부 1. Recipe-v304.zip
첨부 2. Recipe-v210.zip

 

감사합니다.

 

#레시피다이얼로그#레시피사용방법#프로젝트예제#샘플프로젝트#SCADA프로젝트예제#SCADA샘플프로젝트#스카다프로젝트예제#스카다샘플프로젝트

 

[XPANEL] XpanelDesigner V2.19 update [영문]

XpanelDesigner V2.19 업데이트 되었습니다.

( XT05, XT06, XT10CA, XT12CA 모델은 지원되지 않습니다.)

#XPANEL소프트웨어#엑스판넬소프트웨어#Xpanel Designer#엑스판넬디자이너#XPANEL소프트웨어V2.19#엑스판넬소프트웨어V2.19#Xpanel Designer V2.19#엑스판넬디자이너V2.19#XPANEL소프트웨어2.19#엑스판넬소프트웨어2.19#Xpanel Designer2.19#엑스판넬디자이너2.19#V2.19#2.19#XPANEL V2.19#XPANEL2.19#영문XPANEL소프트웨어#영문엑스판넬소프트웨어#영문Xpanel Designer#영문엑스판넬디자이너#영문XPANEL소프트웨어V2.19#영문엑스판넬소프트웨어V2.19#영문Xpanel Designer V2.19#영문엑스판넬디자이너V2.19#영문XPANEL소프트웨어2.19#영문엑스판넬소프트웨어2.19#영문Xpanel Designer2.19#영문엑스판넬디자이너2.19#영문V2.19#2.19#영문XPANEL V2.19#영문XPANEL2.19

[XPANEL] XpanelDesigner V2.19 update [한글]

 

XpanelDesigner V2.19 업데이트 되었습니다.

 

( XT05, XT06, XT10CA, XT12CA 모델은 지원되지 않습니다.)

#XPANEL소프트웨어#엑스판넬소프트웨어#Xpanel Designer#엑스판넬디자이너#XPANEL소프트웨어V2.19#엑스판넬소프트웨어V2.19#Xpanel Designer V2.19#엑스판넬디자이너V2.19#XPANEL소프트웨어2.19#엑스판넬소프트웨어2.19#Xpanel Designer2.19#엑스판넬디자이너2.19#V2.19#2.19#XPANEL V2.19#XPANEL2.19