方法1 可以使用STEP7(TIA Portal)的IEC定时器来通过简单的编程产生一个脉冲发生器。 图.01展示的是如何利用两个“TON”(接通延时定时器)来实现在输出端 Q0.1 输出周期性脉冲信号的。 图.01 注:图中E0.0即为I0.0,A0.1即为Q0.1,德语关系。 “接通延时定时器”指令将使得输出端 Q 延迟一段时间接通,该时间通过 PT 来定义。 下表将描述如何实现脉冲发生功能。 脉冲发生器的功能 1 输入I0.0 “Release”用于激活此脉冲发生器。 2 标志 M0.1 “Out"”初始值为“False”,因此,下面一条接通延迟定时器指令“TON”开始计时。 3 当接通延时时间到达的时候,标志 M0.0 “Trig"”将被置位并且输出 Q0.1 “Trig_Out”获得 “True”信号。 4 M0.0 的“True”信号将触发上面一条“TON”指令开始计时。 5 当第二次接通延时时间到达的时候,标志 M0.1“Out”被置位。 6 M0.1 的 “True”信号将断开下面一条 “TON”指令的计时条件并中断该定时器,同时使标志 “M0.0”被复位。输出 Q0.1 “Trig_Out”获得 “False”信号。 7 M0.0 的 “False”信号将中断上面一条“TON” 指令,并将 M0.1 复位。 8 标志 M0.1 的 “False”信号将重新触发下面一条“TON"”指令,然后整个过程再次重新开始。 图.02展示了这个脉冲发生器的时序图 图.02 优势: 1. 脉冲信号为True和False的时间可以设为变量。 2. 使用这种方式可以灵活的更改脉冲信号的占空比。 方法2 您可以通过设置时钟标志来产生一个占空比为 50% 周期性脉冲信号。 步骤 : 1 打开您的STEP7项目,在设备视图中双击S7 CPU模块。 2 选择“Properties” ,并在页签中点击“System and clock memory”。 3 勾选“Enable the use of clock memory byte”选项并为时钟标志选定一个字节的地址;比如,“100”表示 MB100。时钟标志的每一位将被分配为不同频率的脉冲信号。 图.03 4 保存并编译硬件组态。然后下载到CPU。 5 标志M100.0将被分配为10 Hz频率的脉冲,也就是说它每0.1秒改变一次状态。图04中展现了让“IN/OUT”引脚的操作数MD110循环递增的例子。比较指令连接MOVE指令使得当操作数到达99时将被复位为 0。 图.04 优势 1. 只需更改组态设置,简单便捷。 2. 不需要用 IEC 定时器指令。 使用时钟标志说明,时钟标志的占空比是1:1。 由于时钟标志的运行周期和CPU 是异步的,在一个长扫描周期中时钟标志能变化多次,这将导致歧义。 举例: 1. 时钟标志的保持时间是100ms 。 2. 程序的扫描周期是100ms并有正负10ms的波动。 3. 如果时钟标志在几个周期后状态都为 1 ,则可能感觉在监控时有 300ms 状态没有变化。 图.05 1. 时钟标志每 100ms 发生变化 2. 扫描周期: 110ms 3. 扫描周期: 90ms 4. 在线监控时钟标志 |