라벨이 PLC인 게시물 표시

아르바이트 – PLCReport

이미지
  PLCReport 작업의뢰 2015년 여름 가끔 같이 일을 했던 사장님한테 아르바이트 의뢰가 들어옵니다. PLC랑 통신을 해서 리포트를 생성해 주는 프로그램 작업 의뢰가 들어왔는데 저한테 할 수 있는지 물어보시더군요. 그 사장님이 지금 하는 일이 HMI(설비 모니터링) 작업을 하고 있는데 의로 처에서 기존에 있던 리포트 작업까지 추가해 달라고 해서 리포트 프로그램을 저에게 맡기고 싶다는 의뢰였습니다. 제가 회사를 다니기 때문에 평일에는 힘들고 주말에 가서 해도 되면 해드리겠다고 이야기를 하고 (계약서나 그런 거 작성을 하지 않고) 주말에 일하는 부분이 OK 되어서 일을 시작했습니다. 금액은 처음에 간단한 거라 생각하고 적게 불렀는데 생각보다 많이 주신다고 하여 이걸로 무엇을 할까 하는 생각도 했었죠 주말에 인천에서 만나 차를 타고 현장으로 갔습니다. 이미 PLC랑 통신해서 HMI 작업은 거의 마무리 단계이고 기존에 리포트 출력해 주는 프로그램이 있는데 이거랑 똑같이 만들어 주면 된다고 하시면서 리포트 프로그램을 열어서 조회하는 부분이랑 엑셀로 다운로드하는 기능을 보여주셨습니다. 프로그램을 보니 VB 6.0으로 제작되어 있는 거 같았습니다. 오래된 프로그램의 느낌이 들었어요! 제작사가 연락이 안 돼서 수정도 안되고 PLC가 변경되었는데 반영도 안되고 같았습니다. 그래서 저에게 의뢰가 들어오게 된 거겠지요 프로그램작업 리포트 프로그램 화면 캡처해서 USB에 담아오고 PLC 어드레스 정리된 엑셀을 받아서 우선 집으로 왔습니다. 오는 길에 전기 공사하시는 분의 차를 얻어 타고 오는데 “이런 일 많이 해봤느냐.. 나한테 이런 일이 많이 들어오는데 해줄 수 있느냐 ” 그런 이야기를 들었습니다. 집에 오면서 아! 이렇게 투잡을 시작하는구나 하는 생각이 들었습니다. 그렇게 해서 회사를 다니면서 주중에는 회사일을 하고 퇴근 후 아르바이트 일을 했습니다. 간단히 PLC랑 통신하는 데몬을 만들고 데몬에서 일정 시간 혹은 특정 어드레스 값이 1이 될 경우 CSV 파일로 ...

코딩, PLC통신

  코딩 프로젝트를 진행하면서 새로운 기능이나 모듈을 추가하기 위해서 코드를 구현할 때 우선 신규 프로젝트를 하나 만들어 거기서 충분히 테스트를 한 후 본 코드에 추가하는 편이다. 이렇게 하다 보면 프로젝트를 하나 진행하면서 최대 50~60개의 프로젝트도 만들어 본 경험이 있다. 그렇게 정리된 코드들이 나중에는 다 내 재산이 되겠지 PLC통신 요즘 PLC 통신과 관련된 일을 하기 때문에 OPC 서버라든지, MX Component,  Modbus 등 자료를 보고 있습니다. Melsec 이랑 통신은 많이 해봐서 아는데 이번엔 처음 보는 PLC 라 엄청 삽질할뻔했는데 그 PLC가 다른 PLC 랑 통신을 하기 위해 프로토콜 변환기와 Melsec PLC 가 중간에 설치되어 있어서 그 Melsec를 통해서 값을 가져오기로 변경했어요. PLC란 무엇일까? (P)rogrammable (L)ogical (C)ontroller는 (프)로그램가능한 (논)리적인 (제)어기입니다. PLC는 간단히 설명하면, 들어온 입력에 맞추어 프로그램된 대로 출력을 내어 보내는 장치입니다. 입력/출력은 접점(Digital Input/Output), 아날로그(Analog Input/Output), 펄스카운터(Pulse Input/Output), 특수제어용모듈 이 있습니다. CPU는 Central Processor Unit입니다. 즉 중앙처리장치입니다. CPU Module은 ALU+Memory+통신Bus로 구성이 됩니다. ALU는 Arithmatic & Logic Unit 로 산술논리계산 장치 입니다 . Memory는 프로그램과 데이타(CPU 상태, i/o image, Timer, Counter, Coil, 각종자료)으로 구성됩니다. VB.NET VB.NET 을 하다 보면 코드 자동 완성 기능이 너무 좋아 보인다 ^^ C#은 안되는 거 같던데 어떻게 하는 방법이 없나???