电工学习网

 找回密码
 立即注册
查看: 2636|回复: 2

西门子plc初学者入门

[复制链接]
发表于 2020-7-27 10:16:24 | 显示全部楼层 |阅读模式
我也是一个自学plc的,当初为了学PLC,买了各类书籍,看了各种视频。却发现讲的都很专业,晦涩,而自己理解能力薄弱,再加上半路出家,总是不得入门。感叹为什么没有一本通俗化的书本用白话而不是专业的形式讲给我们这些总是不上道的人呢?很遗憾没有发现。论坛里高手如云,我一个入门小弟在这里发这个帖让大家取笑了,只是想满足和我一样学习PLC不像我那么难入门的初衷!
就像电压和电流一样,我们可以理解为一个瀑布。从上面到底下有一个压力差,电也一样就是电压,电流就像水流。让人理解起来更为形象和容易。
在这里我们以200系列开始说起。首先大家要知道一个PLC的工作过程,PLC是怎么工作的呢,它上电以后,就不断的循环处理程序,你写一个程序让它执行,它是不断的从程序的开始执行到末尾,然后又回到开始处再一次执行。每次从开始到末尾的时间称为扫描周期。
所以就像运动员不停的围着一个圆形跑道不停的转圈跑,而你站在跑道的某一处递给它一根接力棒,要求它跑到另一边把这棒子送给那个位置的另一个人。这个时候我们有很多种状况出现了。假如你只想它送一次棒子给对面另一个人,那么你只需要在它跑一圈内送一次就行,这个时候PLC就只在一个扫描周期内执行一次,而如果你每次在它跑一圈到你身边的时候你都给它递棒子,那么它都会把棒子送给对面那个人,那么就不符合只送一根棒子给对方的要求了,PLC是怎么解决呢,就引入P指令,N指令。
下面我们讲讲这个P指令,N指令。有时候我们在传送一个数据时,假如用i0.0的常开点闭合传送一次MW0的数据到MW10。如果我们在程序中写的是||-MOVW VW0 VW10 .||为i0.0的常开点。那么我们来结合PLC的工作过程分析下这个程序。PLC第一次从程序开始执行时,它跑到你这个传送数据的地方,它说哟要我传送一个数据给VW10啊,好吧SO EASY。
等到它执行完程序后又开始第二个扫描周期,又跑到你这个传送数据的地方,它说哟还要我传送一个数据给VW10啊,好吧,小CASE。然后继续往下又到程序末端然后又周而复始。这个时候我们有没有发现什么问题?我们的要求是传送一次就可以了,可是它似乎不听你的啊总是送了一次又一次,要是你让它送一次钱,它还好了一次又一次给你送出去,那还不惨了?但PLC也很冤屈啊,它说我没错啊,每次我到这个地方你就要我做啊。唉呀哥们别生气了,要不你给个P指令,让我知道你是在i0.0的上升沿就让我送数据,然后即使i0.0一直通,我也不送了行不。
这样以后就知道了,我们在写程序时,有些程序我们只希望PLC在一个扫描周期内执行的,就必须给它一个指令让它只执行一次,而有些程序我们希望它一直执行的,就给它一个在每个扫描周期都能执行的指令。把这个理解了,我们就会明白PLC的很多指令的执行结果了。

回复

使用道具 举报

 楼主| 发表于 2020-7-27 10:16:50 | 显示全部楼层
