使用WINCC的C动作来实现计时和累加功能

本意是想通过WINCC中的C脚本来实现程序逻辑功能,不使用Step7程序,只使用其中的DB,(1)如何在C动作中编写语句实现某一信号(m0.0)到来延时3秒给另一变量赋值?
(2)或者能否在C动作中使用PLC中的1HZ的时钟脉冲来进行累加,等于3时赋值,WINCC语句能否扫描到?如何编写?

最佳答案

1、如果变量比较少的话,可以用全局脚本实现,建一个内部变量存储时间A,一个内部变量用来触发B,点击按钮是设置B=1,全局脚本根据周期触发,给变量C赋值的话:
if b == 1 
{ a = a+1;
  if a==3
   {
    b == 0;
    a == 0;
    c == value;
    }
}
以上程序只是逻辑判断,赋值根据类型,C脚本用SetTagXXX  XXX根据类型改变
如果变量赋值不会说3秒之内有第二个的话,那时间存储可以用1个变量,根据b的不同值给不同的变量赋值

2 可以扫描到
WINCC直接读取PLC累加的值,然后判断是不是等于3,再进行赋值,

提问者对于答案的评价:

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

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

相关推荐

  • Wincc项目管理器-服务器不可用,无法创建和打开项目

    Wincc项目管理器-服务器不可用,无法创建和打开项目 最佳答案 计算机名是否改过?如果改过名,需要在SQL Server 管理器中,将以前的SQL示例释放掉,…

    SIMATIC WinCC 2020年11月1日
  • WinCC 如何给字的某一位置位

    使用WinCC的时候,为了节约点数,把需要控制的设备打包后组成一个控制字,我应该如何给这个字的某一位置位?比如,给MD400的第一位写1,应该如何实现?是用SetTagDWord命…

    SIMATIC WinCC 2019年6月11日
  • wincc与S7 200 PLC通讯问题

    我在做wincc v6.0与S7200PLC通讯时,出现这样的问题,把102个变量放在一个画面中,其中有一半变量是浮点数,有时往PLC中写数据,1-3秒数据就可以刷新完成…

    SIMATIC WinCC 2019年6月11日
  • wincc画面弹出

    总提示画面中错误,然后提示的画面名已经不存在与画面编辑器中了,这是为什么? 最佳答案 在WINCC项目文件下,GraCS文件夹下,有一个“Convert.log”的文件,右键选择打…

    SIMATIC WinCC 2021年7月5日
  • wicc flexble 2008

    我用wicc flexble 2008打开protool文件时出现下面提示,无法打开项目 c:\…….\wicc flexble&n…

    SIMATIC WinCC 2019年6月11日
  • wincc占用端口

    wincc变量占用的端口是多少内部变量协议端口s7协议端口MODUBS TCP协议端口net协议端口等 最佳答案 通过TCP和UDP传输数据时,不同类型的服务用到了哪些端…

    SIMATIC WinCC 2020年11月1日
  • WinCC的CS结构问题请教??

    不好意思,之前单机版的Wincc用过,但CS架构的不了解,所以特来请教。1、看到有个帖子专家说,Server上,如果是单服务器站需要wincc server授权和winc…

    SIMATIC WinCC 2021年7月5日
  • wincc打开画面编辑时出错

    如下图所示,通过图形编辑器打开画面进行编辑时出错,先是显示系统找不定指定的文件(图1),点击确定后显示图2所示错误,最后甚至整个wincc都卡住,通过任务管理器结束进程,重新打开w…

    2020年11月1日
  • 触摸屏和PLC或者电脑都通讯不上

    HMI型号是KTP700 今天我连了一天连不上  同网段 电脑PING就显示拒绝访问 PLC与电脑相连就是#####,求助怎么解决…

    SIMATIC WinCC 2021年7月5日
  • oRs=oCom.Execute 此步不执行

    下面是一项目函数,在按钮中调用;将其数据显示到listView控件中,但是程序执行到oRs=oCom.Execute处就停止了 是怎么回事 ?Sub …

    SIMATIC WinCC 2019年6月11日