Modbus Configurator/zh-hans
语言: | 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则相反。