初学者首先认识梯形图和继电器控制原理图符号的区别: PLC入门学习,如何学习plc继电器控制原理图中的元件符号,有常开触点、常闭触点和线圈,为了区别它们,在有关符号边上标注如KM、KA、KT等以示不同的器件,但其触头的数量是受到限制。而PLC梯形图中,也有常开、常闭触点,在其边上同样可标注X、Y、M、S、T、C以示不同的软器件。它最大的优点是:同一标记的触点在不同的梯级中,可以反复的出现。而继电器则无法达到这一目的。而线圈的使用是相同的,即不同的线圈只能出现一次。哪几个基本指令是必须学习的呢?
一、不要重复使用PLC输出线圈
基本逻辑指令中常开接点和常闭接点,作为使能的条件,在语法上和实际编程中都可以无限次的重复使用。
PLC输出线圈,作为驱动元件,在语法上是可以无限次的使用。但在实际编程中是不应该的,应该避免使用的。因为,在重复使用的输出线圈中只有程序中最后一个是有效的,其它都是无效的。输出线圈具有最后优先权。
如图1和2所示。
%E8%BE%93%E5%87%BA%E7%BA%BF%E8%B7%AF%E6%9C%AA%E9%87%8D%E5%A4%8D%E4%BD%BF%E7%94%A8.png
图1:输出线路未重复使用   图2:输出线路未重复使用
1所示,输出线圈Q0.0是单一使用,表示I0.0和I0.1两个常开接点中任何一个闭合,输出线圈都得电输出。
图2所示,输出线圈Q0.0是重复使用,在网络1和网络2中重复使用两次,目的和图1所示一样,要求I0.0和I0.1两个常开接点中任何一个闭合,输出线圈得电输出。
首先需要肯定是图2所示的程序在语法上是完全正确的。但是,Q0.0重复使用的输出线圈中,真正有效的是网络2,网络1是多余的、无效的。也就是说,I0.0无论是闭合还是断开,都对Q0.0不起作用,Q0.0是否得电是由I0.1决定的。
这是因为PLC在一个扫描周期中,PLC输出点的刷新是在程序执行完毕后执行的,在一个扫描周期中,即使I0.0闭
合,I0.1断开,在PLC程序执行网络1时,输出点Q0.0映像存储器为1,在执行网络2时,输出点Q0.0映像存储器又变为0。程序执行完毕,PLC输出点才执行刷新,最终输出点Q0.0失电不输出。同理,在一个扫描周期中,I0.0断开,I0.1闭合,输出点Q0.0映像存储器最终为1,在PLC输出点执行刷新时,输出点得电输出。因此,图2所示的程序中,对Q0.0起作用的只是I0.1。
因此,在PLC编程时,重复使用数出线圈。尽管在语法上是正确的,但是应该避免使用的。
几种置位、复位的方法和比较
位置位、复位操作方法上,有好几种方法,可以直接采用置位、复位指令,也可以采用数据传送指令、表格填充指令,甚至可以采用移位循环指令。
这几种方法在具体运用时,也要根据情况而定。下面用一个范例来讲解他们的不同之处。要求对Q0.0~0.7、Q1.0~1.7十六位输出进行置位、复位。
%E5%A4%8D%E4%BD%8D%E7%9A%84%E6%96%B9%E6%B3%95.png
图 几种置位、复位的方法
在以上几种方法中,除移位循环指令外,其他指令比较好理解。
移位循环指令的方法,置位是对16#FFFF十六位常数左循环16位,送入输出字QW0(由Q0.0~0.7、Q1.0~1.7组成),无论16#FFFF如何循环,还是16#FFFF,16位输出。复位采用对QW0一次扫描周期一次执行16位左移位指令,将QW0中的数据全部移出(如果是带符号位的字,连符号位也移出),输出复位。
在上面的方法中,直接采用置位、复位的方法不仅可以对字节、字、双字中的位进行置位、复位操作,也可以对不成字节、字、双字的位进行操作。而数据传送指令、移位循环指令、填充指令只能对字节、字、双字中的位进行置位、复位操作,其中填充指令还只能对字操作。
比如单单对Q0.0~0.6七个位输出进行置位、复位,采用数据传送指令、移位循环指令、填充指令是很难实现的,此时只有采用直接置位、复位指令的方法。
二、译码指令和编码指令:
译码指令和编码指令执行结果如图所示:
%E8%AF%91%E7%A0%81%E6%8C%87%E4%BB%A4%E5%92%8C%E7%BC%96%E7%A0%81%E6%8C%87%E4%BB%A4.png
DECO是将VW2000的第十位置零(为十进制的1024),ENCO输入IN最低位为1的是第3位,把3写入VB10(二进制11)。
三、数据转换指令
使用数据转换指令时,一定要注意数据的范围,数据范围大的转换为数据范围小的发注意不要超过范围。如下图所示为数据的大小及其范围。
%E6%95%B0%E6%8D%AE%E8%BD%AC%E6%8D%A2%E6%8C%87%E4%BB%A4.png
(1)BCD码转化为整数(BCD_I)
关于什么是BCD码,请参看《关于BCD码》。
BCD码转化为整数,我是这样理解的:把BCD码的数值看成为十进制数,然后把BCD到整数的转化看成是十进制数到十六进制数的转化。如下图所示,BCD码为54,转化为整数后为36。
BCD%E7%A0%81%E8%BD%AC%E5%8C%96%E4%B8%BA%E6%95%B4%E6%95%B0%EF%BC%88BCD%EF%BC%BFI%EF%BC%89.png
整数转化为BCD码(I_BCD)则正好相反,看成是十六进制到十进制的转化。
(2)整数转化为双整数(I_DI)
此问题需要注意的是:整数转化为双整数后,符号位被扩展,因为整数的精度小于双整数的精度,转化后,双整数除了表示整数的数值所占的位外,其余空位用符号位填充。(信息来源:http://www.diangon.com/)如整数45转化为双整数后,基二进制表示为:2#0000_0000_0000_0000_0000_0000_0010_1101,而整数-45转化为双整数后则为:2#1111_1111_1111_1111_1111_1111_1101_0011。
四、填表指令(ATT)
S7-200填表指令(ATT)的使能端(EN)必须使用一个上升沿或下降沿指令(即在下图的I0.1后加一个上升沿或下降沿),若单纯使用一个常开触点,就会出现以下错误:
%E5%A1%AB%E8%A1%A8%E6%8C%87%E4%BB%A4%EF%BC%88ATT%EF%BC%89.png
这一点在编程手册中也没有说明,需要注意。其他的表格指令也同样。

回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-27 10:17:55 | 显示全部楼层
首先,买本PLC入门的书籍,如西门子PLC从入门到精通.
其次,从入门书开始,了解PLC的工作原理,输入、输出工作机制,有些地方看不懂不要紧,看过一遍以后回头再看可能就明白了,期间有不清楚的地方可以在电工技术论坛交流。
再者,看看你入手的PLC的编程软件的操作环境,熟悉一下,基本上安装软件后看看里面的帮助就可以了,帮助讲的很全面;当然,可以参加西门子PLC培训班,有设备可以练习,学完后还是得靠自己在日常应用中熟练掌握。
熟悉PLC后最好跟着做PLC项目,从选型、设计、编程到调试,跟一个项目就熟悉了,后续靠自己提高。
勤学、多交流、PLC并不难。

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

电工学习网 ( )

GMT+8, 2024-4-16 21:44

Powered by © 2011-2022 www.diangon.com 版权所有 免责声明 不良信息举报

技术驱动未来! 电工学习网—专业电工基础知识电工技术学习网站。

栏目导航: 工控家园 | 三菱plc | 西门子plc | 欧姆龙plc | plc视频教程

快速回复 返回顶部 返回列表