当站点数量较大且每个站点需要采集的变量一致,这时如果没有批量建立站点,而是每次建立一个站点一个变量,这个工作量将会非常庞大。此时如果有批量建立站点,则只需要建立一次就能成功得到一大批的站点。
当变量数目较大,且为相同存储区相临变量,这时再一个变量一个变量的建立就白白浪费了有效工作时间,使用批量建立变量就可以一次建立完成。
远程通组态软件引入了站点组的概念,在建立了信道后,需要在信道下建立相应的站点,如果需要建立多个站点,并且这些站点具有相同的属性或一定的规律性,可以通过站点成组的形式进行批量建立站点,方便、快捷,不易出错。
注释:传统组态软件建立IO变量时,需要选择相应的设备(即:站点),当需要建立多个IO变量时,也需要选择多次设备,效率低,而且易出错。远程通组态软件支持站点组,建立IO变量时,选择该站点组,就能建立一系列IO变量。
例:监控某地区的280个路灯,280个路灯代表280个从站点,每次建立1个站点,需要建立280次,通过建立站点组,可以批量建立从站点,从而快速建立280个从站点,每个路灯杆上有2盏灯,每盏灯代表一个变量,共560个变量,建立站点变量,快速生成560个变量。
a) 建立主信道z,双击“G300网络信道(网口)”子节点下的“从站点设置”,弹出“新建站点”功能对话框,从站点设置→添加站点组→站点名称:路灯,起始站点1,一维,大小280→确定,生成280个从站点;
b) 表示560个灯状态的变量建立:建立变量模板:名称“路灯模板”,设备类型JMBUS,在模板中建立两个变量:灯1、灯2,数据类型BOOL;
c) 新建站点变量:变量模板“路灯模板”,信道选择z,站点选择“路灯”,这样建成了560个站点变量,表示560个灯泡的状态;
*站点组名:是以“字母”或“下划线_”开头,后面可以跟任意字母、数字或者下划线_,字母不区分大小写,字符不能超过31个字符。站点组名是对这一个站点组的统称,而每个站点在数组中的位置可用统一的站点名和下标来唯一确定,其中站点名称 = 站点组名称 [下标1] [下标2]......
<站点组名称>后面的下标用于确定数组的维度和大小,例如:
a[10] b[2][3]
分别定义了一维数组a 和 二维数组b。
注意:在定义每维大小时,数值必须大于1,数组中至少有一个元素。
站点名称命名遵从一定规律-下标变化规律:每维的下标默认从0开始,下标的变化从第一维开始变化,每次+1,直到第一维下标达到最大值,如果站点组有第二维,则第二维下标+1,第一维下标清0,第一维下标再次进行+1操作,直到第二维下标达到最大值,如果站点组有第三维,第三维下标+1,第二维、第一维下标清0,继续进行+1操作,直到每维的下标都达到最大值。
起始站点号:站点组下的起始站点号,站点的数量是各个维度大小相乘得到的,站点号默认+1。
组维度:目前建立站点组最多支持三个维度,用户可以根据需要选择站点组的组维度。
维大小:用户选择了组维度,需要规定每一个维度的大小。
备用站点:这里也只是选择备用站点的起始站点号,而每个站点对应的备用站点也是由起始站点号开始,然后连续+1的,如果备用站点不存在,则不能完成备用站点的建立。
例如:用户建立一个二维站点组,组名称为aa,第一维大小为3,第二维大小为2,表示方法为aa[3][2],起始站点号为2,站点名称与站点号对应关系表如下表:
站点名称 | 站点地址 |
aa[0][0] | 2 |
aa[1][0] | 3 |
aa[2][0] | 4 |
aa[0][1] | 5 |
aa[1][1] | 6 |
aa[2][1] | 7 |
注意:目前规定站点组中站点的个数不能超过2000个,超过2000个会报错,如果用户所需站点数量超过2000个,请尽快与本公司技术支持取得联系,尽快为您解决。
其中,添加完成的站点列表“说明”项是没有说明的,为了方便用户看,又将每一个站点进行了“编辑”操作,给每一个站点加入了说明的文字,如下图所示:
批量建立变量
远程通组态软件引入了变量组的概念,在建立变量的时候,如果需要建立多个变量,并且这些变量具有相同的属性或一定的规律性,可以通过变量成组的形式进行批量建立变量,方便、快捷,不易出错。
注释:传统组态软件中没有变量组的概念,当需要建立大量的变量的时候,不仅效率低,而且易出错。
变量组是相同类型的变量的有序集合,每个变量在数组中的位置可用统一的变量组名和下标来唯一确定,定义变量组与定义单一变量比较而言,好处在于:
1. 方便用户定义变量,简化用户操作。如果用户要定义1000个开关变量,如果只有单一变量,要新建1000次;如果有变量组,只需要定义一次。
2. 变量组中的每个变量名称都具有规律性,上层应用程序在引用变量或对变量进行脚本操作,都很方便。
例:若想监控一个灯杆上的10盏灯,相当于一个站点上有10个变量
a) 建立主信道,在其下建立1个从站点:灯杆A;
b) 新建BOOL型IO变量组,站点选择“灯杆A”,一维,维大小:10;
c) 利用建立变量组的功能,快速的建立了同一站点下的10个变量
例:在终端Q文件中,主站Q2下从站1对应的整形输出寄存器,IO变量组具体设置方式如下图所示:
建立IO变量组
变量组建立完成后,在变量表中只显示一行,实际对应5个变量。变量组中的变量具有相同的属性,不同之处在于:变量名称和映射从站的寄存器号不相同。
注意:目前只有通用的MODBUS和“捷麦顺驰科技有限公司”的JMBUS协议支持变量组的建立,其它设备型号的站点暂不支持变量组的建立。
变量组名:是以“字母”或“下划线_”开头,后面可以跟任意字母、数字或者下划线_,字母不区分大小写,字符不能超过31个字符。变量组名是对这一个变量组的统称,而每个变量在数组中的位置可用统一的站点名和下标来唯一确定,其中变量名称 = 变量组名称 [下标1] [下标2]......
<变量组名称>后面的下标用于确定数组的维度和大小,例如:
a[10] b[2][3]
分别定义了一维数组a 和 二维数组b。
变量名称命名遵从一定规律-下标变化规律:每维的下标默认从0开始,下标的变化从第一维开始变化,每次+1,直到第一维下标达到最大值,如果变量组有第二维,则第二维下标+1,第一维下标清0,第一维下标再次进行+1操作,直到第二维下标达到最大值,如果变量组有第三维,第三维下标+1,第二维、第一维下标清0,继续进行+1操作,直到每维的下标都达到最大值。
组维度:目前建立变量组最多支持三个维度,用户可以根据需要选择变量组的组维度。
维大小:用户选择了组维度,需要规定每一个维度的大小。
注意:在定义每维大小时,数值必须大于1,数组中至少有一个元素。
偏移地址:此处所填的偏移地址是变量组的起始偏移地址,每个变量的偏移长度根据存储区类型和数据类型而定。其中关于扩展MODBUS协议具体查看文档《JM_MOD协议说明V1.2D.docx》
类型 | 存储区 | 数据类型 | 每个变量偏移长度 | 说明 |
常规MODBUS具有的存储区 | 离散输出(01\0F) 离散输入(02) | BOOL | 1 | |
整形输出(03\10) 整形输入(04) | INT | 1 | ||
扩展MODBUS增加的存储区 (扩展MODBUS继续沿用整形输入、输出的命令码) | 字节输出(03\10) 字节输入(04) | INT | 1 | 1个FLOAT型是4个字节,需要读两个整形,因此变量偏移长度为2 |
FLOAT | 2 | |||
DOUBLE | 4 | |||
TEXT | N | |||
浮点输出(03\10) 浮点输入(04) | FLOAT | 2 | ||
DOUBLE | 4 | |||
建立的IO变量组根据“存储区”和“数据类型”,得到每个变量偏移长度为1,因此每个变量的变量名称和偏移地址对照关系如下图所示:
变量名称 | 寄存器号 |
IOgroup[0] | 0 |
IOgroup[1] | 1 |
IOgroup[2] | 2 |
IOgroup[3] | 3 |
IOgroup[4] | 4 |
例:在终端Q文件中,为“网口-UDP”信道下的从站Q3建立寄存器变量组,其中寄存器变量组的建立步骤如下图所示:
建立寄存器变量组:
选择的存储区为“字节输出”,数据类型为“FLAOT”,得到每个变量的偏移长度为2,则变量名称和寄存器号之间的对应关系如下图:
变量名称 | 寄存器号 |
Registgroup[0][0] | 10000~10001 |
Registgroup[1][0] | 10002~10003 |
Registgroup[0][1] | 10004~10005 |
Registgroup[1][1] | 10006~10007 |
Registgroup[0][2] | 10008~10009 |
Registgroup[1][2] | 100010~100011 |
例:建立内存变量组的步骤如下图所示: