课程中心
HOME
课程中心
正文内容
plc简洁编程 高效学习PLC编程,使用ST语言编写控制程序无压力
发布时间 : 2024-11-24
作者 : 小编
访问数量 : 23
扫码分享至微信

高效学习PLC编程,使用ST语言编写控制程序无压力

大家都知道PLC编程有很多语言可选择,在学习 CoDeSys 的过程中常会问一个问题,哪种编程语言最好?

其实,没有哪种编程语言是绝对的好或不好,不同的工程应用具有不同的最佳编程方式,每种编程语言都具有其不同的特点,可根据实际工程应用的需求选用合适的编程语言。

涉及到算法部分建议选择 ST 语言,编写的程序往往简洁而高效。

简单介绍

结构化文本(ST-Struct Text)是一种高级的文本语言,在西门子中称为SCL(Structured Control Language)语言,不要与STL混淆,可以用来描述功能,功能块和程序的行为,还可以在顺序功能流程图中描述步、动作和转变的行为。

结构化文本编程语言是一种高级语言,是 CoDeSys 中最常用的一种语言,对于熟悉计算机高级语言开发的人员来说,结构化文本语言更是易学易用,它可以实现选择、迭代、跳转语句等功能。在复杂控制系统中,结构化文本可以大大减少其代码量,使复杂系统问题变得简单。

当你的14寸电脑界面装不下一行梯形图,当你做一个算术运算洋洋洒洒几十步,那个时候发现用ST还是挺香的,只是看逻辑没有梯形图直观,编译速度相对较慢。大意了,有得必有失嘛,如果你不介意那就一起了解一下吧。

程序执行顺序

使用结构化文本的程序执行顺序根据“行号”依次从上至下开始顺序执行,每个周期开始,先执行行号较小的程序行。这是PLC的特性,从上至下循环扫描,周期性执行,在PLC配置中可以分配每段程序的扫描周期。同一段程序中被赋值两次,第一次的赋值将被覆盖。

这是PLC的特性,从上至下循环扫描,周期性执行,在PLC配置中可以分配每段程序的扫描周期。同一段程序中被赋值两次,第一次的赋值将被覆盖。

表达式执行顺序

表达式中包括操作符和操作数,操作数按照操作符指定的规则进行运算,得到结果并返回。操作数可以为变量、常量、寄存器地址、函数等。

在做算术运算时,根据表格中的表达式优先级运算,小括号的优先级最高,可以将你想要先执行的表达式写在小括号内。

指令语句

结构化文本语句表主要有 5 种类型,即赋值语句、函数和功能块控制语句、选择语句、迭代(循环)语句、跳转语句。

转发是最大的鼓励!谢谢您的支持!

小贴士

PLC专属资料: 含有从入门到高级所有PLC学习资料(三菱/西门子/欧姆龙) ,电气经典18本大全书,历年电气考试真题、电气必备实训仿真软件、电气自动化行业各类型技术手册!

编程一个完整的PLC程序,从这几个步骤开始

项目分析

项目分析需要对项目的生产工艺、工作环境、硬件需求和控制要求等方面进行全面分析。这项工作是整个系统设计的基础。如果前期项目分析不到位,将会造成后面硬件选型不准确,导致工程延期。

一、项目分析

工程技术人员首先要对工程项目进行分析,即项目工程的控制流程和每个流程的控制类型,并对整个项目可能出现问题做出预判。

(1)分析控制流程。分析控制流程时,建议绘制相关的控制流程图,清晰的标注每一步工作的内容和到下一步的条件。

(2)分析控制类型和预估PLC选型所需参数。一般PLC适用于四种控制类型,即顺序控制,过程控制,运动(或位置)控制和网络通信等。工程技术人员在分析控制要求后,根据绘制的控制流程图,将每个控制流程的控制类型进行分类,再根据项目的复杂程度将组合出控制类型,因此前期准确地分析每一步的控制类型,将有助于选型的准确和问题的预估。

在分析项目控制类型的同时,工程技术人员还要预估PLC选型所需要的重要参数值。如顺序控制中的I/O点数;若使用编码器,要根据编码器的参数计算其输出脉冲的频率值,进而换算成PLC高速计数的脉冲频率。再如,过程控制中模拟量数和模拟量精度、运动控制中PLC对于伺服驱动器反馈信号的响应速度和PLC高速脉冲输出的数量,以及在网络通信时,所选PLC是否支持相应的网络类型等参数。

