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

From SoftMC-Wiki
Jump to: navigation, search
 
Line 1: Line 1:
{{Languages|Modbus_Configurator}}
+
{{Languages|Modbus_Configurator}}  
=Modbus配置器=
+
= Modbus配置器 =
Modbus通信脚本生成器('''Modbus Configurator''')是一种工具,可将您的softMC应用程序变量映射到Modbus标签。
+
 
'''注意''': 从HMI的角度定义了标签访问。也就是:
+
Modbus通信脚本生成器('''Modbus Configurator''')是一种工具,可将您的softMC应用程序变量映射到Modbus标签。 '''注意''': 从HMI的角度定义了标签访问。也就是:
* '''读取访问''' 变量由softMC写入Modbus地址空间。
+
 
* '''写入访问''' 变量由softMC从Modbus地址空间读取。
+
*'''读取访问''' 变量由softMC写入Modbus地址空间。  
 +
*'''写入访问''' 变量由softMC从Modbus地址空间读取。  
  
 
您可以定义变量是否具有读取访问权限或写访问权限。 目前,不可能将变量定义为具有读访问权限和写访问权限。 但是,通过在HMIMBMAP.LIB中生成的特殊例行程序,系统启动时,所有写访问变量都可以被softMC一次写入(见下节)。
 
您可以定义变量是否具有读取访问权限或写访问权限。 目前,不可能将变量定义为具有读访问权限和写访问权限。 但是,通过在HMIMBMAP.LIB中生成的特殊例行程序,系统启动时,所有写访问变量都可以被softMC一次写入(见下节)。
  
 
MCMB配置器创建三个文件:
 
MCMB配置器创建三个文件:
 +
 
*'''HMIMBMAP.LIB''' 和'''HMIMBMAP.PRG'''文件是用于启动softMC任务的MC-Basic脚本。 这些是默认文件名,可以更改,但必须保留8.3格式。 根据访问类型,此任务可无限循环读取/写入Modbus标签。  
 
*'''HMIMBMAP.LIB''' 和'''HMIMBMAP.PRG'''文件是用于启动softMC任务的MC-Basic脚本。 这些是默认文件名,可以更改,但必须保留8.3格式。 根据访问类型,此任务可无限循环读取/写入Modbus标签。  
* 可以由HMI开发环境(如'''JMobile Studio'''或'''Indusoft''')使用的'''.CSV'''格式文件自动导入Modbus标签。 您可以通过选择将生成.csv文件的各种Python脚本来定义HMI开发环境。
+
*可以由HMI开发环境(如'''JMobile Studio'''或'''Indusoft''')使用的'''.CSV'''格式文件自动导入Modbus标签。 您可以通过选择将生成.csv文件的各种Python脚本来定义HMI开发环境。  
  
 
== 变量映射 ==
 
== 变量映射 ==
'''注意''': 要映射到Modbus标签的变量必须通过'''common Shared'''声明定义为全局变量。
+
 
 +
'''注意''': 要映射到Modbus标签的变量必须通过'''common Shared'''声明定义为全局变量。
  
 
1. 为了映射变量,程序必须加载到softMC中。
 
1. 为了映射变量,程序必须加载到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
启动Modbus配置器:从ControlStudio工具栏中选择Tools ,再选择Modbus Configurator
+
 
 +
:Modbus配置器窗口打开
  
:Modbus配置器窗口打开
 
 
3. 点击 Connection, 选择 Setting.
 
3. 点击 Connection, 选择 Setting.
  
:设置对话框打开,显示以下(默认)设置:
+
:设置对话框打开,显示以下(默认)设置:  
 +
 
 +
[[File:softMC Modbus HMI (3).png|600px|softMC Modbus HMI (3).png]]<br/> &nbsp;
 +
 
 +
*Modbus offset: 用于从大于零的地址开始映射。
 +
*Script file name: 生成产品文件的Python脚本。 不同的脚本创建不同的.csv文件。
 +
*Output LIB, Output Prog, HMI CSV file name: 用于定义目标文件名。
 +
 
 +
:'''注意''': softMC文件名必须为大写字母,格式为8.3。
 +
 
 +
*MC IP address: 用于设置您的softMC的IP地址
  
[[File:softMC_Modbus_HMI_(3).png|600px]]
 
<br/>
 
<br/>
 
* Modbus offset: 用于从大于零的地址开始映射。
 
* Script file name: 生成产品文件的Python脚本。 不同的脚本创建不同的.csv文件。
 
* Output LIB, Output Prog, HMI CSV file name: 用于定义目标文件名。
 
:'''注意''': softMC文件名必须为大写字母,格式为8.3。
 
* MC IP address: 用于设置您的softMC的IP地址
 
 
在“设置”对话框中进行必要的更改。 然后单击连接,则开始连接。
 
在“设置”对话框中进行必要的更改。 然后单击连接,则开始连接。
  
Line 41: Line 46:
 
如果映射变量未定义为CONST,则会自动显示"写入"访问。 双击访问类型,在读取访问和写入访问之间切换变量,从而确定变量将被softMC读取或写入。
 
如果映射变量未定义为CONST,则会自动显示"写入"访问。 双击访问类型,在读取访问和写入访问之间切换变量,从而确定变量将被softMC读取或写入。
  
[[File:softMC_Modbus_HMI_(4).png|600px]]
+
[[File:softMC Modbus HMI (4).png|600px|softMC Modbus HMI (4).png]]<br/> &nbsp;
<br/>
+
 
