多存储器操作器 v1.0 
概述 
有两种用途,一种是对两个存储器进行合并、取交集等操作,下面称之为一般操作;另一种用途是批量初始化多个存储器
一般操作 
左右两边各指定一个存储器 ID,按下端输入进行不同操作后,将结果输出到由上端输入指定 ID 的存储器
上左右都应该指定正确的存储器 ID,只有在下端为 1 时允许右端指定 ID 的存储器不存在,否则将不进行任何操作
而复制以外的操作,输出存储器的高度将被设置为 1,宽度被设置为数据总数量,因此推荐输出到可手动设置宽高的一维存储器
端口定义 
下端同步操作 
| 电压 | 操作 | 说明 | 
|---|---|---|
| 0 或 未指定  | 无 | 当下端输入变化时才会进行操作,不会因其他端口输入电压改变而立即执行操作 | 
| 1 | 合并 /复制  | 将左右两边存储器的所有数据直接合并,左边存储器的数据在前,右边存储器的数据在后 如果右端指定ID的存储器不存在,而左边存在,则相当于复制左边数据 复制时,需要确保左边存储器与输出存储器类型一致(是否是易失版不影响)  | 
| 2 | 插入 | 将右边存储器的所有数据插入左边存储器,可使用后端输入指定插入的位置(从 0 开始) 如果指定位置大于左边存储器的数据数量,则会在中间补 0  | 
| 3 | 覆盖 | 将右边存储器的所有数据覆盖到左边存储器,可使用后端输入指定覆盖开始的位置(从 0 开始) 如果指定位置大于左边存储器的数据数量,则会在中间补 0  | 
| 4 | 交集 | 将左边存储器的数据逐一与右边比对,如果右边也存在则保留,否则删除 | 
| 5 | 交集 (去重)  | 同上,但还会对结果进行去重 | 
| 6 | 差集 | 将左边存储器的数据逐一与右边比对,如果右边存在则删除,否则保留 | 
| 7 | 差集 (去重)  | 同上,但还会对结果进行去重 | 
📝 关于指定插入、覆盖开始的位置
例如要将数据插入到第 5、6 个数据之间,则后端应该输入 5;要插入到第 1 个数据之前,则后端应该输入 0
 要从第 5 个数据开始覆盖,则后端应该输入 4;要从第 1 个数据开始覆盖,则后端应该输入 0
批量初始化 
左边指定作为初始化模板的存储器的 ID,上端指定用于储存初始化结果的存储器的 ID,后端输入起始偏移位置和其他参数,右端输入范围,下端变为 256 V (0x100) 时,范围内和模板相同类型的存储器会被初始化为与模板一致
端口定义 
上端输出
| 作用 | 
|---|
将结果输出到指定 ID 的存储器(任意类型,必须指定)  | 
右端输入
| 第 n 位 | 作用 | 说明 | 
|---|---|---|
| 1 ~ 8 | X 轴范围大小  | 单位格,方向为西  | 
| 9 ~ 16 | Y 轴范围大小  | 单位格,方向为上  | 
| 17 ~ 24 | Z 轴范围大小  | 单位格,方向为北  | 
| 25 | X 轴范围的符号  | 为 1 时,X 轴范围的方向改为向东  | 
| 26 | Y 轴范围的符号  | 为 1 时,Y 轴范围的方向改为向下  | 
| 27 | Z 轴范围的符号  | 为 1 时,Z 轴范围的方向改为向南  | 
| 28 ~ 32 | 空  | 无作用  | 
下端输入
| 作用 | 
|---|
变为 256 V (0x100) 时,尝试初始化  | 
左端输入
| 作用 | 
|---|
指定作为初始化模板的存储器 ID  | 
后端输入
| 第 n 位 | 作用 | 说明 | 
|---|---|---|
| 1 ~ 8 | X 轴偏移大小  | 单位格,方向为西  | 
| 9 ~ 16 | Y 轴偏移大小  | 单位格,方向为上  | 
| 17 ~ 24 | Z 轴偏移大小  | 单位格,方向为北  | 
| 25 | X 轴偏移的符号  | 为 1 时,X 轴偏移的方向改为向东  | 
| 26 | Y 轴偏移的符号  | 为 1 时,Y 轴偏移的方向改为向下  | 
| 27 | Z 轴偏移的符号  | 为 1 时,Z 轴偏移的方向改为向南  | 
| 28 | 是否不输出结果  | 为 1 时不将结果输出到上端输入指定 ID 的存储器,为 0 时则输出  | 
| 29 | 是否覆盖  | 为 1 时将会覆盖已有数据的存储器,为 0 时不覆盖  | 
| 30 ~ 32 | 空  | 无作用  | 


