一段C脚本,求解释

#include "apdefap.h"

int gscAction( void )
{
static int tic;
//tic=GetTagWord("MM"); //返回类型:WORD 


if (tic>=360) tic=30;
else (tic=tic+30);
 //返回类型:BOOL 
SetTagWord("rotate",tic); //返回类型:BOOL 


// WINCC:TAGNAME_SECTION_START
// syntax: #define TagNameInAction "DMTagName"
// next TagID : 1
// WINCC:TAGNAME_SECTION_END

// WINCC:PICNAME_SECTION_START
// syntax: #define PicNameInAction "PictureName"
// next PicID : 1
// WINCC:PICNAME_SECTION_END
 
return 0; 
}

最佳答案

static int tic;
//tic=GetTagWord("MM"); //返回类型:WORD 
if (tic>=360) tic=30;
else (tic=tic+30);
 //返回类型:BOOL 
SetTagWord("rotate",tic); //返回类型:BOOL 

static int tic; 
定义了一个静态变量 tic ,静态变量可以自动保存上一次的值,变量的生命周期中只初始化一次,值等于0.也就是说这个变量在静态存储区被划分出来的时候就初始化为0。以后都保留了最后一次操作后的值。这个就是为什么tic=GetTagWord("MM");可以被注释掉的原因。

if (tic>=360) tic=30;
else (tic=tic+30);
是判断tic 是不是超过或等于360了 超过了就赋给tic值为30
如果小于360就自增30

这个程序被调用一次 tic就变化一次  变化的值是 30 60 90 120 ……330 360 这样一直循环下去,每变化一次的同时将这个tic的值传到rotate这个变量里面。变化的频率随程序触发的频率决定。

实现的功能就是每触发一次这个程序事件,角度就转过30°。

提问者对于答案的评价:
感谢指点!很有帮助,学习啦

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月5日 下午2:54
下一篇 2018年12月5日

相关推荐

  • WINCC2008安装

    WICC 2008安装老是出问题,或安装一段时间后出现错误打不开(未经授权) 最佳答案 建议关闭杀毒软件和防火墙后安装WINCC2008,给你发了个文件。 提问者对于答案…

    SIMATIC WinCC 2019年6月11日
  • wincc5.1?

    请问,当打开wincc资源管理器时电脑就重启,怎么用修改注册表的方法改正?重装系统或WCC的方法请别说 最佳答案 你试试: 在注册表内“HKEY_LOCAL_MACHIN…

    SIMATIC WinCC 2019年6月11日
  • 700触摸屏怎么做复位型按钮

    700触摸屏怎么做复位型按钮 最佳答案 按下set bit释放reset bit 提问者对于答案的评价:1

    SIMATIC WinCC 2021年7月5日
  • WINCC 以太网 多个PLC

    3个S7-300和6个S7-200通过冗余以太网和两台工控机(一用一备)WINCC通讯,应该怎样连接?需要什么软件和硬件?各PLC之间距离小于100米,工控机距各PLC在100米到…

    SIMATIC WinCC 2017年12月7日
  • PROTOOL程序无法移植到WINCCFLEXIBLE 2008 ADVANCE SP3 中

    大家好。目前遇到PROTOOL的程序无法移植到WINCCFLEXIBLE 2008 ADVANCE SP3 中,急求助 最佳答案 因为WIN…

    SIMATIC WinCC 2018年12月2日
  • 报警及趋势问题

    现在工控机没有跟PLC连接,我在画面中用了在线趋势控件和报警控件 运行时显示 no connetion to data …

    SIMATIC WinCC 2019年6月11日
  • wincc v6.2静态文字问题

    今天安装了AUTOCAD后,发现图形编辑器中静态文本没有横向的汉字了,只有纵向的,我想问一下,怎么解决这个问题? 最佳答案 对象—属性—字体—文…

    SIMATIC WinCC 2019年6月10日
  • WINCC项目复制器问题!

    项目能打开 进入编辑模式 项目复制器 另存就会提示 如图WIN7系统 64位WINCC7.2共享啥的都试了 不好使有人知…

    2021年7月5日
  • WINCC弹窗

    如何实现非显示类弹窗,而是调用形式,单个画面多次调用弹窗且参数可调整 最佳答案 WinCC V7.3中如何使用结构变量组态画面模板http://www.ad.siemen…

    SIMATIC WinCC 2021年7月5日
  • 关于wincc中VBS应用的问题

    想在wincc窗口中调用ComboBox控件,此控件从SQL数据库读取值,每次修改后,重新刷新一遍。程序如下: strSQL = "sele…

    SIMATIC WinCC 2019年6月11日