<br/>
+
== 生成和使用脚本 ==
==生成和使用脚本==
+
 
 
完成映射变量并定义访问类型后,必须保存当前配置的快照才能生成Modbus处理脚本。
 
完成映射变量并定义访问类型后,必须保存当前配置的快照才能生成Modbus处理脚本。
  
 
1. 单击'''Files''',然后单击'''Save As'''。
 
1. 单击'''Files''',然后单击'''Save As'''。
:映射保存在'''.mbas'''文件中。
 
  
:如果在保存.mbas文件后进行更改,状态栏中的MBAS文件指示灯将亮起。
+
:映射保存在'''.mbas'''文件中。
 +
 
 +
:如果在保存.mbas文件后进行更改,状态栏中的MBAS文件指示灯将亮起。  
  
 
2. 要生成产品文件,请单击'''Generate'''。
 
2. 要生成产品文件,请单击'''Generate'''。
  
:日志窗口将显示成功消息。
+
:日志窗口将显示成功消息。  
  
:在保存.mbas文件时,您选择的目标文件夹中创建了产品文件。
+
:在保存.mbas文件时,您选择的目标文件夹中创建了产品文件。  
  
:文件HMIMBMAP.LIB和HMIMBMAP.PRG将在ControlStudio中自动打开。
+
:文件HMIMBMAP.LIB和HMIMBMAP.PRG将在ControlStudio中自动打开。  
[[File:softMC_Modbus_HMI_(5).png|600px]]
 
  
 +
[[File:softMC Modbus HMI (5).png|600px|softMC Modbus HMI (5).png]]
 +
 +
&nbsp;
 +
 +
== 使用Modbus处理脚本 ==
  
==使用Modbus处理脚本==
 
 
1. 使用ControlStudio文件管理器,将HMIMBMAP.LIB和HMIMBMAP.PRG复制到softMC。
 
1. 使用ControlStudio文件管理器,将HMIMBMAP.LIB和HMIMBMAP.PRG复制到softMC。
  
 
'''注意''':在加载和使用这些文件之前,必须加载应用程序,并且所有映射的变量必须存在于softMC内存中。
 
'''注意''':在加载和使用这些文件之前,必须加载应用程序,并且所有映射的变量必须存在于softMC内存中。
  
[[File:softMC_Modbus_HMI_(6).png|600px]]
+
[[File:softMC Modbus HMI (6).png|600px|softMC Modbus HMI (6).png]]<br/> <br/> 1. 使用ControlStudio终端,加载库HMIMBMAP.LIB:
<br/>
 
<br/>
 
1. 使用ControlStudio终端,加载库HMIMBMAP.LIB:
 
 
<pre>Load HMIMBMAP.LIB</pre>
 
<pre>Load HMIMBMAP.LIB</pre>
  
:由于HMIMBMAP.PRG导入此库,因此不得在全局加载。 该代码可以在任何合适的地方执行。
+
:由于HMIMBMAP.PRG导入此库,因此不得在全局加载。 该代码可以在任何合适的地方执行。  
  
 
2. 验证库是否已成功加载:
 
2. 验证库是否已成功加载:
 
 
<pre>?tasklist</pre>
 
<pre>?tasklist</pre>
  
 
3. 通过加载程序启动Modbus通信任务:
 
3. 通过加载程序启动Modbus通信任务:
 
 
<pre>Load HMIMBMAP.PRG</pre>
 
<pre>Load HMIMBMAP.PRG</pre>
  
Line 90: Line 94:
 
</pre>
 
</pre>
  
==HMIMBMAP.PRG说明==
+
== HMIMBMAP.PRG说明 ==
 +
 
 
代码:
 
代码:
 
<pre>import HMIMBMAP.LIB
 
<pre>import HMIMBMAP.LIB
Line 105: Line 110:
 
函数'''Init_Modbus''','''Read_Modbus_Registers'''和'''Write_Modbus_Registers'''在'''HMIMBMAP.LIB'''中实现,它由Python脚本自动生成。
 
函数'''Init_Modbus''','''Read_Modbus_Registers'''和'''Write_Modbus_Registers'''在'''HMIMBMAP.LIB'''中实现,它由Python脚本自动生成。
  
函数'''Init_Modbus'''启动Modbus服务器,然后将所有写入访问变量(即由softMC从
+
函数'''Init_Modbus'''启动Modbus服务器,然后将所有写入访问变量(即由softMC从 Modbus地址空间读取的所有变量)写入Modbus地址空间。 此功能允许您在HMI / PLC连接到 之前将系统设置为初始化的Modbus地址空间。 HMI / PLC可以读取地址空间并相应地进行初 始化。
Modbus地址空间读取的所有变量)写入Modbus地址空间。 此功能允许您在HMI / PLC连接到
+
 
之前将系统设置为初始化的Modbus地址空间。 HMI / PLC可以读取地址空间并相应地进行初
+
函数'''Read_Modbus_Registers'''和'''Write_Modbus_Registers'''被无限循环调用。 '''Read_Modbus_Registers'''读取HMI / PLC写入的所有标签,并用新值更新写访问变量, 而'''Write_Modbus_Registers'''则相反。
始化。
 
  
函数'''Read_Modbus_Registers'''和'''Write_Modbus_Registers'''被无限循环调用。 
+
[[Category:Modbus Communication]]
'''Read_Modbus_Registers'''读取HMI / PLC写入的所有标签,并用新值更新写访问变量,
 
而'''Write_Modbus_Registers'''则相反。
 

Latest revision as of 16:15, 6 February 2020

语言: 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则相反。