Difference between revisions of "Modbus Configurator/zh-hans"

From SoftMC-Wiki
Jump to: navigation, search
(Created page with "{{Languages}} =Modbus Configurator= The Modbus Communication Scripts Generator ('''Modbus Configurator''') is a tool that allows you to map your softMC application variables t...")
 
Line 1: Line 1:
{{Languages}}
+
{{Languages|Modbus_Configurator}}
=Modbus Configurator=
+
=Modbus配置器=
The Modbus Communication Scripts Generator ('''Modbus Configurator''') is a tool that allows you to map your softMC application variables to Modbus tags.
+
Modbus通信脚本生成器('''Modbus Configurator''')是一种工具,可将您的softMC应用程序变量映射到Modbus标签。
 +
'''注意''': 从HMI的角度定义了标签访问。也就是:
 +
* '''读取访问''' 变量由softMC写入Modbus地址空间。
 +
* '''写入访问''' 变量由softMC从Modbus地址空间读取。
  
'''Note''': Tag access is defined from the HMI perspective. In other words:
+
您可以定义变量是否具有读取访问权限或写访问权限。 目前,不可能将变量定义为具有读访问权限和写访问权限。 但是,通过在HMIMBMAP.LIB中生成的特殊例行程序,系统启动时,所有写访问变量都可以被softMC一次写入(见下节)。
* '''Read Access''' variables are written by the softMC to the Modbus address space.
 
* '''Write Access''' variables are read by the softMC from the Modbus address space.
 
  
You can define whether a variable has Read Access (meaning it is read by the HMI/PLC), or Write Access (meaning it is written by the HMI/PLC). Currently, it is not possible to define a variable as having both Read Access and Write Access. However, all Write Access variables can be written once by the softMC upon system startup by a special routine that is generated in HMIMBMAP.LIB (see section below).
+
MCMB配置器创建三个文件:
 +
*'''HMIMBMAP.LIB''' 和'''HMIMBMAP.PRG'''文件是用于启动softMC任务的MC-Basic脚本。 这些是默认文件名,可以更改,但必须保留8.3格式。 根据访问类型,此任务可无限循环读取/写入Modbus标签。
 +
* 可以由HMI开发环境(如'''JMobile Studio'''或'''Indusoft''')使用的'''.CSV'''格式文件自动导入Modbus标签。 您可以通过选择将生成.csv文件的各种Python脚本来定义HMI开发环境。
  
The MCMBConfigurator creates three files:
+
== 变量映射 ==
* '''HMIMBMAP.LIB''' and '''HMIMBMAP.PRG''' files are MC-Basic scripts that are used to start a softMC task. These are default file names, which you can change, but must retain the 8.3 format. This task cyclically and indefinitely reads/writes Modbus tags according to access type.
+
'''注意''': 要映射到Modbus标签的变量必须通过'''common Shared'''声明定义为全局变量。
* A '''.CSV''' format file that can be used by an HMI development environment, such as '''JMobile Studio''' or '''Indusoft''', to automatically import Modbus tags. You define the HMI development environment by selecting various Python scripts that will generate the .csv file.
 
  
== Mapping Variables==
+
1. 为了映射变量,程序必须加载到softMC中。
'''Note''': Variables destined to be mapped to Modbus tags must be defined as global variables by the Common Shared declaration.
 
 
 
1. In order to map the variables, the program must be loaded in the softMC.
 
  
 
2. Start the Modbus Configuration: from the ControlStudio toolbar, select  Tools, and then Modbus Configurator…
 
2. Start the Modbus Configuration: from the ControlStudio toolbar, select  Tools, and then Modbus Configurator…
 +
启动Modbus配置器:从ControlStudio工具栏中选择Tools ,再选择Modbus Configurator
  
:The Modbus Configurator windows opens.
+
:Modbus配置器窗口打开
 
+
3. 点击 Connection, 选择 Setting.
3. Click Connection, and select Setting.
 
  
:The setting dialog box opens, with fields showing the following (default) settings:
+
:设置对话框打开,显示以下(默认)设置:
  
 
[[File:softMC_Modbus_HMI_(3).png|600px]]
 
[[File:softMC_Modbus_HMI_(3).png|600px]]
 
<br/>
 
<br/>
 
<br/>
 
