사용자 도구

사이트 도구

English

comfilepi:modport_사용예제:index

Modport를 이용한 ComfilePi 어플리케이션

MODPORT는 데이터 수집용 필드 I/O 제품입니다. ComfilePi와 결합하여 산업현장의 각종 데이터 수집및 제어를 할 수 있습니다. 또한 모듈형식의 슬롯 보드로 구성되어 있어 사용자가 필요에따라 모듈을 확장하여 사용할 수있습니다.
본 장에서는 ComfilePi를 이용하여 MODPORT의 모듈 사용법, 제어, 상태값을 표시하는 내용을 다루고 있습니다.

산업용 필드 I/O MODPORT 사용설명서

구성및 인터페이스

  • Modport는 RS485로 통신합니다. ComfilePI에 RS232-TO-RS485 컨버터를 사용해 통신합니다.
  • Modbus RTU 프로토콜를 사용합니다.
  • 보레이트도 57600,8,N,1 고정입니다
  • 각 모듈별로 고유의 Start address가 있습니다. 시작 어드레스와 펑션 참고
  • 모듈의 로터리 스위치로 Slave ID를 설정할 수 있습니다.



예제1) In/Output 제어

  • 사용모듈 : MD-DIDC8-디지털 입력, MD-DORL8- 릴레이 출력
  • MD-DIDC8 : SlaveID → 1, StartAddress → 0~7
  • MD-DORL8 : SlaveID → 1, StartAddress → 3200 ~ 3207
  • 예제프로그램 다운로드 ex1_modport_io_example.zip



Serial통신 설정은 아래와같이 프로그램합니다. ComfilePi의 COM0은 /dev/serial0로 설정합니다.

string portName = Environment.OSVersion.Platform == PlatformID.Win32NT ? "COM1" : "/dev/serial0";
SerialPort port = new SerialPort(portName, 57600);
port.ReadTimeout = 50;
port.WriteTimeout = 50;
port.Open();

MD-DORL8 출력 비트값을 제어합니다.

master.WriteMultipleCoils(1, 3200, outputs);

MD-DIDC8 입력 상태값을 읽어옵니다.

var inputs = master.ReadCoils(1, 0, 8);


예제2) ADIn/Temp

  • 사용모듈 : MD-ADIN4- AD 입력, MD-THRT4- 온도센서
  • MD-ADIN4 : SlaveID → 1, StartAddress → 40101 ~ 40104
  • MD-THRT4 : SlaveID → 1, StartAddress → 40301 ~ 40304
  • 예제프로그램 다운로드. modport_adin_temp_example.zip


MD-ADIN4 아날로}}그 상태값을 읽어옵니다.

var AD_CH = master.ReadHoldingRegisters(1, 100, 4);

MD-THRT4 온도값을 소수 1자리와 영하(-)의 값으로 읽어옵니다..

 var TEMP_CH = master.ReadHoldingRegisters(1, 300, 4);
double[] Ftemp = new double[4];
      for (int i = 0; i < 4; i++){
          Ftemp[i] = Convert.ToDouble(TEMP_CH[i]);
 
          if ((Ftemp[i] > 0x8000) ){
              Ftemp[i] = Ftemp[i] - 0x8000;
              Ftemp[i] = Ftemp[i] * (-1);
          }
          Ftemp[i] = Ftemp[i] / 10.0;
      }
 

ComfilePi (컴파일 파이)

comfilepi/modport_사용예제/index.txt · 마지막으로 수정됨: 2017/11/25 02:04 저자 Comfile Technology