回复:【万泉河】好的PLC程序和坏的PLC程序的比较标准

工控一良

西门子1847工业学习平台

  • 帖子

    40
  • 精华

    1
  • 被关注

    3

论坛等级:游侠

注册时间:2018-04-01

普通 普通 如何晋级?

发布于 2018-05-12 04:35:41

84楼

展开查看
以下是引用Haohaobb在2018-05-11 21:22:24的发言 >81楼

当前的程序考虑是基于一种设备的动作流程,按功能和部套进行分块做的程序,上下相关功能之间需要动作的衔接,有些标志和数据,需要彼此判断;不同部套之间的动作也需要衔接或者互锁,也需要彼此信息的获取,放到一个udt为了减少接口数量,当然,如果全是bool的标志位,可以用word之类的代替,但是按位使用时,只能根据序号或者地址使用,不便程序解读;个人是如此考虑的,也是借鉴了别人的一些地方。

以下是引用万泉河在2018-05-11 20:22:12的发言 >80楼:我不太能理解为什么...

引用80楼详细内容:

我不太能理解为什么要在接口上放那么多UDT?

意义何在, 优点何在呢?


以下是引用Haohaobb在2018-05-11 17:22:19的发言 >75楼:简单说一下自己从业...

引用75楼详细内容:

简单说一下自己从业6年来的变化,

自己所负责的设备,第一版的程序大都是用的m,然后在整个程序段内跳转,程序块大多是fc;而且符号名都是中文的,定时器也都是用的s5定时器;

当时基于两点考虑:

  1. m区,从读写速度来说,有一定优势,而且cpu定了,m区大小就在那摆着,不用也是存在的;

  2. 自己所负责的设备是比较接近单机设备,程序的复制都系统性的,感觉不怎么需要考虑程序块的跨项目移植便利性。


后期,虽然还是那种设备,但是种类和功能有些变化,随着plc的升级换代,型号也变了,甚至编程软件都换了,有的客户还要求ab,三菱啥的,才发现这种思路还是有极大局限性的。


如今改了,写程序先考虑独立的程序块,设计阶段最基本的原则是程序块内尽量无全局变量,而且接口大都是udt,边沿触发使用内部静态变量,定时器使用iec,多重背景数据块,必要的话只把定时时间放到接口上,块与块之间的交互,建立db,中转,偶尔几个会用m的还是。


拿到一个新的设备,驱动器、编码器,首先是查资料找报文,写成独立的程序块,如此下来,程序的独立性和可移植性的确提高了。打开ob1,就是一堆的fb、fc调用。需要增加什么,首先考虑的是增加程序块的接口。无论之后的外设是啥,接口留好了,随便怎么外面是啥东西啥地址。


要说带来的变化,同一型号cpu,功能上增加不多的情况下,原来的扫描周期是5ms,现在大概加了1倍,原来128k的卡够用,现在得用512的,好像西门子也不卖256的,现在换1200/1500了,选型就另说了。

好程序应该是一个结构化的呈现,它首先要与物理世界相对应,然后在数据维度加以考量,如图:

 

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

网友专栏

共有3364条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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