CN109962992A - 控制装置 - Google Patents
控制装置 Download PDFInfo
- Publication number
- CN109962992A CN109962992A CN201811599846.6A CN201811599846A CN109962992A CN 109962992 A CN109962992 A CN 109962992A CN 201811599846 A CN201811599846 A CN 201811599846A CN 109962992 A CN109962992 A CN 109962992A
- Authority
- CN
- China
- Prior art keywords
- address
- client
- read
- control device
- entity area
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/35—Network arrangements, protocols or services for addressing or naming involving non-standard use of addresses for implementing network functionalities, e.g. coding subscription information within the address or functional addressing, i.e. assigning an address to a function
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9047—Buffering arrangements including multiple buffers, e.g. buffer pools
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Programmable Controllers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种控制装置,其具有:通信部,其从多个客户端接受指定了同一虚拟区域的地址的读写请求;实体区域,其成为该通信部进行的读写的对象。而且,该通信部具有:管理表,其将客户端的标识符和针对每个客户端而不同的实体区域的地址对应起来;及地址转换部,其参照该管理表,执行针对客户端的标识符所对应的实体区域的地址的读写。
Description
技术领域
本发明涉及一种控制装置,特别是涉及一种能够针对每个客户端变更在通信中所利用的虚拟区域的转换目标地址的控制装置。
背景技术
客户端针对在服务器上定义的特定区域进行读写的请求,由此,存在用于进行服务器与客户端之间的通信的协议。作为上述这样的协议的一例,有Modbus/TCP。
上述这样的协议例如能够像图1所示的那样进行实施。在作为服务器的控制装置(例如PLC:Programmable Logic Controller)上设有虚拟存储区域(下面简称为虚拟区域)。虚拟区域具有由协议所定义的地址空间,但不具有存储器等实体。虚拟区域由在控制装置上工作的通信功能(例如Modbus)进行管理。来自客户端的读写请求通过指定虚拟区域的地址来进行。通信功能所具有的地址转换功能,将所指定的虚拟区域的地址转换为控制装置的实体存储区域(下面简称为实体区域)的地址。因而,针对实体区域来执行客户端的指定虚拟区域的数据的读写请求。
例如,日本特开2009-104283号公报公开了一种Modbus/TCP服务器功能,该功能通过利用转换表来对Modbus区域(相当于虚拟区域)和实际的存储器区域(相当于实体区域)进行转换,能够实现自由编程。
在这样的协议中,在多个客户端与一台服务器进行通信的情况下,各客户端进行读写的实体区域的地址需要针对每个客户端设为不同。原因在于,当多个客户端访问实体区域的同一地址时,可能会发生不希望的数据改写等情况,无法获得所期待的结果。
因此,在多个客户端与一台服务器进行通信的情况下,也需要针对每个客户端设为不同的供客户端在读写中指定的虚拟区域的地址(参照图2)。
因而,需要预先针对每个客户端设定应指定虚拟区域的哪个地址来进行读写。像上述这样分别进行设定时所花费的劳动不少,妨碍了生产率的提高。
发明内容
本发明是为了解决上述这样的问题而做成的,其目的在于提供一种能够针对每个客户端变更在通信中所利用的虚拟区域的转换目标地址的控制装置。
本发明的一种方式的控制装置具有:通信部,其从多个客户端接受指定了同一虚拟区域的地址的读写请求;以及实体区域,其成为所述通信部进行的读写的对象。而且,所述通信部具有:管理表,其将所述客户端的标识符和针对每个所述客户端而不同的所述实体区域的地址对应起来;及地址转换部,其参照所述管理表,根据与所述客户端的标识符对应的所述实体区域的地址和所述虚拟区域的地址,执行针对所述实体区域的读写。
所述虚拟区域和所述实体区域均能够具有共同区域。在该情况下,所述地址转换部在接受到指定了所述虚拟区域中的共同区域的读写请求的情况下,能够执行针对所述实体区域的共同区域的读写。
根据本发明,能够提供一种能够针对每个客户端变更在通信中所利用的虚拟区域的转换目标地址的控制装置。
附图说明
图1是表示现有控制装置中存在来自一个客户端的读写请求的情况下的概况的图。
图2是表示现有控制装置中存在来自多个客户端的读写请求的情况下的概况的图。
图3是表示本发明的一实施方式的控制装置的硬件结构的图。
图4是表示图3的控制装置的功能结构的图。
图5是表示实施例1的控制装置的概况的图。
图6是表示图5的控制装置的通信部中的管理表的一例的图。
图7是表示图5的控制装置的通信部中的地址转换部所读入的设定信息的一例的图。
图8是表示实施例2的控制装置的概况的图。
具体实施方式
首先,说明本发明的实施方式的控制装置1的概况。
本实施方式中的控制装置1从多个客户端接受指定虚拟区域的同一地址的读写请求。通过控制装置1的地址转换功能,对针对每个客户端而不同的实体区域实施客户端的读写请求。由此,即使是指定同一虚拟区域的地址的读写请求,也分别针对每个客户端,针对不同的实体区域进行实际的读写。因而,客户端彼此之间不会产生实体区域中的数据读写的冲突。
如此,根据控制装置1,能够由多个客户端指定同一虚拟区域地址。由此,在客户端侧,无需分别针对每个客户端设定不同的虚拟区域地址,能够节省设定的劳动成本。具体地讲,与针对多个客户端分别设定不同的虚拟区域地址的情况相比,针对多个客户端设定同一虚拟区域地址能够抑制劳动成本。或者,通过在开发时在客户端应用程序内写入固定的虚拟区域地址,也能够免去事后设定的劳动成本。而且,即使在作为客户端的移动装置被动态追加那样的、难以预先固定地决定虚拟区域地址的环境下,也能够容易应对。
接着,利用附图详细地说明本发明的实施方式的控制装置1的结构。
图3是表示本发明的实施方式的控制装置1的主要部分的概要的硬件结构图。
控制装置1所具有的CPU11是整体控制控制装置1的处理器。CPU11经总线20读出在ROM12或非易失性存储器14中储存的系统程序、序列程序(下面称为程序),并按照程序来控制控制装置1整体。RAM13中储存临时性计算数据、显示数据以及由操作者利用后述的显示器/MDI单元70输入的各种数据等。
非易失性存储器14构成为如下存储器:例如能够利用未图示的电池进行后备供电等,即使控制装置1的电源关闭,也保持存储状态。非易失性存储器14中存储有经接口15读入的程序、经后述的显示器/MDI单元70输入的程序、数据等。非易失性存储器14中存储的程序等可以在利用时展开在RAM13中。而且,预先在ROM12中写入有用于执行创建和编辑程序时所需要的处理、其他所需的处理的各种系统程序。
接口15是用于将控制装置1和外部设备72连接起来的接口。从外部设备72读入程序等。而且,例如,若外部设备72为传感器,则读入传感器数据等。
显示器/MDI单元70是具有显示屏、键盘等的手动数据输入装置,接口18接受来自显示器/MDI单元70的键盘的指令、数据,并移交给CPU11。
客户端73-1、客户端73-2、……73-n是对控制装置1请求数据的读写的信息处理装置,经由接口16-1、接口16-2、……16-n与控制装置1相连接。接口16-1、接口16-2、……16-n起到客户端73-1、客户端73-2、……73-n与CPU11之间的请求数据的发送和接收的中介作用。
图4是表示控制装置1的功能结构的框图。
控制装置1具有:通信部110,其执行通信功能;及实体区域120,其为存储区域。通信部110具有地址转换部111、虚拟区域112和管理表113。图4所示的控制装置1的各功能框能够通过下述过程来实现:由图3所示的控制装置1所具有的CPU11执行ROM12等中储存的系统程序,对控制装置1的各部的动作进行控制。
就地址转换部111而言,在从客户端发生了指定了虚拟区域112的特定地址的读写请求的情况下,参照管理表113,执行针对预先对每个客户端定好的实体区域120的地址的读写。在此,虚拟区域112的特定地址所对应的实体区域120的地址,可以根据每个客户端而有所不同,该对应关系在管理表113中进行了定义。即,即使在多个客户端指定虚拟区域112的同一特定地址来进行读写请求的情况下,地址转换部111也能够执行针对对每个客户端而不同的实体区域120的地址的读写。
管理表113是将客户端的标识符和实体区域120的地址对应起来的表。地址转换部111在从客户端接受到指定了虚拟区域112的特定地址的读写请求的情况下,以该客户端的标识符为关键词来检索管理表113,并获取所对应的实体区域120的地址。另外,管理表113无需如字面所示那样以表格形式保存数据,还能够以数组以及其他任意形式来保存数据。
实施例1
参照图5,说明实施例1的控制装置1的动作。
实施例1的控制装置1除了具有上述通信部110和实体区域120之外,还具有特定功能执行部130。而且,在控制装置1上经由未图示的接口连接有多个传感器(例如温度传感器等),各传感器能够以唯一的传感器编号进行确定。
特定功能执行部130例如能够执行这样的处理:接受对传感器编号的输入,并返回以该传感器编号识别出的传感器的输出值(例如温度等)。具体地讲,当传感器编号被写入实体区域120的地址X时,特定功能执行部130读出地址X并获取传感器编号,并访问未图示的接口来获取该传感器编号的输出值,并将该输出值作为返回值写入到实体区域120的地址X。
通信部110的管理表113中定义了作为客户端标识符的IP地址以及与之相对应的实体区域120的地址。图6中表示了管理表113的一例。
图6中的管理表113中,客户端1的IP地址1对应的是实体区域地址1,客户端2的IP地址2对应的是实体区域地址2,····客户端n的IP地址n对应的是实体区域地址n。
地址转换部111按照下面的步骤进行动作。
步骤1:地址转换部111作为初始动作读入设定信息。设定信息是指通信部110进行动作所需的信息,被记载于预定的设定文件等中。例如,如图7所示,虚拟区域112的起始地址、实体区域120的起始地址、实体区域120中分配给每个客户端的区域的容量(下面简称为容量)、最大客户端数量n等包含在设定信息中。
步骤2:地址转换部111检测到从客户端向虚拟区域112的特定地址发生了读写请求。本实施例中,设定信息中所包含的虚拟区域112的起始地址为特定地址。
就本实施例而言,该读写请求是指写入要移交给特定功能执行部130的传感器编号的请求,或是指读出由特定功能执行部130输出的传感器数据的请求。
步骤3:地址转换部111获取指定虚拟区域112的特定地址并发出了读写请求的客户端的标识符,本实施例中,获取的是IP地址。然后,以获取到的IP地址为关键词来检索管理表113。检索结果为存在IP地址的情况下,转移到步骤5,检索结果为不存在IP地址的情况下,转移到步骤4。
步骤4:在管理表113中不存在客户端的IP地址的情况下,地址转换部111能够在管理表113中追加以该IP地址为关键词的新记录。在该情况下,针对该IP地址,对应地登记通过下式(1)计算出的实体区域地址。
客户端的实体区域地址
=设定信息的实体区域120的起始地址+(容量×ID-1)……(1)
在此,ID是被追加在管理表113中的记录的序列号(ID=1,2,····,n)。
步骤5:在管理表113中存在客户端的IP地址的情况下,地址转换部111从管理表113中读出与该IP地址相对应的实体区域地址。
步骤6:地址转换部111对通过步骤5获取到的实体区域地址执行数据的读写。
由此,应从客户端(客户端1,客户端2,···,客户端n)移交给特定功能执行部130的传感器编号被写入实体区域地址(实体区域地址1,实体区域地址2,···,实体区域地址n),或者是,应从特定功能执行部130移交给客户端(客户端1,客户端2,····,客户端n)的传感器数据被从实体区域地址(实体区域地址1,实体区域地址2,····,实体区域地址n)中读出。
通过上述这样的结构,即使在多个客户端指定同一虚拟区域地址,分别进行不同的传感器数据的获取请求的情况下,实施例1的控制装置1也能够分别向每个客户端返回适当的值。
实施例2
参照图8,说明实施例2的控制装置1。
实施例2的控制装置1特征在于,在实施例1所示的结构的基础上,在虚拟区域112和实体区域120内具有能够供多个客户端共同访问的区域,即共同区域。即,当客户端1,客户端2,····,客户端n进行指定了虚拟区域112的共同区域地址的读写请求时,无论是来自哪个客户端的请求,地址转换部111都会执行针对实体区域120的共同区域地址的读写。
共同区域例如能够用于分发在多个客户端中共同使用的数据。具体地讲,理想的是控制装置1的报错等重要内容能够显示在与该控制装置相连接的所有客户端。根据实施例1的结构,在向多个客户端分发这样的内容时,需要分别储存至实体区域120的对应的地址。另一方面,根据实施例2的结构,只要将上述这样的内容登记在实体区域120的共同区域,就能够向多个客户端进行分发,因此,能够抑制分发的劳动成本以及时间延迟。
共同区域例如能够通过在设定信息中将容量设定为0来进行定义。
另外,实施例1为这样的结构:将指定了虚拟区域112的特定地址的访问分派给多个实体区域地址,实施例2为这样的结构:将指定了虚拟区域112的共同区域地址的访问转换到实体区域的共同区域地址,在使实施例1那样的结构和实施例2那样的结构共存的情况下,能够设定多个设定信息。只要由客户端指定的虚拟区域地址与设定信息中的0以外的容量相关联,就应该将该访问分派给多个实体区域地址(与实施例1相同)。另一方面,只要由客户端指定的虚拟区域地址与设定信息中的大小为0的容量相关联,就将该访问转换为针对实体区域120的共同区域的访问。
上面说明了本发明的实施方式,但本发明不仅限定于上述实施方式或实施例,能够通过施加适当的变更,以各种方式来实施。
例如,上述实施方式中,将IP地址用作了客户端的标识符,但本发明并不限定于此,能够利用能够唯一地标识客户端的任意标识符(例如MAC地址等)来代替IP地址。
而且,上述实施方式中,以PLC作为控制装置1的例示,但本发明并不限定于此,能够应用于以数值控制装置为首的任意控制装置。
Claims (2)
1.一种控制装置,具有:
通信部,其从多个客户端接受指定了同一虚拟区域的地址的读写请求;以及
实体区域,其成为所述通信部进行的读写的对象,
其特征在于,
所述通信部具有:
管理表,其将所述客户端的标识符和针对每个所述客户端而不同的所述实体区域的地址对应起来;及
地址转换部,其参照所述管理表,根据与所述客户端的标识符对应的所述实体区域的地址和所述虚拟区域的地址,执行针对实体区域的读写。
2.根据权利要求1所述的控制装置,其特征在于,
所述虚拟区域具有第一共同区域,
所述实体区域具有第二共同区域,
所述地址转换部在接受到指定了所述第一共同区域的读写请求的情况下,执行针对所述第二共同区域的读写。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017250158A JP2019117979A (ja) | 2017-12-26 | 2017-12-26 | 制御装置 |
JP2017-250158 | 2017-12-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109962992A true CN109962992A (zh) | 2019-07-02 |
Family
ID=66768409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811599846.6A Pending CN109962992A (zh) | 2017-12-26 | 2018-12-26 | 控制装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10904208B2 (zh) |
JP (1) | JP2019117979A (zh) |
CN (1) | CN109962992A (zh) |
DE (1) | DE102018010085A1 (zh) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0973412A (ja) * | 1995-06-30 | 1997-03-18 | Toshiba Corp | データ転送方法及びメモリ管理装置 |
JP2001257707A (ja) | 2000-03-09 | 2001-09-21 | Sony Corp | マルチ再生システム、サーバ装置、端末装置 |
US7334108B1 (en) * | 2004-01-30 | 2008-02-19 | Nvidia Corporation | Multi-client virtual address translation system with translation units of variable-range size |
JP2008305201A (ja) | 2007-06-07 | 2008-12-18 | Nippon Telegr & Teleph Corp <Ntt> | ノード間データ転送制御装置およびメモリ構成変更方法ならびにプログラム |
JP2009104283A (ja) | 2007-10-22 | 2009-05-14 | Koyo Electronics Ind Co Ltd | Modbusでデータを送受処理する方式およびプログラマブルコントローラ等の制御機器 |
KR102252419B1 (ko) * | 2014-01-09 | 2021-05-14 | 한국전자통신연구원 | 플래시 메모리 장치를 위한 주소변환 시스템 및 그 방법 |
US9501222B2 (en) * | 2014-05-09 | 2016-11-22 | Micron Technology, Inc. | Protection zones in virtualized physical addresses for reconfigurable memory systems using a memory abstraction |
US9858289B2 (en) * | 2015-11-05 | 2018-01-02 | International Business Machines Corporation | Storage controller and method for managing a solid-state memory |
TWI606388B (zh) * | 2016-12-14 | 2017-11-21 | 慧榮科技股份有限公司 | 資料儲存裝置及其資料維護方法 |
US10565126B2 (en) * | 2017-07-14 | 2020-02-18 | Arm Limited | Method and apparatus for two-layer copy-on-write |
-
2017
- 2017-12-26 JP JP2017250158A patent/JP2019117979A/ja active Pending
-
2018
- 2018-12-20 US US16/227,720 patent/US10904208B2/en active Active
- 2018-12-21 DE DE102018010085.6A patent/DE102018010085A1/de not_active Withdrawn
- 2018-12-26 CN CN201811599846.6A patent/CN109962992A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2019117979A (ja) | 2019-07-18 |
US10904208B2 (en) | 2021-01-26 |
DE102018010085A1 (de) | 2019-06-27 |
US20190199680A1 (en) | 2019-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9940029B2 (en) | Semiconductor memory device that switches between states and moves data in accordance with a current state | |
CN104166628B (zh) | 管理内存的方法、装置和系统 | |
CN104050113B (zh) | 通过易失性影子存储器访问非易失性存储器 | |
KR20180087925A (ko) | 논리 어드레스와 물리 어드레스 사이에서 해싱 기반 변환을 수행하는 스토리지 장치 | |
US20150113210A1 (en) | Data storage flash memory management method and program | |
CN111478837B (zh) | 数据通信方法、空调器、空调系统和存储介质 | |
CN110796367A (zh) | 一种基于信息远方标识的设备信息管理方法、装置及终端 | |
CN105094742B (zh) | 一种写数据的方法和设备 | |
CN109962992A (zh) | 控制装置 | |
CN101770345B (zh) | 建立逻辑地址空间的方法、访问存储装置的方法及存储架构 | |
CN105404591B (zh) | 处理器系统及其存储器控制方法 | |
US10656615B2 (en) | PLC, network unit, CPU, and data transfer method | |
CN101364088B (zh) | 工业人机界面变量访问方法及系统 | |
JP5224923B2 (ja) | 制御装置 | |
AU2015371556A1 (en) | Method for accessing a number of slave devices with registers by a master device over a network | |
CN111061724B (zh) | 用于配电自动化系统的高速实时数据库管理方法和装置 | |
CN113515082A (zh) | 轮询通信方法以及装置 | |
US11316710B2 (en) | Control system and control method | |
CN104270294A (zh) | 一种基于公有云的家电控制系统及方法 | |
CN112948291A (zh) | 数据传输方法、电子设备和可读存储介质 | |
KR20150139017A (ko) | 메모리 제어 장치 및 방법 | |
CN106991114B (zh) | 用于管理控制设备的非易失性存储器的方法和装置 | |
JP2006146526A (ja) | フィールド機器管理装置およびフィールド機器管理方法 | |
CN117668319B (zh) | 数据查询方法、电子设备及存储介质 | |
CN109634514A (zh) | 一种芯片存储器的读、写数据方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190702 |