======콘트롤 및 드라이버 사용법(RS232)====== AdvancedHMI솔루션에서 제공하는 콘트롤과 드라이버를 이용하여 MSB를 제어하는 방법에 대해 알아 보겠습니다.이중 활용도가 많은 버튼, 램프, 판넬등의 콘트롤과 linuxModbusRTU 드라이버 사용방법에 대해 설명합니다. \\ {{ :comfilepi:advancedhmi_uirtu:견선메인.png?nolink |}} [[http://www.comfile.co.kr/shop/goods/goods_list.php?&category=005001|MSB]] -MSB 소형PLC(ModbusRTU) \\ ===== linuxModbusRTU 드라이버를 이용한 MSB612RA-DC 제어 ===== linuxModbusRTU 드라이버를 이용하여 ComfilePi에서의 ModbusRTU(RS232용)사용법과, 콘트롤를 이용하여 MSB612RA-DC의 입출력 상태제어와 아날로그 값을 표시하는 방법을 설명합니다. {{ :comfilepi:advancedhmi_uirtu:동작영상.mp4?700x450 |}} * **※** {{ :comfilepi:advancedhmi_uirtu:rs232_advancedhmi.zip |}} - 위 영상의 AdvancedHMI 예제 솔루션입니다. * **※** {{ :comfilepi:advancedhmi_uirtu:msb_comfilepi.zip |}} - 위 영상의 MSB프로그램입니다. * 위의 AdvancedHMI 예제솔루션을 개발자 데스크탑 PC에 다운로드 합니다. * 비주얼 스튜디오로 "AdvancedHMIv35.sln"파일을 비주얼 스튜디오에서 오픈 합니다. * 솔루션 탐색기의 ComfilePi -> MainForm.cs를 더블 클릭합니다. 그러면 화면에 메인폼이 표시됩니다. * 아래와 같이 도구상자의 콘트롤과 드라이버를 마우스로 드래그하여 디자인 폼에 위치 시킵니다. * 드라이버 : **linuxModbusRTU** (디자인폼에 드래그하면 폼 하단에 드라이버가 표시됩니다.) * 콘트롤 : **BasicButton, PilotLight, DigitalPanelMeter** {{ :comfilepi:advancedhmi_uirtu:화면_1.png?nolink |}} \\ * 폼하단에 생성된 linuxModbusRTU 드라이버를 클릭하여 속성을 아래와 같이 설정합니다. * **StationAddress**는 MSB(PLC)의 슬레이브 ID주소 입니다. * **Portname**은 "**/dev/serial0**" 로 설정합니다. * RS232통신은 사용자 설정에 맞게 설정합니다. (아래는 115200보레이트/8bit/None Parity/1 Stop Bit 설정입니다.) {{ :comfilepi:advancedhmi_uirtu:통신설정.png?nolink | |}} \\ * 디자인한 콘트롤을 아래와 같이 설정합니다. 모든 콘트롤러의 **ComComponent**는 **linuxModbusRTU ** 입니다. * PilotLight 램프은 MSB612RA-DC의 입력상태를 나타냅니다. MSB612RA-DC 입력포트 8번의 주소인 0009로 설정합니다. {{ :comfilepi:advancedhmi_uirtu:입력램프.png?nolink |}} * BasicButton 버튼은 MSB612RA-DC의 출력을 제어합니다. MSB612RA-DC출력포트 32번의 주소인 0033로 설정합니다. {{ :comfilepi:advancedhmi_uirtu:출력버튼.png?nolink |}} * DigitalPanelMeter 패널은 MSB612RA-DC의 아날로그 데이터 값을 표시합니다. MSB612RA-DC의 아날로그 0번포트는 _D(0)주소인 40001로 설정합니다.(//위의 MSB 프로그램을 참고하세요//) {{ :comfilepi:advancedhmi_uirtu:아날로그_페널.png?nolink |}} * 시작를 클릭해 솔루션을 실행 시킵니다. 윈폼디자인이 실행되며, 솔루션 폴더의 **"AdvancedHMIv399x\AdvancedHMI\ComfilePi\bin\Debug"**에 실행파일 .exe와 .dll파일이 생성됩니다. {{ :comfilepi:advancedhmi_uirtu:폴더.png?nolink |}} \\ * [[comfilepi:running_.net_winforms:index|닷넷 프로그램 작성및 실행]]을 참고하여 ComfilePi로 파일복사 및 Mono 실행 방법을 확인합니다. (**Mono**프레임웍은 닷넷으로 개발된 코드를 리눅스에서 실행할 수 있도록 해주는 리눅스용 닷넷 프레임웍 입니다.) * ComfilePi.exe와 *.dll 파일을 ComfilePi에 복사합니다. * 복사가 끝난뒤 Mono 명령을 이용하여 프로그램을 실행합니다. mono ComfilePi.exe {{ :comfilepi:advancedhmi_uidriver:실행png.png?nolink |}} =====ComfilePi와 MSB 결선===== {{ :comfilehmi:hmi_connection_cubloc:connectionmsb.png?nolink |}} {{ :comfilehmi:hmi_connection_cubloc:hmiwithplc.jpg?nolink&400 |}} [[comfilepi:index#AdvancedHMI를_이용한_어플리케이션_개발_환경|상위 페이지로 이동]]