Difference between revisions of "Modbus Configurator/zh-hans"
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'''声明定义为全局变量。 | ||
1. 为了映射变量,程序必须加载到softMC中。 | 1. 为了映射变量,程序必须加载到softMC中。 | ||
− | 2. Start the Modbus Configuration: from the ControlStudio toolbar, select | + | 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配置器窗口打开 | ||
− | |||
3. 点击 Connection, 选择 Setting. | 3. 点击 Connection, 选择 Setting. | ||
− | :设置对话框打开,显示以下(默认)设置: | + | :设置对话框打开,显示以下(默认)设置: |
+ | |||
+ | [[File:softMC Modbus HMI (3).png|600px|softMC Modbus HMI (3).png]]<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: | + | [[File:softMC Modbus HMI (4).png|600px|softMC Modbus HMI (4).png]]<br/> |
− | <br/> | + | |
− | + | == 生成和使用脚本 == | |
− | ==生成和使用脚本== | + | |
完成映射变量并定义访问类型后,必须保存当前配置的快照才能生成Modbus处理脚本。 | 完成映射变量并定义访问类型后,必须保存当前配置的快照才能生成Modbus处理脚本。 | ||
1. 单击'''Files''',然后单击'''Save As'''。 | 1. 单击'''Files''',然后单击'''Save As'''。 | ||
− | |||
− | :如果在保存.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|softMC Modbus HMI (5).png]] | ||
+ | |||
+ | | ||
+ | |||
+ | == 使用Modbus处理脚本 == | ||
− | |||
1. 使用ControlStudio文件管理器,将HMIMBMAP.LIB和HMIMBMAP.PRG复制到softMC。 | 1. 使用ControlStudio文件管理器,将HMIMBMAP.LIB和HMIMBMAP.PRG复制到softMC。 | ||
'''注意''':在加载和使用这些文件之前,必须加载应用程序,并且所有映射的变量必须存在于softMC内存中。 | '''注意''':在加载和使用这些文件之前,必须加载应用程序,并且所有映射的变量必须存在于softMC内存中。 | ||
− | [[File: | + | [[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'''则相反。 |
− | |||
− | + | [[Category:Modbus Communication]] | |
− | |||
− |
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.LIB 和HMIMBMAP.PRG文件是用于启动softMC任务的MC-Basic脚本。 这些是默认文件名,可以更改,但必须保留8.3格式。 根据访问类型,此任务可无限循环读取/写入Modbus标签。
- 可以由HMI开发环境(如JMobile Studio或Indusoft)使用的.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.
- 设置对话框打开,显示以下(默认)设置:
- 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读取或写入。
生成和使用脚本
完成映射变量并定义访问类型后,必须保存当前配置的快照才能生成Modbus处理脚本。
1. 单击Files,然后单击Save As。
- 映射保存在.mbas文件中。
- 如果在保存.mbas文件后进行更改,状态栏中的MBAS文件指示灯将亮起。
2. 要生成产品文件,请单击Generate。
- 日志窗口将显示成功消息。
- 在保存.mbas文件时,您选择的目标文件夹中创建了产品文件。
- 文件HMIMBMAP.LIB和HMIMBMAP.PRG将在ControlStudio中自动打开。
使用Modbus处理脚本
1. 使用ControlStudio文件管理器,将HMIMBMAP.LIB和HMIMBMAP.PRG复制到softMC。
注意:在加载和使用这些文件之前,必须加载应用程序,并且所有映射的变量必须存在于softMC内存中。
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_Registers和Write_Modbus_Registers在HMIMBMAP.LIB中实现,它由Python脚本自动生成。
函数Init_Modbus启动Modbus服务器,然后将所有写入访问变量(即由softMC从 Modbus地址空间读取的所有变量)写入Modbus地址空间。 此功能允许您在HMI / PLC连接到 之前将系统设置为初始化的Modbus地址空间。 HMI / PLC可以读取地址空间并相应地进行初 始化。
函数Read_Modbus_Registers和Write_Modbus_Registers被无限循环调用。 Read_Modbus_Registers读取HMI / PLC写入的所有标签,并用新值更新写访问变量, 而Write_Modbus_Registers则相反。