浔之漫智控技术(上海)有限公司
西门子PLC模块 , CPU模块 , DP通讯电缆 , 6GK交换机
西门子PLC模块6ES7222-1HF22-0XA8

1.左移、右移指令
S7-200的左、右移位指令的梯形图编程格式如图10-5.1所示。
梯形图中的SHL B为移位指令标记,其中:
SHL: SH为移位标记,L为左移(R为右移):
B:字节指令标记(W为16位字,WD为32位双字);
IN:需要移位的存储器地址;
OUT:结果存储器地址。

S7-200的移位指令具有如下特点:
    ①S7-200的移位分为两步执行。
    ——利用移位指令( MOV)将需要移位的数据移动到结果存储器中,见图10-5.1 (b)。如果仅需要对指定存储器内容移位、且执行结果仍然保存在原存储器中,则不需要执行本步骤,见图10-5.1 (a)。
    ——对结果存储器进行移位。
    ②S7-200执行移位指令时,将数据被移出后的“空位”自动补入状态“0”。
    ③被移出的*后一位状态被保存在系统标志寄存器SMl.1中。
    ④移位位数N-般不应超过移位数据本身的长度(字节操作为8,字操作为16,双字操作为32),如果超过数据本身的长度,则需要进行“取余”处理。例如:对字节数据指定移动12位时,实际移动为4位(12除以8后取余数4);当N为0时,不进行移位操作,同时系统标志寄存器SMl.0被置“1”状态。
  2.循环左移、循环右移指令
  S7-200的循环左、右移位指令的梯形图编程格式如图10-5.2所示。

  梯形图中的ROL B为移位指令标记,其中:
  ROL: RO为循环移位标记,L为左移(R为右移):
  B:字节指令标记(W为16位字,WD为32位双字);
  IN:需要移位的存储器地址:
  OUT:结果存储器地址。
  S7-200的移位指令可以将被移出的数据从另一端依次返回到移出数据后的空位上,实现数据的循环移动。其他特点与“左、右移位”指令相同。
  3.移位寄存器指令
  利用移位寄存器指令,可以将来自寄存器外部的二进制位信号( DATA),按照规定的方向逐步移入寄存器内。S7-200移位寄存器的梯形图编程格式如图10-5.3所示。

    梯形图中的SHRB为移位指令标记,其中:
    DATA:二进制位状态输入;
    S__ BIT:移位寄存器的*低位地址;
    N:移位寄存器的长度与移位方向,正数为左移,输入从*低位移入移位寄存器;负数为右移,输入从*高位移入移位寄存器。
    为了保证数据在每次“使能”输入信号到来时只移动一位,“使能”输入应使用边沿指令。

**寻址和符号寻址
在STEP 7程序中,使用地址如I/O信号、位内存、计数器、定时器、数据块和功能块。完全可以在程序中访问这些地址,但是如果使用地址符号,程序将更容易阅读(例如,Motor_A_On或其它符合公司或行业内代码系统的符号)。然后,可以通过此符号访问用户程序中的地址。
**地址
**地址包含地址标识符和内存位置(例如,Q 4.0, I 1.1, M 2.0, FB21)。
符号地址
如果将符号名分配给**地址,可以使程序更易读,并能简化故障排除。
STEP 7可以自动地将符号名称翻译成所需要的**地址。如果愿意使用符号名称访问ARRAY、STRUCT、数据块、本地数据、逻辑块和用户自定义数据类型,在使用符号寻址数据前,必须首先将符号名称分配给**地址。
例如,可以将符号名称MOTOR_ON分配给地址Q 4.0,然后在程序语句中将MOTOR_ON作为地址使用。使用符号地址,更容易识别程序中的元素与过程控制项目的组件的匹配程度。
支持编程
在编程语言梯形图、功能块图和语句表中,可以输入地址、参数和块名称,作为**地址或符号。
使用菜单命令视图 > 显示 > 符号表示法,可以在地址的**表示法和符号表示法之间切换。
为了更容易使用符号地址编程,可以显示**地址和属于符号的符号注释。可以使用菜单命令视图 > 显示 > 符号信息激活此信息。这意味着每个STL语句后的行注释中包含更多的信息。不能编辑该显示;任何改变都必须在符号表或变量声明表中进行。
下图显示在STL中的符号信息。
当打印输出一个块时,具有语句注释或符号注释的当前画面表示也被打印。
共享符号与局部符号
符号使您能够采用具有某种意义的符号名来代替**地址进行工作。短符号和长注释的有效结合,可使编程更容易、程序文档的质量更好。
应注意区分局部(指定块)符号和共享符号之间的不同。

显示共享符号或局部符号
程序代码段中的共享符号与局部符号之间的差别可区分如下:
来自符号表中的符号(共享符号)将显示在引号".."内。
来自块的变量声明表中的符号(局部符号)将在前面冠以字符"#"。
引号或"#"无须输入。在梯形图、FBD或STL中输入程序时,语法检查将自动添加这些字符。
如果担心在某些情况下出现混淆,例如在符号表和变量声明中都使用同一个符号,那么当您要使用该共享符号时,必须直接对其进行编码(输入地址或者包括引号的符号)。此时,没有进行分别编码的任何符号都将解释为指定块 (局部)的变量。
如果符号包含有空格,也必须对共享符号进行编码(输入地址或者包括引号的符号)。
当在STL源文件中进行编程时,将采用同样的特殊字符及准则。在自由编辑模式下,将不会自动添加代码字符,但如果您希望避免混淆,这些代码字符将仍然需要。
设置地址优先权(符号地址/**地址)
在改变符号表中的符号、改变数据块或功能块的参数名称、改变引用组件名称的UDT或修改多重背景时,地址优先级有助于按照您的意愿调整程序代码。
当在下列情况下进行改动时,必须仔细设置地址优先级,并要有明确的目的。为了能从地址优先级中获益,在开始另一类型的改动之前,每个改动过程都必须彻底完成。
为了设置地址优先级,请转到SIMATIC管理器,并选择块文件夹,然后选择菜单命令编辑 > 对象属性。在"地址优先级"选项卡中,可以进行与自己要求相适合的设置。
在地址优先级中进行优化设置要求区分下列改动情况:
纠正单个名称
实例:
在符号表或程序编辑器/块编辑器中,必须纠正名称的拼写错误。这适用于符号表中的所有名称,以及可以使用程序编辑器/块编辑器进行修改的所有参数、变量或组件的名称。
设置地址优先级:
跟踪改动:
在SIMATIC管理器中,选择块文件夹,然后选择菜单命令编辑 > 检查块一致性。"检查块一致性"功能在单个块中进行必要的改动。
转换名称或分配
实例:
符号表中现有分配的名称已转换。
符号表中现有的分配被分配了新地址。
变量名称、参数名称或组件名称在程序编辑器/块编辑器中被转换。
设置地址优先级:
跟踪改动:
在SIMATIC管理器中,选择块文件夹,然后选择菜单命令编辑 > 检查块一致性。"检查块一致性"功能在单个块中进行必要的改动。
新的符号、变量、参数或组件
实例:
正在为程序中使用的地址创建新符号。
正在向数据块、UDT或功能块中添加新的变量或参数。
设置地址优先级:
在符号表中的改动。
在程序/块编辑器中的改动。
跟踪改动:
在SIMATIC管理器中,选择块文件夹,然后选择菜单命令编辑 > 检查块一致性。"检查块一致性"功能在单个块中进行必要的改动。


发布时间:2023-10-26
展开全文
优质商家推荐 拨打电话