CN114008601A - 命令变换装置、方法及程序 - Google Patents
命令变换装置、方法及程序 Download PDFInfo
- Publication number
- CN114008601A CN114008601A CN201980097506.XA CN201980097506A CN114008601A CN 114008601 A CN114008601 A CN 114008601A CN 201980097506 A CN201980097506 A CN 201980097506A CN 114008601 A CN114008601 A CN 114008601A
- Authority
- CN
- China
- Prior art keywords
- command
- bus
- unit
- general
- communication standard
- 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.)
- Granted
Links
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 92
- 238000000034 method Methods 0.000 title claims description 20
- 238000004891 communication Methods 0.000 claims abstract description 62
- 230000015654 memory Effects 0.000 claims description 89
- 230000008569 process Effects 0.000 claims description 15
- 230000009466 transformation Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 27
- 238000012545 processing Methods 0.000 description 11
- 230000008859 change Effects 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 8
- 238000001514 detection method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 5
- 101100408464 Caenorhabditis elegans plc-1 gene Proteins 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1684—Details of memory controller using multiple buses
-
- 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/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/387—Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0024—Peripheral component interconnect [PCI]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
- Bus Control (AREA)
Abstract
CPU单元(100)具有依照第1通信标准的第1总线、依照与第1通信标准不同的第2通信标准的第2总线。CPU单元(100)所具有的变换设定存储部(110)对表示依照第1通信标准的通用命令和依照第2通信标准的专用命令之间的对应关系的信息进行存储。CPU单元(100)所具有的协议变换部(160)在向经由第2总线连接的设备由命令输出单元输出了通用命令的情况下,从变换设定存储部(110)取得与通用命令对应的专用命令,将取得的专用命令经由第2总线供给至设备。
Description
技术领域
本发明涉及命令变换装置、方法及程序。
背景技术
在专利文献1中公开了一种测量控制系统,其使得对PLC进行监视的应用软件与通信标准各自不同的多个传送路径上的PLC能够进行通信。在该测量控制系统中,对PLC进行监视的应用软件为了从PLC取得数据,将指定了逻辑地址的通信请求输出至通信管理软件。通信管理软件根据对逻辑地址和PLC的设备存储器的地址之间的对应关系进行存储的变换表格、由通信请求指定的逻辑地址,取得对用于与作为通信目标的PLC连接的传送路径的种类进行确定的种类代码、PLC的设备存储器的地址,依照对方侧的传送路径的通信标准向PLC请求设备存储器的数据。另外,通信管理软件从PLC对数据进行接收,将接收到的数据供给至应用软件。
在专利文献1所记载的结构中,通信管理软件将逻辑地址变换为种类代码及设备存储器的地址,依照对方侧的传送路径的通信标准向PLC请求设备存储器的数据。因此,应用软件无需在意通信标准的不同就能够从PLC取得数据。
专利文献1:日本特开2000-341357号公报
发明内容
在专利文献1所记载的结构中,应用软件无需在意通信标准的差异就能够对通信标准不同的传送路径上的装置进行操作,但应用软件的开发者为此需要对应用软件进行开发,使其支持通信管理软件特有的接口。
本发明就是鉴于上述实情而提出的,其目的在于通过与通用的通信标准对应的应用软件,对通信标准不同的传送路径上的装置进行管理。
为了达成上述目的,本发明的命令变换装置具有依照第1通信标准的第1总线、和依照与第1通信标准不同的第2通信标准的第2总线。命令变换装置所具有的变换命令存储单元对表示依照第1通信标准的通用命令和依照第2通信标准的专用命令之间的对应关系的信息进行存储。在向经由第2总线连接的设备由命令输出手段输出了通用命令的情况下,命令变换装置所具有的命令变换手段从变换命令存储单元取得与通用命令对应的专用命令,将取得的专用命令经由第2总线供给至设备。
发明的效果
本发明的命令变换装置在向经由依照第2通信标准的第2总线连接的设备由命令输出单元输出了依照第1通信标准的通用命令的情况下,与通用命令对应地从变换命令存储单元取得依照第2通信标准的专用命令,将取得的专用命令经由第2总线供给至设备。通过具有这样的结构,能够通过与通用的通信标准对应的应用软件,对通信标准不同的传送路径上的装置进行管理。
附图说明
图1是表示本发明的实施方式涉及的可编程逻辑控制器的CPU单元的功能结构的框图。
图2是表示实施方式涉及的可编程逻辑控制器的硬件结构的框图。
图3是表示实施方式涉及的变换表格的结构的一个例子的图。
图4是表示实施方式涉及的设备结构表格的结构的一个例子的图。
图5是表示实施方式涉及的存储器映射表格的结构的一个例子的图。
图6是表示实施方式涉及的设备结构收集部登记了数据后的设备结构表格的一个例子的图。
图7是实施方式涉及的初始设定处理的流程图。
图8是实施方式涉及的命令变换处理的流程图。
具体实施方式
下面,一边参照附图,一边对本发明的实施方式涉及的命令变换装置进行详细说明。
(实施方式)
在实施方式中,对可编程逻辑控制器的CPU单元100作为命令变换装置起作用的例子进行说明。图1所示的可编程逻辑控制器的CPU单元100依照从包含传感器、开关等的检测器供给来的输入信号,执行控制程序的命令,将输出信号供给至被控制仪器。
如图2所示,可编程逻辑控制器1(下面,称为PLC 1)包含:CPU(CentralProcessing Unit)单元100,其对PLC 1整体进行控制;输入单元200,其将从检测器901接收到的输入信号供给至CPU单元100;输出单元300,其将表示CPU单元100的运算结果的输出信号输出至被控制仪器902;以及基础单元400,其用于安装各单元。CPU单元100、输入单元200和输出单元300经由专用总线410彼此连接,能够经由专用总线410进行通信。
CPU单元100使用从输入单元200供给来的输入信号,执行控制程序的命令,将输出信号输出至输出单元300。在输入单元200连接有包含传感器、开关等的检测器901。输入单元200将从检测器901供给来的输入信号供给至CPU单元100。在输出单元300连接有包含致动器、电磁阀、显示灯等的被控制仪器902。输出单元300将从CPU单元100供给来的输出信号供给至被控制仪器902。
CPU单元100、输入单元200和输出单元300被安装于基础单元400。CPU单元100、输入单元200和输出单元300经由基础单元400与未图示的电源单元连接,通过从电源单元供给的电力进行动作。CPU单元100能够经由专用总线410与输入单元200及输出单元300进行通信。
另外,在CPU单元100中安装有通用OS(Operating System)。因此,CPU单元100具有与具有通用性的计算机相同的操作性。例如,CPU单元100的CPU经由通用总线与CPU单元100内的设备连接,能够对设备进行控制。另外,CPU单元100能够在通用OS上,执行通过通用的编程语言开发出的应用软件(下面,称为应用)。专用总线410的通信标准与通用总线的通信标准不同。
在实施方式中,作为特征性的结构,CPU单元100能够将输入单元200及输出单元300作为与CPU单元内的通用总线连接的设备来处理。因此,CPU单元100在将依照通用总线的通信标准的命令输出至输入单元200及输出单元300的情况下,将该命令变换为依照专用总线410的通信标准的命令,将变换后的命令供给至输入单元200及输出单元300。因此,例如,CPU单元100的用户能够使用对CPU单元的设备进行管理的工具,与CPU单元内的设备相同地,对输入单元200及输出单元300进行管理。
在下面的说明中,以实施方式涉及的具有特征性的结构的CPU单元100为中心进行说明。
CPU单元100作为硬件结构具有:存储器11,其对各种程序及数据进行存储;通用总线接口12,其用于经由通用总线的通信;专用总线接口13,其用于经由专用总线410的通信;输入输出接口14,其用于与周边仪器连接;以及CPU 15,其对CPU单元100整体进行控制。存储器11、通用总线接口12、专用总线接口13和输入输出接口14经由CPU总线19连接于CPU15,与CPU 15进行通信。
存储器11包含易失性存储器和非易失性存储器。存储器11对用于实现CPU单元100的各种功能的程序、在程序的执行时使用的数据进行存储。
存储器11对结构信息收集程序111、设备设定程序112、用户程序113进行存储。结构信息收集程序111是使CPU单元100实现对与设备结构相关的信息进行收集的功能的程序。设备设定程序112是使CPU单元100实现如下功能的程序,即,生成为了将功能单元作为通用总线701上的虚拟的设备进行处理所需要的信息。用户程序113是使CPU单元100实现对被控制仪器902进行控制的功能的程序。
通用总线接口12是用于经由通用总线701而将CPU 15、设备21及22连接的连接接口。通用总线701是将CPU 15与设备21及22连接的本地总线。设备21及22是与CPU 15连接的设备,例如是网络适配器、图形适配器。在实施方式中,假设为通用总线701是PCI(Peripheral Component Interconnect)总线而进行说明。通用总线701是本发明的第1总线的一个例子。通用总线701的通信标准是本发明的第1通信标准的一个例子。
专用总线接口13是用于经由专用总线410将CPU单元100与输入单元200及输出单元300连接的连接接口。下面,有时将输入单元200及输出单元300称为功能单元。专用总线410是在包含多个单元的PLC 1中用于单元间通信的系统总线,例如,是针对PLC 1的每种机型对通信标准进行了定义的总线。专用总线410是本发明的第2总线的一个例子。专用总线410的通信标准是本发明的第2通信标准的一个例子。
输入输出接口14例如是包含USB控制器,用于经由未图示的连接线缆将CPU 15与未图示的周边仪器连接的接口。周边仪器例如是键盘、鼠标、显示器。
CPU 15执行在存储器11存储的各种程序,实现CPU单元100的各种功能。例如,CPU15通过执行在存储器11储存的用户程序113,从而进行使用了从检测器供给来的输入信号所示的值的运算,将基于表示运算结果的值的输出信号供给至被控制仪器902。
而且,在实施方式中,CPU 15通过执行结构信息收集程序111,从而对与设备的结构相关的信息进行收集。CPU 15通过执行设备设定程序112,从而生成用于将功能单元作为通用总线701上的虚拟的设备进行处理所需要的信息。
接下来,一边参照图1,一边对CPU单元100的功能结构进行说明。CPU单元100在功能上包含:变换设定存储部110,其存储命令相对于设备的对应关系;设备结构存储部120,其对分配给功能单元的设备结构信息进行存储;存储器分配存储部130,其对存储器映射信息进行存储;设备结构收集部140,其对设备结构信息进行收集;设备设定部150,其将需要的设备结构信息分配给功能单元;协议变换部160,其将从通用命令变换后的专用命令发送至功能单元;以及结构变更检测部170,其对设备的结构的变更进行检测。设备结构信息是为了访问通用总线701上的设备所需要的信息。
变换设定存储部110为了将功能单元作为通用总线701上的虚拟的设备进行控制,存储经由专用总线410供给至功能单元的实际的命令(下面,称为专用命令)和对与通用总线701连接的设备进行控制的命令(下面,称为通用命令)之间的对应关系。通用命令例如是针对设备的open、close、read、write这样的命令。变换设定存储部110的功能由图2所示的存储器11实现。变换设定存储部110是本发明的变换命令存储单元的一个例子。
在图3中示出储存于变换设定存储部110的变换表格110a的一个例子。在变换表格110a中储存有表示设备的设备名、表示设备类别的值、表示该设备实际所连接的所连接的总线类别的值、表示总线宽度的值、对功能单元进行控制的专用命令、与专用命令相关联的通用命令。在图示的例子中,作为对设备进行确定的值使用了设备名,但也可以不使用设备名而是使用能够识别设备的其它识别信息。
例如,在CPU单元100的应用将通用命令输出至功能单元的情况下,后述协议变换部160将通用命令变换为专用命令,将变换后的专用命令供给至功能单元。应用是本发明的命令输出单元的一个例子。
而且,在变换表格110a中,将使功能单元执行了专用命令的情况下的实际返回值和所期望的返回值相关联地进行定义。所期望的返回值例如是指在CPU单元100中应用使功能单元执行了通用命令的情况下,应用有时需要将返回值作为命令的执行结果。但是,接收到与通用命令对应的专用命令的功能单元有时不返回返回值或返回与应用所期望的返回值不同的值。为了对功能单元的规格与应用的接口之间的差异进行吸收,预先对所期望的返回值进行设定。
在图示的例子中,输入单元200的设备类别为I/O(Input Output)单元,所连接的总线的类别为专用总线410。专用总线410的总线宽度为64bit。针对输入单元200的通用命令A被变换为专用命令A。例如,在应用将通用命令A输出至输入单元200的情况下,后述的协议变换部160将与通用命令A对应的专用命令A供给至输入单元200。输入单元200在接收到专用命令A的情况下,不返回任何值作为返回值。因此,定义有所期望的返回值。如果应用使输入单元200执行通用命令A,则向应用返回所期望的返回值。
变换表格110a进一步也对实际存在于通用总线701上的设备的数据进行存储。实际存在于通用总线701上的设备能够通过通用命令来控制。因此,如图示的那样,针对实际存在于通用总线701上的设备,没有将值设定于专用命令、通用命令、实际的返回值和所期望的返回值。
变换表格110a预先由用户创建。用户例如是CPU单元100的管理者。例如,用户基于通用总线701的通信标准的定义书和专用总线410的通信标准的定义书,对图3所示的变换表格110a进行创建。
为了将功能单元作为通用总线701上的虚拟的设备进行处理,图1所示的设备结构存储部120对分配给功能单元的设备结构信息进行存储。设备结构信息是CPU 15为了访问通用总线701上的设备所需要的信息。例如,设备结构信息包含表示在经由专用总线410访问功能单元时指定的专用总线410中的存储器地址与在通用总线701的地址空间中分配的存储器地址之间的对应关系的信息。设备结构存储部120的功能由图2所示的存储器11实现。设备结构存储部120是本发明的设备结构存储单元的一个例子。
在图4中示出储存于设备结构存储部120的设备结构表格120a的一个例子。在设备结构表格120a中,作为设备结构信息,储存有表示设备的设备名、表示设备类别的值、表示该设备实际所连接的总线类别的值、PCI的地址空间中的存储器地址、表示通用总线701上的设备的连接位置的位置信息、在访问设备时使用的分配给设备寄存器的物理地址。位置信息包含对总线进行确定的总线编号、表示总线上的设备的位置的设备编号、表示由设备提供的功能的功能编号。CPU 15在使设备执行命令的情况下,向分配给设备的设备寄存器进行写入。
由于功能单元没有与通用总线701连接,因此针对关于功能单元的PCI的地址空间中的存储器地址、位置信息、以及设备寄存器的物理地址分配任意值。关于功能单元的这些值是在CPU单元100的初始化处理中分配的。
设备结构表格120a进一步也对关于与通用总线701连接的设备的数据进行存储。
为了将功能单元作为通用总线701上的虚拟的设备进行处理,图1所示的存储器分配存储部130对存储器映射信息进行存储。存储器映射信息是表示PCI的地址空间中的存储器地址与为了经由专用总线410访问功能单元而指定的实际地址之间的对应关系的信息。存储器分配存储部130的功能由图2所示的存储器11实现。存储器分配存储部130是本发明的存储器分配存储单元的一个例子。
在图5中示出储存于存储器分配存储部130的存储器映射表格130a的一个例子。在存储器映射表格130a中储存有表示设备的设备名、专用总线410的地址空间中的实际存储器地址即实际开始地址、专用总线410的地址空间中的存储器大小即实际大小、为了将功能单元虚拟地作为通用总线701上的设备进行处理而分配的PCI的地址空间中的存储器地址、以及表示功能单元实际连接的总线类别的值。通过实际开始地址及实际大小确定的存储器地址是本发明的专用存储器地址的一个例子。PCI的地址空间中的存储器地址是本发明的通用存储器地址的一个例子。
此外,在存储器映射表格130a中没有储存关于实际存在于通用总线701上的设备的数据。
图1所示的设备结构收集部140对设备结构信息进行收集。设备结构收集部140首先对关于通用总线701上的设备的设备结构信息进行收集,将收集到的设备结构信息储存于设备结构表格120a。而且,设备结构收集部140对关于与CPU单元100连接的其它总线上的设备的设备结构信息进行收集,将收集到的设备结构信息储存于设备结构表格120a。
设备结构收集部140无法针对通用总线701上的设备之外的设备,对需要的设备结构信息全部进行收集。因此,设备结构收集部140仅将能够收集的信息储存于设备结构表格120a。因此,如图6所示,在设备结构表格120a中,关于专用总线410上的设备即功能单元,没有储存PCI的地址空间中的存储器地址、表示通用总线701上的设备的物理位置的位置信息、以及分配给设备寄存器的物理地址。这些信息通过后述的设备设定部150储存于设备结构表格120a。
设备结构收集部140进行设备结构信息的收集处理而作为在接通电源后由CPU单元100执行的初始化处理的一部分。设备结构收集部140的功能通过由图2所示的CPU 15执行结构信息收集程序111而实现。设备结构收集部140是本发明的设备结构收集单元的一个例子。
图1所示的设备设定部150对为了将没有与通用总线701连接的设备即功能单元作为通用总线701上的虚拟的设备进行处理所需要的信息进行计算,将计算出的信息储存于设备结构表格120a和存储器映射表格130a。如前所述,设备结构收集部140无法针对功能单元对全部设备结构信息进行收集。设备设定部150将无法由设备结构收集部140收集的设备结构信息登记于设备结构表格120a。
由设备设定部150登记于设备结构表格120a的具体的信息如下。如图6所示,前述的设备结构收集部140无法针对专用总线410上的设备即功能单元,对PCI的地址空间中的存储器地址、位置信息、设备寄存器的物理地址进行收集。因此,设备设定部150对各个功能单元分配PCI的地址空间中的存储器地址、位置信息、设备寄存器的物理地址,将分配的存储器地址的值、位置信息的值、设备寄存器的物理地址的值登记于设备结构表格120a。
设备设定部150将在PCI的地址空间中没有使用的存储器地址分配给功能单元。此时,设备设定部150基于与专用总线410连接的功能单元的实际开始地址和实际大小,决定分配给功能单元的PCI的地址空间中的存储区域。使设备设定部150为具有取得与专用总线410连接的功能单元的实际开始地址和实际大小的单元的功能部。
使设备设定部150为将功能单元虚拟地连接于在通用总线701上没有连接任意设备的位置处的功能部,将该位置分配给功能单元。
设备设定部150将没有被作为通用总线701上的设备的设备寄存器使用的存储区域确保为分配给功能单元的设备寄存器。
由设备设定部150登记于存储器映射表格130a的具体的信息如下。设备设定部150将分配给功能单元的PCI的地址空间中的存储器地址、专用总线410的地址空间中的存储器地址即实际开始地址、专用总线410的地址空间中的存储器大小即实际大小相关联地储存于存储器映射表格130a。
设备设定部150作为在接通电源后由CPU单元100执行的初始化处理的一部分,对为了将功能单元作为通用总线701上的设备进行处理所需要的信息进行计算,将计算出的信息储存于设备结构表格120a和存储器映射表格130a。
另外,设备设定部150在后述的结构变更检测部170检测到设备的结构的变更时,对设备结构表格120a、存储器映射表格130a进行更新。设备设定部150在对设备结构表格120a、存储器映射表格130a进行了更新后,为了将最新的信息反映于CPU单元100,例如,使CPU单元100重启。设备设定部150的功能通过由图2所示的CPU 15执行设备设定程序112而实现。设备设定部150是本发明的设备设定单元的一个例子。
图1所示的协议变换部160将输出至功能单元的通用命令变换为专用命令。
例如,CPU单元100的应用为了输出针对功能单元的通用命令,向分配给该功能单元的设备寄存器写入所决定的值。如果值被写入至设备寄存器,则协议变换部160从图4所示的设备结构表格120a,取得被分配了写入有值的设备寄存器的设备的设备名、设备类别和连接总线类别。协议变换部160从图3所示的变换表格110a读出针对确定出的设备登记的数据。协议变换部160根据读出的数据取得与由应用输出的通用命令对应的专用命令。
另一方面,协议变换部160在与所指定的通用命令对应的专用命令没有登记于变换表格110a的情况下,向请求了命令的应用返回错误。
协议变换部160从存储器映射表格130a取得相应的设备即功能单元的实际开始地址和实际大小,对实际开始地址和实际大小进行指定,将从变换表格110a读出的专用命令依照专用总线410的通信标准发送至相应的功能单元。由此,协议变换部160将由CPU单元100输出至功能单元的通用命令变换为专用命令,使功能单元执行变换后的专用命令。
另外,协议变换部160如果经由专用总线410从功能单元接收到返回值,则从变换表格110a取得所期望的返回值。协议变换部160将取得的返回值写入至由在设备结构表格120a中定义的PCI的地址空间中的存储器地址指定的区域。由此,协议变换部160对来自功能单元的返回值进行变换,对应用返回所期望的返回值。协议变换部160的功能由图2所示的CPU 15实现。例如,实施方式涉及的CPU单元100的OS包含协议变换部160的功能,在对命令进行解释时实现协议变换部160的功能。协议变换部160是本发明的命令变换单元的一个例子。
图1所示的结构变更检测部170对设备的结构产生了变更进行检测。例如,结构变更检测部170具有对新的设备连接于CPU单元100时的电信号进行检测的功能,在检测出连接了新的设备时,判别为设备的结构产生了变更。或者,结构变更检测部170具有对存储区域被映射和被解除映射进行检测的功能,在检测出存储区域的映射及解除映射时,判别为设备的结构产生了变更。结构变更检测部170如果检测出设备的结构产生了变更,则对设备设定部150指示设备结构表格120a和存储器映射表格130a的更新。结构变更检测部170的功能由图2所示的CPU 15实现。
图1所示的程序执行部180执行用户程序113。程序执行部180的功能由图2所示的CPU 15实现。
接下来,说明具有上述结构的CPU单元100对设备结构表格120a和存储器映射表格130a进行创建的初始设定处理的流程。初始设定处理是作为使CPU单元100在接通电源时执行的初始化处理的一部分而执行的。
图2所示的CPU单元100的CPU 15通过执行结构信息收集程序111而作为图1所示的设备结构收集部140起作用,通过执行图2所示的设备设定程序112而作为图1所示的设备设定部150起作用。
如图7所示,设备结构收集部140首先对实际与通用总线701连接的设备结构信息进行收集,对储存有收集到的数据的设备结构表格120a进行创建(步骤S11)。这里,设备结构收集部140对设备21及22的设备名、设备类别、连接总线类别、PCI的地址空间中的存储器地址、位置信息、设备寄存器的物理地址进行收集,对储存有收集到的数据的设备结构表格120a进行创建。
接下来,设备结构收集部140对是否存在与通用总线701之外的总线连接的设备进行判别(步骤S12),在判别为存在与通用总线701之外的总线连接的设备的情况下(步骤S12;Yes),对与通用总线701之外的总线上的设备相关的信息进行收集,将收集到的信息登记于设备结构表格120a(步骤S13)。
在图2所示的例子中,输入单元200及输出单元300连接于CPU单元100。因此,设备结构收集部140针对输入单元200及输出单元300的每一者,对设备名、设备类别、所连接的总线类别进行收集,如图6所示将收集到的数据登记于设备结构表格120a。这里,由于输入单元200及输出单元300没有与通用总线701上的设备连接,因此存储器地址、连接部位、设备寄存器的值没有被登记于设备结构表格120a。
接下来,设备设定部150对为了将功能单元作为通用总线701上的虚拟的设备进行处理所需要的信息进行计算,对设备结构表格120a和存储器映射表格130a进行更新(步骤S14)。具体而言,设备设定部150对图6所示的设备结构表格120a所欠缺的为了将功能单元作为通用总线701上的设备进行处理所需要的信息进行计算,将计算出的信息登记于设备结构表格120a。而且,设备设定部150对向存储器映射表格130a登记的信息进行计算,将计算出的信息登记于存储器映射表格130a。之后,设备设定部150将表格的更新反映于CPU单元100(步骤S15)。例如,设备设定部150使CPU单元100重启,将表格的更新反映于CPU单元。以上为初始设定处理。
接着,说明CPU单元100为了通过通用命令对功能单元进行控制而将通用命令变换为专用命令的命令变换处理。例如,如果用户程序113被启动,则执行命令变换处理。
图2所示的CPU单元100的CPU 15作为图1所示的协议变换部160起作用,执行图8所示的命令变换处理。协议变换部160在程序执行部180对用户程序113的命令依次进行处理过程中,对通用命令进行适当变换。
协议变换部160针对通用命令的对象即设备,与变换表格110a的连接总线类别的值对应地,对通用命令的对象是否是专用总线410上的设备进行判别(步骤S21)。如果判别为通用命令的对象是专用总线410上的设备(步骤S21;Yes),则协议变换部160对在变换表格110a是否登记有与通用命令对应的专用命令进行判别(步骤S22)。在专用命令没有登记于变换表格110a的情况下(步骤S22:No),协议变换部160向命令的调用源返回错误(步骤S31),将命令变换处理结束。
在与通用命令对应的专用命令登记于变换表格110a的情况下(步骤S22;Yes),协议变换部160取得与通用命令对应的专用命令(步骤S23)。有时在通用命令附加有对存储区域进行指定的存储器地址。在该情况下,由于所指定的存储器地址是PCI的地址空间中的存储器地址,因此协议变换部160从图5所示的存储器映射表格130a取得与所指定的PCI的地址空间中的存储器地址对应的实际开始地址及实际大小。
协议变换部160执行专用命令(步骤S24)。具体而言,经由专用总线410将专用命令发送至相应的功能单元。在通过通用命令指定了存储区域的情况下,协议变换部160对在步骤S23中取得的实际开始地址及实际大小进行指定,执行专用命令。如果判别为需要从变换表格110a返回返回值(步骤S25;Yes),则协议变换部160例如取得从功能单元返回的响应数据所包含的返回值,从变换表格110a取得与所取得的返回值对应的所期望的返回值,向命令的调用源返回所期望的返回值(步骤S26)。
另外,在步骤S21中,如果协议变换部160判别为通用命令的对象不是专用总线410上的设备(步骤S21;No),则程序执行部180如通常那样对该通用命令进行处理(步骤S30)。以上是命令变换处理。
如以上说明所述,实施方式涉及的CPU单元100具有将通用命令变换为针对专用总线410上的设备的专用命令的结构,从而能够无缝地对通信标准不同的传送路径上的装置进行控制。
PLC的控制程序大多通过梯形图、顺序功能图这样的语言创建,对于不具有关于在这样的PLC的程序设计中大多采用的语言的知识的人来说,PLC的控制程序的开发并不容易。通过采用实施方式涉及的结构,从而能够通过通用命令对PLC进行控制,例如,通过由安装有通用OS的计算机使用的通用程序设计语言,也能够对PLC的控制程序进行开发。
另外,由于CPU单元100在内部将通用命令变换为专用命令,因此例如用户不需要进行创建PCI的地址空间中的存储器的对应关系这样的作业。
另外,由于将功能单元在CPU单元100中作为通用总线701上的设备进行处理,因此例如用户能够使用对CPU单元的设备进行管理的工具,与CPU单元100内的设备相同地,对输入单元200、输出单元300这样的功能单元进行管理。在该情况下,作为表示作为通用总线701上的设备来处理的功能单元的位置的信息,对图4所示的设备结构表格120a的位置信息进行显示。作为功能单元的资源信息,对设备结构表格120a的设备寄存器的物理地址进行显示。
在实施方式中,说明了在执行用户程序113时依次将输出至专用总线410上的设备的通用命令变换为专用命令的例子,但并不限于此。例如,CPU单元100也可以在通过初始化处理向设备结构表格120a和存储器映射表格130a储存了所需要的数据后,生成将针对用户程序113内的功能设备的通用命令替换为专用命令的程序,替代用户程序113,执行替换了命令后的程序。
在实施方式中,作为通用总线,说明了采用PCI的总线的例子,但并不限于此。例如,也可以替代图2所示的实施方式涉及的通用总线701而采用与专用总线410不同的总线420。在该情况下,通过将专用总线410上的设备作为总线420的虚拟的总线对待,从而能够期待与实施方式相同的效果。
在实施方式中,说明了CPU单元100作为总线变换控制装置起作用的例子,但并不限于此。例如,也可以是与PLC连接的信息处理装置作为总线变换控制装置进行动作。在该情况下,CPU单元100和功能单元相当于本发明的设备,信息处理装置将输出至CPU单元及功能单元的通用命令变换为专用命令即可。
作为对上述程序进行记录的记录介质,能够使用包含磁盘、光盘、光磁盘、闪存、半导体存储器、磁带的计算机可读取的记录介质。
本发明在不脱离广义的精神和范围的情况下,能够设为各种实施方式及变形。另外,上述实施方式用于对本发明进行说明,并不是对本发明的范围进行限定。即,本发明的范围不是由实施方式,而是由权利要求书表示的。而且,将在权利要求范围内及与其等同的发明意义的范围内实施的各种变形视为落在本发明的范围内。
标号的说明
1可编程逻辑控制器(PLC),11存储器,12通用总线接口,13专用总线接口,14输入输出接口,15CPU,19CPU总线,21、22设备,100CPU单元,110变换设定存储部,110a变换表格,111结构信息收集程序,112设备设定程序,113用户程序,120设备结构存储部,120a设备结构表格,130存储器分配存储部,130a存储器映射表格,140设备结构收集部,150设备设定部,160协议变换部,170结构变更检测部,180程序执行部,200输入单元,300输出单元,400基础单元,410专用总线,701通用总线,901检测器,902被控制仪器
Claims (11)
1.一种命令变换装置,其具有:
依照第1通信标准的第1总线;
依照与所述第1通信标准不同的第2通信标准的第2总线;
变换命令存储单元,其对表示依照所述第1通信标准的通用命令和依照所述第2通信标准的专用命令之间的对应关系的信息进行存储;以及
命令变换单元,其在向经由所述第2总线连接的设备由命令输出单元输出了所述通用命令的情况下,从所述变换命令存储单元取得与所述通用命令对应的所述专用命令,将取得的所述专用命令经由所述第2总线供给至所述设备。
2.根据权利要求1所述的命令变换装置,其中,
所述第1总线是将所述命令变换装置所具有的CPU和所述命令变换装置所具有的设备连接的本地总线,
所述第2总线是将所述命令变换装置所具有的CPU和所述命令变换装置之外的装置连接的总线。
3.根据权利要求1或2所述的命令变换装置,其中,
具有设备结构存储单元,该设备结构存储单元对为了将所述设备作为所述第1总线上的虚拟的设备进行处理所需要的设备结构信息进行存储,
所述设备结构信息包含在所述第1总线的地址空间中分配给所述设备的存储器地址、表示所述第1总线上的所述设备的虚拟的连接位置的位置信息、以及为了使所述第1总线上的所述设备执行命令所使用的设备寄存器的地址,
如果值被写入至分配给所述设备的所述设备寄存器,则所述命令变换单元从变换命令存储单元取得与通过被写入的值确定的所述通用命令对应的所述专用命令。
4.根据权利要求3所述的命令变换装置,其中,
具有存储器分配存储单元,该存储器分配存储单元对所述第2总线的地址空间中的专用存储器地址与在所述第1总线的地址空间中分配给所述设备的通用存储器地址之间的对应关系进行存储,
所述命令变换单元从所述存储器分配存储单元取得与所述通用命令一起被指定的所述通用存储器地址所对应的所述专用存储器地址,对取得的所述专用存储器地址进行指定而将与所述通用命令对应的所述专用命令供给至所述设备。
5.根据权利要求4所述的命令变换装置,其具有:
设备结构收集单元,其对所述设备结构信息进行收集,将收集到的所述设备结构信息储存于所述设备结构存储单元;以及
设备设定单元,其生成无法由所述设备结构收集单元收集的信息,将生成的信息储存于所述设备结构存储单元。
6.根据权利要求5所述的命令变换装置,其中,
所述设备设定单元向所述设备分配所述第1总线的地址空间中的所述通用存储器地址,将所述通用存储器地址与所述设备的在所述第2总线的地址空间中的专用存储器地址相关联地储存于所述存储器分配存储单元。
7.根据权利要求1至6中任一项所述的命令变换装置,其中,
所述命令变换装置是可编程逻辑控制器的CPU单元。
8.根据权利要求7所述的命令变换装置,其中,
所述设备包含所述可编程逻辑控制器的功能单元。
9.根据权利要求1至6中任一项所述的命令变换装置,其中,
所述设备包含可编程逻辑控制器的CPU单元及功能单元。
10.一种方法,其由计算机执行,该计算机具有依照第1通信标准的第1总线、以及依照与所述第1通信标准不同的第2通信标准的第2总线,
该方法包含如下步骤:
在向经由所述第2总线连接的设备由命令输出单元输出了依照所述第1通信标准的通用命令的情况下,与所述通用命令对应地取得依照所述第2通信标准的专用命令;以及
将取得的所述专用命令经由所述第2总线供给至所述设备。
11.一种程序,其使具有依照第1通信标准的第1总线、以及依照与所述第1通信标准不同的第2通信标准的第2总线的计算机执行如下处理:
在向经由所述第2总线连接的设备由命令输出单元输出了依照所述第1通信标准的通用命令的情况下,与所述通用命令对应地取得依照所述第2通信标准的专用命令,
将取得的所述专用命令经由所述第2总线供给至所述设备。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2019/024370 WO2020255309A1 (ja) | 2019-06-19 | 2019-06-19 | 命令変換装置、方法、及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114008601A true CN114008601A (zh) | 2022-02-01 |
CN114008601B CN114008601B (zh) | 2023-11-10 |
Family
ID=72146153
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980097506.XA Active CN114008601B (zh) | 2019-06-19 | 2019-06-19 | 命令变换装置、方法及记录介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11481344B2 (zh) |
JP (1) | JP6746040B1 (zh) |
CN (1) | CN114008601B (zh) |
WO (1) | WO2020255309A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117118828B (zh) * | 2023-10-23 | 2024-01-23 | 上海芯联芯智能科技有限公司 | 一种协议转换器、电子设备及一种配置方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000341357A (ja) * | 1999-05-27 | 2000-12-08 | Mitsubishi Electric Corp | 通信制御装置、計測制御システム、及び記録媒体 |
JP2001306399A (ja) * | 2000-04-20 | 2001-11-02 | Seiko Epson Corp | メモリ管理ユニットおよびコンピュータシステム |
US6370603B1 (en) * | 1997-12-31 | 2002-04-09 | Kawasaki Microelectronics, Inc. | Configurable universal serial bus (USB) controller implemented on a single integrated circuit (IC) chip with media access control (MAC) |
US20040019734A1 (en) * | 2002-07-25 | 2004-01-29 | Lsi Logic Corporation | Automatic translation from SCSI command protocol to ATA command protocol |
JP2005275452A (ja) * | 2004-03-22 | 2005-10-06 | Matsushita Electric Ind Co Ltd | データ転送制御システム |
JP2011070546A (ja) * | 2009-09-28 | 2011-04-07 | Sony Corp | バスプロトコル変換装置及びバスプロトコル変換方法 |
CN102325128A (zh) * | 2011-07-11 | 2012-01-18 | 北京交通大学 | FlexRay 总线与LIN 总线的协议转换装置及方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6571308B1 (en) * | 2000-01-31 | 2003-05-27 | Koninklijke Philips Electronics N.V. | Bridging a host bus to an external bus using a host-bus-to-processor protocol translator |
US7792923B2 (en) * | 2000-10-13 | 2010-09-07 | Zhe Khi Pak | Disk system adapted to be directly attached to network |
US7126952B2 (en) * | 2001-09-28 | 2006-10-24 | Intel Corporation | Multiprotocol decapsulation/encapsulation control structure and packet protocol conversion method |
JP2006004095A (ja) | 2004-06-16 | 2006-01-05 | Mitsubishi Electric Corp | 情報管理システム、端末およびサーバ |
US7246191B2 (en) * | 2005-03-31 | 2007-07-17 | Intel Corporation | Method and apparatus for memory interface |
TWI298840B (en) * | 2005-07-13 | 2008-07-11 | Via Tech Inc | Bus device used in computer system |
US7913025B1 (en) * | 2007-07-23 | 2011-03-22 | Augmentix Corporation | Method and system for a storage device |
JP2010049543A (ja) * | 2008-08-22 | 2010-03-04 | Fuji Electric Systems Co Ltd | プログラマブルコントローラ、入出力装置、および動作パラメータアクセスシステム |
CN103034602B (zh) * | 2012-12-06 | 2015-11-25 | 华为技术有限公司 | 一种基于外设部件互联总线的内容查找芯片及系统 |
CN106201947B (zh) * | 2016-06-30 | 2019-08-27 | 北京振兴计量测试研究所 | 基于自定义总线的gpib通讯方法及通讯控制装置 |
CN110196824B (zh) * | 2018-05-31 | 2022-12-09 | 腾讯科技(深圳)有限公司 | 实现数据传输的方法及装置、电子设备 |
US10713207B2 (en) * | 2018-07-02 | 2020-07-14 | Venturi, Llc | USB to synchronous serial interface with external clock signal |
-
2019
- 2019-06-19 CN CN201980097506.XA patent/CN114008601B/zh active Active
- 2019-06-19 JP JP2020517408A patent/JP6746040B1/ja active Active
- 2019-06-19 WO PCT/JP2019/024370 patent/WO2020255309A1/ja active Application Filing
- 2019-06-19 US US17/604,758 patent/US11481344B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6370603B1 (en) * | 1997-12-31 | 2002-04-09 | Kawasaki Microelectronics, Inc. | Configurable universal serial bus (USB) controller implemented on a single integrated circuit (IC) chip with media access control (MAC) |
JP2000341357A (ja) * | 1999-05-27 | 2000-12-08 | Mitsubishi Electric Corp | 通信制御装置、計測制御システム、及び記録媒体 |
JP2001306399A (ja) * | 2000-04-20 | 2001-11-02 | Seiko Epson Corp | メモリ管理ユニットおよびコンピュータシステム |
US20040019734A1 (en) * | 2002-07-25 | 2004-01-29 | Lsi Logic Corporation | Automatic translation from SCSI command protocol to ATA command protocol |
JP2005275452A (ja) * | 2004-03-22 | 2005-10-06 | Matsushita Electric Ind Co Ltd | データ転送制御システム |
JP2011070546A (ja) * | 2009-09-28 | 2011-04-07 | Sony Corp | バスプロトコル変換装置及びバスプロトコル変換方法 |
CN102325128A (zh) * | 2011-07-11 | 2012-01-18 | 北京交通大学 | FlexRay 总线与LIN 总线的协议转换装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
JP6746040B1 (ja) | 2020-08-26 |
US11481344B2 (en) | 2022-10-25 |
CN114008601B (zh) | 2023-11-10 |
JPWO2020255309A1 (ja) | 2021-09-13 |
WO2020255309A1 (ja) | 2020-12-24 |
US20220147473A1 (en) | 2022-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5284905B2 (ja) | データ移行方法、及びプログラム | |
US9052993B2 (en) | Multi-core processor system, control program, and control method | |
US9043777B2 (en) | Transferring files to a baseboard management controller (‘bmc’) in a computing system | |
CN109964214B (zh) | 使用服务层适配器管理最低一致性点(lpc)存储器 | |
JP2002268707A (ja) | コントローラ及びツール並びにそれらにより構成されるシステム | |
CN113010470B (zh) | 边缘节点远程控制系统、方法、设备及存储介质 | |
WO2018158808A1 (ja) | 情報システム、管理プログラム及び情報システムのプログラム交換方法 | |
US7886095B2 (en) | I/O space request suppressing method for PCI device | |
JP6926841B2 (ja) | コントロールシステム、開発支援装置、及びコントロール方法 | |
CN114008601B (zh) | 命令变换装置、方法及记录介质 | |
CN116301596A (zh) | 一种软件raid构建方法、装置、设备及存储介质 | |
JP6292096B2 (ja) | プログラマブルコントローラシステム、その支援装置 | |
US8239634B2 (en) | Input/output control based on information specifying input/output issuing source and input/output priority | |
JP5846016B2 (ja) | 情報処理装置、情報処理方法、及び情報処理プログラム | |
JP2016173741A (ja) | 情報処理装置、情報処理方法、及び、プログラム | |
US9654560B2 (en) | Management system and method | |
CN113858168A (zh) | 自动更换上装模块的控制方法及相关装置 | |
CN112711527A (zh) | 一种实时进程的调试方法、装置、目标机和存储介质 | |
CN110990018B (zh) | 一种嵌入式系统的编译方法及编译系统 | |
JP5079166B1 (ja) | シンボルテーブル生成方法、周辺機器との通信方法およびプログラマブルロジックコントローラ | |
JP5870214B2 (ja) | プログラマブルコントローラシステム、そのプログラマブル表示器、支援装置、プログラム | |
JP2006146526A (ja) | フィールド機器管理装置およびフィールド機器管理方法 | |
WO2013076865A1 (ja) | 計算機システム、プログラム連携方法、及びプログラム | |
JP2019160133A (ja) | 情報処理装置、情報処理システムおよび方法 | |
JP7413183B2 (ja) | コントロールシステム |
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 |