Introduction Open Platform nodes H/W modules Technical Issues
Introduction dooroo-framework node editor dooroo-framwork editor
소프트웨어를 디자인하라! Introduction 복잡한 프로그래밍일 필요 없이 소프트웨어를 자동 생성해 준다. 사용자의 GUI 및 제어, 통신 기능 등의 어플리케이션을 자동 생성시켜주는 소프트웨어 입니다.
dooroo-framework node editor 노드를 디자인하라!
dooroo-framwork editor 소프트웨어를 디자인하라!
Open Platform Development Style Open Platform Development Design of the Products Management of the Product Difference of the Products Customer Open platform
Development Style (1) 전문가/복잡/디버깅 비전문가/시각화/논리화/ 단순화/직관적
Development Style (2) visualization 협업/시각화/논리화 독립적/분야별특화 Design Coding Testers Define Design visualization Ops Define Ops Coding 협업/시각화/논리화 Testers 독립적/분야별특화
Open Platform Development (1) 다양한 노드들을 이용하여 소프트웨어를 제작하고, 다양한 상품을 생산하거나 판매하기 위해 공통으로 사용하는 유/무형의 기본구조 S/W 제작 비용 절감 이미 제공된 노드나, 제작된 노드를 수정없이 바로 사용할 수 있다. 다양한 기능구현 다양한 노드를 구현하여 다양한 기능을 제공할 수 있다. DEBUGGING 노드 내부의 디버깅이 짧고, 노드사이의 연결도에 대한 디버깅은 쉽다. 사용자 노드 사용자 스스로 노드를 개발하여 할 수 있어서, 개성있는 제품을 만들 수 있다. Open Platform 임베디드 제품 개발의 한계나, 제약이 전혀 없다. H/W 제약 탈피 노드의 교체만으로 H/W의 제약에서 탈피할 수 있다.
Open Platform Development (2) Input nodes Button nodes Engine nodes Op. nodes Touch nodes modbus nodes Serial nodes Widget nodes User nodes Network nodes Protocol nodes IO nodes
Open Platform Development (3) Widget nodes Button Trackbar Text Window Message Page Change Memory Server Image Progressbar Group D Trigger Listbox Image Server String Server serial Port nodes point Trigger Frame Tcp client arc rect Image pie Figure SOUND File Engine nodes multimedia polygon
Open Platform Development (3) modbus nodes String Server Input nodes Image User nodes User nodes Network nodes User nodes Image Server Memory Server Serial nodes Button nodes Touch nodes User nodes User nodes servers widget1 widget2 user User design file Engine nodes Widget nodes Etc nodes dooroo-framework
Design of the Products 시각화 재사용성 완벽한 호환성 모듈화 단순화 직관/비전문가 제품대응 최상의 성능 유지 User design file을 dooroo-framework editor에서 visualization할 수 있다. 재사용성 노드들의 연결만으로 소프트웨어를 제작할 수 있다. 작성된 노드들은 언제든지 다른 프로젝트에 사용 가능하다. 완벽한 호환성 제작된 노드들은 버전/사용된제품에 관계없이 호환된다. 모듈화 모든 기능이 노드단위로 모듈화 된다. 단순화 난위도가 높고 복잡한 프로젝트를 단순화/모듈화 할 수 있다. 직관/비전문가 소프트웨어를 노드의 연결로 제작하므로 비전문가도 제작할 수 있고 직관적인 연결이 가능하다. 제품대응 빠른 제품 출시, 빠른 업그레이드, 빠른 디버깅이 가능하다. 최상의 성능 유지 소프트웨어 제작자의 능력에 관계없이 최상의 성능을 유지할 수 있다.
Management of the Product 관리 비용 절감 새로운 S/W 배포 및 기존 프로그램 Upgrade 시 어플리케이션만 교체로 인한 관리인력 및 비용 절감 효율적인 개발 관리 표준 플랫폼을 사용하여 여러 프로젝트 동시 개발 가능 A/S 비용 절감 디바이스 드라이버 사용으로 이상 장소 발견 용이
Difference of the Products 노드의 차별화로 제품의 차별화 가능 User nodes User nodes User nodes User nodes String Server Input nodes Image User nodes User nodes User nodes User nodes User nodes User nodes User nodes Network nodes Image Server Memory Server Button nodes Touch nodes User nodes servers widget1 widget2 user User design file Engine nodes Widget nodes Etc nodes dooroo-framework
Customer designed file Customer Open platform 소비자도 user design file를 수정하여 제품의 특성을 차별화할 수 있다. User nodes User nodes User nodes User nodes String Server Input nodes Image User nodes User nodes User nodes User nodes Network nodes User nodes User nodes User nodes Image Server Memory Server Button nodes Touch nodes User nodes servers widget1 widget2 user Developer design file Customer designed file Engine nodes Widget nodes Etc nodes dooroo-framework
nodes Engine nodes Figure nodes Base nodes Application nodes
Engine nodes doorooFrame.exe doorooFrame.dll String Server doorooNode_string_server.dll) Image Server doorooNode_image_server.dll Memory Server doorooNode_memory_server.dll doorooFrame.dll Memory doorooNode_memory.dll Figure (doorooFrame_Figure.dll) Input Message doorooNode_inputmessage.dll WidgetShow doorooNode_widgetshow.dll Memory Port doorooNode_memory_port.dll WindowMessage doorooNode_windowmessage.dll WidgetEnable doorooNode_widgetenable.dll Memory Sync doorooNode_memory_sync.dll File (doorooFrame_File.dll) WindowShow doorooNode_windowshow.dll Widget Move doorooNode_widgetmove.dll MemoryCache doorooNode_memory_cache.dll Image (doorooFrame_image.dll) PageChange doorooNode_pagechange.dll Key Focus doorooNode_keyfocus.dll Background doorooNode_background.dll Soft Keyboard doorooNode_softkeyboard.dll Timer doorooNode_timer.dll
Figure nodes point line ellipse arc rect pie Polygon polyline doorooNode_point.dll line doorooNode_line.dll ellipse doorooNode_ellipse.dll arc doorooNode_arc.dll rect doorooNode_rect.dll pie doorooNode_pie.dll Polygon doorooNode_polygon.dll polyline doorooNode_polyline.dll
Base nodes(display widget) Radio Button (doorooFrame_radiobutton.dll) Progress Bar (doorooFrame_progressbar.dll) Text (doorooFrame_text.dll) Image (doorooFrame_image.dll) Check Button (doorooFrame_checkbutton.dll) Seek Bar (doorooFrame_seekbar.dll) Edit Box (doorooFrame_editbox.dll) Simple Button (doorooFrame_simplebutton.dll) Track Bar (doorooFrame_trackbar.dll) List Box (doorooFrame_listbox.dll) Normal Button (doorooFrame_normalbutton.dll) Spin Wheel (doorooFrame_spinwheel.dll) Text Box (doorooFrame_textbox.dll) imagebutton (doorooFrame_imagebutton.dll) Combo Box (doorooFrame_combobox.dll) Seven Segment (doorooFrame_sevensegment.dll)
Base nodes (operation) stack (doorooFrame_stack.dll) and (doorooFrame_and.dll) Add (doorooFrame_add.dll) fifo (doorooFrame_fifo.dll) or (doorooFrame_or.dll) sub (doorooFrame_sub.dll) mux (doorooFrame_mux.dll) not (doorooFrame_not.dll) multiply (doorooFrame_multiply.dll) demux (doorooFrame_demux.dll) inverter (doorooFrame_inverter.dll) div (doorooFrame_div.dll) delay (doorooFrame_delay.dll) nand (doorooFrame_nand.dll) modular (doorooFrame_modular.dll) toggle (doorooFrame_toggle.dll) nor (doorooFrame_nor.dll) schmittrigger (doorooFrame_schmittrigger.dll) Counter (doorooFrame_counter.dll) xor (doorooFrame_xor.dll) latch (doorooFrame_latch.dll) shift (doorooFrame_shift.dll) Compare (doorooFrame_compare.dll)
Base nodes (converter) int2string (doorooFrame_int2string.dll) dig2int (doorooFrame_dig2int.dll) string2int (doorooFrame_string2int.dll) int2dig (doorooFrame_int2dig.dll) dig2dig (doorooFrame_dig2dig.dll) dig2text (doorooFrame_dig2text.dll) doorooNode_xx doorooNode_xx …
Application nodes (samples) Init Screen (doorooFrame_initscreen.dll) Debug (doorooFrame_debug.dll) Web Server (doorooFrame_webserver.dll) VNC Server (doorooFrame_vncserverdll) Signal Wave (doorooFrame_signal wave.dll) Media Player (doorooFrame_mediaplayer.dll) Network (doorooFrame_network.dll) dll_mediaplayer.dll File Manager (doorooFrame_filemanager.dll) DHCP server (doorooFrame_dhcpd.dll) File Open (doorooFrame_fileopen.dll) DHCP client (doorooFrame_dhcp.dll) Min Max Bar (doorooFrame_minmaxbar.dll) File Read (doorooFrame_fileread.dll) Progressbar Image (doorooFrame_progressbar_image.dll) File Save (doorooFrame_filesave.dll) lamp (doorooFrame_lamp.dll) Packet (doorooFrame_packet.dll)
Application nodes (device) Protocol modbus (doorooFrame_protocol_modbus.dll) Serial Port (doorooFrame_serialport.dll) Protocol emul (doorooFrame_protocol_emul.dll) Tcp client port (doorooFrame_tcpcliport.dll) commprotocol (doorooFrame_commprotocol.dll) Tcp server port (doorooFrame_tcpsvrport.dll) Sound (doorooFrame_sound.dll) Touch draw (doorooFrame_touchdraw.dll) Comm Display (doorooFrame_commdisplaydll) touch (doorooFrame_touch.dll) Serial Emul (doorooFrame_serialemul.dll) commadc (doorooFrame_commadc.dll) Real Time (doorooFrame_realtime.dll) commserial2 (doorooFrame_commserial2.dll) Comm USBCamera (doorooFrame_commusbcamera.dll) LED (doorooFrame_led.dll) Comm serial (doorooFrame_commserial.dll) Comm camera (doorooFrame_commcamera.dll)
H/W modules CPU modules BOARD modules 사양 HMI module
CPU module DRSMDA5D3X_CPU DRSMDG35_CPU
BOARD module DRSMDG35_BOARD DRSMDA5D3X_BOARD
사양 DRSMDA5D3X DRSMDG35 O/S dooroos.realtime dooroo_framework Yes USB memory upgrade 사용자 부팅로고 동시지원언어 16개국언어 ~ DRAM용량 128MB 64MB NAND Flash 용량 1Gb/2Gb 1Gb Serial Flash 용량 32Mb 부팅시간(OS/dooroo-frame) 0.5초/1.5초
HMI module
Technical Issues Design Architecture XML file architecture Node model Node connection Node design Execute STEP
Design Architecture dooroo-framework project files (application) nodes and resources generated by PC editor Loader Connection Window dooroo-framework backbone Plugins Nodes node node node node dooroos.realtime Operating System
XML file architecture Project XML header Layer Config name Layer MEMORYSERVER Project.xml config.xml IMAGESERVER XML header Project STRINGSERVER Layer Config name Global-Objects Layer project.xml Global.xml windowframe page Xml files Object (node) Nodes (DLL) Property Connection Trigger Proecess
Node model Node : object model with operation port : data container of the object model connected with other objects. 24 input ports Node node 24 output ports
Node connections Connection : connect the ouptput ports to the input ports Process : process the packet data like the connection Trigger : trigger the connection operation Node1 Node20 Node21 Trigger Node30 Node31 Node32
Node design Node related functions DLL relate functions Create(): create the node and assign the node functions. Delete(): delete the node. Get() : get the output port data and the node specific data. Set() : set the input port data and the node specific data. Enum() : not used yet Proc() : process the packet data flow. Draw() : draw the widget on the screen. DLL relate functions DllMain(): dll main function. Initialize/Finish : dll initialization and deinitialization function. Node related data NODEDEF : define the node. User node data structure: user data used in the node.
doorooframe_converter Execute STEP doorooframe_converter Convert the xml file to binary file The output file name is “df_image.bin” dooroo-frame Load the file “df_image.bin” Load the dll files in the configuration xml file Parse the all the window frame from the project xml Chages to the default page
실 습