안녕하세요?


하다보니 좀 많이 늦기는 했는데, 아무튼 이러니 저러니 해도 지난주 초에 있었던 수업의 내용을 다 정리하는데, 너무 양이 많아서 정리하는 데 시간이 걸리기는 걸리는 중입니다. 아무튼 이번 시간에는 좀 이해가 어렵기도 하면서, 어떨 때는 유용할 수도 있는 명령어를 실습하였고, 그 내용을 포스팅하고자 합니다.



먼저 FIFW를 실습해 보기 위해서 일련의 래더를 만들어 놓았습니다.



그리고 GT designer에서 일련의 디자인을 하도록 합니다.



이제 시뮬레이션을 돌리도록 하겠습니다.



일단 3이라는 값을 디바이스 D101~D105까지 입력을 하는 것을 볼 수 있습니다. 여기서 중요한 것은 D100만 지정을 했지만, 나머지 아래의 디바이스는 알아서 지정이 된다는 것입니다.


그리고 중간에 3을 입력하다가 4로 바꾸자, 값이 바뀌어서 입력이 되는 것을 볼 수 있습니다. 이렇게 바뀌는 값을 가장 큰 숫자의 디바이스에다가 '쓰는' 역할을 하는 것을 FIFW라고 볼 수 있습니다.



이제는 FIFR을 실습해 보기 위해서 래더를 짠 것입니다.




GT designer에서 새로운 버튼을 하나 추가하고 나서, 다시 실습에 들어가 보도록 합니다.



시뮬레이션을 작동 시킨 모습입니다.



일단 GIF파일로 만들어서 한번 나타내 보기는 했지만, 이 때 까지만 해도 어떻게 움직이는 지는 모르겠습니다.



일단 FIFR에 에러를 방지하기 위해서 D100이 1이상일 때만 작동할 수 있도록 조건을 걸어 두도록 합니다.



그리고 여기서 rising edge로 바꾼 이유는 바로, 버튼을 계속 눌렀을 때, 연속해서 값이 번지는 것을 막기 위해서 이와 같이 상승엣지를 사용했습니다.


그리고 FIFR의 실습을 위해서 확인해 보고자, 위 스크린샷과 같이 모양을 맞추어 놓았습니다.



일단 결과부터 말하자면, FIFR이라는 명령어는 D101에 저장이 되어 있는 데이터를 D200으로 옮기고, D101의 자리에 D102의 데이터부터 하나씩 올린다고 보면 됩니다.


그리고 GIF파일로 작동하는 모습을 묘사했습니다. 실제로 D101의 값이 D200으로 옮겨지고, D105에서 부터 저장된 데이터가 위로 올라가는 것을 볼 수 있습니다.




그리고 다음으로는 FPOP와 관련된 FDEL과 FINS에 관해서 실습을 하고자 빨간색 박스에서 보이는 부분의 래더를 추가하였습니다.



GT designer에서 관련된 내용을 디자인 하도록 해 봅니다.



이제 FPOP를 실험해 보기위한 시작 화면입니다.



FIFR과는 다르게, 끝 꼬리에 해당하는 D105부터 데이터를 빼서 D200에 넣는 것을 볼 수 있습니다. 그래서 후입선출이라고 불리는 이유가, 바로 꼬리 부분부터 빼서 옮긴다고 해서 붙여진 이름이 아닌가 하는 생각이 듭니다.



이제 FDEL과 FINS를 실습해 보기 위해서 작업에 들어가 보도록 합니다.



먼저 FDEL을 실행하자, D101부터 3을 세어서 3번째 자리에 있는 D103에 있던 5라는 데이터를 빼서 D200에 보내는 것을 볼 수 있었습니다.



실제로 D103부터 차례대로 빼서 D200에 들어가는 것을 볼 수 있었습니다.



그리고 혹시나 싶어서 D200 이외에도 데이터가 저장이 되는가 싶어서 찾아보니, 그건 없었습니다. 이건 생각해 보면서 작업을 해야 겠다는 생각이 들었습니다.



그리고 이번에는 FINS를 실험해 보도록 했습니다. K3라고 지정을 해 놓으니, D101을 포함해서 3을 세어서 D103에서 부터 7이라는 값을 집어 넣는 것을 볼 수 있었습니다. 이것으로 일련의 FIFW, FIFR, 후입선출인 FPOP와 FDEL, FINS를 확인하는 데 성공했습니다. 이제 남은 것은 마지막으로 실행을 한 과제에 대해서 포스팅을 해서, 수업의 내용이 많았던 하루의 내용을 모두 포스팅 하겠습니다.

+ Recent posts

티스토리 툴바