设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
PLC程序设计之——控制模型篇(一)
返回列表
发新帖
[AB]
PLC程序设计之——控制模型篇(一)
[复制链接]
87195
|
0
|
2024-9-15 18:25:05
|
显示全部楼层
|
阅读模式
昨天是感恩节,晚上9点多,有个版主在群里说了句:有些亲11点多还在回帖,发帖。真的感谢!小编早上一看,还真有亲晚上11点了还发了这篇贴子。
真的很感谢大家,有你们的陪伴一路才精彩!
首先声明一下,这里讲的观点只是个人的一些见解,并不是来自什么权威或标准,只是交流和学习。
在高级语言里有面向对象的编程思想,虽然PLC程序的开发环境与高级语言不同,但是编程的思想是可以借鉴的。这里要讲的内容就是与面向对象的编程思想有关,在PLC进行编程的时候,讲被控制的设备称为控制对象,每个控制对象有自己的方法和属性。高级语言里将差别较大的对象分成类,我们做plc程序的也可以将自己的控制对象分成类。比如电机、阀门、仪表等。
如果要实现面向对象的控制,首相要做的就是建立控制模型,在西门子的控制系统中叫功能块(FC或FB),在AB的系统中叫自定义指令(AOI),其实就是一段重复使用的程序段。
哪些设备可以做控制模型呢,把我一个原则:做对象控制模型是为了减少重复代码的编写,使程序的结构清晰易读。比如对仪表的模拟量处理程序、对仪表的通讯程序、电机驱动类设备(如风机、水泵、通用机械设备等)、阀门(气动阀门、电动阀门、液压阀门等),也可以将多个设备做成一个控制对象,比如罗茨风机和出口阀门,由于风机和阀门是联动的,可以将其看作一个整体,阀门和罗茨风机的内部连锁在控制对象内部实现,外部程序只将其作为一个整体起动或停止。
面向对象的控制一定要有控制单元的概念,将程序分割成不同的小单元,每个小单元完成一个完整的工作,比如自来水厂的超滤膜净化车间的控制系统,超滤膜过滤需要定期反冲洗,与其配套的设备有水冲设备、气冲设备、抽真空设备、压缩空气设备、加药设备、循环设备、中和池、排水池等,我们在做程序规划的时候将其分成功能不同的单元水冲系统(包括反冲洗水箱、补水增压泵及阀门、反冲洗调节阀)、气冲系统(罗茨风机及气动阀门)、抽真空设备(抽真空装置及抽真空控制阀门)、压缩空气(空气压缩机、干燥剂及压力仪表)、加药设备(NaOH加药阀及加药泵、HCl加药阀及加药泵、Na2SO3加药阀及加药泵、NaClO加药阀及加药泵、流量计等)、循环泵(循环泵及阀门、抽真空阀门)、中和池(排水泵及阀门、循环阀、液位计、pH仪表)、排水池(排水泵及阀门,液位计),先将各个单元的程序做出来,然后用主程序将其串联起来,就组成了打的程序。当然单元里还可以再细化,比如将水泵和出口阀门作为一个控制单元。
感觉说的有点离题了,本来是要将控制模型的,结果讲到了程序结构上去。
在工业领域设备的种类很多,比如常用的风机、水泵、皮带机输送机、螺旋输送机、破碎机等等,我们做控制模型的时候尽量用一个模型控制多个设备,但是事物都有两面性,我们也不能为了让我们的控制模型能够适用于所有的设备而将控制模型做的太过复杂。把握的原则就是模型尽量的简单,同时能够适用的控制设备尽量的多,这两者是相互矛盾的,我们采用这种的办法,就像刚的硬度太高就容易断,韧性太高硬度就会下降一样。
今天带我们做一个电机驱动类设备的控制模型:命名为:Common_Motor.
下图为电机控制原理图:
根据电气原理图,与PLC相连的控制点有
1、备妥信号。(断路器合闸信号和远程信号串联)
2、运行状态信号输入信号。(取自主回路接触器常开触点)
3、故障信号输入信号。(热继电器过载信号与断路器故障信号并联)
4、运行驱动输出信号。(PLC输出信号到电气柜,驱动电机运行)
以上是一台电机控制最基本的信号输入和输出。
除了以上信号,还要考虑:
1、PLC内部手动和自动切换。
2、通过上位机或触摸屏手动起动和停止。
3、根据程序自动起动。
4、起动超时。(有可能主回路没有得电,必须做一个起动超时的报警输出)
5、外部停机条件(比如急停按钮、皮带的拉升开关等)
好了目前为止基本可以确定控制模型的输入和输出:
输入:
1、备妥
2、运行
3、故障
4、手动/自动
5、触摸屏或上位机起动
6、触摸屏或上位机停止
7、自动程序的起动和停止
8、起动超时定时器
9、其它停机信号
输出:
1、起动信号输出
2、起动超时
根据以上条件开始建立自己的控制模型。
下面的程序是利用AB的logix5000软件做的,首先建立一个自定义数据类型或者叫结构变量,包括之前说的所有输入输出变量,如下图所示:
然后定义AOI(用户自定义指令)程序,
调用程序:
在符号表中监控程序:
未完,待续……
因微信尺寸限制,看不清楚图片的亲们以及想参与讨论的亲们可以点击左下角“阅读原文”查看原文,并关注后续哦~
注:本文版权归中国工控网技术论坛网友AncientSword所有,如需转载,请注明出处及作者。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
wangxianglin
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』