<br/>
* Modbus offset: Used to start the mapping from an address other than zero.
+
* Modbus offset: 用于从大于零的地址开始映射。
* Script file name: A Python script that generates the product files. Different scripts create different .csv files.
+
* Script file name: 生成产品文件的Python脚本。 不同的脚本创建不同的.csv文件。
* Output LIB, Output Prog, HMI CSV file name: Used to define target file names.
+
* Output LIB, Output Prog, HMI CSV file name: 用于定义目标文件名。
:'''Note''': The softMC file names must be UPPERCASE and in 8.3 format.
+
:'''注意''': softMC文件名必须为大写字母,格式为8.3。
* MC IP address: Used to set the IP address of your softMC.
+
* MC IP address: 用于设置您的softMC的IP地址
Make any necessary changes in the Settings dialog box. Then click Connection, and then Connect.
+
在“设置”对话框中进行必要的更改。 然后单击连接,则开始连接。
  
Once the Modbus Configurator is connected to softMC it gets updated with the complete list of all the global variables. Double-clicking on variables automatically maps them to Modbus tags in consecutive order. The automatic Modbus address and data type are displayed in the table.
+
一旦将Modbus Configurator连接到softMC,就可以将使用所有全局变量的完整列表进行更新。 双击变量会自动将它们连续地映射到Modbus标签。 Modbus地址和数据类型自动显示在表中。
  
If a mapped variable is defined as CONST, its access type is automatically set to Read. In such instances the access type cannot be changed. Read Access variables are read only by the HMI; therefore the softMC only writes them to the Modbus address space.
+
如果映射变量定义为CONST,则其访问类型将自动设置为"读"。在这种情况下,无法更改访问类型。 “读访问变量只能由HMI读取;因此,softMC只将其写入Modbus地址空间。
  
A variable that is not defined as CONST automatically appears as Write Access. Double-click on the access type to toggle the variable between Read Access and Write Access, and thus determine whether the variable will be read or written by softMC.
+
如果映射变量未定义为CONST,则会自动显示"写入"访问。 双击访问类型,在读取访问和写入访问之间切换变量,从而确定变量将被softMC读取或写入。
  
 
[[File:softMC_Modbus_HMI_(4).png|600px]]
 
[[File:softMC_Modbus_HMI_(4).png|600px]]
 
<br/>
 
<br/>
 
<br/>
 
<br/>
==Generating and Using Scripts==
+
==生成和使用脚本==
After you are done mapping variables and defining the access types, a snapshot of the current configuration must be saved in order to generate the Modbus-handling scripts.
+
完成映射变量并定义访问类型后,必须保存当前配置的快照才能生成Modbus处理脚本。
 
 
1. Click '''Files''', and then '''Save As'''.
 
 
 
:The mapping is saved in an '''.mbas''' file.
 
  
:If you makes changes after saving the .mbas file, the MBAS file indicator in the status bar will light up.
+
1. 单击'''Files''',然后单击'''Save As'''。
 +
:映射保存在'''.mbas'''文件中。
  
2. To generate the product files, click '''Generate'''.
+
:如果在保存.mbas文件后进行更改,状态栏中的MBAS文件指示灯将亮起。
  
:The Log windows will display Success messages.
+
2. 要生成产品文件,请单击'''Generate'''。
  
:The product files were created in the target folder you chose when saving the .mbas file.
+
:日志窗口将显示成功消息。
  
:The files HMIMBMAP.LIB and HMIMBMAP.PRG will automatically open in ControlStudio.
+
:在保存.mbas文件时,您选择的目标文件夹中创建了产品文件。
  
 +
:文件HMIMBMAP.LIB和HMIMBMAP.PRG将在ControlStudio中自动打开。
 
[[File:softMC_Modbus_HMI_(5).png|600px]]
 
[[File:softMC_Modbus_HMI_(5).png|600px]]
  
  
==Using the Modbus-Handling Scripts==
+
==使用Modbus处理脚本==
1. Using the ControlStudio File Manager, copy HMIMBMAP.LIB and HMIMBMAP.PRG to the softMC.
+
1. 使用ControlStudio文件管理器,将HMIMBMAP.LIB和HMIMBMAP.PRG复制到softMC。
  
'''Note''': Before these files can be loaded and used, your application must be loaded, and all mapped variables must exist in the softMC memory.
+
'''注意''':在加载和使用这些文件之前,必须加载应用程序,并且所有映射的变量必须存在于softMC内存中。
  
 
[[File:softMC_Modbus_HMI_(6).png|600px]]
 
[[File:softMC_Modbus_HMI_(6).png|600px]]
 
<br/>
 
<br/>
 
<br/>
 
<br/>
1. Using the ControlStudio Terminal, load the library HMIMBMAP.LIB:
+
1. 使用ControlStudio终端,加载库HMIMBMAP.LIB:
 
<pre>Load HMIMBMAP.LIB</pre>
 
<pre>Load HMIMBMAP.LIB</pre>
  
