说明:
如果想要刷新位的速度快于过程映像区,可以在STEP7的STL中使用直接命令PQB, PQW和PQD执行你的程序。然而,这些指令不能对个别位进行操作。要对位进行寻址,必须至少写一个完整的字节来操作 I/O。 如果字节中的其它位没有变化,那么必须编写逻辑指令操作相关的位 (TRUE/FALSE)。然后可以通过直接命令对I/O进行完整字节操作。
1、在I/O域中设置位
通过调用和参数化 SFC 79 "SET" 可以设置选择的I/O 位。 必须分配如下面例子的参数 (图. 01). 本例中PQB 4被设置。
![782027ae7a3871cff08ab5db2667a11c.gif](https://i-blog.csdnimg.cn/blog_migrate/b84348f38f49d42f41c382ec7fe29ffc.gif)
图. 01
请注意"SA"参数的表达式 - 这里必须使用 "P#Px.y" 指令(指针的第一个位被设置)。如果指定了一个不同的区域 ID或错误的地址, STEP 7不会报告错误。然而在运行时, CPU会报告一个"写参数时发生区域错误"。
2、通过 I/O设置个别位
下面的STEP 7项目中包含一个功能 FC4,可以使用它来改变一个位并且直接写入I/O而不会影响其它位。指定要改变的输出地址和位根据要求来改变。通过逻辑操作仅仅是改变指定的位。接着通过直接命令传输一个完整字节给I/O。
![4b9c7bce40e005ec7c4943d6efb53b43.png](https://i-blog.csdnimg.cn/blog_migrate/21518a40f7c98b6391ea33c477033a8b.jpeg)
![537292b721143edb936a55909f7297d1.png](https://i-blog.csdnimg.cn/blog_migrate/de78c8998d161318e6271bcd3417d15f.jpeg)