PLC编程时变量太多,怎么规划地址和便于记忆?

道高龙虎俯


辅助继电器M有两类,普通的和掉电保存的,根据需要来选择,在规划地址的时候一段程序或者功能块使用连续的M,从编号0、10、20等开始,中间留有部分以备补充,比如这段用到M206,下一段就从M210或者M220开始。对于并联输出的,LD M72 OR M82 OR M92 OUT Y1,这样把编号的最后弄成统一的便于记忆也方便我们在最后调试的时候好检查。

定时器有不同单位的时间如1ms、10ms、100ms的,也有普通型和累计型的,也是根据需求来选择,向M一样可以根据使用的地方进行规划地址编号。计数器也有普通计数器和高速计数器、16位和32位之分,也有保持型计数器等,同样根据需要来确定,一般高速计数器的使用都是固定的,对应的输入都有固定的计数器。

地址的规划和选择首先要根据需要、功能来决定,然后在PLC编程中所表达的动作进行统一编号,对于PLC的顺控程序,我们尽量在编程时进行段的声明、注释准确如下图,把整个PLC程序分成好几个小段写,每个小段可以写特定的动作组合、部分、功能、意义等,然后地址的规划在每段进行排列,第一段用M0~M100,第二段用M100~M200等等设计,方便我们寻找元件变量,对编程和后期的调试都很有帮助。

还有就是为了便于记忆,我们也可以采用标签对软件变量进行标记,免去注释,比如X0的标签是开始,Y0的标签是指示灯,以后我们就可以直接用“ LD 原点 OUT 指示灯”来表示 LD X0 OUT Y0了,这样就更方便了,PLC中每个变量都可以做标签进行声明。

以上就是在PLC编程时对变量地址进行规划需要注意的几方面,希望能帮到你!


工控人


其实你问的这个,在我刚使用PLC的时候也会遇到,但是理解了PLC的编程思想后,尤其是使用SIEMENS的PLC后,不会有这样的问题。

这里针对SIEMENS的PLC来说吧。

SIEMENS有好多M,MB或者MD也可以使用。但是使用这些变量后,发现程序是杂乱无章的。包括输入输出点。

举个例子:我的程序里面用到了输入输出点,每一个人对输入输出点的名称定义会有出入,例如有一个按钮,输入I1.0,是启动按钮。如果按照IT的那些命名规则,BtnStart,BtnStop。如果一个PLC里面出现多个,程序很难规范。

针对这个问题,EPLAN给出了答案。

在EPLAN软件,项目数据--PLC--地址/分配列表。里面有完整的命名。如下图:

尚未完成的项目。后面备注会是中文的名称。

从中可以看出PLC的输入点,PLC的输出点也会是类似的。

这里面有一个重要的信息。就是这个输入点,对应的图纸在哪里。

对应的PLC程序也是一样的。

对应的报警信息也是一样的:

不仅仅是输入输出的PLC地址,其他总线过来的,例如相机,螺丝刀等,实际上是不需要用对应的IO地址的,会建立块。这次用到一个Cognex相机,会封装一下,对应的接口有总线起始地址,Ready,Running,Result,Start等都封装成接口。一个相机对应一个FB块,一个对应的DB背景块。用到10个相机,就是10个DB背景块。测试一个可以了,其他的也都可以了。

下面是用到的Schmersal带锁安全门程序块。

气缸作为常用的执行元件,会有输入接口和输出接口,手自动,运行报警灯。实际上也是不需要中间变量的,只要有背景块就行了。

时间继电器,自动运行也是需要封装的。

在用到的时候,有一个项目是一条主的流水线,上面有托盘,托盘有RFID号。另外有一条支路,然后在一起装配起来。

建立了UDT,DB块集中这些UDT。如下:

可以看出,从头到尾,压根就没有M变量,更不会有地址的规划。

至于PLC FC块、FB块、DB块每个公司都不一样。最好的方法是按照EPLAN图纸来。例如这个相机,图纸的地址为=ST20.OP40+E-270A1,给相机的FC块为FC270,相机的FB块为FB270,背景块为DB270,另外一个相机地址=ST20.OP40+E-271A1,背景块地址为DB271.

至于图纸,也是有规范的。

当你编程,不再为地址规划,记忆发愁的时候,就算成功了!!



儒拉小镇


其实呢plc编程时,小的程序不用怎么规划变量!但是呢如果要养成好的编程习惯,我们看完图纸之后就应该规划变量,变量一般要分区来做,一般存储区的话一般用v区或者db数据块的区,中间变量我喜欢用m点,也是要分段的,有的m段就用中间变量,有的m段专门用作报警!

总而言之,要规划好点位的使用!并且还要有一定的预留,这样方便以后完善程序!如果做一条程序设置一个中间变量,完全没有规律而言,自己看着都蒙圈!

我们分区分段的好处,在于自己能大概知道这个m是起什么作用的,也方便程序的梳理!

当然了也有人喜欢都用m区或者v区,那么更需要规划了!


电气PLC系统教学


早就有不用规划内存的PLC了!看看施耐德电气的So Machine 平台吧。根本不用管理变量存储空间,支持结构化变量,面向对象编程,让你脱离低层次的编程方式,不再烦心于地址记不住,让你完全进入算法研究,工艺流程,瞬间感觉进入了自由空间!


EzAMC


这也简单,举个例,0-100用来做伺服数据,200-400用来做保存,500-700用来做其它数据,不是很好记忆吗


机械自动化


根据功能去划分


分享到:


相關文章: