描述:
@Top显示窗口在@1001.pdl图片中已经通过BPC(基本过程控制)预先组态。这些窗口可以显示不在工作区显示的任何图片,但是显示为动画窗口(参见图 1)。
Fig. 1: Picture in the @Top display window ( 18 KB )
这些显示窗口用对象名@Top01...@Top24 命名,用SSMOpenTopField函数调用。其优点是当在工作区中修改一个图片时,窗口保持打开。 n
为了使@Top窗口中的图片大小自动适配@Top窗口的大小,必须在@Top图片中调用的图片中组态一个动作。比如,循环调用存储在Properties > Geometry > Picture width中的动作,
在那里,输入下列C动作:n
{ //Allocate Memory for the pointers //copy the name of the ParentPicture and the //Set the Height/Width of this Picture in dependency |
- 通过命令GetParentPicture()读出图片窗口从哪副图片中打开。n
- 通过GetParentPictureWindow()确定图片在哪个@Top图片中打开。n
- 对于GetHeight()函数需要该信息以读出@Top图片的高度。n
- 类似地通过GetWidth()读出@Top图片的宽度。n
- 使用SetHeight()和SetWidth()将高度和宽度传送给当前图片。将有小部分的减少,因为@Top图片的边缘也占用空间,在示例中,高度为?0 像素,宽度为?2 像素。
下面的例子在PCS 7 V5.2 SP3 版本中创建,含有一个图片"Parent.pdl",从该图片在一个@Top图片中调用图片" Bildfenster.pdl"。在"Bildfenster.pdl"中,在 Properties > Geometry > Picture Width后面询问@Top图片的几何尺寸。此外,趋势窗口的几何尺寸也在Event > Property Topics > Picture width/Picture height后面调整。
WinCC_PDL.exe ( 23 KB )
重要事项:
请注意,循环动作可以导致系统加载过度。循环动作的一种取代方法是,通过修改@Top窗口的高度和宽度来调整当前图片的大小。在 下面的示例脚本中给出一个可能的实现。该脚本可以动态化而不是在条目中所述的图片"Bildfenster.pdl"中的循环动作,比如,在 Properties > Other > Operator Release后面。
Script.pdf ( 1 KB )
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc331129.html