:Since HMIMBMAP.PRG imports this library it must not be loaded globally. This code can be executed wherever is convenient.
+
:由于HMIMBMAP.PRG导入此库,因此不得在全局加载。 该代码可以在任何合适的地方执行。
  
2. Verify that the library was loaded successfully:
+
2. 验证库是否已成功加载:
  
 
<pre>?tasklist</pre>
 
<pre>?tasklist</pre>
  
3. Start the Modbus communication task by loading the program:
+
3. 通过加载程序启动Modbus通信任务:
  
 
<pre>Load HMIMBMAP.PRG</pre>
 
<pre>Load HMIMBMAP.PRG</pre>
  
HMIMBMAP.PRG is defined as '''Program Continue''', therefore it starts automatically after it is loaded and it does not require an explicit StartTask command.
+
HMIMBMAP.PRG被定义为'''Program Continue''',因此它在加载后自动启动,并且不需要显式的StartTask命令。
  
Of course, HMIMBMAP.PRG can be loaded and executed only after HMIMBMAP.LIB is loaded. Therefore, you should add the following code to AUTOEXEC.PRG or wherever is convenient:
+
当然,HMIMBMAP.PRG只能在加载HMIMBMAP.LIB之后加载和执行。 因此,您应该将以下代码添加到AUTOEXEC.PRG或其它合适的地方:
 
<pre>Load HMIMBMAP.LIB
 
<pre>Load HMIMBMAP.LIB
 
Load HMIMBMAP.PRG
 
Load HMIMBMAP.PRG
 
</pre>
 
</pre>
  
==HMIMBMAP.PRG Explained==
+
==HMIMBMAP.PRG说明==
The code:
+
代码:
 
<pre>import HMIMBMAP.LIB
 
<pre>import HMIMBMAP.LIB
 
Program Continue
 
Program Continue
Line 106: Line 103:
 
End Program</pre>
 
End Program</pre>
  
The functions '''Init_Modbus''', '''Read_Modbus_Registers''' and '''Write_Modbus_Registers''' are implemented in '''HMIMBMAP.LIB''', which is automatically generated by a Python script.
+
函数'''Init_Modbus''','''Read_Modbus_Registers''''''Write_Modbus_Registers''''''HMIMBMAP.LIB'''中实现,它由Python脚本自动生成。
  
The function '''Init_Modbus''' starts the Modbus server and then writes to the Modbus address space all the '''Write Access Variables''' (i.e., all the variables read by the softMC from the Modbus address space). This feature allows you to setup the system to start with an initialized Modbus address space before the HMI/PLC connects to it. The HMI/PLC can read the address space and initialize itself accordingly.
+
函数'''Init_Modbus'''启动Modbus服务器,然后将所有写入访问变量(即由softMC从
 +
Modbus地址空间读取的所有变量)写入Modbus地址空间。 此功能允许您在HMI / PLC连接到
 +
之前将系统设置为初始化的Modbus地址空间。 HMI / PLC可以读取地址空间并相应地进行初
 +
始化。
  
The functions '''Read_Modbus_Registers''' and '''Write_Modbus_Registers''' are invoked cyclically and indefinitely. '''Read_Modbus_Registers''' reads all the tags that are written by the HMI/PLC and updates the '''Write Access''' variables with new values, while '''Write_Modbus_Registers''' does the opposite.
+
函数'''Read_Modbus_Registers''''''Write_Modbus_Registers'''被无限循环调用。 
 +
'''Read_Modbus_Registers'''读取HMI / PLC写入的所有标签,并用新值更新写访问变量,
 +
'''Write_Modbus_Registers'''则相反。

Revision as of 09:46, 6 July 2017

语言: English  • 中文(简体)‎

Modbus配置器

Modbus通信脚本生成器(Modbus Configurator)是一种工具,可将您的softMC应用程序变量映射到Modbus标签。 注意: 从HMI的角度定义了标签访问。也就是:

  • 读取访问 变量由softMC写入Modbus地址空间。
  • 写入访问 变量由softMC从Modbus地址空间读取。

您可以定义变量是否具有读取访问权限或写访问权限。 目前,不可能将变量定义为具有读访问权限和写访问权限。 但是,通过在HMIMBMAP.LIB中生成的特殊例行程序,系统启动时,所有写访问变量都可以被softMC一次写入(见下节)。

MCMB配置器创建三个文件:

  • HMIMBMAP.LIBHMIMBMAP.PRG文件是用于启动softMC任务的MC-Basic脚本。 这些是默认文件名,可以更改,但必须保留8.3格式。 根据访问类型,此任务可无限循环读取/写入Modbus标签。
  • 可以由HMI开发环境(如JMobile StudioIndusoft)使用的.CSV格式文件自动导入Modbus标签。 您可以通过选择将生成.csv文件的各种Python脚本来定义HMI开发环境。

