Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
comfilepi:modport_example:index [2026/02/15 06:30] admincomfilepi:modport_example:index [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1
Line 1: Line 1:
-====== Modport를 이용한 ComfilePi 어플리케이션====== 
-MODPORT는 데이터 수집용 필드 I/O 제품입니다. ComfilePi와 결합하여 산업현장의 각종 데이터 수집및 제어를 할 수 있습니다. 또한  모듈형식의 슬롯 보드로 구성되어 있어 사용자가 필요에따라 모듈을 확장하여 사용할 수있습니다. \\ 
-본 장에서는 ComfilePi를 이용하여 MODPORT의 모듈 사용법, 제어, 상태값을 표시하는 내용을 다루고 있습니다.  
-{{ :comfilehmi:hmi_connection_modport:modport.png?nolink&400 |}} 
  
-[[:fieldio:modport:index|산업용 필드 I/O MODPORT 사용설명서]]\\ 
-\\ 
-===== 구성및 인터페이스 ======   
- 
-  * Modport는 RS485로 통신합니다. ComfilePI에 RS232-TO-RS485 컨버터를 사용해 통신합니다.  
-  * Modbus RTU 프로토콜를 사용합니다. 
-  * 보레이트도 57600,8,N,1 고정입니다 
-  * 각 모듈별로 고유의 Start address가 있습니다. [[fieldio:modport:start_address:index|모듈의 시작 어드레스와 펑션코드]] 
-  * 모듈의 로터리 스위치로 Slave ID를 설정할 수 있습니다. 
- 
-{{ :comfilepi:modport_example:modport_wire.png |}} 
- 
-===== 예제1) In/Output 제어 ======   
-  * 사용모듈 : MD-DIDC8-디지털 입력, MD-DORL8- 릴레이 출력 
-  * MD-DIDC8 : SlaveID -> 1, StartAddress -> 0~7 
-  * MD-DORL8 : SlaveID -> 1, StartAddress -> 3200 ~ 3207 
-  * 예제프로그램 다운로드 {{ :comfilepi:modport_example:ex1_modport_io_example.zip |}} 
- 
-** 위 소스는 참고용으로 배포합니다. 저희 회사는 이에 대한 전화 기술지원은 제공하고 있지 않은점 양해부탁드립니다. ** 
- 
-{{ :comfilepi:modport_example:example1.png |}} 
- 
-Serial통신 설정은 아래와같이 프로그램합니다. ComfilePi의 COM0은 **/dev/serial0**로 설정합니다.  
-<code xbasic>  
-string portName = Environment.OSVersion.Platform == PlatformID.Win32NT ? "COM1" : "/dev/serial0"; 
-SerialPort port = new SerialPort(portName, 57600); 
-port.ReadTimeout = 50; 
-port.WriteTimeout = 50; 
-port.Open(); 
-</code> 
-MD-DORL8 출력 비트값을 제어합니다. 
-<code xbasic>  
-master.WriteMultipleCoils(1, 3200, outputs); 
-</code> 
-MD-DIDC8 입력 상태값을 읽어옵니다. 
-<code xbasic>  
-var inputs = master.ReadCoils(1, 0, 8); 
-</code> 
- 
-\\ 
-===== 예제2) ADIn/Temp  ======   
-  * 사용모듈 : MD-ADIN4- AD 입력, MD-THRT4- 온도센서 
-  * MD-ADIN4 : SlaveID -> 1, StartAddress -> 40101 ~ 40104 
-  * MD-THRT4 : SlaveID -> 1, StartAddress -> 40301 ~ 40304 
-  * 예제프로그램 다운로드. {{ :comfilepi:modport_사용예제:modport_adin_temp_example.zip |}} 
- 
-{{ :comfilepi:modport_사용예제:adin_temp.png |}} 
-\\ 
- 
-MD-ADIN4 아날로}}그 상태값을 읽어옵니다. 
-<code xbasic>  
-var AD_CH = master.ReadHoldingRegisters(1, 100, 4); 
-</code> 
- 
-MD-THRT4 온도값을 소수 1자리와 영하(-)의 값으로 읽어옵니다.. 
-<code xbasic>  
- 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; 
-      } 
- </code> 
- 
-[[comfilepi:index#.NET_(닷넷)_개발환경|이전 페이지로 이동]]