STEP 7 Micro/Win v4.0编程软件中有一个“写入”功能,是方便用户调试程序用的,刚刚发现了一点细节问题:就是在监控状态下,右键单击触点如“I0.0”选择“写入”,给予新值,如把0改为1时,运行如下程序:
network1
LD I0.0
O M0.0
= M0.0
network2
LD M0.0
O Q0.0
= Q0.0
PLC点亮输出Q0.0,此时将拨码开关打到“STOP”位,或者在编程软件中停止PLC运行,然后再次运行 PLC,此时,输出Q0.0依旧点亮,只有将PLC断电重新上电,才能将所有位复位,不知朋友们对此怎么看?!
还有,哪位朋友能不能详细地比较下“写入”和“强制”两者的不同点?
在此一并谢了。
附编程软件帮助中的资料
模拟过程条件(读取、写入、强制、取消强制)
返回顶端
您可以模拟进程条件,方法是在程序状态操作过程中从程序编辑器和从状态表向操作数写入或强制新数值。
使用“程序状态监控”和“状态表监控”按钮或“调试”菜单命令,开始状态数据通信,并启用调试工具。
您还可以使用硬件输入模拟器开关(西门子可提供)以手动方式接通和关断数字量输入点,并观察 PLC 上的 LED 指示灯,观察数字
量输出的状态。
从“调试”工具栏或“调试”菜单列表访问以下功能。
单次读取(仅限状态表) 如果您希望获得一次“快照”(对状态表中的所有数值更新一次),使用“单次读取”。默认值为状态表连续轮询 PLC,获取状态更新信息。当您点击“状态表”时,状态表会切换为关闭,“单次读取”按钮得到使用。
全部写入(仅限状态表) 在您完成对几行的“新值”列的改动后,您可以使用“全部写入”,将所有需要的改动发送至 PLC。
强制 您可以在执行程序状态监控时从程序编辑器和状态表强制地址。要在程序状态监控中强制数据地址,可用鼠标右键点击一个参数,并选择从菜单列表强制。要强制状态表地址为某一数值,您必须首先规定所需的数值,方法是读取该数值(如果您希望强制当前值)或键入该数值(如果您希望将地址强制为一个新数值)。您一旦使用了强制功能,则在每次扫描时该数值均被重新应用于地址,直至您取消强制地址。“强制”功能覆盖立即读取或立即写入指令。“强制”功能还覆盖被配置为在转换为 STOP(停止)模式时输出一个指定数值:如果 CPU 进入 STOP(停止)模式,输出被设为强制数值,而并非配置的数值。通过以字节、字或双字强制 V 或 M 存储区;以偶数字节起始的字格式(例如 AIW6 或 AIW14)强制 AI 或 AQ 存储区;或 I/O 点(I 和 Q 位址)强制,可以模拟逻辑条件。您可以一次强制 16 个(V、M、AI 或 AQ)地址和所有的 I/O 位(所有的 I 和 Q 位地址)。 该图标表示该地址被显性强制。该地址数值在地址被取消强制之前无法改变。 该图标表示该地址被隐性强制。如果地址是一个被显性强制的较大地址的一部分,该地址则被认为是隐性强制。例如,如果 VW0 被强制,则 VB0 被隐性强制(VB0 是 VW0 的第一个字节)。无法单独取消隐性强制数据自身的强制。您必须取消强制较大的地址,然后才能改变该地址数值。如果您强制 VD0(该地址包含VB0、VB1、VB2 和 VB3),则被计数为您可以强制的16个存储区数据之一。如果您将VB0、VB1、VB2 和 VB3 作为分开的实体强制,则计数为您可以强制的 16 个存储区数据中的四个。所有被强制的数据均存储在 CPU 的永久性 EEPROM 存储区中。 该图标表示该地址的一部分被强制。例如,如果 VW0 被显性强制,则 VW1 的一部分被强制(VW1 的第一个字节是 VW0 的第二个字节)。被部分强制的数值无法自身取消强制。您必须取消强制数据内被强制的地址,该地址数值才能改变。如果当您发出“读取所有强制”命令时以上三个图标均未在地址旁的“当前数值”列中显示,则说明该地址未被强制。
取消强制 对于程序状态和状态表监控,选择一个地址,并使用“取消强制”按钮从该特定地址取消强制功能。您还可以选择(点击)一个参数,然后用鼠标右键点击该参数,查看“强制”和“取消强制”功能的弹出菜单。
全部取消强制 如果您希望取消所有地址的强制功能,使用“取消全部强制”按钮。在应用“取消全部强制”之前,您无须选择单个地址。
读取全部强制(仅限状态表) 当您使用“读取全部强制”功能时,状态表的“当前值”列会为已经显性、隐含或部分隐性强制的所有地址显示一个图标。