PCS7我想自己做一个启动画面遇到问题

我做了一个启动按钮,该按钮有两个功能具体:
1、打开@screen画面
2、在中间显示画面区域内显示我想要显示的那个画面。
问题是,在服务器上正常,但在操作员站就读不到数据了。

问题补充:
谁能说说怎么解决这个问题,
我在具体描述一下:
1、首先我将启动画面改为我自己做的启动画面”启动画面.pdl“。
2、在”启动画面.pdl“中添加按钮,在按钮的鼠标动作编写如下代码
#define PIC_0 "破碎流程图.Pdl"
OpenPicture("@screen.pdl");
SSMChangeWorkField(SSMGetScreen(lpszPictureName),PIC_0,TRUE);
备注:
第二条语句执行,打开wincc的默认启动画面"@screen.pdl"
第三条语句执行,改变将PCS7中显示画面区域为"破碎流程图.Pdl"画面。

3、在服务器上是正常的,但在操作员站就不好用了,具体如下
    a、我需要把"破碎流程图.Pdl“拷贝到操作员站,执行玩跳转之后在PCS7中显示画面区域才能显示"破碎流程图.Pdl",否则不显示。
    b,在a之后虽然显示了,但是数据没有上来,点击任何区域按钮后数据才上来。

这个问题能否解决,具体怎么解决,

最佳答案

1。你将你改的画面拷贝到客户机上。
2。客户机的DATA来源于SERVER,但@系统文件是使用本机的,因此你的服务器好用,客户机不好用。
-----------------------
分析你提供的问题:
1.先看看你的方法:
  第一步先将“破碎流程图.Pdl”拷贝到客户机上,那么是不是在服务器和客户机存在两个画面,这两个画面不是一个。
  第二部,写脚本。调用“破碎流程图.Pdl”。客户机上调用的是客户机的“破碎流程图.Pdl”,而非服务器上的“破碎流程图.Pdl”。而客户机上的“破碎流程图.Pdl”的数据从哪来?
2.那么问题的原因我们就明白了。最好的办法就是我们在客户机里不添加画面,还是使用服务器中的画面,这样就能保证数据,画面的一致性了。
3.因此脚本需要区分是服务器调用画面,还是客户机调用画面。区别在于前缀的使用。如果客户机我们就加个前缀,读取服务器的画面;如果是服务器调用,那么就不添加这个前缀了。
4.那么我们在脚本中添加一个判断,用于区分是服务器调用,还是客户机调用;然后确定如果是服务器调用,就直接调用“破碎流程图.Pdl”,如果是客户机调用,那就加个服务器的前缀;
5.具体如何区分服务器还是客户机调用,还有加前缀的方法,可以参考系统自带的@系统文件的实现方法。(大多数库函数的C脚本中都有这样的判断方法,参考一下)。
·····························首先肯定LZ的专研精神。但其实这个功能是不是有些画蛇添足呢?这个画面可以作为一个总貌,通过按钮点击进入即可。我个人觉得有些问题还是简单化比较好。复杂问题简单化,二次开发尽量标准化,会提高系统稳定性,可靠性以及日后的可维护性。

提问者对于答案的评价:
没有解决!!!!!!!!!!!

专家置评

楼上各位分析得相当透彻

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc171332.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年6月12日
下一篇 2017年6月12日

相关推荐