본문 바로가기

전체 글3551

C언어에서 비트연산을 하는 이야기 안녕하세요? 어제 포스팅에서 언급을 했다시피, 비트 연산이라는 것이 상당히 낯선 것인데, 다른 포스팅 안에서 묻어가면서 설명하기에는 내용이 너무 길어서 이렇게 따로 떼어내서 포스팅을 하게 되었습니다. 막상 이렇게 포스팅을 떼어내면 얼마 안되는 것 같기도 하지만, 그래도 엄청나게 짧은 것은 아니기는 합니다. 지난번 포스팅에서 위 스크린샷에 나와 있는 것처럼, 아두이노의 통합 개발환경 IDE인 스케치에서 위와 같이 코딩을 하고서 아두이노 보드에 업로딩해서 아래와 같은 결과가 나왔습니다. 일단 이와 같은 결과가 왜 나왔는지 설명을 하기 위해서는 byte라는 변수에 대해서 먼저 설명을 해야만 하는 필요성이 있습니다. 일단 byte라고 변수를 선언하게 되면, 8비트(bit) 단위의 연산을 시작하게 됩니다. 그래서.. 2017. 11. 17.
아두이노와 C언어 문법수업, 연산자와 for문의 수업 안녕하세요? 이번 포스팅에서는 이번주 수요일에 있었던 수업의 내용인, 아두이노 보드와 이를 제어하기 위한 C언어 문법을 수업했는데, 그 내용을 올리고자 합니다. 먼저 언급해야 할 것은, 크로스 컴파일이라고 해야 할까요? 여기서 나오는 모든 C언어로 씌여진 연산은 모두 'PC'가 아니라 '아두이노 보드'에서 처리한 것이라는 것을 알려드려야 겠습니다. 그래서 여기서는 컴파일이라고 하는 것이 아니라 정확히는 '크로스 컴파일'이라고 해서, 기계어로 변환한 언어가 PC가 아니라 아두이노 보드로 건너가(cross)된다고 해서 크로스 컴파일 이라고 합니다. 먼저 먼저 아두이노 보드에는 모니터가 없으니, 결과를 보기 위해서 Serial.begin이라는 함수를 사용합니다. 여기서 Serial이라는 것은 C언어에서 객체라.. 2017. 11. 16.
CiMon을 이용해서 통신을 연결하기 시도와 실패 안녕하세요? 어제 언급한 대로, 이번주 화요일 PLC 자동제어 수업의 남은 부분을 포스팅 하고자 합니다. 수업의 내용은 간단하게도 CiMon을 이용해서 한쪽은 서버로 만들도록 하고, 나머지 한쪽은 클라이언트가 되어서 원격으로 CiMon의 패널을 조작하는 것을 시도하고자 합니다. 우선 새로운 작업을 해야 하기 때문에, 새 프로젝트를 만들도록 합니다. 다음으로는 I/O 디바이스라는 메뉴에 들어가도록 합니다. 당연 여기서 새 디바이스를 추가하는 작업에 먼저 들어가 보고자 합니다. 여기서는 MODICON Modbus TCP Slave라는 것을 '서버'로 지정될 컴퓨터의 CiMon에서 지정을 하도록 합니다. 참고로 서버라는 것은 다른 말로 slave로서, 그냥 정보를 제공해 주는 기능만 합니다. 그래서 여기서는 .. 2017. 11. 15.
워드 데이터와 비트 연산, 그리고 While문 활용의 한 예시 안녕하세요? 어제는 수업내내 CAD를 이용해서 회로 도면만 그렸기 때문에 따로 포스팅을 할만한 내용이 없었습니다만, 오늘은 내용이 많아서 수업의 내용을 2개의 파트로 나누어야 했습니다. 일단 첫 파트는 DAQ라는 장비를 이용해서 데이터 수집장비를 이용하는 경우가 있다고 합니다. 그런데 DAQ에서는 CiMon으로 워드 데이터라는 것이 오게 됩니다. 그리고 이 워드 데이터를 비트 데이터로 바꾸어야 하는 일이 있는데, 먼저 하는 과제는 이를 위해서 변환하는 과제입니다. 먼저 새로운 프로젝트를 생성 하도록 합니다. 일단 태그를 만드는데, DAQ에서는 아날로그 데이터가 오기 문에 이에 대한 아날로그 태그를 하나 만들도록 합니다. 그리고 비트 데이터로 처리하기 위해서 16개의 태그를 만들도록 합니다. 그리고 이번에.. 2017. 11. 14.