二、预估可能出现的问题

对于可能出现问题的预估是工程分析中较难的环节。这不仅需要工程技术人员对现场的工作环境和整个项目控制难点能够较好地把握,还要对可能出现的突发情况和危险具有前期预判。

(1)设备工作环境的把握。工程人员需要对生产环境有较全面的认识。如纺织机械所处工作环境的空气湿度高、振动较大,所以设计PLC系统时要做好防震处理。又如建材加工厂的环境温度比较高,并且有很大的粉尘和较强的静电,因此工程技术人员要在保证电气控制柜通风良好的前提下,进一步做好防尘和除静电处理。

设备工作环境的把握不仅仅局限于物理的环境,随着PLC应用的深入,更需考虑人员因素。如设备操作人员的素质较低时,需要开发较为简练的设备操作界面。

(2)项目难点的预期。项目难点的预期其实就是对项目核心问题的把握。如喷气织机设备的控制核心就是如何快速有序地控制电磁阀,利用压缩空气的摩擦力来牵引纬纱穿过纺织梭,完成纺织的引纬工作,这需要PLC具有非常快的响应速度。在确定项目难点后,工程技术人员可以根据难点来对PLC进行选型。从整个项目的角度出发,项目的难点就是系统设计的特点,也是PLC选型的方向。

(3)项目危险的前期预估。在项目设计前期,工程技术人员需对本项目可能出现的危险情况进行预判。如顺序控制或运动控制中调试设备时对于误动作的防护;在过程控制中,测试时是否有高压,高温或者有毒有害物质以及相关的防护措施。在项目设计前期对危险进行预估有助于加强工程技术人员的安全意识。

PLC硬件选型

PLC的选型是工程技术人员根据前期项目分析和项目难点的预期来选择合适PLC,主要依据以下原则。

一、先特殊后一般原则

根据工程经验,大多数工程项目中制约PLC选型的因素主要集中在几个关键点上,所以应遵循先特殊后一般的原则选择PLC。

所谓特殊即项目有哪些特殊的控制要求,不同控制类型有着不同的首要制约因素。如顺序控制中,CPU的程序容量和I/O点的扩展能力为PLC选型的主要因素。过程控制中,则以控制模拟量的数量和模拟量的精度作为出发点进行选型。在较为简单的运动控制中,PLC需要接收来自现场编码器送回的位置信号并相应地发出一定频率的脉冲来控制伺服电机,因此PLC处理数据的速度、输入端接收高速脉冲的能力和输出端高速脉冲的发送能力将成为PLC选型的首要因素。而在大型复合项目中,需使用不同的PLC组网,因此PLC支持的网络类型则成为PLC选型的首要因素。

工程技术人员需按照本项目的核心需求,将不同的控制要求按照从特殊到一般的顺序进行排列,如此选型将事半功倍,更可降低工程的整体难度。

二、由下至上原则

由下至上原则的目的是将PLC选型的性价比最大化。目前多数厂家的PLC产品分成多个系列。当工程技术人员选型时,按照第一步从特殊到一般的选型顺序,从最低款PLC开始,逐一对照性能参数。当发现不满足要求时,考虑较高一款产品。以此类推,直至选取全部满足要求的PLC型号。如若由上至下选型,则会使PLC功能浪费,造成大马拉小车。

三、PLC开关量输入/输出单元的选择

PLC的开关量输入点是用来接受现场传感器所输入的电平信号,开关时输出点的作用根据内部的控制信号来驱动外部负载。

(1)开关量输入端子的选择。现在市面上PLC输入点均为晶体管输入,使用者只需要根据前期预估的输入点数量选择即可。但是这里需要注意,因PLC端接线类型不同,分别有NPN和PNP两种输入方式,其意义是输入端是以低电平有效还是以高电平有效,一旦确定输入端的接线类型,则需选用相同类型输入的传感器,即NPN和PNP型的传感器不能共用一个PLC的输入端子。

现在市面上PLC输入端子多为直流24V的输入电压,如果需要其将他电压规格的传感器接入到PLC,需用继电器做相应的隔离,保证接入PLC输入端的信号为直流24V电压。

(2)开关量输出端子的选择。PLC开关量输出点的类型主要为继电器型输出和晶体管输出两种。

1)继电器输出型。 继电器输出负载能力好,能够短时间承受较高过电压和过电流,有较强的隔离作用。但是由于继电器内部为机械触点,动作寿命有限,所以只能用于连接动作频率较低且不需要高速脉冲输出的场合。

