西门子工业控制全国代理经销商
与西门子品牌合作,只为能给中国的客户提供值得信赖的服务体系,我们
的业务范围涉及工业自动化科技产品的设计开发、技术服务、安装调试、销售及配套服务领域。建立现代化仓
储基地、积累充足的产品储备、引入万余款各式工业自动化科技产品,我们以持续的卓越与服务,取得了年销
售额10亿元的佳绩,凭高满意的服务赢得了社会各界的好评及青睐。其产品范围包括西门子S7-SMART200、 S7-200CN、S7-300、S7-400、S7-1200、S7-1500、S7-ET200SP 等各类工业自动化产品。西门子授权代理商、西门子一级代理商 西门子PLC模块代理商﹐西门子模块代理商供应全国范围:
与此同时,我们还提供。
西门子中国授权代理商—— 浔之漫智控技术(上海)有限公司,本公司坐落于松江工业区西部科技园,西边和全球zhuming芯片制造商台积电毗邻,
东边是松江大学城,向北5公里是佘山国家旅游度假区。轨道交通9号线、沪杭高速公路、同三国道、松闵路等
交通主干道将松江工业区与上海市内外连接,交通十分便利。
目前,浔之漫智控技术(上海)有限公司将产品布局于中、高端自动化科技产品领域,
PLC模块S7-200、S7-1200、S7-300、S7-400、ET200分布式I/O等
HMI触摸屏、SITOP电源、6GK网络产品、ET200分布式I/O SIEMENS 驱动产品MM系列变频器、G110 G120变频器、直流调速器、电线电缆、
驱动伺服产品、数控设备SIEMENS低压配电与控制产品及软起动器等
西门子中国有限公司授权——浔之漫智控技术(上海)有限公司为西门子中国代理商,主要供应全国范围:西门子PLC代理商SIEMENS可编程控制器PLC模块、HMI触摸屏、SITOP电源、6GK网络产品、ET200分布式I/O SIEMENS 驱动产品MM系列变频器、G110 G120变频器、直流调速器、电线电缆、
将存储在指定地址的数据元素复制到新地址或多个地址。1out := MOVE_BLK( in:=_variant_in, count:=_uint_in, out=>_variant_out);将数据元素块复制到新地址的可中断移动。out := UMOVE_BLK( in:=_variant_in, count:=_uint_in, out=>_variant_out);将数据元素块复制到新地址的不可中断移动。1 MOVE 指令: 要在 LAD 或 FBD 中添加其它输出,请单击输出参数旁的“创建”(Create) 图标。 对于 SCL,请使用多个赋值语句。 还可以使用任一循环结构。表格 7- 63 MOVE 指令的数据类型参数 数据类型 说明IN SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte,Word, DWord, Char, Array, Struct, DTL, Time源地址OUT SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte,Word, DWord, Char, Array, Struct, DTL, Time目标地址要添加 MOVE 输出,请单击“创建”(Create) 图标,或右键单击现有 OUT 参数之一的输出短线,并选择“插入输出”(Insert output) 命令。要删除输出,请在其中一个现有 OUT 参数(多于两个原始输出时)的输出短线处单击右键,并选择“删除”(Delete) 命令。数据类型 说明IN SInt, Int, DInt, USInt, UInt, UDInt, Real, LRealByte, Word, DWord源起始地址COUNT UInt 要复制的数据元素数OUT SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal,Byte, Word, DWord目标起始地址说明数据复制操作规则 要复制 Bool 数据类型,请使用 SET_BF、RESET_BF、R、S 或 输出线圈 (LAD)(页 176) 要复制单个基本数据类型,请使用 MOVE 要复制基本数据类型数组,请使用 MOVE_BLK 或 UMOVE_BLK 要复制结构,请使用 MOVE 要复制字符串,请使用 S_MOVE (页 262) 要复制字符串中的单个字符,请使用 MOVE MOVE_BLK 和 UMOVE_BLK 指令不能用于将数组或结构复制到 I、Q 或 M 存储区。MOVE_BLK 和 UMOVE_BLK 指令在处理中断的方式上有所不同:● 在 MOVE_BLK 执行期间排队并处理中断事件。 在中断 OB 子程序中未使用移动目标地址的数据时,或者虽然使用了该数据,但目标数据不必一致时,使用 MOVE_BLK指令。 如果 MOVE_BLK 操作被中断,则Zui后移动的一个数据元素在目标地址中是完整并且一致的。 MOVE_BLK 操作会在中断 OB 执行完成后继续执行。● 在 UMOVE_BLK 完成执行前排队但不处理中断事件。 如果在执行中断 OB 子程序前移动操作必须完成且目标数据必须一致,则使用 UMOVE_BLK 指令。 更多信息,请参阅 数据一致性 (页 153)部分。执行 MOVE 指令之后,ENO 始终为真。表格 7- 65 ENO 状态ENO 条件 结果1 无错误 成功复制了全部的 COUNT 个元素。0 源 (IN) 范围或目标 (OUT) 范围超出可用存储区。复制适当的元素。 不复制部分元素。7.6.2 FieldRead 和 FieldWrite 指令说明STEP 7 V10.5 不支持数组索引或多维数组形式的变量引用。 FieldRead 和 FieldWrite 指令曾用于为一维数组提供变量数组索引操作。 STEP 7 V11 支持数组索引和多维数组形式的变量。 STEP 7 V11 中包含了 FieldRead 和 FieldWrite,以便向后兼容使用了这两个指令的程序。表格 7- 66 FieldRead 和 FieldWrite 指令LAD/FBD SCL 说明value :=member[index];FieldRead 用于从第一个元素由 MEMBER 参数指定的数组中读取索引值为 INDEX 的数组元素。 数组元素的值将传送到VALUE 参数指定的位置。member[index]:= value;WriteField 用于将 VALUE 参数指定的位置上的值传送给第一个元素由 MEMBER 参数指定的数组。 该值将传送给由INDEX 参数指定数组索引的数组元素。1 对于 LAD 和 FBD: 单击“???”并从下拉菜单中选择数据类型DInt 要读取或写入的数组元素的索引号Member 1 输入 数组元素类型:Bool、Byte、Word、DWord、Char、SInt、Int、Dint、USInt、UInt、UDInt、Real、LReal在全局数据块或块接口中定义的一维数组的第一个元素的位置。例如: 如果将数组索引指定为 [-2..4],则第一个元素的索引为 -2,而不是 0。值 1 输出 Bool、Byte、Word、DWord、Char、SInt、Int、Dint、USInt、UInt、UDInt、Real、LReal将指定的数组元素复制到的位置(FieldRead)被复制到指定的数组元素的值的位置(FieldWrite)1 MEMBER 参数和 VALUE 参数指定的数组元素的数据类型必须相同。如果满足下列条件之一,则使能输出 ENO = 0:● EN 输入的信号状态为“0”● 在 MEMBER 参数引用的数组中未定义 INDEX 参数指定的数组元素● 处理过程中发生溢出之类的错误通过数组索引访问数据要通过变量访问数组中的元素,仅需在程序逻辑中将该变量用作数组索引即可。 例如,以下程序段中通过 PLC 变量“Index”引用的“Data_block_1”内布尔数组的布尔值来设置输出。 可以使用变量数组索引逻辑替换 FieldWrite 和 FieldRead 指令。SCL 中没有 FieldRead 或 FieldWrite 指令,但支持通过变量对数组进行间接寻址:#Tag_1 := "Data_block_1".Bool_Array[#Index];7.6.3 填充指令表格 7- 68 FILL_BLK 和 UFILL_BLK 指令LAD/FBD SCL 说明out := FILL_BLK( in:=_variant_in, count:=int, out=>_variant_out);可中断填充指令: 使用指定数据元素的副本填充地址范围out := UFILL_BLK( in:=_variant_in, count:=int out=>_variant_out);不中断填充指令: 使用指定数据元素的副本填充地址范围表格 7- 69 参数的数据类型参数 数据类型 说明IN SInt, Int, DIntT, USInt, UInt, UDInt, Real, LReal,Byte, Word, DWord数据源地址COUNT USInt, UInt 要复制的数据元素数OUT SInt, Int, DIntT, USInt, UInt, UDInt, Real, LReal,Byte, Word, DWord数据目标地址数据填充操作规则 要使用 BOOL 数据类型填充,请使用 SET_BF、RESET_BF、R、S 或输出线圈(LAD) 要使用单个基本数据类型填充,请使用 MOVE 要使用基本数据类型填充数组,请使用 FILL_BLK 或 UFILL_BLK 要填充字符串中的单个字符,请使用 MOVE FILL_BLK 和 UFILL_BLK 指令不能用于将数组填充到 I、Q 或 M 存储区。FILL_BLK 和 UFILL_BLK 指令可将源数据元素 IN 复制到通过参数 OUT 指定初始地址的目标中。 复制过程不断重复并填充相邻的一组地址,直到副本数等于 COUNT 参数。FILL_BLK 和 UFILL_BLK 指令在处理中断的方式上有所不同:● 在 FILL_BLK 执行期间排队并处理中断事件。 在中断 OB 子程序中未使用移动目标地址的数据时,或者虽然使用了该数据,但目标数据不必一致时,使用 FILL_BLK 指令。● 在 UFILL_BLK 完成执行前排队但不处理中断事件。 如果在执行中断 OB 子程序前移动操作必须完成且目标数据必须一致,则使用 UFILL_BLK 指令。表格 7- 70 ENO 状态ENO 条件 结果1 无错误 IN 元素成功复制到全部的 COUNT 个目标中。0 目标 (OUT) 范围超出可用存储区 复制适当的元素。 不复制部分元素。7.6.4 交换指令表格 7- 71 SWAP 指令LAD/FBD SCL 说明out := SWAP(in); 用于反转二字节和四字节数据元素的字节顺序。 不改变每个字节中的位顺序。 执行 SWAP 指令之后,ENO 始终为 TRUE。1 对于 LAD 和 FBD: 单击“???”并从下拉菜单中选择数据类型CONV 指令表格 7- 73 转换 (CONV) 指令LAD/FBD SCL 说明out :=