回复:S7-1200程序问题!

土鳖007

  • 帖子

    43
  • 精华

    0
  • 被关注

    1

论坛等级:游民

注册时间:2015-06-02

普通 普通 如何晋级?

发布于 2018-12-25 10:24:30

12楼

展开查看
以下是引用校长123校长在2018-12-25 10:13:43的发言 >11楼

mypulse是bool,大神的程序是不断的将检测到的新值pv寄存到data数组中,按你的循环要求的话,应该再定义一个INT变量data。

if mypulse=1 and mypulse_on =0 then

data:=test_data.data[0];

   for i=0 to 2

        test_data.data[i]:= test_data.data[i+1];

  end_for;

end_if

test_data.data[3]:=data

mypulse_on:=mypulse


以下是引用土鳖007在2018-12-25 09:58:42的发言 >10楼:您好,这个mypulse_o...

引用10楼详细内容:

您好,这个mypulse_on和PV  是怎么定义的。。

以下是引用zhangli0在2018-12-24 21:48:32的发言 >9楼:假设你在db1(test_...

引用9楼详细内容:

假设你在db1(test_data)中中建立变量:data,数据类型是ARRY[0..3]

scl编程

自己做一个上升沿或者用系统的,我自己做一个:

if mypulse=1 and mypulse_on =0 then

   for i=0 to 2

        test_data.data[i]:= test_data.data[i+1];

  end_for;

end_if

test_data.data[3]:=pv

mypulse_on:=mypulse

以下是引用土鳖007在2018-12-24 14:19:27的发言 >:大哥,能贴个简单...

引用详细内容:

大哥,能贴个简单的例子吗,FIFO我研究了几天了,还是不太懂。比如数组ARRY[0..3]里面初始填入1-4,触发一个上升沿数组里面的数字前推一次,循环。


    

    IF #wit THEN

        "FIFO".Top_Elenemt := "FIFO".Elenemt[0];

      

            FOR #i := 0 TO 2 DO

                "FIFO".Elenemt[#i] := "FIFO".Elenemt[#i + 1 ];


            END_FOR;

            "FIFO".Elenemt[3]:="FIFO".Top_Elenemt;  

        END_IF;

       

太感谢了,我自己刚才也试出来了。就是你说的那样!谢谢!

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15093条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。