n
问题:
是否可能保持性地组织 WinAC MP 的任意数据范围?n
解答:
当前,您不能使用 STEP 7 硬件组态将 WinAC MP 的任何数据范围组态为具有保持性的特性。要保存 S7 数据,您可以使用 ProTool 将 S7 数据交换到 MP 370 的外部存储卡上,执行一次重启动后将这些数据重新装载到 WinAC MP 中。n
将 S7 数据保存到一个外部存储卡上
借助于配方或配方变量以及 ProTool 功能“Data_SPS_to_DAT”,您可以将 WinAC MP 的一个数据范围交换到 MP370 外部存储卡上的一个记录中。配方变量变化后必须调用功能“Data_SPS_to_DAT”。这样,配方变量的当前值便始终存在于记录中。n
从外部存储卡读 S7 数据
启动 WinAC MP 时将记录读到 WinAC MP 中。因此,创建一个启动功能,在 WinAC MP 启动过程中紧接着 ProTool Runtime 的启动立即运行该启动功能将是非常有用的。建议将 CPU 的启动连接到启动映像“WinAC_MP_Function”的“Build up image”事件。通过 ProTool 功能“Data block_DAT_to_SPS”将数据块传送到 CPU。在 CPU 的启动过程中,调用该功能的次数不能多于一次。n
通过一个样例组态说明该功能的执行,在本文末尾可以下载该样例组态。样例组态包含一个 STEP 7 项目和集成的 ProTool 项目。n
STEP 7 程序描述
STEP 7 程序中包含两个原始块 OB1 和 OB100,两个功能 FC2 (初始化) 和 FC1 (Compare_Move) 以及数据块 DB1 (Recipe_Data)、DB2 (Setpoint_Data) 和 DB3 (Data_Mailbox)。n
图 1:符号表n
OB100 在 WinAC MP 重启动时运行,其中包含生存位 (life bit) 的设置。该位激活脚本功能“Data_Medium_to_PLC”,以便将数据块从外部存储卡读入 WinAC MP 中。n
组织块 OB1 被分为四个网络 (程序段)。n
在第一个网络中,给出将数据块传送到控制器中的触发信号。为此,将变量“DataMailbox.Status”设置为零。n
在第二个网络中调用功能 FC2 (初始化)。在功能 FC2 (初始化) 中,将保存在数据块 DB1 中的数值 (Recipe_Data) 复制到数据块 DB2 (Setpoint_Data) 中。对 FC2 的调用被锁定为它只能被调用一次 (CPU 重启动之后)。n
在第 3 个网络中调用功能 FC1 (Compare_Move)。在功能 FC1 中,将数据块 DB1 的配方变量的当前值与保存在数据块 DB2 中的配方变量的旧数值相比较。如果数值有所变化,通过置位变量“Data_Changed”调用脚本“Data_PLC_to_Medium”。将数据块 DB1 的值保存到外部存储卡上,当前值从数据块 DB1 复制到 DB2。n
在第四个网络中,当将数据块成功复制到外部存储卡时,“Data_Changed”位会恢复到原来的设置。n
ProTool 项目描述
画面:
在 ProTool 项目中,有四个画面。其中两个为 WinAC MP 标准画面 (随 WinAC MP CD 提供的项目中的画面),其它两个画面中,有一个报表画面和一个状态/控制画面对象。在永久窗口中,组态了一个按钮以便能够退出 ProTool runtime。n
图 2:ProTool 画面n
变量:
除了 WinAC MP 标准变量以外还使用了下列变量。n
图 3:变量n
已经设置了在变量“life_bit”的事件“Change of Value”中调用脚本“Data_Medium_to_PLC”以及在变量“Data_Canged”的事件“Change of value”中调用脚本“Data_PLC_to_Medium”。各自含有 25 个元素的变量 data_int[1] 和 data_real[1] 是保存在配方的一个数据记录中的数据范围。将其它变量对象配置为在状态/控制画面中进行运行和控制。n
图 4:变量“Data_Changed”的属性n
配方
此外,ProTool 组态中还包含一个配方,用于将配方变量 (data_int[1] 和 data_real[1]) 保存在外部存储卡上。n
图 5:存储数据记录n
区域指示器:
需要区域指示器“Data Mailbox”,用于执行配方的功能。n
图 6:区域指示器n
脚本:
- “Data_Medium_to_PLC”:该脚本中包含功能“PtFctDatensatz_DAT_nach_SPS”和功能“PtFctBildanwahl_fest”。通过功能“PtFctDatensatz_DAT_nach_SPS”, 将数据记录传送到 WinAC MP 中的外部存储卡。当生存位 (life bit) 被置位时调用该功能,以便选中画面“WinAC_MP_Function”。当生存位 (life bit) 的数值变化时, 激活该脚本。n
- “Data_PLC_to_Medium”:该脚本包含功能“PtFctDatensatz_SPS_nach_DAT”。该功能将 DB1 的变量值保存到外部存储卡上的一个数据记录中。当配方变量变化时 (Data_Changed_Bit 的值变化为 1) 执行该脚本。n
- “SetPriority”:随 WinAC MP 提供的项目中的标准脚本n
- “SetRestart”:随 WinAC MP 提供的项目中的标准脚本
自动启动功能:
要在 ProTool Runtime 启动时自动执行 WinAC-MP 的启动,在画面“WinAC_MP_Function”的属性中的“WinAC_MP_Function”选项卡上,对于事件“Generate Screen”,必须配置参数为“Start_WinAC_MP”的功能“Control_WinAC_MP”。n
图 7:Control_WinAC_MPn
注意事项:
运行 WinAC_MP 时,Autostart 的“WinAC_MP_Function”画面应当被设置为 off,以便可以执行 WinAC MP 的启动。
图 8:Autostart Off
注意:
请将永久数据的数量限制在绝对必要的范围内并且不要使用那些始终变化的数值。
该样例是使用 STEP 7 V5.1 SP6、ProTool Pro CS V6.0 SP1A 和 WinAC MP V3.0 SP1 创建的;它包含了上述功能
wacmp_sa.exe ( 435 KB )
将文件“wacmp_sa.exe”复制到一个单独的目录中。解压缩 STEP 7 项目以及集成的 ProTool 项目以及所有的子文件夹。然后,使用 SIMATIC 管理器打开和编辑解压缩后的项目。
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc335816.html