工厂PLC编程实例,手把手带您编程控制带限位的小车
原创不易,希望大家点赞并分享,您的支持是我坚持下去的动力!
昨天发了一篇文章,关于一些西门子软件和手册的下载链接以及如何去西门子找软件和手册。不知道为什么头条没有推荐,想要软件的可以去找文章。
我说过,学习PLC最好的方法是做项目;电气从业者人生中第一个项目百分之九十以上做的都是小车,因为小车比较普遍,相对也容易一点,但容易不代表没有难度,更不代表不可以深入学习,这篇文章我带您做普通电机带限位的小车项目,之后会在这个项目上拓展,比如用变频器控制,用伺服电机控制,以及如何结构化编程;结构化编程的意思是做出一个功能块,在功能块内做连锁,然后在功能块外连接地址,优点是程序内有多个同样性质的设备时,只需要做一个功能块,多次调用即可,为程序减少很多负担,排查故障时也容易,一些大型公司(比如说西门子,西马克等等),他们会花费很大的精力建功能块库,在以后编程的时候,只需要复制调用链接地址即可,非常方便,而且结构化编程也是高级电气工程师的必要技能。
大家有什么意见可以给我留言,只要是好的我都会采纳。
我们来看下今天的项目;使用PLC控制一辆小车在两个工作位之间运动,要求;
1 工作位要有限位,车辆不可以跑出限位外。
2 小车要有安全装置,安全装置包括前后急停限位,小车上有急停开关,发生意外时可以手动急停。
3 小车上有控制箱,在箱上做按钮操作,不需要没有远程功能。
4 小车运动时要有状态指示。
根据上述功能,我们选择使用西门子S7-200smart的ST60PLC,先制作出IO点。
输入点为:
1 前进指令按钮I0.0
2 后退指令按钮I0.1
3 停止按钮I0.2
4 急停按钮I0.3(考虑安全,选择常闭的触点)
5 复位按钮I0.4
6 1#工位限位I0.5(光电开关,接近开关或者碰撞开关)
7 2#工位限位I0.6(光电开关,接近开关或者碰撞开关)
8 电机前进急停限位I0.7(光电开关,接近开关或者碰撞开关)
9 电机后退急停限位I1.0(光电开关,接近开关或者碰撞开关)
输出点为:
1 电机前进输出Q0.0
2 电机后退输出Q0.1
3 故障报警灯Q0.2
4 前进状态指示灯Q0.3
5 后退状态指示灯Q0.4
6 1#工位限位指示灯Q0.5
7 2#工位限位指示灯Q0.6
控制思路;
按钮控制普通电机正反转,正常情况下,小车行走在限位范围里,出现超出设定位后碰到紧急停车限位或者手动拍下急停时,考虑安全问题需要确认后才可以继续工作。
电气图纸如下;
主电路图纸
PLC输入图纸
PLC输出图纸
程序;
第一步编写符号表
第二步编写程序
程序说明;
第一行;急停和前后急停限位都属于故障停车,故障停车发生时需要人工确认并手动复位后才可再次动作,所以需要做置复位,且置位优先,置位优先的意思是置位指令和复位指令同时激活的时候,状态为置位。
第二行;工位限位做指示灯,以便操作人员可以方便的看到小车到达目的地。
第三/四行;运行连锁,在没有停止,没有到达目的地,以及没有故障的前提下按下前进或者后退按钮,小车即可运行,前进和后退属于电机正反转,切记正反转需要做互锁。
好了,这篇文章就写到这,大家有什么问题,意见或者对下篇文章有什么样的期待与拓展可以给我留言。
(如果喜欢这篇文章,请点赞并关注,更多原创的工业应用以及PLC学习的文章等着你)
S7 300PLC之旅——复盘“运料小车程序”,聊一聊PLC编程
在之前的《S7 300PLC之旅——举个“栗子”,阐明几个问题》一文中,曾经提到过运料小车的控制问题,今天再稍加完善,详细聊一聊PLC编程的问题。
小车的运行过程如下:
假设,有一台运料小车,负责把物料从待加工位(定义为LoadPosition)通过固定的行程运往加工位(定义为UnloadPosition)。运料小车由四个限位行程开关标定其位置,分别为:高位HighPos、低位LowPos、起始位LoadPos以及结束位UnloadPos。同时,新增一个小车等待位:HomePos,用以标记小车待料时的驻停位置。另外还有两个占有信号(Pos1_occu,Pos2_occu)分别标定LoadPosition和UnloadPosition两个位置是否有物料。它的执行流程如下:
1、运料小车驻停在Home位,等待接料,此时HomePos=1,LowPos=1;
2、当LoadPosition位有物料,即Pos1_occu=1时,运料小车回行接料,直到LoadPos=1时,小车停止回行;
3、运料小车开始上升接料,直到其高位HighPos=1时,停止上升;
4、上升到高位后,运料小车判断Pos2_occu是否为1。如为1,说明加工位仍有物料,运料小车进入等待状态;如果Pos2_occu=0,则加工位空,运料小车带着物料往加工位前进;
5、当UnloadPos=1时,证明运料小车已到位,停止前进。同时,开始下降,卸载物料;
6、当LowPos=1时,小车下降到位,然后回行;
7、若回行过程中,Pos1_occu=0,即接料位无物料,则小车回行至Home位待料;若Pos1_occu=1,即接料位有物料,则小车直接回行至接料位接料,如此往复。
在现场布线、硬件组态等工作完成后,还需程序员根据现场控制需求编写合适的程序,PLC才完成控制功能。这里,我们以上述运料小车的控制流程,来讨论一下控制程序的编写和调试。
一、编写符号表
在正式编程之前,应该首先根据控制要求和硬件组态编写合适的符号表,符号化后的变量会提高编程效率,同时也极大的方便了后期的维护工作。图1为编好的符号表。
图1 符号表
二、绘制程序流程图
运料小车的控制流程为循环的顺序控制,绘制顺控流程图有助于理清编程思路,减轻编程负担。图2为运料小车的顺控图。
图2 小车顺控图
三、编写程序
建议现场各被控设备的控制程序都编写在FC或FB中,然后再根据现场设备动作步序在OB1中调用合适的FC或FB,从而完成控制要求。
为方便讨论,这里对运料小车的控制做了抽象与简化,比如,在实际应用中,一般都会有自动/手动控制,有急停、快停等各种连锁、互锁条件,这里我们仅讨论自动顺序控制。其程序如下:
图3 小车回行
图4 小车上升
图5 小车前行
图6 小车下降
小车的控制程序由以上四段构成,一来程序比较简单,二来篇幅所限,暂时不做深入分析,有兴趣的小伙伴可以根据顺控图捋一捋,如果需要的话,驼子也可在下一篇中进行深入分析。
四、提几点建议
1、变量的符号名最好有实际意义,能从字面上了解其指代的设备或功能。如I0.2的符号名为“UnloadPos”,仅从字面上就可知其代表的是卸料位;
2、尽量习惯用英文编写变量以及程序注释,驼子我的英语水准很差,但仍坚持用英语编程。虽然现在STEP7支持汉化,但很多技术资料仍然是英文的居多,用英文编程可以培养自己的语感,长久坚持下去,在查阅英文的技术资料时会受益匪浅的。
相关问答
plc起跑停怎么编程?
在PLC编程中,实现起跑停的功能可以通过以下步骤完成:首先需要定义输入信号用于启动和停止控制,然后编写逻辑程序,当启动信号激活时,输出控制信号启动设备;...
plc编程没有思路怎么办?
思路嘛其实也并不难,你输入的是一个设定值和一个斜坡时间两个变量,另有一个变量是当前输出值,一个变量是当前计时时间,一共四个变量,对象模型就是在本次扫描...
PLC编程需要什么配置的笔记本-ZOL问答
如果是西门子PLC编程需要设置PC/PG接口。以太网通信需要设置IP有用(0)回复xiamilijiani现在市面上买的都可以,我五年前买的西门子的软件都能跑,CAD别装太...
欧姆龙软件编程的梯形图后怎么样上传到plc里-ZOL问答
1、硬件准备:将PLC用编程电缆和电脑连接,并安装电缆驱动(USB的要,串口不要)。2、软件准备:在编程软件中通信设置PLC类型、通信类型中toolbus,选择所要连接的串...
PLC编程逻辑思维不行,怎么锻炼?
5.学习其他编程语言:学习其他编程语言,如C语言、Python等,可以帮助提高编程逻辑思维能力,对PLC编程也有一定的借鉴作用。4.参与项目实践:参与实际的PLC项目...
plc编程步骤方法?
常用的PLC编程方法有经验法、解析法、图解法。经验法:即是运用自己的或别人的经验进行设计,设计前选择与设计要求相类似的成功的例子,并进行修改,增删部分功...
西门子的PLC怎么编程?
需要准备的工具:西门子PLC编程软件,电脑。1、计算机系统应用语言在“控制面板”(ControlPanel)的“区域与语言”(Regionandlanguage)中确认。2、单击...
plc程序化简的口诀是?
在PLC(可编程逻辑控制器)编程中,有一个常用的简化程序的原则,可以用以下的"口诀"来概括:KISS原则:保持简单,愚蠢可行(KeepItSimple,Stupid)这个...
PLC编程难学吗?
不难学,plc编程入门基础知识还是比较好学的,特别是对擅长理工科的人来说。plc编程入门基础知识需要先了解继电器控制电路,低压电气的知识要熟练掌握,并会看...
plc编程程序开头要写什么?
1PLC编程程序开头一般需要写入程序的版本号和作者等基本信息,用于标识程序的属性和归属。2这些信息不仅方便程序管理和协同开发,还有利于程序的维护和更新。...