浔之漫智控技术-西门子PLC代理商
西门子PLC模块 , 变频器 , 触摸屏 , 交换机
清远西门子S7-200代理商

清远西门子S7-200代理商

使用 PID 指令向导编程时,指令向导会自动调用 PID 指令,并且编写外围的控制变量标准化换算、定时采样等功能。用户在使用 PID 指令向导时,需要在用户程序中用 SM0.0 调用指令向导生成的子程序(如 PIDx_INIT 子程序)。PID 向导可以生成带自动/手动切换功能的子程序,这个子程序使用一个数字量点为“1”、“0”的状态来控制是否投入 PID 自动控制。
  到目前为止(STEP 7-Micro/WIN V4.0 SP5),使用 PID 向导生成的子程序时,由于用户程序不能直接使用 PID 指令,它的无扰切换能力因为隔了外壳子程序,所以受到了局限。如果对无扰切换要求比较严格,需要另外编一些程序加以处理。
  考察如下 PID 控制子程序。

PID 向导生成的指令

图 1. PID 向导生成的指令

  图中:
  a.过程反馈量
  b.设定值,实数
  c.自动/手动控制,“1”=自动,“0”=手动
  d.手动控制输出值,0.0 - 1.0 之间的一个实数
  e.PID 控制输出值
  要实现无扰动切换,必须:
  .在从自动向手动切换时,使手动输出值(VD2004)等于当前的实际控制输出值;
  .在从手动向自动切换使,使设定值相当于当前的过程反馈值。
  为此,可编写类似下图所示的程序,放在 PID 控制子程序之前:

无扰切换处理程序

图 2. 无扰切换处理程序

  图中:
  a.自动/手动切换控制点
  b.从自动向手动切换时,使手动输出值等于实际当前值
  c.从手动向自动切换时,把当前反馈量换算为相应的给定值
  上述程序中的 Scale_I_to_R 就是量程变换指令库中的子程序。这是为了解决过程反馈与设定值之间的换算问题。用户也可以自己编程换算,或者根据反馈与给定的取值范围决定是否需要换算。
  此段程序适用于 STEP 7-Micro/WIN V4.0 SP5 及以前版本,仅供参考,如果在实际项目中使用,上述程序未必一定适用。用户需要根据实际工艺决定自己的编程思路。

在 STEP 7 Micro/WIN 中,Modbus RTU 协议和 USS 协议操作库位于操作树的“库”文件夹中。MODBUS 函数库要求 STEP 7 Micro/WIN 为 V3.2 或更高版本。

添加函数库
图1: 添加函数库

这些库是附加函数库,并非组态软件 STEP 7 Micro/WIN 的组成部分。

您如果需要使用 Modbus RTU 协议,必须购买“SIMATIC STEP 7 Micro/WIN ADD ON: Function Library V1.1 (USS + MODBUS) for STEP 7 Micro/WIN 32”软件。

这个可选附加函数库的订货号是 6ES7830-2BC00-0YX0。

安装顺序:
先安装“STEP 7 Micro/WIN 32 Toolbox V1.0”(包括库),然后安装“STEP 7 Micro/WIN”。

注意:
这个函数库包含可以在 STEP 7 Micro/WIN V3.2 中使用的 Modbus RTU 协议库和 USS 协议库。

如果您安装了 STEP 7 Micro/WIN V4.0 SP5 (参见条目号:24675347) 或者更高版本,那么操作库中就会包含下列函数:

Modbus RTU Master V1.2 对应端口 0 和端口 1

Modbus RTU Slave V1.0 对应端口 0

USS protocol V2.3 对应端口 0 和端口 1

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管理器中,选择块文件夹,然后选择菜单命令编辑 > 检查块一致性。"检查块一致性"功能在单个块中进行必要的改动。


发布时间:2024-05-08
展开全文
优质商家推荐 拨打电话