XGI-CPUE SHIFT 펑션에 관한 질문입니다.
- 라쿤
- 373
- 2
첨부 1
PLC 기종 | xgt |
---|
XGI-CPUE SHIFT 펑션에 관한 질문입니다.
우선
첫째로 SHIFT_A와 SHIFT_C의 정확한 차이가 무엇인지 궁급합니다.
둘째로 펑션의 사용방법이 이해가 잘안갑니다. SRC에 어떤 메모리가 들어가야하는지 모르겠습니다.
(하고싶은 동작은 %MW29의 워드의 %MX29.8~%MX29.15까지의 값을 %MW30 즉 %MX30.0~%MX30.7으로 옮기고싶습니다)
셋째로 회전의 방향이 START = 0 END = 5 에서 START = 5 END = 0 으로 바뀌면 방향이 바뀌는지 알고싶습니다.
1) SHIFT_A-어레이블럭(바이트, 워드, 더블워드 등), 즉 비트 이외 SHIFT
SHIFT_C-어레이비트, 즉 비트만 SHIFT
2) SHIFT_A로 설명하면 소스어레이의 START에서 END내의 값을 START부터 N개만큼 이동시키고 이동 후
빈자리는 IN값으로 채웁니다. 이동으로 버려지는 값의 첫째값이 OUT의 값이 됩니다.
IN-555, START-2, END-8, N-3인 SHIFT_A를 실행하면
변경전 어레이 값 0. 1, <2, 3, 4, 5, 6, 7, 8>, 9
변경후 어레이 값 0, 1, 555, 555, 555, 2, 3, 4, 5, 9
OUT은 사라진 6, 7, 8 중 처음 값인 6입니다.
------------------------------------------------------------
-> 원하는 동작은 BMOV명령어를 사용하세요.
------------------------------------------------------------
3) START와 END의 값을 바꾸면 아래와 같습니다.
IN-555, START-8, END-2, N-3인 SHIFT_A를 실행하면
변경전 어레이 값 0. 1, <2, 3, 4, 5, 6, 7, 8>, 9
변경후 어레이 값 0, 1, 5, 6, 7, 8, 555, 555, 555, 9
OUT은 사라진 4, 3, 2 중 처음 값인 4입니다.