图形循环往复移动的问题

我想做一个皮带机运行时的动态效果,在一个矩形里面等距离放了一些小矩形,把这些小矩形合成一个组,让这个组往右移动5次后返回原地,这样循环形成一个动态的效果。我在全局脚本里面编了一下,可是发现激活项目的时候,动态效果什么的都正常,如果在图形编辑器界面再次点激活按钮,运行画面中的小矩形组就错位了。譬如小矩形组静态X坐标是100,我让他每250ms,X轴的坐标加5,移动5次后回到坐标100,可是在图形编辑器界面再次点激活按钮,运行画面中的小矩形组的X轴坐标会错位到100以前,不知道为什么?我对C动作不熟悉,请大家指教,全局脚本如下(其中的一条皮带机):
long a;     //PL-1皮带X轴坐标
static int a1;
BOOL a2;
a2=GetTagBit("temp_1");  //temp_1皮带机运行反馈信号
if(a2==1)
{
a=GetLeft("主画面.pdl","组8");  //组8就是要循环移动的小矩形组
if(a1<5)
{a=a+5;a1=a1+1;}
else
{a=a-25;a1=0;}
SetLeft("主画面.pdl","组8",a);
}

问题补充:
谢谢满!!
在激活状态下点激活,怎样才能让我的计数器a1清零呢?
或者还有其他更好的办法实现这个动态吗?下面是我用另一种方法实现的,不会出现错位的情况,但是需要一个参照物。
long a;    //PL-1
long a1; 
a=GetLeft("主画面.pdl","组8"); //Return-Type: long int 
a1=GetLeft("环烧主画面20.pdl","矩形121");  //我把这个固定的矩形当参照物
if (a<a1-10+25)
a=a+5;
else
a=a1-10;  //小矩形组的起始位置在参照物矩形的左边10的位置
SetLeft("环烧主画面20.pdl","组8",a);

最佳答案

因为每次激活的时候都是读a1和小矩形组静态X坐标值。问题出在从新激活时的小矩形组静态X坐标值是固定的(100),但是 a1值不一定是0,因此矩形不一定移动5次,所以在减去-25后矩形组的X轴坐标会错位到100以前。
  如果每次直接激活的话出现你说的问题,如果取消激活后再次激活的话不会出现上述问题。

提问者对于答案的评价:
谢谢了!

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

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

相关推荐

  • wincc7.5SP1问题

    wincc7.5SP1中如何把其它项目的画面复制到项目中来,例如另一个项目的弹窗画面或者流程图想要在新项目中使用 最佳答案 用图形编辑器找到你想要复制的项目的文件,找到GRACS文…

    SIMATIC WinCC 2021年7月5日
  • 触摸屏停产替代型号提问

    6AV6647-0AB11-3AX0   停产替代型号 最佳答案 KTP600,2016年10月1日停产。安装尺寸197*141替代产品:6AV212…

    SIMATIC WinCC 2021年7月5日
  • 请问用户归档的几个问题?

    打算用用户归档做能耗报表,1.请问用户归档能像LISTVIEW样单独对表格行和列操作吗?2.为什么用户归档的打印功能用不了,按了没有反应?3.为什么用户归档导出数据,CSV文档很乱…

    2020年11月1日
  • wincc 全局脚本用周期触发器,出现多次执行的情况

    版本wincc v7.4sp1,遇见一个问题用VB全局脚本,往EXCEL中写入数据,触发器是1分钟,每隔20分钟写入一次(对应的时间是2分、22分、42分),结果出现的是…

    SIMATIC WinCC 2020年11月1日
  • MP277画面切换

    请问:MP277触摸屏的画面切换可以用字地址里面的数字来切换吗,请知道的高人指点。谢谢 最佳答案 可以,在变量的属性——事件——更改数值,用ActivateScreenByNumb…

    SIMATIC WinCC 2019年6月11日
  • 关于审计追踪

    需要  WINCC  Audit Viewer  审计查看器 最佳答案 https://support.ind…

    SIMATIC WinCC 2020年11月1日
  • WINCC更改网卡配置

    在创建项目时,wincc提示“未指定的错误”,“不能创建项目”,查了一下说是没有连接网络造成这种情况。我的WINCC在安装时到最后的时候出现一个确认框,好像是要求确认采用哪个网卡,…

    2017年7月26日
  • SQ2005的安装的问题

    安装过程中提示如图所示,XP SP2包,请问大家如何解决…… 问题补充:系统是新装的XP SP2,就如图片中指示的情况,安装的杀毒软件卸载后还是装不上,请各位同…

    2019年6月10日
  • C脚本函数

    请问各位达人以下的几个函数的功能,资料链接也可以 1:SetLeft()    GetLeft() 2:SetTop()…

    SIMATIC WinCC 2019年6月11日
  • wincc变量查不到

    产线故障要查wincc中一个变量来源,DB50.MD286或者DB50.DBD286这个变量在变量管理中找不到,好几个这个作用相同的变量都没找到.wincc中是不是有什么地方的变量…

    SIMATIC WinCC 2018年12月9日