plc怎么编程伺服控制器(如何学习可编程逻辑控制器)
plc怎么编程伺服控制器(如何学习可编程逻辑控制器)西门子做PLC已经有40多年了,目前最新的产品家族为SIMATIC S7。西门子针对不同的市场需求推出了不同的产品系列,如高端的S7-1500系列,中端的S7-1200系列,低端的S7-200 SMART(以下简称SMART)系列。这要从西门子PLC的产品家族开始说起。一、 选型及成本推荐:SR20推荐理由:
在知乎上,这是一个浏览量高达443600次,被2652人关注的问题。在众多答案里,西门子PLC产品专家为大家分享的学习心得,不仅受到了众多知友的点赞,同时也被知乎联合中国科普博览、中国科学院物理研究所等机构开启的「致知计划之科学季」活动收录。
接下来,就将这篇干货满满的科普文章分享给你。
学习西门子PLC没有想象中那么难,一句话可以总结为:对初学者来说,600多块的SR20就足够用了,组态软件免费,西门子官方网站还有免费的视频教程。
如若详细展开,就涉及到PLC的硬件组成、编程软件、系统指令和程序结构等复杂的内容。接下来,我将从PLC的选型、PLC入门及PLC拓展模块和进阶等方面介绍PLC的学习要点。
一、 选型及成本
推荐:SR20
推荐理由:
这要从西门子PLC的产品家族开始说起。
西门子做PLC已经有40多年了,目前最新的产品家族为SIMATIC S7。西门子针对不同的市场需求推出了不同的产品系列,如高端的S7-1500系列,中端的S7-1200系列,低端的S7-200 SMART(以下简称SMART)系列。
对初学者来说,从SMART系列入门是最合适的。
SMART是西门子针对中国市场研发的新一代PLC,被广泛应用在包装、纺织、机床、食品、地铁等众多领域。它能够有效地提升设备性能和降低成本,性价比非常高,也非常可靠。
SMART主要分为ST和SR两大系列,这两个系列都能在电商平台上购买到。SR系列ST系列最主要的不同是,ST系列可以接收/输出高速脉冲信号。所以ST系列可以应用在运动控制,常见的包装产线,目前热门的机械手臂等领域。大家在学习阶段一般是应用不到这些功能的。而且ST和SR在编程和使用上是没有区别的,它们之间相互通信也非常容易实现。
在SR系列里,对于初学者,我重点推荐SR20。
理由1:性价比高,在各大电商平台的西门子经销商处都能买到,价格只要600多块
理由2:组态软件免费,学习和迁移成本低
SMART系列的组态软件(即通俗意义上的上位机)是STEP 7-Micro/WIN SMART(简称Micro/WIN),在官网上可以免费下载免费使用的,点击可下载。
Micro/WIN的设计理念和前面提到的另外两个高阶PSC系列,S7-1200和S7-1500的组态软件TIA Portal是一脉相承的,也支持和S7-1200 ,S7-1500之间相互通信。如若以后需要学习西门子的中高端PLC产品系列,学习和迁移的成本是非常低的。
SR20 PLC的真面目
接下来,带大家看看SR20 PLC的外观。
工位旁的机架上的PLC(拆掉了正面面板,不影响使用)
工位旁的机架上的PLC(拆掉了正面面板,不影响使用)
- 蓝色的线是Micro/WIN和PLC通信的网线
- 上面一排端子是信号输入端子和供电端子
- 下面一排段子是输出端子和给扩展模块的供电端子
- 左下方是RS485接口
- 左右两面还有一些标识信息,如订货号、FS号等
总结一下,学习PLC的成本 :
1. 购买SR20:600多元
2. 组态软件免费
3. SR2可以直接使用220V电源供电,也可以使用24V电源。从安全性的角度考虑,建议使用24V电源
我曾经用一个SR20加一些外部设备,打造了一个全自动化的小型灌溉系统,总成本不超过1000元。感兴趣的知友可以在后文看到简单的设计方案和接线方式。
二、 PLC入门
PLC是一个集成度非常高的系统,在实际工作中,可能只有部分功能被用到,但在学习时,需要全面了解下PLC的功能。SMART PLC就是一个非常好的入门系列,刚才我们提到了,SMART PLC的操作工具是Micro/WIN。所以学习SMART PLC就是学习Micro/WIN。
我们内部也会交流SMART PLC的学习体会,大家普遍的感受是,SMART系列的学习成本非常低。我们在设计SMART PLC的功能时,会把易用性作为首要考虑的因素,即使没有编程经验,也能在短时间熟悉使用PLC产品的绝大部分功能。
性价比高,好上手,可靠,这就是SMART系列在中国如此成功的原因之一。
关于PLC究竟要学些什么内容,市面上有很多关于SMART PLC的书籍,在此不作赘述。而关于Micro/WIN 的操作方法教程,以下网址也有入门操作的视频课程,全部都是免费的。
作为西门子PLC产品的研发人员,长期接触PLC,有几个高效学习的小技巧分享给大家。这些小技巧很容易被忽视,大多数工作几年的PLC研发人员可能也不知道,但这些技巧对于初学者又非常重要。
● 设置PG/PC接口
在初次安装Micro/WIN时,需要设置PG/PC接口。SR/20集成了标准以太网口,可以使用PC物理网卡和PLC直接通信,所以无需购买昂贵且传输速率不高的PPI线。
PG/PC接口是什么呢?很多刚接触西门子PLC的同学会有这样的疑惑,PG/PC其实指的是电脑,说到这里,还有个PLC“被迫改名”的小故事。
上世纪70年代,PLC还不叫PLC,叫PC,原文为“programmable controller”意为“可编程控制器”;但后来居上的个人电脑(Personal Computer)也被简称为PC,两者容易混淆,于是可编程控制器只好“被迫”改名,在“programmable controller”加入了”Logic”这个单词,成为“Programmable logic controller”,简称PLC。而PG原文为”Programmer”, 汉语意思为”编程器”,其实指的就是电脑。
接下来在Access Point of the Application这里选择MWSMART,意为我们需要给Micro/WIN连接PLC设置一个网络接口,在列表中选择有线以太网口。
● 连接设置PLC
在连接CPU的时候,先选择通信接口,这里选择物理网卡,跟上面设置PG/PC作用是一样的。点击”查找CPU”,SR20就会响应指令然后将识别信息发送给Micro/WIN。
选中SR20点击确定后,Micro/WIN和PLC建联成功。然后通过”编辑”可以给PLC设置身份信息,通过”闪烁”指示灯可以让PLC的LED灯交替闪烁。
这里需要说一下,对SMART来说,”CPU”和”PLC”是同一个东西,不必疑惑。
● 查看、设置更多信息
连接上PLC后,就可以开始操作PLC了。
很多人都不知道时间设置在哪里,在“PLC”菜单栏”中选择”设置时钟”就可以设置时间了。
设置时钟的操作一般只需要在初次连接PLC的时候进行,PLC内部有独立的时钟,可以断电保持7天。PLC在运行中也会实时纠正时钟误差,即使连续运行几年,误差都不会超过2秒钟。在小型PLC中这是一个非常高的精度。
在自动化系统中,我们需要经常操作的一个步骤是,检查系统当前是否正常运行,性能状况如何,是否有警报信息。这些都在“PLC”菜单下的“PLC”功能块里面。
在PLC的调试和运行过程中,我们会经常打开这个界面,检查PLC的运行情况。
● 调试模拟PLC
调试和模拟功能是Micro/WIN非常重要的功能,这个功能非常实用并且操作简单,它可以方便地模拟实际运行过程中无法生成的参数,让操作者能够提前发现程序和配置中的问题,和生成最优的参数,能够有效地降低系统的风险。
但往往一些经验丰富的工程师都不知道或者不会使用这个功能,所以在这里详细地讲述一下。
下面是一个简单的起保停电路的梯形图,通过左边项目树中的”指令”目录可以添加这些指令。
然后,我们把这段程序下载到PLC中去执行下,会发现一些有趣的事情。
下载时,如果还没跟PLC建立连接,Micro/WIN会弹出通信对话框提示先连接PLC。
下载完成后,点击”RUN”按钮,通知PLC开始执行程序。
通过下载对话框可以访问在线帮助手册,它包含了所有PLC编程相关的信息,比市场上所有的相关书籍都更重要,即使是已经操作熟练的PLC专家也需要经常查阅在线帮助手册。
按F1也可以打开这个文档,还可以把这个文档从Micro/WIN的安装目录(默认在C:\Program Files (x86)\Siemens\STEP 7-MicroWIN SMART\Help\S7MicroWinSmart_804.chm))中拷贝出来,方便随时翻阅学习。
下载完成后,可以将CPU设置为RUN模式,Micro/WIN还提供了很强大的调试和观察程序运行的功能,请点击“程序运行”按钮。
蓝色表示能流流通,灰色表示能流未导通。从图上看到,由于I0.0对应的输入端子没有检测到高电平,因此I0.0这个输入印象区的值为0,触点打开,能流就不能流到后面去了,M0.0也没有接通,处于打开状态。
没有给I0.0对应的输入端子接电信号,又想调试怎么办呢?Micro/WIN有一个利器,”状态图表”。
我们写入I0.0然后点击监控按钮,可以看到I0.0的值为0,给它输入一个值1,然后点监控旁边”强制”按钮,再试试看。
可以看到,I0.0被强制为1。PLC不再从输入端子检测电信号,而是读取给它写入的值作为I0.0的值。可以对能访问到的所有内存区执行强制操作,这对调试非常有用。
下面是强制后的程序状态:
M0.0闭合了,取消I0.0的强制再观察,会看到M0.0还是闭合状态,这就是起保停电路的作用。
需要说明一点,当用户处于监控状态时,是无法操作系统块,向导等等功能的。如果点击了某个按钮但是Micro/WIN没反应,这多半都是因为当前处于监控状态。
如下图,再添加两个指令,然后再将它下载到PLC。
然后监控程序运行状态。
当再次将I0.0强制的时候Q0.0立即变为1,同时能听到继电器Q0.0闭合的声音。如果将负载,比如电机、灯泡等设备连接到PLC,那么设备立即会运转起来。
这里再讲一下如何接线:
第一步,将24V电源的正极和SR20的输出端子中的1L连接。
第二步,将负载(如电机)的输入正极和输出端子如Q0.0连接。
第三步,将24v电源的负极和负载输入的负极连接。
如果有多个负载,那么就从Q0.1-Q0.7端子接线。每一个输出端子可以承载最大2A电流,因此切记不要超负荷运行。
另一方面,Q点总共有8个,分成两组,Q0.0-Q0.3,都需要通过1L这个输入端子接到24V开关电源上。如果还需要接更多的负载,那么就需要给2L这个输入端子供电,通过Q0.4-Q0.7和负载连接了。
好了,关键内容就透露到这里,更多的入门课程请前往网站进行视频学习,讲解全面透彻,而且免费。
三、拓展模块和进阶学习
拓展模块
SMART之所以性价比高,是因为它仅仅集成了核心的功能,对于个性化的自动化项目/产品功能,是用扩展模块的方式来实现的,这样客户就不用为不需要的功能买单了。
SMART的扩展模块目录在在线帮助文档里可以查看到。
扩展模块的安装也非常简单,PLC右侧的长方形塑料片是可以抠下来的,后面就是插模块的位置。插好模块后,在“系统块”的EM行中选择刚才插入的扩展模块就完成组态了。
我个人用的最多的模块是AR02,我上面提到的全自动化农业灌溉系统就是用AR02扩展模块实现的。
致用所学
AR02拓展模块是专门为检测温度打造的,价格大约在200元多一点(价格有可能上下浮动)。也无需再购买额外的供电电源,PLC右下方24VDC字样下方的两个端子L 和M可以给它供电。
我又增加了一个大约30元的温度传感器Pt100,接到AR02上面的输入端子中。接线完成后通过AIW16读取实时温度,在程序中根据温度做不同的处理。这样,一个全自动化农业灌溉系统就做好了。
这个全自动化农业灌溉系统简化版本的设计方案如下:
1. 简化版本用到的硬件设备:
- Pt100一个,用来采集实时温度
- AR02扩展模块一个,接收并处理温度传感器的数据
- SR20一个,控制器,处理用户程序
- 24V2A水泵一个
- 水管和喷头,根据实际需要购买
- PVC塑料水管,用于固定水管和喷头(这个不是必须的)
- 24V5A电源一个,给控制器和水泵供电
- 其他如电线,固定PLC的支架等,根据需要选购
2. 接线图:在第二部分已经讲过详细接线方式,简化版本的示意图如下:
3. 程序:
- refresh_schedule,smartlib为生成浇灌计划的库,密码为TIC_new_hope_V 1 3
- magic_lanterns.smartlib为”魔幻彩灯”的库( 可以不用),用来点亮彩灯的程序,按照设计,每天早上6:45-7:00,晚上6:50-7:50彩灯点亮,特殊的节日如情人节、圣诞节,彩灯都会点亮,密码为 TIC_new_hope_V_1_3,将这两个库复制到C:\Users\Public\Documents\Siemens\STEP 7-MicroWIN SMART\Lib目录以便调用。
- tic-r-1-5-7-h.smart是主程序,会调用上面那两个库执行浇灌以及点亮彩灯任务,如果不需要彩灯,删除程序最后一段调用magic_lanterns的代码即可。
此外,我再提供一些思路供拓展训练:
拓展1:不同的植物对水的需求往往不一致,可通过增加水泵和修改程序来对更多的植物浇灌
拓展2:连接制热设备(如暖气炉)而不是水泵,根据空气温度自动调节室内温度
拓展3:PLC可以通过OUC跟任何支持网络(标准TCP/IP)的设备进行通信,如跟PC通信,可以在PC端执行机器学习或神经网络程序(例如人脸识别),将需要执行的动作发送至PLC。
再回到题主的问题,如果想更好的学习PLC,那么一个办法就是,致用所学,大家在学习过程中也不妨试一试。
此全自动化农业灌溉系统仅供抛砖引玉。PLC能够支持非常复杂的功能,如运动控制,高速计数器,Profinet等,这些功能都在Micro/WIN左侧项目树下的“向导”目录中。
当熟悉了Micro/WIN向导下的功能后,甚至可以用SR20打造一个自动化产线。
总结
1.推荐选择SR20作为入门PLC的产品,成本低,易用性强,软件免费,拓展性强。
2.学习PLC,用免费的Micro/WIN软件就可以,线上有帮助手册,官网有免费教程,上文也介绍了常规教程中不常见的操作。
3.有问题可以在西门子官网(从视频教程网页导航至官方论坛)上提问,西门子专家团队会定期回答。
本文作者:西门子工业自动化产品(成都)有限公司嵌入式软件工程师 肖年俊
本文章转自西门子中国