2)晶体管输出型。 晶体管型输出是以通过控制其内部三极管的导通为手段,来达到控制输出端子通断目的,并且其内部并没有机械触点结构,所以相比于继电器输出触点,晶体管输出触点寿命长,动作频率高,不易损坏,缺点为负载能力较差。

(3)开关量输出端子选型的注意事项

类似于输入端,晶体管输出端子也分为NPN型和PNP型两种。一旦型号确定则只能按照同种接线方式连接负载。

在实际应用中,建议工程技术人员多选用晶体管输出型PLC,并在输出端使用继电器连接外部负载,形成对于下游负载设备的电气隔离,这样的组合综合了晶体管寿命长和继电器负载能力强的优点。如果现场出现电气故障,PLC输出端子将会因受到隔离继电器保护而免受损坏,只需要更换损坏的继电器即可。而一旦继电器输出型PLC端子损坏,将无法修复损坏端子。

四、先内置后扩展原则

随着PLC的不断更新换代,特别是小型机功能的不断增强,PLC单机已内置了许多扩展模块的功能,如模拟量功能,通信功能等。因此,选型时尽可能选用内置功能多的PLC,既降低了成本,又节省控制柜空间,更可以简化设置和编程工作量。

五、PLC选型冗余量的把握

由于前期预估、现场施工改动和后期维护升级的需要,PLC选型需考虑一定的冗余量。主要考虑I/O点的数量,较小的工程控制在20%的冗余范围;较大的工程控制在5%~10%。其它如模拟量,通信和总线功能的冗余问题,需工程技术人员根据现场硬件配置灵活把握,如果控制功能均为PLC内置的,则需更换高一级单机PLC;若控制功能是通过扩展模块实现的,则考虑冗余时仅需更新相应模块即可。

PLC编程要点

(1)根据控制流程图分配程序段

根据前期控制流程图将控制程序分解成不同的程序段,这样可以使程序整体结构清晰,便于后期调试程序。如果项目较复杂,将程序分段后便于分配给若干名编程人员同时编程和调试,从整体上提高了编程效率。

(2)编制I/O表和内存表

编制I/O表是给每个输入/输出点分配地址并做注释,避免编程时出现I/O点混乱的问题。编制内存表是分配PLC内存地址给程序的中间变量并做注释,便于编程时引用。

(3)简化编程

编程员在熟悉PLC指令系统的基础上,熟练使用高级指令编程,可以极大地减少编程工作量,节省PLC存储器空间,有助于更好地发挥PLC功能。

(4)注释清晰

为了方便后期调试程序,编程时需将每个相关点的注释清晰地标注在程序中,包括使用的特殊指令目的等。程序可读性好,为后期项目维护和升级打下基础。

PLC程序调试方法

PLC应用程序的调试工作可以分为模拟调试和联机调试两个步骤。

一、模拟调试

模拟调试是指根据开关量I/O单元上各位对应的发光二极管的显示状态而不带输出设备进行的调试。

设计好控制程序后,一般先作模拟调试。有的PLC厂家提供了在计算机上运行、可用来替代PLC硬件来调试程序的仿真软件,例如欧姆龙公司与CX-Programmer编程软件配套的CX-Simulator仿真软件等。在仿真时按照系统功能的要求,将某些输入元件位强制为ON或OFF,或改写某些元件中的数据,监视系统的功能是否能正确实现。

如果连接上PLC硬件来调试程序时,可以使用接在输入端子上的小开关和按钮来模拟PLC实际的输入信号,例如用它们发出操作指令,或者用它们模拟实际的反馈信号,如行程开关触点的接通和断开等。通过开关量输出单元上各输出点对应的发光二极管,观察输出信号是否满足设计的要求。

调试顺序控制程序的主要任务是检查程序的运行是否符合顺控图的规定,即在某一转换实现时,是否发生活动步状态的正确变化,该转换所有的前级步是否变为不活动步,所有的后续步是否变为活动步,以及各步被驱动的负载是否发生相应的变化。在调试时应充分考虑各种可能的情况,对系统各种不同的工作方式、顺控图中的每一条支路、各种可能的进展路线,都应逐一检查,不能遗漏。发现问题后及时修改程序,直到在各种可能的情况下输入信号与输出信号之间的关系完全符合要求。如果程序中某些定时器或计数器的设定值过大,为了缩短调试时间,可以在调试时将它们减小,模拟调试结束后再写入它们的实际设定值。

