回复:我不用iec指令及其他

Mr.huxb

  • 帖子

    28
  • 精华

    0
  • 被关注

    0

论坛等级:游民

注册时间:2022-06-22

白金 白金 如何晋级?

发布于 2026-01-30 18:18:36

6楼

展开查看
以下是引用Mr.huxb在2026-01-19 12:05:21的发言 >0楼

我没有翻阅各PLC指令表的习惯,当然这不是一个好习惯!

在博途中不使用iec指令的原因在于每次均要添加一个背景数据块,一个任务下来,添加了一大堆背景数据块,我嫌烦。

比如边沿识别和计数,我通常就如下做:

REGION 三,局部时钟脉冲

    //--1--SecPules发生器

    #b.SecPulse := "Clock_1Hz" AND NOT #b.SecPulsePre;

    #b.SecPulsePre := "Clock_1Hz";

    //--2--minPulse发生器

    IF #b.SecPulse THEN

        #i.MinuteTimer += 1;

        // 达到60秒,生成分钟上升沿

        IF #i.MinuteTimer >= 60 THEN

            #b.MinPulse := TRUE;

            #i.MinuteTimer := 0; // 重置秒计时器

        ELSE

            #b.MinPulse := FALSE;

        END_IF;

    END_IF;

END_REGION

但是最近我在做一个多种药剂的投加调节程序,一是前馈数据列表有点大,二是要做前馈数据的自动优化(相同工况时输出效果好则替换,不同工况时输出效果好则插补新增)。

最后程序量很大,且是多层调用,我就想呀:

1,这个秒脉冲会不会丢失掉?

2,如果确保计时精度?比如执行扫描到某个子程序时,PLC内部计时已经到了999毫秒或者刚好1000ms,不管多少吧,总之,时间上是存在偏差的,且偏差值不固定,本意是满一分钟才执行一次的程序,但实际执行周期是不足一分钟。

我不知道这样说是否准确,列位是否能理解我的表达。


另,问一下,论坛限制了上传图片的像素吗?只能200*200吗?

会产生计时误差吗?

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1500系列

共有11094条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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