CN112840315B - Gui控制器设计支持装置、远程控制***和程序 - Google Patents
Gui控制器设计支持装置、远程控制***和程序 Download PDFInfo
- Publication number
- CN112840315B CN112840315B CN201980043175.1A CN201980043175A CN112840315B CN 112840315 B CN112840315 B CN 112840315B CN 201980043175 A CN201980043175 A CN 201980043175A CN 112840315 B CN112840315 B CN 112840315B
- Authority
- CN
- China
- Prior art keywords
- controller
- gui
- user program
- editing
- engine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000013461 design Methods 0.000 title claims abstract description 41
- 230000004044 response Effects 0.000 claims abstract description 11
- 230000006870 function Effects 0.000 description 64
- 238000004891 communication Methods 0.000 description 19
- 238000000034 method Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000010079 rubber tapping Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/33—Intelligent editors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60K—ARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
- B60K35/00—Instruments specially adapted for vehicles; Arrangement of instruments in or on vehicles
- B60K35/10—Input arrangements, i.e. from user to vehicle, associated with vehicle functions or specially adapted therefor
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60K—ARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
- B60K2360/00—Indexing scheme associated with groups B60K35/00 or B60K37/00 relating to details of instruments or dashboards
- B60K2360/143—Touch sensitive instrument input devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64U—UNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
- B64U2201/00—UAVs characterised by their flight controls
- B64U2201/20—Remote controls
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C2201/00—Transmission systems of control signals via wireless link
- G08C2201/20—Binding and programming of remote control devices
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C2201/00—Transmission systems of control signals via wireless link
- G08C2201/30—User interface
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C2201/00—Transmission systems of control signals via wireless link
- G08C2201/90—Additional features
- G08C2201/93—Remote control using other portable devices, e.g. mobile phone, PDA, laptop
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Automation & Control Theory (AREA)
- Computer Security & Cryptography (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Stored Programmes (AREA)
- Programmable Controllers (AREA)
Abstract
提供一种GUI控制器设计支持装置,该GUI控制器设计支持装置可以支持能够灵活地且实时地改变控制和/或图形表示的控制器装置的编程。GUI控制器设计支持装置支持在输入装置的触敏面板显示器上显示的并且接收用于操作对象装置的操作输入的GUI控制器的设计。GUI控制器设计支持装置配备有:GUI控制器编辑单元,用于编辑控制器组,该控制器组由多个控制器部件构成并且定义GUI控制器;以及用户程序编辑单元,用于编辑用户程序,该用户程序定义响应于对GUI控制器的操作输入的对象装置的控制。
Description
技术领域
本发明涉及支持由GUI(图形用户界面)实现的控制器的设计和编程的GUI控制器设计支持装置。
背景技术
传统上已实现了提供用于经由无线通信远程地操作无线电控制(RC)汽车、无人机、机器人和游戏等的控制器装置作为智能电话画面等上所显示的诸如操作按钮等的GUI(例如,参见专利文献1)。
现有技术文献
专利文献
专利文献1:日本特开2019-085041
发明内容
发明要解决的问题
利用这样的基于GUI的控制器装置,在激活要操作的装置之后,这些装置被配置成使得在接收到信号之后的控制是固定的、或者使得仅允许简单的改变(诸如针对某操作参数的极性和增益等的改变等)。由于该原因,无法添加新行为和/或动态添加参数本身。此外,需要针对进行重复直到成功地实现期望控制为止的试错法的每个实例来重新激活要操作的装置,因此需要大量时间以通过诸如自动操作等的编程来实现复杂控制。
本发明的目的是提供一种GUI控制器设计支持装置,该GUI控制器设计支持装置解决上述问题,并且支持能够灵活地且实时地改变控制和/或图形表示的控制器装置的编程。
用于解决问题的方案
为了解决上述问题,根据本发明的一种GUI控制器设计支持装置,用于支持GUI控制器的设计,所述GUI控制器显示在输入装置的触敏面板显示器上,并且接收用于操作对象装置的操作输入。所述GUI控制器设计支持装置配备有:控制器组编辑单元,用于编辑控制器组,所述控制器组包含多个控制器部件且由多个控制器部件构成,并且定义所述GUI控制器;控制器部件编辑单元,用于编辑所述控制器组中所包含的各个控制器部件;以及用户程序编辑单元,用于编辑用户程序,所述用户程序定义响应于对所述控制器部件的操作输入的所述对象装置的控制。
根据本发明,所述GUI控制器设计支持装置还可以配备有GUI控制器登记单元,所述GUI控制器登记单元用于在引擎激活用于执行所述用户程序的执行环境的状态下,将在所述控制器组编辑单元处所编辑的所述控制器组登记到所述输入装置,在所述引擎上运行作为为了控制所述对象装置而从所述用户程序调用且利用的对象的驱动程序。
另外,所述GUI控制器设计支持装置还可以配备有用户程序登记单元,所述用户程序登记单元用于在引擎激活用于执行所述用户程序的执行环境的状态下,将在所述用户程序编辑单元处所编辑的所述用户程序登记到所述引擎,在所述引擎上运行作为为了控制所述对象装置而从所述用户程序调用且利用的对象的驱动程序。
此外,为了解决上述问题,根据本发明的一种远程控制***,其配备有:上述GUI控制器设计支持装置中的任何GUI控制器设计支持装置;输入装置,其配备有触敏面板显示器,所述触敏面板显示器显示GUI控制器;以及引擎,其上运行作为为了控制所述对象装置而从所述用户程序调用且利用的对象的驱动程序。在该远程控制***中,所述输入装置接收对所述触敏面板显示器上所显示的所述GUI控制器的用户的操作输入,并将所述操作输入的内容发送至所述引擎,并且所述引擎基于从所述输入装置接收到的所述操作输入的内容来操作所述驱动程序以控制所述对象装置。所述输入装置在所述引擎激活用于执行所述用户程序的执行环境的状态下,能够更新与所述用户程序相关联的所述GUI控制器的控制器组。所述引擎还在激活用于执行所述用户程序的执行环境的状态下,能够更新所述用户程序。
此外,为了解决上述问题,根据本发明的一种程序,其使得计算机用作上述的GUI控制器设计支持装置中的任何GUI控制器设计支持装置。
附图说明
图1示出应用了GUI控制器设计支持装置1的远程控制环境的示例。
图2是示出在利用登记到输入装置2的GUI控制器经由引擎3控制对象装置4时进行的过程的流程图。
图3是示出在编辑和更新现有GUI控制器和用户程序时进行的处理的过程的流程图。
具体实施方式
以下将基于附图来说明本发明的实施例。应当注意,在以下的说明中,相同的附图标记表示相同的构件,并且在相关时将省略对已说明的构件的说明。
远程控制环境的结构
图1示出应用了根据本实施例的GUI控制器设计支持装置1的远程控制环境的示例。具体地,在该远程控制环境中,响应于用户对输入装置2进行的操作输入,将控制信号经由引擎3发送至作为要操作的对象的对象装置4,然后实现对象装置4的控制。GUI控制器设计支持装置进行1:输入装置2上所显示的操作画面的设计、响应于对输入装置2的操作输入而在引擎3上执行的程序的编辑、以及任何其它操作;并且在合适的情况下提供用于更新这些操作的环境。GUI控制器设计支持装置1、输入装置2和引擎3能够经由网络NW彼此进行通信。应当注意,GUI控制器设计支持装置1、输入装置2和引擎3的全部或一部分可以由共同的硬件来实现。引擎3和对象装置4也能够通过无线通信方式(是否经由网络NW是可选的)彼此进行通信。
GUI控制器设计支持装置1是向用户提供如下功能的装置,并且由计算机等来实现,其中这些功能用以进行GUI控制器和用户程序的编辑、作为执行用户程序的引擎3上的环境的执行环境的编辑、作为从用户程序调用的用于控制对象装置4的对象的驱动程序的编辑、以及任何其它操作。GUI控制器设计支持装置1配备有控制单元10、存储器单元11、显示单元12、输入单元13和通信单元14。
控制单元10通过执行存储器单元11中所存储的各种程序来实现GUI控制器设计支持装置1的功能。特别地,控制单元10实现包括以下将说明的GUI控制器编辑功能和用户程序编辑功能的各种功能。控制单元10例如由CPU等来实现。
存储器单元11存储要在控制单元10中执行的程序、要在这样的程序中使用的数据、以及任何其它程序/数据。具体地,存储器单元11存储用于实现GUI控制器编辑功能和用户程序编辑功能的程序和数据。例如,存储器单元11可以存储GUI控制器编辑功能中用户可用的控制器部件的模板。
显示单元12是诸如液晶显示器或有机EL显示器等的显示元件,并且在控制单元10的控制下显示各种类型的信息。输入单元13接收用户操作。输入单元13例如可以是键盘、鼠标、或者叠加并设置在显示单元12上的触敏面板。通信单元14经由网络NW和/或其它通信线路与输入装置2、引擎3和任何其它组件进行通信。
输入装置2显示由GUI控制器设计支持装置1创建和编辑的GUI控制器所用的画面,接收对这样的GUI控制器的操作输入,然后将所接收到的操作输入的内容发送至引擎3。输入装置2设置有控制单元20、存储器单元21、显示单元22、输入单元23和通信单元24。
控制单元20通过执行存储器单元21中所存储的各种程序来实现输入装置2的功能。特别地,控制单元20实现使得将GUI控制器所用的画面显示在输入单元23上的功能、接收对构成GUI控制器的各个控制器部件的用户操作输入并将所接收到的操作输入的内容经由通信单元24发送至引擎3的功能、以及任何其它功能。控制单元20例如由CPU等来实现。
存储器单元21存储要在控制单元20中执行的程序、要在这样的程序中使用的数据、以及任何其它程序/数据。具体地,存储器单元21存储定义GUI控制器的控制器组CL、用于使得根据控制器组CL将GUI控制器所用的画面显示在显示单元22上的绘制程序、以及任何其它的控制器组/程序。存储器单元21还针对构成GUI控制器的各个控制器部件存储定义可输入的坐标范围的索引。
显示单元22是诸如液晶显示器或有机EL显示器等的显示元件,并且在控制单元20的控制下显示诸如GUI控制器所用的画面等的各种类型的信息。
输入单元23接收用户操作输入。输入单元23例如可以是键盘、鼠标、或者叠加并设置在显示单元22上的触敏面板。在GUI控制器显示在显示单元22上的状态下,当用户操作显示单元22上所叠加并设置的触敏面板时,触敏面板检测到进行了触摸的坐标,将所检测到的坐标称为索引,并且接收到该触摸作为对与所检测到的坐标相对应的控制器部件的操作输入。另外,可以设置加速度传感器作为输入单元23,以将输入装置2的姿势变化(即,倾斜)感测为用户操作输入。可以设置除上述项以外的输入装置和/或传感器作为输入单元23。通信单元24经由网络NW和/或其它通信线路与GUI控制器设计支持装置1、引擎3和任何其它组件进行通信。通信单元24例如将对各个控制器部件的操作输入的内容发送至引擎3。
引擎3设置有控制单元30、存储器单元31和通信单元34。
控制单元30通过执行存储器单元31中所存储的各种程序来实现引擎3的功能。控制单元30例如由CPU和微计算机等来实现。
存储器单元31存储要在控制单元30中执行的程序、要在这样的程序中使用的数据、以及任何其它程序/数据。具体地,存储器单元31存储用于实现执行环境的程序、与对象装置4相对应的驱动程序、在这些程序中要使用的数据、以及任何其它程序/数据。
执行环境是用于执行用户程序的运行时间(runtime)。执行环境接收由对对象装置4的操作输入等产生的执行请求,并且顺次处理与这样的执行请求相对应的用户程序的函数和/或引导块。可以准备多个类型的执行环境以与各种类型的编程语言兼容。
驱动程序是在经由通信单元34通信的对象装置4的输入或输出与执行环境之间进行中介的程序。基于在执行环境中执行的用户程序,驱动程序实现以下功能,该功能例如根据这样的控制指示输出可以在对象装置4处处理的控制信号、以及/或者将诸如从对象装置4发送来的传感器输出等的信息提供至在执行环境中执行的用户程序。
通信单元34经由网络NW和/或其它通信线路与GUI控制器设计支持装置1、输入装置2、对象装置4和任何其它组件进行通信。具体地,引擎3经由通信单元34进行来自GUI控制器设计支持装置1的用户程序的接收、来自输入装置2的操作输入的内容的接收、向对象装置4的控制信号的发送、来自对象装置4的传感器输出的接收、以及任何其它操作。
对象装置4是GUI控制器所要操作的装置。对象装置4的示例包括诸如无人机、无线电控制汽车或机器人等的物理装置、以及在诸如3D模型等的虚拟空间中工作的装置。对象装置4设置有控制单元40、存储器单元41、驱动单元42、传感器单元43和通信单元44。
控制单元40通过执行控制单元40中所存储的诸如固件等的程序来负责对象装置4的控制。控制单元40例如由微计算机和CPU等来实现。
存储器单元41存储响应于从在引擎3中运行的驱动程序发送来的信号而运行的程序(所谓的固件)。驱动单元42是实现对象装置4的操作的构件,并且例如由马达、致动器和用于这些元件的驱动器等构成。传感器单元43由从对象装置4的环境获取各种类型信息的传感器构成。传感器单元43的示例可以包括照相机、加速度传感器、GPS接收器、测距传感器和红外辐射传感器等。
通信单元44经由网络NW和/或其它通信线路与引擎3进行通信。具体地,对象装置4经由通信单元44,从引擎3接收控制信号,并且根据需要将利用传感器单元43获取到的信息发送至引擎3。
控制器组
接着,将说明定义GUI控制器的控制器组CL。
控制器组CL包含控制器部件实例的集合(列表)、以及定义与用户创建的操作相对应的处理的程序(用户程序)。
构成控制器组CL的各个控制器部件的配置和/或外观通过用户使用以下将说明的控制器部件编辑功能来定义。GUI控制器的外观通过组合控制器组CL中所包含的多个控制器部件来定义。用户程序利用所定义的控制器部件,并且利用任意程序来实现。
控制器组CL包含静态属性,这些静态属性包括:UUID(通用唯一标识符),其是用于以全局唯一方式标识GUI控制器的识别信息;控制器名称,其是提供给控制器的名称;改变跟踪编号,用于管理控制器的改变跟踪;驱动程序类型,其指示被控制器作为对象的装置;装置朝向,其指示当显示由这样的控制器组定义的GUI控制器时的输入装置2的朝向(水平/垂直);皮肤信息,其指示用于表示(绘制)GUI控制器的各个部件和/或背景的图像;用于选择要执行控制器组CL中所包含的用户程序的执行环境的设置;以及任何其它属性。
控制器部件是通过配置在GUI控制器中而可以使用的、并且响应于用户操作输入而实现各种控制模式的构件。允许将多个实例作为控制器部件添加到单个控制器组,并且向各控制器部件提供唯一的识别信息。通过用户程序,可以利用该识别信息来标识和利用各个控制器部件的实例。
存在各种类型的控制器部件。这些控制器部件针对各类型具有特定属性、状态和/或行为,并且能够无限制地实例化,并通过针对每个实例识别这些控制器部件来从用户程序利用这些控制器部件。
各个控制器部件包含共同属性,共同属性包括作为控制器内的唯一名称的部件名称。准备各种类型的控制器部件,这些控制器部件包括操纵杆、十字键、按钮、开关、滑块、拨盘、手势、文本输出区域、以及视频/图像输出区域等。保持针对这些控制器部件的各类型可以设置的定义属性(静态属性)和/或状态属性(输入状态)。
定义属性是预先定义的固定属性。状态属性是根据程序执行状况和/或用户的控制器操作状况而改变的属性。例如,利用操纵杆来定义显示大小、最小值、最大值、显示位置、活动状况时的显示颜色、框外判断精度、轨迹判断触摸次数、指示向用户程序通知操作输入的频率的程序通知频率、以及任何其它属性,作为定义属性。除了可被设置为重叠的部件以外,定义各控制器部件的显示位置,使得这些控制器部件以彼此不重叠的方式显示。根据程序执行状况和/或用户的控制器操作状况来记录并保持活动标志、开始坐标信息、移动前坐标信息、移动后坐标信息和任何其它属性作为状况属性。
接着,将说明GUI控制器设计支持装置1所提供的控制器组编辑功能、执行环境编辑功能、驱动程序编辑功能、控制器部件编辑功能和用户程序编辑功能。
执行环境编辑功能
执行环境编辑功能被实现为由控制单元10执行的程序。执行环境编辑函数生成作为执行用户程序的引擎3上的环境的执行环境的实例,并且针对这样生成的实例提供用于输入针对不同设置项的设置值的画面。可以通过从用户经由该画面的输入来改变设置值。在引擎3处,允许同时利用(例如,具有不同的脚本语言的)多个类型的执行环境,并且执行环境编辑功能可以选择任何可用的执行环境并编辑这样的环境的设置。
驱动程序编辑功能
驱动程序编辑功能被实现为由控制单元10执行的程序。驱动程序是为了控制对象装置4而从用户程序调用且利用的对象。驱动程序编辑功能提供用于使用户选择用于控制对象装置4的驱动程序的画面。当用户在该画面上选择期望的驱动程序时,在引擎3中生成所选择的驱动程序的实例,并且执行用于将识别信息提供至所生成的实例的处理。用户程序通过指定该识别信息来经由期望的驱动程序实现对象装置4的控制。驱动程序编辑功能提供用于输入针对所生成的驱动程序实例的设置项的画面。可以通过从用户经由该画面的输入来改变设置值。
控制器组编辑功能
控制器组编辑功能由控制单元10所执行的程序来实现。控制器组编辑功能通过用户从显示单元12上所显示的菜单中选择GUI控制器的编辑而开始。控制器组编辑功能既能够新建控制器组,也能够编辑现有控制器组。当新创建控制器组时,用户从菜单中相应地进行选择。当编辑现有控制器组时,用户选择存储器单元11中所存储的现有控制器组。当选择新创建的或现有的GUI控制器组时,生成相应控制器组的实例。然后,激活与这样的控制器组相对应的执行环境,并且将这样的控制器组中所包含的用户程序登记到所激活的执行环境。另外,可以将对控制器组的实例的参考传递到输入装置2。
控制器部件编辑功能
控制器部件编辑功能是针对构成控制器组的各个控制器部件编辑各种属性的功能。控制器部件编辑功能通过在执行控制器组编辑功能之后、用户从显示单元12上所显示的菜单中选择控制器部件的编辑而开始。
当控制器部件编辑功能开始时,显示单元12显示编辑区域R1。编辑区域R1是用于在从视觉上检查要显示在输入装置2的画面上的控制器部件的配置和外观等的同时、编辑这样的配置和外观等的显示区域。当新创建GUI控制器时,在启动时编辑区域R1留空。另一方面,在编辑现有GUI控制器时,编辑区域R1显示基于在启动时选择的控制器组所存储的GUI控制器。
用户能够通过在编辑区域R1中配置期望的控制器部件对所配置的控制器部件进行移动、删除和/或编辑(改变各种属性值),来自由地创建和编辑GUI控制器。在编辑区域R1中可以配置的控制器部件的样本形式被预先存储在存储器单元11中。这些样本形式被配置成使得用户可以经由用户界面根据需要在任何位置选择并配置这些样本形式。对于已配置的控制器部件,能够通过轻击触敏面板和/或用悬停在触敏面板上的鼠标光标进行点击来进行选择,并且能够通过所谓的拖动操作来进行移动。另外,能够通过双击或轻击两次这样的已配置的控制器部件来进行已配置的控制器部件的定义属性的编辑。
当通过存储改变后的内容的存储操作和/或自动存储功能确认了控制器部件的编辑时,将与编辑后的GUI控制器相对应的控制器部件存储在存储器单元11中。此时,输入装置2基于所参考的控制器组的实例来利用索引实现控制器组中所包含的控制器部件的登记或更新。
用户程序编辑功能
用户程序编辑功能由控制单元10所执行的程序来实现。用户程序编辑功能通过用户从显示单元12上显示的菜单中选择用户程序的编辑而开始。用户程序编辑功能既能够新建用户程序,也能够编辑现有用户程序。当新创建用户程序时,用户从菜单中相应地进行选择。当编辑现有用户程序时,用户选择存储器单元11中所存储的现有用户程序。
当用户程序编辑功能开始时,显示单元12显示编辑区域R2。编辑区域R2例如可以是能够根据所使用的编程语言来编辑用户程序的源代码的文本编辑器、或者用于实现GUI块编程的编辑器等。当新创建用户程序时,在启动时编辑区域R2留空。另一方面,在编辑现有用户程序时,编辑区域R2显示在启动时选择的用户程序。
用户能够在编辑区域R2内编辑用户程序的源代码。在用户程序内,由GUI控制器编辑功能创建的GUI控制器中所包含的控制器部件以及/或者与对象装置4相对应的驱动程序的各实例通过识别信息进行区分,并且可用作引导块、入口点(函数)或变量。这些可用实例被配置成使得用户可以经由用户界面适当进行选择并在源代码内的任意位置处进行***。这样,用户将要引导的程序(函数、引导块)与在相应控制器部件和/或驱动程序上进行的操作输入相关联。
当(通过登记操作等)确认了用户程序的编辑时,GUI控制器设计支持装置1的控制单元10立即评价程序上下文。如果在上下文方面不存在问题,则程序上下文将保持在引擎3的执行环境中。应当注意,如果如所谓的块编程那样、确保了上下文作为块,则可能无需评价上下文。
可以通过存储改变后的内容的存储操作和/或自动存储功能将编辑后的用户程序存储在存储器单元11中,并且可以将编辑后的用户程序发送至具有与用户所编辑的程序语言相对应的执行环境的引擎3以登记用户程序。应当注意,如果如所谓的块编程那样、确保了上下文作为块,则将编辑后的信息连同用户操作一起立即登记到执行环境。
接着,在上述的应用了GUI控制器设计支持装置1的远程控制环境中,提供对用于利用输入装置2上所显示GUI控制器控制对象装置4的过程、以及在编辑和更新现有GUI控制器和用户程序时进行的处理的过程的说明。
作为编辑之前的状态,将GUI控制器的编辑前的控制器组登记到输入装置2,并且将编辑前的用户程序登记到引擎3。
图2是示出在利用登记到输入装置2的GUI控制器经由引擎3控制对象装置4时进行的过程的流程图。首先,用户如上所述使用控制器组编辑功能来生成控制器组的实例(步骤S100)。接着,激活根据该控制器组实例执行用户程序所需的引擎3的执行环境(步骤S110)。此时,控制器组被登记到输入装置2。另外,用户程序被登记到引擎3的执行环境。这里,“激活执行环境”的状态是指如下的状态:执行环境在执行诸如“main”函数等的无限循环的同时,正等待诸如程序的执行请求和/或登记以及更新请求等的一些事件。应当注意,控制器组实例的生成(步骤S100)和执行环境的激活(步骤S110)是按随机顺序进行的。
输入装置2将所登记的GUI控制器显示在显示单元22上,并且接收对输入单元23(例如,叠加在显示单元22上的触敏面板)的用户操作输入(步骤S120)。将所接收到的操作输入的内容作为如下的执行请求事件发送至在引擎3中激活的执行环境(步骤S130),该执行请求事件包含与所操作的控制器部件的实例相对应的识别信息、或者与操作相关联地感测到的参数值等。
在引擎3中可用的驱动程序连接至处于激活状态的对象装置4,并且可以发送/接收控制信号和/或传感器输出。与驱动程序的连接可以通过所谓的Keep-Alive方法来管理。通常,驱动程序响应于从执行环境中执行的用户程序的调用而将控制信号发送至对象装置4。此外,由于来自对象装置4的传感器输出,因而驱动程序将包含与驱动程序的实例相对应的识别信息、或者与传感器输出相关联的值等的执行请求发送至在引擎3中激活的执行环境。
当基于在输入装置2的GUI控制器上进行的操作和/或来自驱动程序的请求而针对执行环境发出执行请求事件时,将与作为这样的执行请求的来源的控制器部件和/或驱动程序的实例相对应的引导块或函数登记为针对这样的执行环境的程序执行堆栈(步骤S140)。针对作为“main”函数正执行的无限循环的各循环,将登记到程序执行堆栈的处理连同事件处理一起顺次执行(步骤S150)。
输入装置2将所登记的GUI控制器显示在显示单元22上,接收对输入单元23(例如,叠加在显示单元22上的触敏面板)的用户操作输入,将该操作输入的内容发送至在引擎3中激活的执行环境,并且响应于该操作输入而改变控制器部件的GUI表示(外观)(例如,动画显示等)。
在这样的环境中,响应于对在输入装置2上显示的GUI控制器的操作输入而在引擎3中激活的执行环境中执行用户程序的相应入口点,并且经由驱动程序执行对象装置4的控制。
接着,将说明在编辑和更新现有GUI控制器和用户程序时进行的处理。图3是示出在编辑和更新现有GUI控制器和用户程序时进行的处理的过程的流程图。
当编辑GUI控制器和用户程序时,在GUI控制器设计支持装置1处使用GUI控制器编辑功能和用户程序编辑功能来进行控制器部件的定义和配置、用户程序的编辑或任何其它操作(步骤S200)。当编辑完成时,在控制器部件编辑功能和用户程序编辑功能中确认相应的编辑(步骤S220)。在输入装置2中进行与控制器组有关的登记,并且在引擎3中进行与用户程序有关的登记(步骤S240)。可以在无需重新启动输入装置2、引擎3和对象装置4的情况下在任意定时进行GUI控制器和用户程序的编辑和登记。因此,可以将对构成GUI控制器的各个控制器部件进行的操作以及对象装置4的行为实时地反映到***。
如上所述,在本实施例的远程控制环境中,引擎3使用执行请求中所包含的控制器部件实例的识别信息来将所接收到的执行请求和入口点(函数和/或启动块)彼此关联。当登记编辑后的GUI控制器和用户程序时,可以改变控制器部件实例的识别信息与入口点之间的对应关系;然而,该对应关系是在编辑后的用户程序中定义的并被登记到引擎3的执行环境(步骤S260)。当将指示GUI控制器的结构的控制器组的更新登记到输入装置2时,可以响应于更新的内容来改变输入装置2上所显示的GUI控制器的显示、来自控制器部件的通知、以及任何其它操作。
所激活的执行环境在登记之前和之后继续执行无限循环作为main(主)函数。当登记了更新后的GUI控制器和用户程序时,可以用新的值更换具有相同名称的函数和/或变量。然而,对于与在更新之前登记到程序执行堆栈的执行请求相关联的函数,执行在预先更新的用户程序中定义的函数。对于在更新之后登记到程序执行堆栈的执行请求,执行在新用户程序中定义的函数(步骤S280)。
根据上述实施例中的GUI控制器设计支持装置,可以支持能够灵活地且实时地改变控制和/或图形表示的控制器装置的编程。
应当注意,以上说明了本实施例;然而,本发明不限于这些示例。例如,尽管在上述实施例中GUI控制器设计支持装置1、输入装置2和引擎3被实现为单独的硬件,但这些组件中的多个或全部可以由单个硬件(例如,单个计算机)来实现。通过本领域技术人员对上述各个实施例适当进行组件的添加和/或删除以及/或者设计改变所获得的实施例、以及通过适当组合各个实施例的特征所获得的实施例也包含在本发明的范围内,只要这些实施例具备有本发明的主旨即可。
附图标记说明
1 GUI控制器设计支持装置
2 输入装置
3 引擎
4 对象装置
NW 网络。
Claims (1)
1.一种远程控制***,包括:
GUI控制器设计支持装置,其用于支持GUI控制器的设计,所述GUI控制器接收用于操作对象装置的操作输入;
输入装置,其配备有触敏面板显示器,所述触敏面板显示器显示所述GUI控制器;以及
引擎,其上运行作为为了控制所述对象装置而从用户程序调用且利用的对象的驱动程序,
其中,所述GUI控制器设计支持装置包括:
控制器组编辑单元,所述控制器组编辑单元用于编辑控制器组,所述控制器组包含多个控制器部件且由该多个控制器部件构成、并且定义所述GUI控制器;
控制器部件编辑单元,所述控制器部件编辑单元用于编辑所述控制器组中所包含的各个控制器部件;
用户程序编辑单元,所述用户程序编辑单元用于编辑用户程序,所述用户程序定义响应于对所述控制器部件的操作输入的针对所述对象装置的控制;
GUI控制器登记单元,所述GUI控制器登记单元用于在所述引擎激活用于执行所述用户程序的执行环境的状态下,将在所述控制器组编辑单元和所述控制器部件编辑单元处所编辑的所述控制器组登记到所述输入装置;以及
用户程序登记单元,所述用户程序登记单元用于在所述引擎激活用于执行所述用户程序的执行环境的状态下,将在所述用户程序编辑单元处所编辑的所述用户程序登记到所述引擎,
所述输入装置接收对所述触敏面板显示器上所显示的所述GUI控制器的用户的操作输入,并且将所述操作输入的内容发送至所述引擎,
所述引擎基于从所述输入装置接收到的所述操作输入的内容来操作所述驱动程序以控制所述对象装置,
所述输入装置在所述引擎激活用于执行所述用户程序的执行环境的状态下,在不重新启动的情况下更新与所述用户程序相关联的所述GUI控制器的控制器组,以及
所述引擎在激活用于执行所述用户程序的执行环境的状态下,在不重新启动的情况下更新所述用户程序。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019137463 | 2019-07-26 | ||
JP2019-137463 | 2019-07-26 | ||
PCT/JP2019/049488 WO2021019801A1 (ja) | 2019-07-26 | 2019-12-17 | Guiコントローラ設計支援装置、リモートコントロールシステム、およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112840315A CN112840315A (zh) | 2021-05-25 |
CN112840315B true CN112840315B (zh) | 2022-11-01 |
Family
ID=73747854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980043175.1A Active CN112840315B (zh) | 2019-07-26 | 2019-12-17 | Gui控制器设计支持装置、远程控制***和程序 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP3798821B1 (zh) |
JP (1) | JP2021022363A (zh) |
CN (1) | CN112840315B (zh) |
WO (1) | WO2021019801A1 (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014061093A1 (ja) * | 2012-10-16 | 2014-04-24 | 三菱電機株式会社 | 画面作成装置および画面作成方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030226068A1 (en) * | 2002-05-28 | 2003-12-04 | Rule John Scott | Run time method of control system interface design and device control |
US9632665B2 (en) * | 2004-09-08 | 2017-04-25 | Universal Electronics Inc. | System and method for flexible configuration of a controlling device |
JP2011193382A (ja) * | 2010-03-16 | 2011-09-29 | Toshiba Corp | 監視操作装置および監視制御システム |
FR3042613A1 (fr) * | 2015-10-19 | 2017-04-21 | Parrot | Dispositif de pilotage d'un drone apte a maintenir des commandes de pilotage et procede de commande associe. |
JP7023085B2 (ja) | 2017-11-09 | 2022-02-21 | 株式会社Clue | ドローンを操作するための端末、方法及びそのためのプログラム |
-
2019
- 2019-12-17 WO PCT/JP2019/049488 patent/WO2021019801A1/ja unknown
- 2019-12-17 EP EP19926726.1A patent/EP3798821B1/en active Active
- 2019-12-17 CN CN201980043175.1A patent/CN112840315B/zh active Active
-
2020
- 2020-03-23 JP JP2020051640A patent/JP2021022363A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014061093A1 (ja) * | 2012-10-16 | 2014-04-24 | 三菱電機株式会社 | 画面作成装置および画面作成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112840315A (zh) | 2021-05-25 |
EP3798821A1 (en) | 2021-03-31 |
EP3798821C0 (en) | 2023-12-06 |
JP2021022363A (ja) | 2021-02-18 |
WO2021019801A1 (ja) | 2021-02-04 |
EP3798821B1 (en) | 2023-12-06 |
EP3798821A4 (en) | 2021-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8429605B2 (en) | Finite state machine architecture for software development | |
US20100033438A1 (en) | Touch-based remote control apparatus and method | |
US9535416B2 (en) | Robot teach pendant unit | |
US10956012B2 (en) | Display apparatus with a user interface to control electronic devices in internet of things (IoT) environment and method thereof | |
KR102373451B1 (ko) | 동적으로 구성가능한 애플리케이션 제어 요소들 | |
US11200009B2 (en) | Managing the configurations of printing devices | |
US20120192170A1 (en) | Information Processing Apparatus | |
EP4109250A1 (en) | Management method, management terminal, and management system | |
KR20150074345A (ko) | 로컬 기기에서의 리모트 앱 실행 방법 | |
CN111176780A (zh) | 一种轨道交通站场图通用按钮显示及控制的装置和方法 | |
CN112840315B (zh) | Gui控制器设计支持装置、远程控制***和程序 | |
US11249732B2 (en) | GUI controller design support device, system for remote control and program | |
JP2014153776A (ja) | 情報処理システム、情報処理装置、その制御方法とプログラム | |
JP6939662B2 (ja) | プログラミング支援装置、プログラミング支援方法及びプログラム | |
JP2008310442A (ja) | 遠隔操作システム、制御方法及びプログラム | |
CN112558955A (zh) | 机器人的编程和控制方法、可读存储介质和计算设备 | |
WO2014091623A1 (ja) | プログラマブルコントローラシステム、そのプログラマブル表示器、支援装置、プログラム | |
KR20150073048A (ko) | 플로팅 ui 제공방법 및 그 시스템 | |
US8225062B2 (en) | Controlling memory visibility | |
JPH03144719A (ja) | 情報処理装置及び情報処理方法 | |
JP2018088262A (ja) | 情報処理システム、情報処理装置、その制御方法とプログラム | |
US20240020466A1 (en) | Interactive form editor with concurrent automatic creation of schema files | |
JP6483889B2 (ja) | タッチパネル装置、タッチパネルシステム、情報表示方法及びプログラム | |
US10782982B2 (en) | Information processing apparatus and system, and method and recording medium for generating user interface | |
KR101391805B1 (ko) | 스마트 기기, 그 스마트 기기 제어 방법, 그 스마트 기기를 제어하는 애플리케이션을 저장하는 저장매체 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |