Siemens#?=무엇

3136 단어 PLC
이 기사도 여기 실렸어↓
http://soup01.com/ja/2019/12/25/post-1990/
F1의 관점에서 볼 때Variant 변수를 참조 변수로 처리할 수 있습니다.
태그가 Variant로 처리될 때 그 참조가 유효하면 참조를 직접 사용할 수 있고 그렇지 않으면 값이 NULL입니다.
참고로 처리할 때 인용이 유효한지 물어보는 방법이 있다.LAD와 FBO의 경우 ENO의 상태를 기준으로 판단할 수 있습니다.ENO가 1이면 유효하고 0이면 유효하지 않습니다.STL, SCL의 경우 ISNULL 또는 NOTNULL의 Function을 사용하면 유효한지 확인할 수 있습니다.

규칙.


1. Variant는 Temp의 변수인 NG입니다.
2. Variant를 참조하는 스토리지 영역은 최적화된 스토리지 영역이어야 합니다.
3. 참조 Variant 변수가 정렬된 경우 길이도 함께 해야 합니다.예를 들어 [0.9] 배열의 Variant는 [0.10] 배열을 참조할 수 없습니다.
4.SCL은 a:=b:=c처럼 많이 줄 수 없습니다.

이루어지다


그럼 EXAMPLE를 빨리 제작하세요.먼저 3개의 구조체를 만든다.

Paras1



Paras2



Paras3



Function


Interface는 다음과 같습니다.

Input은 Variant입니다.
Temp Area를 참조하십시오.REF_토가 돼라.이것은 먼저 말한 "참고"이다. 3개의 참조를 만드는 데 쓰이는 변수다.
Flag만 tparas의 배열이 단순한 참조일 뿐이라는 것을 나타낸다.

Program


라인 2~12에서는 Variant가 어떤 Data Type인지를 판단하기 위해 Case 문과 Type Of의 Function을 사용합니다.Paras1의 경우 Variant는 tparas1... 을 참조합니다.
라인 14-16에서는 각 참조 변수가 NULL인지 확인합니다.


Line 1-3 데이터 타입에 따라 결과가 달라질 경우
^ 인용 변수를 사용할 때는 문장을 붙여야 합니다.

Check


마지막으로 우리 한번 해 봅시다.데이터 블록을 작성합니다.

안에 세 개의 변수가 있고 다른 값이 있다.


마지막으로 Function을 세 번 호출하여 다른 변수를 넣고 테스트합니다.
Network 1은 1과 42, 블록은 곱셈이기 때문에 결과는 42다.
Network2는 1.99와 5.32를 넣었고, 블록에서는 마이너스를 넣었기 때문에 결과는 -3이었다.
Network3이 들어오는 것은 모두 온의 부울이기 때문에 블록에서 AND의 연산 결과는 1이다.

수고하셨습니다.

좋은 웹페이지 즐겨찾기