怎么做才能编写出合格的PLC程序?技术高手告诉你这九点
科学的PLC编程步骤其实很简单,但往往大多数工程师就是认为简单而忽略很多细节。细节的忽略,必然会在以后出现问题。想避免日后的问题,只有好好的遵守规则,没有规矩不成方圆,plc编程一样有其自身的规矩。
第一步:阅读产品说明书
第一步看起来再简单不过了,但很多工程师都做不到。认为这一步是浪费时间,甚至只从供货方培训来了解设备。
仔细阅读说明书是编程的第一步,首先要阅读安全守则,知道哪些执行机构可能会对人身造成伤害,哪些机构间最容易发生撞击,当发生危险时如何解决,这些最致命的问题都在安全守则中,为什么不去看呢?
此外,关于设备每个元件的特性,使用方法,调试方法也在说明书中,不去阅读,即使程序正确,如果元件没有调试好,设备一样不能工作。再有,所有的电路图、气动液压回路图、装配图也在说明书中,不去阅读它怎么知道没种元件可以做何种改造呢。
第二步:根据说明书,检查I/O
检查I/O,俗称“打点”。检查I/O的方法很多,但是一定要根据说明书提供的地址依次进行检查,在绝对安全的情况下来检查。
在检查输入点时,一般输入信号无非是各种传感器,如电容、电感、光电、压阻、超声波、磁感式和行程开关等传感器。检查这些元件比较简单,根据元件说明将工件放在工位上,或是移动执行机构检查传感器是否有信号即可。当然,不同的设备检测的方式可能不同,这要看具体情况而定了。
但是在检查输出信号时就要格外小心了。如果是电驱动产品,必须在安全情况下,尤其是保证设备不会发生撞击前提下,让执行机构的驱动器得电,检查执行机构是否能够运动。如果是液压或气动执行机构,同样在安全情况下手动使换向阀得电,从而控制执行机构。在检查输出信号时,不论执行机构的驱动方式是什么,一定要根据元件说明书,首先要保证设备和人身安全,要注意并不是所有设备的执行机构都可以通电测试的,所以有时个别的输出信号可能无法手动测试。
无论是输入还是输出装置,当传感器有信号或执行机构的驱动装置得电后,必须同时检查PLC上的I/O模块指示灯是否也点亮。很多设备中,输入输出信号是通过接线端子与PLC连接,有时接线端子的指示灯有信号 ,但不能保证由于连接导线内部断路,而PLC上相应的地址没有信号接通。这一点要特别注意。
在测量输入输出信号后,要同时将测量的地址记录下来,保证信号地址和说明书中一致。如有不同,再次测量设备地址,多次测量仍然不一致,先联系设备厂家,因为此时不能保证厂家提供的地址没有错误。
第三步:打开编程软件,进行硬件配置,并将I/O地址写在符号表中
不同的PLC使用不同的编程软件。但是对于任何一种软件来说,编程前的第一步就是进行硬件组态,根据实际PLC的类型建立硬件配置及相应的通讯配置。硬件组态完成后,将之前在纸上记录下来的I/O地址写在软件的符号表中。由于软件不同,对于符号表的定义可能不同,但一般的软件都有该功能,这一步是至关重要的。在编写符号表时,不仅要把设备输入输出的绝对地址写正确,最好再给每个地址命名并添加注释,这对后面的编程会非常方便。不需要在编程时每次都查询绝对地址,只要填写命名好的名称即可。当然,这也取决于软件是否具备此功能。
第四步:写出程序流程图
在编程之前,一定要在草稿上写出程序的流程图。一个完整的程序,应该包括主程序、停止程序、急停程序、复位程序等部分,如果软件允许,应该将各个程序按“块”的形式编写,即一个程序是一个块,最终将每个块按需求来调用即可。
PLC最擅长的就是处理顺序控制,在顺序控制中主流程是核心,一定要确保制定好的流程是正确的,要在草稿上仔细检查。如果主流程存在问题,当程序被PLC执行后,很可能发生撞击,损坏设备或对人身造成危险。
第五步:在软件中编写程序
确保主流程没有问题后,便可以在软件中编写程序了。此外,还要注意停止、急停和复位程序的正确性,尤其是停止和急停程序,这是关系到人身安全和设备安全的最重要的程序,万万不可小视。一定要保证无论在任何情况下,只要执行停止或急停程序,设备绝对不会对人身造成伤害。
第六步:调试程序
在调试程序这一步中,可以分成两个方面。
1.如果条件允许,或是你的逻辑能力超强,可以先用软件的仿真功能做测试,但是很多繁琐的程序很难用软件仿真看出程序是否正确。
2.将程序下传到PLC中进行在线的调试。如果设备不动或运行中出现异常情况,先不要去修改程序,很可能是传感器没有调试到位,如果确保传感器无误,再去修改程序。
第七步:调试完成后,再次编辑程序
在上一步的调试中,由于对程序有所修改,故必须再次整体检查或编辑一下程序,然后将最终的程序下传到PLC中。
第八步:保存程序
在这一步中,要注意一个问题,就是应该将程序保存在什么地方?PC硬盘?闪存设备?移动硬盘?当然这些都不可以,所有这些存储设备都可能感染病毒。所以,必须且只能将程序烧制到光盘上。而且还有一个问题,烧制的程序是哪个程序?在之前我们已经将最终调试并修改完成的程序下载到PLC中,如果PLC在执行该程序时完全无误的话,就将该程序上传到PC中,将此程序烧制到光盘中。上面的一切都是为了安全。
第九步:填写报告
完成编程后,应该填写最后的调试报告,将遇到的问题和程序的一些难点问题一一记录下来。因为长时间以后,自己也会对程序的某些技巧的地方遗忘,同时也方便其他同事能够理解你所编写的程序。
一文了解西门子PLC系统,如何编写出质量较高的PLC程序?
一西门子PLC按照控制规模来分类
可以分为小型机、中型机和大型机。
一 西门子小型机:
小型机:小型机的控制点一般在256点之内,适合于单机控制或小型系统的控制。
1 S7-200
S7-200是西门子公司推出的一种小型PLC,它的优点是
(1)结构紧凑,占用空间小。
(2)拓展型良好,可以接称重模块,数字量、模拟量输入输出模块等等,使用起来非常方便。
(3)价格低廉
但是除此之外,它还有一些缺点:
(1)虽然国内还可以买到这种PLC的备件,但西门子公司宣布这款产品已经停产,未来的发展很受限。
(2)没有以太网接口,只可以使用西门子配套电缆进行调试编程,不方便。
(1)对于运动控制的支持不好。(S7-200的大多数PLC脉冲输出最大频率是20KHZ,S7-200smart的最大频率是100Khz,也就是对伺服电机的驱动不是很好。)
2 S7-200smart
S7-200smart是西门子公司针对中国市场研发的一款产品,只在中国销售。其原因可能是西门子的S7-200已经停产,西门子公司又不想放弃中国庞大的低端PLC市场,而作为S7-200的升级版,与S7-200相比,它有以下的特点:
(1)同是小型PLC,结构紧凑,价格低廉。
(2)拓展能力不如S7-200,它不支持称重模块,所以你不能使用精确的称重功能,可以选择用称重仪表模拟量输入代替,但精确度不如称重模块。
(3)Smart拥有以太网接口,调试编程拓展都非常方便。
(4)运动控制的支持比S7-200强大。无论是最大脉冲输出,还是运动控制向导,都比S7-200好用。
3 西门子S7-1200
S7-1200是一款紧凑型、模块化的PLC,可完成简单逻辑控制、高级逻辑控制、HMI 和网络通信等任务。
西门子中型机:
中型机: 中型机的控制点一般不大于2048点,可用于对设备进行直接控制,还可以对多个下一级的可编程序控制器进行监控,它适合中型或大型控制系统。
西门子中型机有S7-300: 处理速度0.8~1.2ms ;存贮器2k ;数字量1024点;模拟量128路 ;网络PROFIBUS;工业以太网;MPI。
西门子大型机:
大型机的控制点一般大于2048点,能完成较复杂的算术运算。
1 西门子S7-400
西门子S7-400PLC的主要特色为:极高的处理速度、强大的通讯性能和卓越的CPU资源裕量。
2 西门子S7-1500
西门子S1500是西门子博途系列,也是西门子未来发展的主体方向,其性能自然非常好!
软件及编程语言:
对于西门子所有的PLC,我们都已经整理了版本!需要软件的的同学可以点赞加关注并转发,然后留言“我要西门子软件”,让更多人能够分享到软件。
S7-200的编程软件是“STEP 7-Micro/WIN V4.0 ”留言后可以发私信;西门子200
西门子S7-200smart的编程软件是“STEP7‑Micro/WIN SMART ”。留言后可以发私信;西门子200smart。
西门子S7-300/400的编程软件是“STEP7”。留言后可以发私信;西门子300。
西门子S7-1200/1500的编程软件是“TIA PAORTAL”。留言后可以发私信;西门子博途。
西门子的编程语言主要有:LAD,FBD,STL,SCL,GRAPH,SFC,CFC等等,
在国内,大多数工程师只使用LAD,FBD,高级一点的使用STL,PCS7会涉及到SFC和CFC,其他的大多数时候都是外国工程师在使用,以后有机会我们会讲一些这些常用语言,也会拓展非常用语言。便于大家学习。
二 控制模式
西门子PLC在编程时主要有以下几种控制方式,系统设置远程/本地/手动按钮:
远程: 只能通过上位机对系统进行自动启/停控制,单台设备就地控制优先,在程控时,可以通过上位机对设备进行软手操/自动切换,软手操启/停。
本地: 只能通过触摸屏对系统进行自动启/停控制,单台设备就地控制优先,在程控时,可以通过触摸屏对设备进行软手操/自动切换,软手操启/停。
手动: 手动控制时,上位机/触摸屏失效,只能通过手动控制设备的启/停。
单台设备控制
单台设备必须有软手操/自动切换以及软手操时可以启/停功能,由自动切换到软手操时,设备不能停机;由软手操切换到自动时,设备启/停取决于自动程序。
单台设备
(泵、风机及其它大型设备)运行满24小时必须进行轮换,且必须有运行时间累计,如果由上位机设定启/停顺序除外,操作人员自行设定。
西门子程序FB和FC的区别:
FC:功能,它没有自己的数据块。
FB:功能块,它有自己的存储区,即背景数据块。FB=FC+DB(背景数据块).
如果FC也想使用数据功能的话,需要在外部连接全局数据块进行数据存储。
程序结构统一规范
OB1:主程序
OB100:初始化程序(无需主程序调用)
OB35:100ms(可修改)中断(无需主程序调用),可以调用PID模块;
OB80、OB82、OB85、OB86、OB87、OB121、OB122:故障诊断模块(无需主程序调用、无需编程)
功能块和数据块:
FC1:系统模式 FC2:输入处理
FC3:输出处理 FC4:运行处理
FC5:停止处理 FC6:手自动切换
FC100:之后用来建立一些可以循环调用的子程序
FC105:系统自带,模拟量输入子程序(可以循环调用)
FC106:系统自带,模拟量输出子程序(可以循环调用)
modbus通讯(CP341):FB7:P_RCV_RK,FB8:P_SND_RK
通讯CP340:FB2:P_RCV,FB3:P_SND
一般PID:用FB41
温、湿度PID:用FB58
如果程序块与系统块重复,请避让。
DB1:AI数据,类型:REAL,与上位机接口
DB2:AO数据,类型:REAL,与上位机接口
DB3:DI数据,类型:BOOL,与上位机接口
DB4:DO数据,类型:BOOL,与上位机接口
DB5:设备运行时间及流量累计,类型:REAL,与上位机接口;
DB6:报警消息,类型:BOOL,与上位机接口
DB7:类型:REAL,中间寄存器
DB8:类型:INT,中间寄存器
DB9:类型:WORD,中间寄存器
DB10:类型:BOOL,中间寄存器
DB11:之后用作与设备通讯用,例如:MODBUS通讯等
DB100:之后用作调用FB块时的背景数据块
M区:也作为中间变量
功能块FC,FB和数据块DB以上只是经验丰富的工程师根据多年的经验进行总结,试图找到一种通用的方式,但不是说这些块就必须严格按照上述功能来编写程序,西门子程序功能是开放的,你可以按照自己的风格私人定制。
记住,学习西门子PLC编程的技巧是:多看,多学,多模仿!
相关问答
plc编程技巧口诀?
PLC中无非就是三大量:开关量、模拟量、脉冲量。只在搞清楚三者之间的关系,你就能熟练的掌握PLC了。1、开关量也称逻辑量,指仅有两个取值,0或1、ON或OFF。它...
plc编程程序开头要写什么?
1PLC编程程序开头一般需要写入程序的版本号和作者等基本信息,用于标识程序的属性和归属。2这些信息不仅方便程序管理和协同开发,还有利于程序的维护和更新。...
plc常见的语言编程方法?
PLC的编程方法大体上有5种:经验法、解析法、图解法、技巧法及计算机辅助设计法。(1)经验法:运用已掌握的成功设计经验,结合实际的情况,选择与实际情...
台达PLC一行程序写不下,怎么才能连接一下行写出程序?
说明你的程序有问题,下次编译前打开“视图”--“讯息区”,在屏幕的最下方就有告诉你出错的地方了,如果不行,我这有几个我做的台达PLC程序,你可以参考一下说明...
plc编程用什么电脑好?
常用编程软件的话,配置参数上不能太差,电脑配置需求参考如下:1.操作系统:windows7(建议使用64位)2.内存:最少2GB(推荐4GB及以上)3.显...常用编程软件的...
伺服电机plc程序怎么写?
伺服电机的PLC程序的编写涉及到伺服电机的控制和调节,具体实现方式可能因不同的品牌和型号而有所不同。以下是一些通用的步骤和思路:设置伺服电机的参数:在PL...
plc块建好后怎样写程序?
在FB的局部变量表中,建立块内使用的各种变量,INPUT,OUTPUT,TEMP,等。还需要自建一些UDT类型,变量引用。自己做块程序,需要一些实际编程经验才行。FB块程序...
怎样写电路板程序?
检查只能自我诊断语法,与设计内容无关。程序检查需要单击工具菜单栏中的“程序检查”。3.建议有双线圈输出,因为一些“手动/自动”双线圈输出也正常。4...
西门子的PLC怎么编程?
需要准备的工具:西门子PLC编程软件,电脑。1、计算机系统应用语言在“控制面板”(ControlPanel)的“区域与语言”(Regionandlanguage)中确认。2、单击...
plc程序编好后怎样启动?
模拟系统实际的输入信号,在程序运行中的适当时刻,通过手动操作开关,接通或断开输入信号,来模拟各种机械动作使检测元件状态发生变化,同时通过PLC输出端状态...