ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ST 언어 .Q판정 (액션)
    PLC 2022. 4. 13. 11:22

    PLC 개인적으로 공부하면서 참고할만한것을 모아놓는곳입니다.

     

    Q가 무슨의미인지 몰라서 찾아봤는데 액션의 뜻이었습니다..;;

     

     

     

     

     

    Functions, function bloccks 과 Actions 다양한 펑션과 펑션 블럭은 프로그램 언어 기능을 확장한다. 액션은 프로그램 구조를 보다 효과적으로 사용하게 한다. 펑션과 펑션 블럭은 툴바에서 추가할 수 있다.

     

     

     

    Functions 콜 할때 펑션은 특정 값을 반환해주는 서브 루틴이다. 함수를 호출 할 수 있는 한가지 방법은 표현식에 있다. 인수(arguments)라고도 하는 전송 매개 변수(transfer parameter)는 함수에 전달되는 값이다. 전송 매개 변수는 쉼표(”,”)로 구분된다.

     

     

     

     

    Function blocks 펑션 블럭은 여러 전송 매개 변수와 다수의 결과 값을 취할 수 있다는 사실이 특징이다. 펑션과 달리, 펑션블럭과 같은 데이터 타입을 지닌 인스턴스 변수로 선언이 필요하다. 펑션 블럭의 장점은 여러 사이클 동안 도출해야하는 더 복잡한 작업 결과들을 다룰 수 있다. 다른 인스턴스를 사용하므로써, 같은 타입에 다수의 펑션블럭은 다른 전송 매개 변수와 연계될 수 있다. 펑션 블럭을 콜할때, 모든 인수 또는 몇개를 넘기는 것도 가능하다. 매개 변수와 결과는 인스턴스 변수 요소를 사용하여 프로그램코드에서 접근 할 수 있다.

     

     

     

    ‘Call 하는 방법 1’에서 모든 매개변수는 펑션 블럭을 콜할때 직접 연결된다. ‘Call 하는 방법 2’에서 매개변수는 인스턴스 변수 요소에 할당된다. 두 경우 모두, 콜을 한 이후에 인스턴스 변수에서 원하는 변수를 읽어야 한다

     

     

     

    변수의 선언 ▷ 프로그램 구성 요소(즉 프로그램, 펑션, 펑션 블록)는 그 구성 요소에서 사용할 변수를 선언할 수 있는 선언 부분을 가지고 있습니다. ▷ 프로그램 구성 요소에서 변수를 사용하기 위해서는 우선 사용할 변수를 선언해야 합니다. ▷ 변수의 선언에서 설정해야 할 사항은 다음과 같습니다

     

     

    2) 데이터 타입 : 변수의 데이터 타입을 지정합니다. 3) 메모리 할당 : 변수가 차지할 메모리를 할당합니다. 자동 ---- 컴파일러가 변수의 위치를 자동으로 지정(자동 배치 변수). 사용자 정의(AT) ---- 사용자가 직접표현 변수를 사용하여 강제로 위치를 지정(직접변수).

     

     

    참고)

    자동 배치 변수는 그 실제 위치가 고정되어 있지 않습니다. 예를 들어 VAL1 이란 변수를 BOOL 데이터타입으로 선언하였 다면 그 변수가 내부 데이터 영역의 어느 위치에 있는지 고정되어 있지 않다는 것입니다. 그 위치는 프로그램을 다 작 성한 후 컴파일러와 링커에 의해 정해집니다. 만약 프로그램을 수정한 후에 다시 컴파일 하였다면 그 위치가 변할 수 있습니다. 자동 배치 변수의 장점은 사용자가 내부 변수로 사용하는 것들의 위치에 신경 쓰지 않아도 된다는 것입니다. 다른 이름으로 선언한 변수들은 결코 데이터 메모리에 중복되어 위치하지 않기 때문입니다. 직접변수는 변수의 위치가 정해지기 때문에 %I 와 %Q 를 제외하고는 될 수 있으면 사용하지 않는 것이 좋습니다. 직접변수는 자동 배치 변수가 아 니므로 사용자가 잘못 사용할 경우, 중복될 수 있습니다. ▷ 초기값(Initial Value) 지정 : 변수의 초기값을 지정합니다

     

    VAR_EXTERNAL 의 선언 시에는 초기값을 줄 수 없습니다. 변수 선언 시 %I 와 %Q 로 강제 할당한 변수에는 초기값을 줄 수 없습니다. ▷ PLC 의 전원이 끊긴 후에도 데이터의 값을 유지할 필요가 있는 변수는 정전 유지(Retention)의 기능이 제공되는 VAR_RETAIN 을 써서 선언할 수 있으며 다음의 규칙을 따릅니다. 1) 정전 유지 변수는 시스템의 웜 리스타트시 그 값이 유지됩니다. 2) 시스템의 콜드 리스타트시에는 사용자가 정의한 초기값이나 기본 초기값으로 초기화됩니다. ▷ VAR_RETAIN 으로 선언되지 않은 변수는 콜드 리스타트나 웜 리스타트 어느 경우에도 사용자가 정의한 초기값이나 기 본 초기값으로 초기화됩니다.

     

     

    변수 선언 시 %I 와 %Q 로 강제 할당한 변수는 변수종류를 VAR_RETAIN, VAR_CONSTANT 로 선언할 수 없습니다. ▷ 변수는 기본 데이터 타입을 인자로 갖는 어레이로 선언하여 사용할 수 있습니다. 어레이 변수로 선언할 때에는 인자 로 사용할 데이터의 타입과 어레이의 크기를 설정하여야 합니다. 단, 기본 데이터 타입 중에 STRING 데이터 타입은 인자로 설정할 수 없습니다. ▷ 변수 선언의 유효 영역(Scope), 즉 변수를 사용할 수 있는 영역은 그 변수가 선언된 프로그램 구성 요소에 한합니다. 따라서 다른 프로그램 구성 요소에서 선언된 변수는 사용할 수 없습니다. 글로벌 변수로 선언된 변수는 이와 달리 모 든 곳에서 VAR_EXTERNAL 선언에 의해 변수 접근이 가능합니다.

     

    예약어 (조건들)

     

     

    댓글

Designed by Tistory.