总之,模拟调试是整个程序设计工作中一项很重要的内容,它可以初步检查程序的实际效果。模拟调试和程序编写是密不可分的,程序的许多功能是在调试中不断修改和逐步完善的。模拟调试既可以在实验室内进行,也可以在现场实施。如果是在现场进行模拟调试,那就应将PLC系统与现场信号隔离,切断I/O单元的外部电源,以免引起不必要的损失。

二、联机调试

联机调试是指将PLC安装到控制柜中,并连接输入元件和输出负载,运行控制程序进行整体调试的过程。

在对程序进行模拟调试的同时,可以设计、制作控制柜,PLC之外其他硬件的安装、接线工作也可以同时进行。完成控制柜内部接线后,应测试接线。可以在控制柜的接线端子上模拟PLC外部的开关量输入信号,或操作控制柜面板上的按钮和指令开关,观察对应PLC输入点的状态变化是否正确。用编程器或编程软件将PLC的输出点强制置位或复位,观察对应PLC的负载(如外部的继电器、接触器等)动作是否正常,或对应控制柜接线端子上输出信号的状态变化是否正确。

对于有模拟量输入的系统,可以给变送器提供标准的输入信号,通过调节单元上的电位器或程序中的参数,使模拟量输入信号和转换后的数字量之间的关系满足要求。

在现场安装好控制柜并完成柜内接线测试后,将外部的输入元件和执行机构接入PLC,将PLC置于运行模式,运行控制程序,检查控制系统是否能满足要求。

在调试过程中将暴露出PLC系统可能存在的硬件问题及梯形图设计中的问题,发现问题后在现场加以解决,直到完全符合要求。全部调试完成后,还要经过一段时间的试运行,以检验系统的可靠性。

相关问答

plc程序化简的口诀是?

在PLC(可编程逻辑控制器)编程中,有一个常用的简化程序的原则,可以用以下的"口诀"来概括:KISS原则:保持简单,愚蠢可行(KeepItSimple,Stupid)这个...

对于一个较为复杂的自动化任务,PLC编程的思路是什么,应该怎样考虑?

根软件设计一样根据需要硬件配置(plc点数,IO余量)程序设计需要先要规划(数据寄存器,中间继电器分配,IO分配),程序结构框架,单元功能实现,整体程序调试...根软...

三菱plc编程入门?

1.确定控制任务和要求:在开始编程前,需要清楚确定控制任务和要求,以便编写相应的程序。2.选用编程软件:选择适合自己的编程软件,一般推荐使用三菱PLC编程...

plc主程序怎么编写?

编写PLC主程序的方法可能因PLC品牌和型号的不同而有所差异。以下是通常编写PLC主程序的一般步骤:1.确定系统需求:了解系统的功能需求和操作流程。2.绘制流...

三菱plc编程,用什么语言比较好?

三菱plc编程,用什么语言比较好没有最好的编程语言,只有更合适的!三菱PLC的编程语言有指令表、梯形图、步进SFC、结构文本ST、结构化梯形图FBD几种,每种编程...

PLC编程为什么要使用进制法?

在PLC编程中,使用进制法是因为它能够更方便地表示和处理二进制数据。PLC是一种数字电路,其输入和输出信号通常是二进制的,使用进制法可以直接将二进制数表示为...

plc程序优化有哪些原则?

在进行PLC(可编程逻辑控制器)程序优化时,可以考虑以下原则:1.简洁性:保持程序简洁和易于理解。使用清晰的命名约定和注释,避免冗余的代码和不必要的复杂...

机械电子专业的学生需要掌握哪些编程语言?

取决你具体学的是么?机器学习的底层优化:C/C++,适当学习一些assembly和intrinsics。-机器学习框架和算法的开发优化:C/C++,CUDA。根据工作的侧重可能需要...

纯编程小白,先从什么语言开始学习?

纯编程小白,先从什么语言开始学习?相必题主应该没有任何编程经验或编程基础吧,初学编程,建议还是以简单易学的语言为主,这里介绍3个非常适合小白的编程语言...纯...

cad电气版怎么添加plc?

关于这个问题,1.打开Cad软件,选择新建电气图纸。2.在画布上绘制PLC的外形,可以使用矩形或圆角矩形工具。3.添加PLC的输入输出接口,使用直线或弧线工具绘...

 德国驻北京大使馆  泽芹 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部