回复:全局DB块多用利弊

已锁定

工控老孙

  • 帖子

    165
  • 精华

    0
  • 被关注

    0

论坛等级:侠客

注册时间:2020-06-20

黄金 黄金 如何晋级?

发布于 2021-09-03 14:43:46

9楼

展开查看
以下是引用yzs在2021-09-03 11:08:52的发言 >8楼

为何T会出现BUG或者为何不用T?

在很早很早以前,公司的程序也是使用T的,但是在记录设备运行的小时报表里会发现每隔一段时间(几天),报表记录的运行时间可能就从60分钟跳到61分钟,为何几天就会和计算机的计时相差1分钟这么大的误差呢?这个时候看PLC的说明就会发现长时间计时T的分辨率是10s,而且T的最长定时时间是2h46m30s,需要重复调用T去进行长时间计时这个时候也会产生一个累计计时误差,因此不难理解在长时间的记录很容易产生一个较大的误差。同时因为分辨率是10s如果用于控制也可能因为分辨率的问题产生对控制的影响。

正因为如此,T早就被剔除不用了。你没发现T的问题只能说你对精度等不关心,所以一直用,但一直用并不代表没问题。

最关键的是如果你用了FC定时器,你就不会再去考虑啥IEC和T了。

300 的自编写S_ODT定时器FC块,比程序自带定时器好用多了

以下是引用Mr.小孙在2021-09-03 10:21:44的发言 >7楼:你说的我也是这么做...

引用7楼详细内容:

你说的我也是这么做的,有时候DB也不敢用的太多,想方设法减少DB使用,并且我也很少用M或者基本不用,但是T我用的比较多,特别是小项目,可能思想固化了,觉得自定义一个TON太麻烦,体量庞大,又或者自定义一个TON的FB又会产生很多背景DB或者多重数据块,觉得繁琐又复杂。


我没发现T出现BUG啊,所以基本一直在用。

以下是引用yzs在2021-09-03 08:56:26的发言 >6楼:首先为何推荐不用M...

引用6楼详细内容:

首先为何推荐不用M而用DB,工程经历多了就慢慢自身就清楚了。

使用DB作为通讯及控制的变量也需要进行合理的区分:

比如设备状态及控制的用一个DB,这个DB里每个设备一个Struct,这样每个设备的信号就合理安排好了。

模拟量仪表数据采集及处理的用一个DB,总线通讯的用一个DB,自动控制的用一个DB.....最多也就四五个DB就可以将整个工程合理划分好了。如果你对相关的数据信号做了标准化你会发现你的点表不仅整洁直观好看,而且编程更快,也不会出错。

有些人写程序喜欢啥都用FB,每调用一次程序就生成一个DB,结果就会看起来满屏的DB。这就好比更多的人用WINCC的时候一个界面一张图,一个设备控制窗口一张图,结果就是看起来满屏的图。。。。。。

为何总有人强调标准化,总有人强调这强调那,其实是有他一定道理的。。。

因此在PLC编程中我也是推荐不用M和T的,但我也不反对偶尔使用M和T,这和程序好坏没啥关系。

你这个有点太复杂吧,引脚填写就够头疼了,我尝试过用FC编写TON,内部用add及1s上升沿实现,但需要把上升沿引脚引出来并使用全局DB作为存储区,即使这样我都觉得麻烦,后来才一直使用FB建的TON,但也不经常使用。


并且你这个最后还是必须在FB里使用,嵌套FC里是不起作用的。还不如用FB建个TON,调用时生成多重背景数据块就好。

v信:P3153s1
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15117条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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