当前位置:首页 > 技术文章 > 正文内容

汇川技术|PLC应用逻辑编程技巧(7)小型PLC编程经验

arlanguage1个月前 (04-05)技术文章25

哈喽,你好啊,我是雷工!

前面学习记录按状态转移编程法、按功能分块编程法、按设备结构功能分块法、按工位分块法等编程思路,

接下来继续学习小型PLC编程经验的总结,

以下为学习笔记。

01 梯形图经验

小型PLC基本上都是用梯形图进行编程,以下经验是否正确:

①:LD梯形图语言编程,常用的指令在30个以内,可轻松上手,初学者不建议首选SFC编程语言;

②:编程时要多用子程序,这样可以便于编写结构化的程序,提高程序的可读性,提高执行效率,也更易于调试;

③:要尽可能多用状态划分的编程风格,尽量采用典型的状态排序;

④:编程时要先定义程序框架,把状态分块,界定每个程序块的功能、算法、接口变量,并用程序注释的方式进行记录;

02 开发经验

有人说PLC编程相比程序员的高级语言编程并不需要深度的学习。(你认可吗?)

小型PLC编程要灵活使用Autoshop编程工具,可以减轻记忆负担(有更好的经验,欢迎分享)

03 如何让程序更易于阅读和理解

在C#编程时,合理的注释能够让人更清晰的读懂理解程序;

那么PLC编程,哪些习惯能够便于他人和自己更容易的阅读理解程序呢?

①:工序图

在规划设备状态、设计好程序框架后,可以先拟定设备主要工艺的子程序,并以工序图的形式注释每个子程序的功能;

像入口变量属性、主要算法、输出变量等做好记录;

②:Excel表格

用好Excel表格,规划记录设备系统的程序变量;可以按变量属性进行区域的划分,特别注意与上位机交互的变量,各种操作命令、设定参数等分为不同的区域,不仅可以提高上位机读取效率,还能够防止上位机误该参数,导致难以查明的运行故障;

把设备运行状态参数放在低地址段,把需要保存的记录参数放高地址段;

把多个工位子程序使用的变量尽可能规划各自独立的区域,并且区域间预留适当的间隔;

③:给常用变量别名

对于重要的已经定义的常用变量,批量标注有意义的别名,可以避免编程过程中反复核对变量定义,可以有效提高效率;

04 编写注释的好处

①:开发时可以先一次性写出主要子程序的功能注释,这样比直接写程序思路更清晰连贯,考虑也更周全;

②:写注释的过程可以核对逻辑处理是否严谨;若发现问题可以及时完善注释,再开始写程序,可以避免写程序过程中发现问题,再修改程序,会更加费时费力;

③:注释梳理完成后,再按照注释编程,思路清晰,逻辑明确,可以更快的编程;

④:可以方便多人协作同时编程调试;

⑤:注释清晰有助于个人快速读程序,能够更快的进入编程状态,避免没有注释,自己之前写的程序自己还得捋半天才理清思路;

⑥:方便调试排查问题,便于后期维护;

05 调试技巧

当写完一个状态的子程序以后,就可以在PLC上验证该子程序的逻辑处理是否正确:

可以强制该子程序的触发条件,让PLC反复执行该子程序,给该子程序入口变量设置不同的数值,观察输出口变量的结果值,这样就能够判断该子程序的逻辑是否正确,以便及时修正;

06 编程细节

编写一个能用的程序很简单,但是实际项目中只是简单的能用还不够,还得要求程序安全、稳定、健壮;

这时候就需要完善程序的保护机制,让保护更全面,使其操作起来更流畅;

①:状态指针式程序控制的关键变量,要避免赋值不存在的状态值,导致死机;

②:变量定义时,允许上位机访问的区域要独立划分,上位机可读写的变量,要检查其合法性后使用;

③:采用bit类型的变量编程,容易出现意外的组合,应当尽可能采用D寄存器变量,会更加的安全;

④:要考虑乘除运算需要的最大单元占用,避免溢出;避免出现除0的操作;

⑤:编程时先实现设备工艺控制功能,再进行设备异常状况、设备保护功能的添加;

一套成熟稳定的PLC控制程序,其中超过40%的代码都是用于设备安全保护功能的。

毕竟很多厂的口号也都是安全第一,生产第二;

07 整体思路

①:要有自顶向下的编程思想,即先整体再局部,化繁为简,拆大为小,然后逐步编程,让编程简化;

②:PLC编程更加注重实操上手,单纯的看书看视频100遍,不如上手操作一遍,要多动手;

08 后记

以上是关于小型PLC的编程经验,有不妥之处或有更加牛掰的思路,欢迎在留言区留言评论。

更多的技术问题欢迎在交流群相互交流。

扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/3832.html

分享给朋友:

“汇川技术|PLC应用逻辑编程技巧(7)小型PLC编程经验” 的相关文章

Nginx重写规则(2) nginx中地址重写有哪些选项

需求:研发提出了一些路由跳跃的要求。解决问题:在特殊情况下,如果业务和研发无法快速处理,则需要运维快速跳转来解决临时问题并避免出现较大的漏洞。Nginx重写规则案例一:临时将请求路径/colorv1/getcolorv1 的请求转发到 v2,且带着问号后面的参数 :location ~ ^/(.)/...

PHP nginx配置 配置nginx支持php

在配置 PHP 和 nginx 以运行 PHP 应用程序时,您需要进行以下步骤:安装 nginx 和 PHP:如果您的系统上尚未安装 nginx 和 PHP,请根据您的操作系统的说明来安装它们。配置 nginx:您需要为 PHP 应用程序创建 nginx 服务器配置。您可以使用以下代码作为模板:ph...

一文说清nginx规则匹配(含案例分析)

概述: 在nginx中,匹配分很多情形,例如:区分大小写匹配、不区分大小写匹配、有强匹配开头、有模糊匹配某些字符、有匹配后重写动作、有匹配反向代理动作、有匹配后终止操作、还有匹配全局变量类型等等,在很多情形中,匹配动作也存在优先策略,来看看下面的案例。案例一、 server { .............

405状态码Nginx解决办法

最近由于业务系统并发量比较大,所以在已有负载均衡的基础上,我们做了Nginx动静分离,但是系统访问后报错,经过F12(浏览器开发者模式)和Nginx日志分析,发现请求状态变成了405,故百度解释如下:问题原因: 请求的方式(get、post、delete)方法与后台规定的方式不符合。比如: 后台方...

nginx支持跨域的方法 nginx配置支持跨域

在nginx的配置文件中添加允许跨域的响应头。参考nginx官方文档,添加响应头的方法如下:在conf文件的server作用域中添加如下响应头:server { listen 80; # 其他配置... # 允许跨域 add_header Access-Control-Allow-...

在AWS上组合使用ELB和Nginx Plus获得更多特性

使用AWS的客户经常问我们,对于负载均衡,到底是使用AWS的ELB还是Nginx Plus?Amazon曾经发布了一个白皮书来说明如何在AWS上配置Nginx Plus。本文将聚焦在选择Nginx Plus或者ELB时需要考虑的因素方面,也会讨论一些更适合于组合使用Nginx Plus和ELB的情形...