您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
PLC编程时变量太多,怎么规划地址和便于记忆?
变量,地址,程序PLC编程时变量太多,怎么规划地址和便于记忆?
发布时间:2016-12-08加入收藏来源:互联网点击:
现在很多PLC都支持符号优先的编程方法了! 因此,在定义变量的时候用自己熟悉的符号+设备代号的表示方法是比较好的!
其实,每个人和每个单位的编辑符号的方法不同,但是只要是在一个项目中是比较统一的,且便于编程人员快速读懂程序内容的,都库说是较好的方法!
而且,PLC控制的这些设备,大体上用的比较多的也就那么几类,比如,电机,阀门,气缸,温度信号,液位信号,流量信号等等!因此当你熟知这些设备需要采集的相关点之后,就可以来规划了!
说一下我常用的规划方法:
电机,比如Motor1,motor2,或者M#1,M#2,这样就表示一个大的电机代号,而电机通常也就是启动,停止,运行,故障这些,因此可以用:
Motor1_bRun来表示启动,这里的b就表示bool。
那么Motor1_bStop表示停止,Motor_bOut表示输出控制接触器的线圈,Motor_bTrip表示热继电器跳闸的故障点信号!
当然,其实可以在前边加上i或者o来表示是DI信号还是DO信号,也可以在结尾,比如:
oMotor_bOut表示这个是电机的输出DO信号,iMotor_bTrip表示是电机的DI输入热故障信号!
像阀门的话,也是开关输入信号和打开关闭的输出信号,通常用valve这个英文字面意思直接表示,比如Valve1_bOut,Valve_bOpen,Valve_bClose,前边或者后边也可以加入i或者o表示是di或者do!
气缸的话就是cylinder,因此气缸前进应该是iCylinder1_bAdvance,气缸后退应该是iCylinder1_bReturn这样!
还有就是模拟量的,就以温度传感器来举例,用TE表示温度传感器,比如TE_IntValue,因为模拟量信号输入通常是16位的整数,因此这里是Int,Value就是数值的意思!然后TE_bHAlrrm,这个是温度高报警的一个bool变量,同样,TE_bLAlarm就是温度低报警信号!
就简单说这么多了,总之呢,你给变量定义的符号名已经是能让你清晰的辨认出来这个变量的属性的,比如是DI信号还是DO信号,是bool类型还是int类型,或者是实数real类型!---尽量的表述完整清晰,该用缩写的时候用一些缩写,免得太长了,这样就差不多了!
希望能对你有点帮助,谢谢!
回答于 2019-09-11 08:43:50
我们在编写PLC梯形图时常常会遇到输入信号量较多,特别是对大型复杂的梯形图,梯形图里的变量涉及到十几个甚至几十个的时候我们会感到“力不从心”的感觉。那么当遇到这种情况如何进行规划地址呢?下面针对我编写梯形图时对变量地址的处理的经验来谈谈我的是如何处理的。
现在的PLC编程软件都是具有设置变量表的功能,例如三菱PLC的编程软件GX-WORKS2、西门子(SIEMENS)的博图TIA(PORTAL)软件以及施耐德的SoMachine编程软件都具有建立变量表的功能,我以自己正在使用的施耐德SoMachine可编程控制器编程软件为例来说明如何来规划变量地址。
当我们接到控制任务编制梯形图时,我们都要根据控制要求创建控制变量,这种变量一般设置局部变量和全局变量两种类型,若设置局部变量时就会在程序组织单元(POU)中创建变量表格,在这个变量表格中会有变量(VAR)的范围、变量的名称、变量地址、变量数据类型以及对变量的注释等。在这种软件中变量的地址我们只要变量的范围前缀(I、Q、M)、长度前缀(X、B、W、D)和地址偏移量就可以了,我们的主要工作是为了便于对变量的记忆要给变量定义名称,变量定义名称的原则是“看名知其意”。我们以最熟悉的电机正反转程序为例,我们要在POU中创建6个局部变量,分别给这些变量起名称为PosButton(正转按钮)、NegButton(反转按钮)、 StopButton(停止按钮)、EmergencyStop(急停按钮)、PosRun(正转运行控制)、NegRun(反转运行控制),这些变量名称都符合“看名知其意”的原则。通过对这样的变量命名不管变量有多少都能够很好的记忆。变量命名后只要与相关PLC物理地址相关联就可以对外部负载进行控制了,所以这种软件对变量的命名非常之灵活,不像以前的PLC软件对变量的命名有固定的格式要求很呆板。
通过变量与PLC的物理地址向关联后,我们可以给变量进行注释,如上图所示的那样,然后在梯形图中显示出注释,这样能够进一步对理解记忆变量所对应PLC的物理地址有好处。
以上就是我对这个问题的回答,欢迎大家参与这个话题的讨论,敬请关注电子及工控技术。
回答于 2019-09-11 08:43:50
根据功能去划分
回答于 2019-09-11 08:43:50
这也简单,举个例,0-100用来做伺服数据,200-400用来做保存,500-700用来做其它数据,不是很好记忆吗
回答于 2019-09-11 08:43:50
一种最佳实践是文档化,提前把不同范围、不同用途的变量规划好,可以参考网络上现成的一些企业编程的实践和规范。如果地址空间充裕,可以在不同分区之间提前留好充足的空间。最后,两个可以改进的手段,一是地址空间重构,大部分plc现在都支持一键修改所有变量名/地址的功能(至少西门子有),在编程之后可以集中检查把不规范的地址重新分配,而不是一次一次姑息纵容。二是迭代改进,下一次编程前回顾一下上一次不合理的地方,持续改进。
上一篇:结婚三年离婚,财产如何分割?
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |