看到很多网友问学习PLC的方法, 现将我个人学习PLC编程的心得总结如下,大家有更好的方法请补充:
1.有一定的电工基础-----掌握传感器、接近开关、编马器、气动元件等常用器件的使用及继电器控制原理。
2.再学数制及数制转换-----掌握二进制、八进制、十六进制、BCD码、ASCI码的概念。
3.选择你所在地区流型的PLC品牌做为学习的机种.---------学会后可以更好的与实际工作对接。
4.买台手提电脑(配制不低于CPU最好是双核或以上 ,1G内存,硬盘80G,带串口)----必备学习及外出干活的工具。
5. 学会电脑的基本操作,如开机关机、文件保存以及WORD、EXCEL办公软件的基本应用(电脑使用者必会);常用软件的安装与卸载(如编程软件的安装和卸载);打字(用于程序起名及加注释)。
6.寻找PLC编程软件及仿真软件、教学软件(当然还要学会使用它们)。-----必备学习用具。
7. 买相关书及视频教材(电工论坛有欧姆龙,西门子,松下PLC视频教程直播)。-----学习资料。
8. 找齐该PLC编程手册、使用手册、使用案例,可从网上收集或参加产品推广会获得。----工作中肯定会用到的资料.
9. 以上准备好后,您可以自学PLC了,一般来说PLC梯形图的基本指令好学,其逻辑关系与继电器控制原理图相通。但功能指令就难很多了。
10.最好是到有实力口碑好的学校培训.-----比起自学可缩短学习时间,学得更系统,还可多交恩师、学友以利于今后发展。
11. 用一切办法多结识周围的同行、PLC厂家、代理商,以便于得到他们的帮助及有用的信息。
12. 坚持学习,多与同行交流,多动手实践.-----编程是理论与技能高度结合的,应多看书多实践才能提高编程技术。
13. 当外出包工程时,还要准备该类型PLC程序解密软件------因为有时你会忘记自己程序中已加的密码,还有时是别人加密的程序,客户要你J将它再优化、增加新功能、修改参数、将原来定时停机的程序删除。这也是很多人找解码软件的原因。
轨道交通集团作为世界领先的轨道车辆和相关服务的供应商,其业务范围涵盖了轨道车辆的各个领域,包括干线铁路、地铁和机车、以及有轨电车和轻轨车辆。西门子轨道交通集团整合其在城市、城际和货运轨道交通等方面的优势,为客户提供环保、高效、可靠的轨道交通全面解决方案。在过去的 100 多年间,西门子成功地为中国交通基础设施的发展和现代化作出了贡献。不仅成功参与建设了上海、广州、深圳、苏州、杭州、郑州、宁波和武汉的城市地铁建设,还为干线铁路提供了交流电力机车、高速列车零部件以及维修维护服务。此外,集团还与本地合作伙伴携手不断开拓有轨电车以及城际列车市场。
S7-200的扩展配置2 由CPU224组成的扩展
S7-200的扩展配置是由S7-200的基本单元和扩展模块组成。其扩展模块的数量受两个条件约束:一个是基本单元能带扩展模块的数量;另一个是基本单元的电源承受扩展模块消耗DC5V总线电流的能力。
编址举例
CPU224组成的扩展
由CPU224组成的扩展配置可以由CPU224基本单元和最多7个扩展模块组成,CPU224可以向扩展单元提供的DC5V电流为660mA。
例:若扩展单元为4个16DI/16DO继电器输出EM223模块和2个8DI的EM221模块组成。查得:EM223继电器输出模块耗DC5V总线电流为150 mA,EM221模块耗DC5V总线电流为30 mA,总消耗电流为660 mA,等于CPU222可以提供DC5V的电流,所以这种配置还是可行的。
CPU224 |
EM223 |
EM223 |
EM223 |
EM223 |
EM221 |
EM221 |
I0.0 Q0.0 I0.1 Q0.1 I0.2 Q0.2 I0.3 Q0.3 I0.4 Q0.4 I0.5 Q0.5 I0.6 Q0.6 I0.7 Q0.7 I1.1 Q1.1 I1.2 I1.3 I1.4 I1.5
|
I2.0 Q2.0 I2.1 Q2.1 I2.2 Q2.2 I2.3 Q2.3 I2.4 Q2.4 I2.5 Q2.5 I2.6 Q2.6 I2.7 Q2.7 I3.0 Q3.0 I3.1 Q3.1 I3.2 Q3.2 I3.3 Q3.3 I3.4 Q3.4 I3.5 Q3.5 I3.6 Q3.6 I3.7 Q3.7 |
I4.0 Q4.0 I4.1 Q4.1 I4.2 Q4.2 I4.3 Q4.3 I4.4 Q4.4 I4.5 Q4.5 I4.6 Q4.6 I4.7 Q4.7 I5.0 Q5.0 I5.1 Q5.1 I5.2 Q5.2 I5.3 Q5.3 I5.4 Q5.4 I5.5 Q5.5 I5.6 Q5.6 I5.7 Q5.7 |
I6.0 Q6.0 I6.1 Q6.1 I6.2 Q6.2 I6.3 Q6.3 I6.4 Q6.4 I6.5 Q6.5 I6.6 Q6.6 I6.7 Q6.7 I7.0 Q7.0 I7.1 Q7.1 I7.2 Q7.2 I7.3 Q7.3 I7.4 Q7.4 I7.5 Q7.5 I7.6 Q7.6 I7.7 Q7.7 |
I8.0 Q8.0 I8.1 Q8.1 I8.2 Q8.2 I8.3 Q8.3 I8.4 Q8.4 I8.5 Q8.5 I8.6 Q8.6 I8.7 Q8.7 I9.0 Q9.0 I9.1 Q9.1 I9.2 Q9.2 I9.3 Q9.3 I9.4 Q9.4 I9.5 Q9.5 I9.6 Q9.6 I9.7 Q9.7 |
I10.0 I10.1 I10.2 I10.3 I10.4 I10.5 I10.6 I10.7 |
I11.0 I11.1 I11.2 I11.3 I11.4 I11.5 I11.6 I11.7 |
西门子S7-200 PLC的安装方式、安装环境和安装注意事项
(1)安装方式
S7-200的安装方法有两种:底板安装和DIN导轨安装。底板安装是利用PLC机体外壳四个角上的安装孔,用螺钉将其固定在底版上。DIN导轨安装是利用模块上的DIN夹子,把模块固定在一个标准的DIN导轨上。导轨安装既可以水平安装,也可以垂直安装。
(2)安装环境
PLC适用于工业现场,为了保证其工作的可靠性,延长PLC的使用寿命,安装时要注意周围环境条件:环境温度在0~55℃范围内;相对湿度在35%~85%范围内(无结霜),周围无易燃或腐蚀性气体、过量的灰尘和金属颗粒;避免过度的震动和冲击;避免太阳光的直射和水的溅射。
(3)安装注意事项
除了环境因素,安装时还应注意:PLC的所有单元都应在断电时安装、拆卸;切勿将导线头、金属屑等杂物落入机体内;模块周围应留出一定的空间,以便于机体周围的通风和散热。此外,为了防止高电子噪声对模块的干扰,应尽可能将S7-200模块与产生高电子噪声的设备(如变频器)分隔开。
西门子S7-200 PLC安装:
1.程序家族有哪些成员?
PLC的控制程序一般由主程序、子程序和中断程序组成。西门子的S7-300/400将子程序分为功能(Function,或称为函数)和功能块(Function Block)。
在每一个扫描循环周期,CPU都要调用一次主程序,用户程序必须有一个并且只能有一个主程序。小型控制系统可以只有主程序。
中断程序用于快速响应中断事件。在中断事件发生时,CPU将停止执行当时正在处理的程序或任务,去执行用户编写的中断程序。执行完中断程序后,继续执行被暂停执行的程序或任务。
2.哪些情况需要使用子程序?
当系统规模很大、控制要求复杂时,如果将全部控制任务放在主程序中,主程序将会非常复杂,既难以调试,也难以阅读。使用子程序可以将程序分成容易管理的小块,使程序结构简单清晰,易于调试、查错和维护。
子程序也可以用于需要多次反复执行相同任务的地方,只需要编写一次子程序,别的程序在需要的时候多次调用它,而无需重写该程序。
3.怎样调用子程序?
主程序可以调用子程序,子程序也可以嵌套调用别的子程序。嵌套调用的层数是有限制的,例如S7-200的最大嵌套深度为8级。
执行完子程序后,返回调用它的程序中的调用指令的下一条指令。
4.每个扫描周期都会执行子程序吗?
子程序的调用可以是有条件的,在被调用期间,每个扫描周期都要执行一次被调用的子程序。调用条件不满足时不会执行子程序中的指令,因此使用子程序可以减少扫描循环时间。
5.停止调用子程序后,子程序中的线圈处于什么状态?
停止调用子程序后,不再执行子程序中的指令。子程序中线圈对应的编程元件如果没有受到别的程序的控制,将保持子程序最后一次执行后的状态不变。即使控制这些线圈的触点的状态变化,该线圈对应的元件的状态也不会变化,因为这时根本就没有执行子程序中的指令。
6.怎样实现子程序的无条件调用?
有的PLC的子程序调用指令不能直接接到左侧的垂直“电源”线上,需要通过触点电路来控制是否调用子程序,即子程序的调用是有条件的。可以用一直为ON的特殊位元件(例如S7-200的SM0.0或FX系列的M8000)的常开触点来实现子程序的无条件调用。
不同品牌的PLC的子程序大致可以分为两种,一种子程序没有输入、输出参数和局部变量,另一种则有。
1.什么是全局变量和局部变量?
以西门子的S7-200为例,输入I、输出Q、变量存储器V、内部存储器位M、定时器T、计数器C等属于全局变量,可以在符号表中为全局变量定义符号名。
程序组织单元(Program Organizational Unit)简称为POU,包括主程序、子程序和中断程序。每个POU均有自己的64字节局部变量,局部变量用L(Local)来表示,局部变量只能在它所在的POU中使用。与此相反,全局变量可以在各POU中使用。
2.局部变量有哪些类型?
子程序可以使用下列局部变量:
1) TEMP (临时变量)是暂时保存在局部数据区中的变量。只有在执行该POU时,定义的临时变量才被使用,POU执行完后,不再保存临时变量的数值。主程序和中断程序的局部变量表中只有TEMP变量。
2) IN(输入参数)由调用它的POU提供的传入子程序的输入参数。
3) OUT(输出参数)是子程序的执行结果,它被返回给调用它的POU。
4) IN_OUT(输入_输出参数)的初始值由调用它的POU传送给子程序,并用同一变量将子程序的执行结果返回给调用它的POU。
主程序和中断程序的局部变量表中只有临时变量TEMP。
3.子程序的输入、输出参数有什么作用?
具有输入、输出参数和局部变量的子程序易于实现结构化编程,对于长期生产同类设备或生产线的厂家尤为有用。编程人员为设备的各部件或工艺功能编写了大量的通用的子程序。即使不知道子程序的内部代码,只要知道子程序的功能和输入、输出参数的意义,就可以用它们快速“组装”出满足不同的用户要求的控制程序。就好像可以用数字集成电路芯片组成复杂的数字电路一样。
如果子程序没有输入、输出参数,这种子程序没有明确的软件接口,使用起来很不方便。
4.局部变量有什么优点?
1) 子程序如果没有局部变量,它和调用它的程序之间只能通过全局变量来交换数据,子程序内部也只能使用全局变量。将它移植到别的项目时,需要对各POU使用的全局变量作统一安排,以保证不会出现地址冲突。当程序很复杂,子程序很多时,这种地址分配是很花时间的。
如果子程序有局部变量,并且在子程序中只使用局部变量,不使用全局变量,因为与其他POU没有地址冲突,不作任何改动,就可以将子程序移植到别的项目中去。
为了减少移植子程序的工作量,在子程序中应尽量避免使用全局变量和全局符号。
2) 如果使用局部变量表中的临时变量(TEMP),同一片物理存储器可以在不同的程序中重复使用。
下面以S7-200为例,介绍子程序的编程和调用的过程。
1.创建子程序
生成项目时,自动生成一个子程序。打开程序编辑器,执行“编辑”菜单中的命令“插入”→“子程序”,将自动生成和打开新的子程序。
2.生成局部变量
名为“模拟量计算”的子程序如下图所示,在该子程序的局部变量表中,定义了3个输入(IN)参数,一个输出(OUT)参数,和名为“暂存1”的临时(TEMP)变量。局部变量表最左边的一列是自动分配的每个变量在局部存储器(L)中的地址。
3.编写子程序的梯形图
局部变量表的下面是程序区(见上图),输入参数“转换值”是来自模拟量输入模块的与模拟量成正比的转换值,输出参数“模拟值”是计算出的对应的模拟量(例如压力、温度等)的工程值。子程序中变量名称前的“#”表示该变量是局部变量,它是编程软件自动添加的,输入局部变量时不用输入“#”号。特殊存储器位SM0.0的常开触点总是闭合。
4.子程序的调用
可以在主程序、其他子程序或中断程序中调用子程序,调用子程序时将执行子程序中的指令,直至子程序结束,然后返回调用它的程序中该子程序调用指令的下一条指令之处。
创建子程序后,在上图左边指令树最下面的“调用子程序”文件夹中自动生成刚创建的子程序“模拟量计算”对应的图标。
在梯形图程序中插入子程序调用指令时,首先打开主程序,显示出需要调用子程序的网络。打开指令树最下面的“调用子程序”文件夹,用鼠标左键按住需要调用的子程序图标,将它“拖”到程序编辑器中需要的位置。放开左键,子程序块便被放置在该位置。
子程序方框中左边的“转换值”等是在子程序“模拟量计算”的变量声明表中定义的输入参数,右边的“模拟值”是输出参数。它们被称为子程序的形式参数,简称为形参,形参在子程序内部的程序中使用。调用子程序时,需要为每个形参指定实际的参数(简称为实参),例如为形参“转换值”指定的实参为模拟量输入字AIW2(见上图)。
子程序调用指令中的实参的有效操作数为存储器地址、常量、全局符号和调用指令所在的POU中的局部变量,不能指定被调用子程序中的局部变量。
CPU调用子程序时,输入参数被复制到子程序的局部存储器,子程序执行完后,从局部存储器复制输出参数到指定的输出参数地址。