『注意』该点只能是CPU上的DO点,或是SB信号板上的DO点。S7-1200 SM扩展模块上的DO点不支持PWM功能。
5. I/O地址:用来设置PWM的地址和周期更新方式,如下图1.7所示:
图1.7 输出地址设置
a. 起始地址:用来设定该PWM通道地址。
b.结束地址:由"起始地址"决定,默认情况下,每个PWM通道仅占用一个Word的长度,用于输出脉冲的持续时间。如果选中"允许在运行时修改循环时间"复选框后,CPU会分配6个输出字节,其中前2个字节用于输出"脉冲持续时间"值,后4个字节用于输出"循环时间"值。
c. 组织块:用来设置PWMI/O地址的更新方式是基于哪个OB块的。用户可以根据需要通过“新增”按钮来添加相应的OB块,如下图1.8所示,本例中用户可以选择默认选项“自动更新”。
图1.8 组织块设置
d. 过程映像:设置PWM的I/O地址的过程映像的更新情况,这里的“PWM的I/O地址”指的是PWM周期脉冲宽度数值存放的地址。该选项用来设置脉冲宽度地址的更新情况。如下图1.9所示:
图1.9 过程映像设置
S7-1200提供了6个过程映像分区。第一个过程映像分区“自动更新”指定用于每个扫描周期都自动更新的I/O,此为默认分配;的4个分区PIP1、PIP2、PIP3和PIP4可用于将I/O过程映像更新分配给不同的中断事件。“PIPOB伺服”是给S7-1200运动控制的等时同步模式使用的。
默认情况下,Portal 软件会将其I/O过程映像更新为“自动更新” (Automaticupdate)。对于组态为“自动更新”(Automaticupdate)的I/O,CPU将在每个扫描周期自动处理模块和过程映像之间的数据交换。
如果将I/O分配给过程映像分区PIP1~PIP4中的其中一个,但未将OB分配给该分区,那么CPU决不会将I/O更新至过程映像,也不会通过过程映像更新I/O。将I/O分配给未分配相应OB的PIP,相当于将过程映像指定为“无”(None)。在设备组态中将I/O 分配给过程映像分区,并在创建中断 OB 或是编辑 OB 属性时将过程映像分区分配给中断事件。
用户可以在指令执行时立即读取物理输入值和立即写入物理输出值。无论I/O点是否被组态为存储到过程映像中,立即读取功能都将访问物理输入的当前状态而不更新过程映像输入区。立即写入物理输出功能将更新过程映像输出区(如果相应I/O点组态为存储到过程映像中)和物理输出点。如果想要程序不使用过程映像,直接从物理点立即访问 I/O 数据,则在I/O地址后加后缀":P"。
根据上面的说明,本例中用户可以直接选择“自动更新”。由于PWM的I/O地址是Q(输出区),用户可以使用QWx/QDx,也可以直接更新外设地址QWx:P/QDx:P。
软件编程
1.在Portal软件中打开程序块,进行PWM的编程。在指令选件中的“扩展指令”中的“脉冲”文件夹中可以找到CTRL_PWM指令。可以通过双击指令或是拖拽的方式把CTRL_PWM指令放到程序编辑区。如下图2.1所示: