MODPORT는 데이터 수집용 필드 I/O 제품입니다. ComfilePi와 결합하여 산업현장의 각종 데이터 수집및 제어를 할 수 있습니다. 또한 모듈형식의 슬롯 보드로 구성되어 있어 사용자가 필요에따라 모듈을 확장하여 사용할 수있습니다.
본 장에서는 ComfilePi를 이용하여 MODPORT의 모듈 사용법, 제어, 상태값을 표시하는 내용을 다루고 있습니다.
위 소스는 참고용으로 배포합니다. 저희 회사는 이에 대한 전화 기술지원은 제공하고 있지 않은점 양해부탁드립니다.
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);
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; }