这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 工业控制与自动化 » PLC程序的建模目的及工具

共1条 1/1 1 跳转至

PLC程序的建模目的及工具

助工
2019-01-16 10:23:23     打赏

PLC编程是用来实现一定的动作来完成工艺的要求。当这个工艺比较简单的时候,简单的一段文字就可以描述了,拿着这段话就可以将PLC程序完成,将这段文字将给别人听别人也能听得明白。比如:打开电动阀向反应罐灌水,到达液位开关位置后关闭,然后打开温控加热30分钟关闭。

可复杂的工艺就不行了,比如工厂里一个流水线的动作,每个设备有自己的动作,各设备之间又有关联,如果用文字来描述恐怕要几页纸才能写的下。更费劲的事, 拿着这段话很难理清各个动作之间的逻辑关系。如果拿给别人看,有没有耐心看完不说,由于文字描述的不确定性,恐怕不同的人对文字还有不同的理解。所以我们 要建模。

建模的目的就是为了清晰的描述工艺过程,帮助我们来记录、转达、编程。PLC编程,或者说广泛一点叫逻辑动作编程,由于产生的比较晚,所以对它的建模大多借鉴其他学科已有的工具。比如状态转移图早已在动态系统描述中使用,时序图是在数字电路中有广泛应用,继电器电路中有通电表。这些方法都被拿来做PLC程序的建模工具,或者叫离散制造业过程建模工具。

由于这些不同的建模工具有自身的特点,所以它各自有适合的对象。比如时序图更加适合描述对时序有严格和复杂要求的控制对象。通电表更适合描述顺序执行并且步骤很多的对象。

接下来我们先看一个例子,就是路口的红绿灯,然后用这个例子来展示这几种不同建模工具的特点。

1.交通灯示意图

2.交通灯控制要求

3.PLC程序。这里明白意思即可,不再详细列举。

通电表适合描述顺序执行的逻辑动作。它最早来源于研究继电器电话。继电器电路是典型的异步时序逻辑,只不过是用硬件实现时序和逻辑。PLC用软件实现时序和逻辑,但是这种分析方法是通用的。

一个典型的通电表如表。当然使用者可以根据需要和自己程序的特点加以修改,比如在节拍序号前再加入上一级的序号。它的每一列记录着所有输出 和关键内部变量的状态,每一行代表当前节拍的动作。我们可以自由的定义变量的状态,比如数字量就用ON/OFF,或直接画O和X,模拟量可以直接写入数值。

这里的序号类似STL中的状态。输入1输入2是当前状态的触发条件,当然也许本状态是由内部变量如定时器触发。


也可以直接将某一状态的触发条件和终止条件单独列出来。通电表的具体形式多种多样,完全根据需要来。通电表的优点:由表格来描述时序和逻辑,过程清晰,并且可以一目了然全局变化。易于分析和交流。它的缺点也很明显,如果输入输出太多,它将是非常庞大的一张表。

回到我们的例子,交通灯的输出是东西和南北向的红黄绿灯。由通电表描述就是这个样子的:

把控制逻辑用这张表表示出来,谁都能看清楚,谁照着这个表去编程序都不会弄错。

状态转移图(Sequential Function Chart )是IEC规定的标准PLC编程语言,同时它也可以作为一种建模工具。由于它已经被很多PLC所支持,如三菱小型机,西门子S7-300因为用来描述工艺流程具有天然的优势。

它的描述方法与通电表类似,可以理解为通电表就是以表格形式书写的状态转移图,也可以理解为状态转移图是以类似流程图形式书写的通电表。由于采用了箭头和 圆圈来做标记,它的描述能力大大增强了,也更加直观。可以方便的表示跳转、分支、并行,这是采用表格形式在形式上所不能很好的展现的。

当工艺很复杂时,每个状态所要驱动的负载很多,势必要画一张很大的状态转移图,前后逻辑就变得不直观了。但对于简单的工艺,用状态转移图还是很直观方便的。

流程图大家都很熟悉了,它能很清晰的描述顺序动作,对分支、循环也有很好的处理。

如果跳转比较多,这种状态转移图还是很合适的。这种状态转移图更多的用在软件工程中描述状态跳转。

看到这个是不是很熟悉,当年学数字电子肯定画过这样的时序图。优点可以精确描述时序,缺点搞不清各个输出之间的联想。

这些共同的缺点是,当控制逻辑比较复杂时,图标会画的比较大,看起来瞻前不能顾后。实际中可以灵活运用,对各个子程序分别建模。碰到顺序执行的逻辑,可以写通电表;碰到跳转多的,用转台转移图;有对时序要求严格的就用时序图。各个子程序之间互相跳转,子程序进入有参数初始化,退出时有参数复位。这样再复制的程序也不怕了。


文章及配图来源:中华工控网博客-PID, 反馈控制与工业自动化





关键词: PLC;建模    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]