变量映射

注意: 要映射到Modbus标签的变量必须通过common Shared声明定义为全局变量。

1. 为了映射变量,程序必须加载到softMC中。

2. Start the Modbus Configuration: from the ControlStudio toolbar, select Tools, and then Modbus Configurator… 启动Modbus配置器:从ControlStudio工具栏中选择Tools ,再选择Modbus Configurator

Modbus配置器窗口打开

3. 点击 Connection, 选择 Setting.

设置对话框打开,显示以下(默认)设置:

softMC Modbus HMI (3).png

  • Modbus offset: 用于从大于零的地址开始映射。
  • Script file name: 生成产品文件的Python脚本。 不同的脚本创建不同的.csv文件。
  • Output LIB, Output Prog, HMI CSV file name: 用于定义目标文件名。
注意: softMC文件名必须为大写字母,格式为8.3。
  • MC IP address: 用于设置您的softMC的IP地址

在“设置”对话框中进行必要的更改。 然后单击连接,则开始连接。

一旦将Modbus Configurator连接到softMC,就可以将使用所有全局变量的完整列表进行更新。 双击变量会自动将它们连续地映射到Modbus标签。 Modbus地址和数据类型自动显示在表中。

如果映射变量定义为CONST,则其访问类型将自动设置为"读"。在这种情况下,无法更改访问类型。 “读访问变量只能由HMI读取;因此,softMC只将其写入Modbus地址空间。

如果映射变量未定义为CONST,则会自动显示"写入"访问。 双击访问类型,在读取访问和写入访问之间切换变量,从而确定变量将被softMC读取或写入。

softMC Modbus HMI (4).png

生成和使用脚本

完成映射变量并定义访问类型后,必须保存当前配置的快照才能生成Modbus处理脚本。

1. 单击Files,然后单击Save As

映射保存在.mbas文件中。
如果在保存.mbas文件后进行更改,状态栏中的MBAS文件指示灯将亮起。

2. 要生成产品文件,请单击Generate

日志窗口将显示成功消息。
在保存.mbas文件时,您选择的目标文件夹中创建了产品文件。
文件HMIMBMAP.LIB和HMIMBMAP.PRG将在ControlStudio中自动打开。

softMC Modbus HMI (5).png


使用Modbus处理脚本

1. 使用ControlStudio文件管理器,将HMIMBMAP.LIB和HMIMBMAP.PRG复制到softMC。

注意:在加载和使用这些文件之前,必须加载应用程序,并且所有映射的变量必须存在于softMC内存中。

softMC Modbus HMI (6).png

1. 使用ControlStudio终端,加载库HMIMBMAP.LIB:

Load HMIMBMAP.LIB
由于HMIMBMAP.PRG导入此库,因此不得在全局加载。 该代码可以在任何合适的地方执行。

2. 验证库是否已成功加载:

?tasklist

3. 通过加载程序启动Modbus通信任务:

Load HMIMBMAP.PRG

HMIMBMAP.PRG被定义为Program Continue,因此它在加载后自动启动,并且不需要显式的StartTask命令。

当然,HMIMBMAP.PRG只能在加载HMIMBMAP.LIB之后加载和执行。 因此,您应该将以下代码添加到AUTOEXEC.PRG或其它合适的地方:

Load HMIMBMAP.LIB
Load HMIMBMAP.PRG

HMIMBMAP.PRG说明

代码:

import HMIMBMAP.LIB
Program Continue
	dim retVal as long = 0
	retVal = Init_Modbus
	while 1
		retVal = Read_Modbus_Registers
		retVal = Write_Modbus_Registers
		sleep 1
	end while
End Program

函数Init_Modbus,Read_Modbus_RegistersWrite_Modbus_RegistersHMIMBMAP.LIB中实现,它由Python脚本自动生成。

函数Init_Modbus启动Modbus服务器,然后将所有写入访问变量(即由softMC从 Modbus地址空间读取的所有变量)写入Modbus地址空间。 此功能允许您在HMI / PLC连接到 之前将系统设置为初始化的Modbus地址空间。 HMI / PLC可以读取地址空间并相应地进行初 始化。

函数Read_Modbus_RegistersWrite_Modbus_Registers被无限循环调用。 Read_Modbus_Registers读取HMI / PLC写入的所有标签,并用新值更新写访问变量, 而Write_Modbus_Registers则相反。