汇川h3u常用知识:(3)M元件,慎用M元件


h3u常见元件的使用经验


D元件非常常用
M元件也比较常用,但是要慎用:小型PLC梯形图编程经验分享
R元件基本不用
X元件很常用
Y元件很常用
T元件相对而言用的较少(定时场合还是要用到的)
C元件(接编码器高速计数必用,一般计数我基本不用)



下图几个看点:

  1.  左边的图说的是plc执行的过程,先读x状态,再执行用户程序,最后把y输出到物理硬件端口

  2. 右上边的接线图,粗线为分组,分组的端子共用COM,这样的好处是接线错了最多是烧一组,而不是全部都烧掉。


image.png




image.png

M元件的用法介绍:


image.png


慎用M元件,总结贴子如下:


去年总结的小型PLC编程经验,发布到这里来吧。留个坑,后续再补充补充完善下~

优秀的工程师,一定是有强迫症的工程师!项目代码一定是优雅, “秀色可餐”的!!大家共勉!下面给大家分享一下梯形图编程经验。

1.使用状态机,慎用M元件

一堆M元件
图1.1一堆M元件

接手的第一个项目,一堆M元件,各种状态的判断使用的都是M元件,导致最终查bug的时候,异常困难,一会SET,一会RST的。这么写就说明程序作者,没有一个好的编程思想。咱们再看看下面这个图,更牛逼……

客户牛逼的程序
图1.2客户的牛逼程序

某客户,写梯形图程序。。一行不够,还连写了好几行。也是服写这个程序的人,能写出这样的程序,也是很牛逼的。。。但是这么写梯形图程序,不但坑死自己而且还会坑死交接程序的负责人,这程序写的太差劲了……一堆M元件串在一起,找bug是非常困难的。如果这个项目过去很长时间了,如果有人想在这个项目中添加功能的话,估计也会无从下手的。这样写程序,会导致程序无法维护!!!

我做的梯形图程序,一般这么处理:

状态机编程思想
图1.3采用状态机编程
在程序中考虑使用D元件,进行分步,分状态进行处理相关程序。写梯形图的时候,慎用M元件(HMI上开关量正常使用)

给状态字赋值
图1.4为状态字赋值
在项目程序中引入状态字状态机编程思想,每一个状态只做当前状态的任务。要思考如何进行状态解耦,要根据各个状态或者开关来给状态字进行赋值。

2.元件注释

《计算机程序结构与说明》一书在开篇写到:程序写出来是给人看的,附带能在机器上运行。就像男生喜欢美女,女生喜欢帅锅一样一样滴。编写的程序也能做到优雅漂亮,让别人在看的时候赏心悦目。

对于类似于C语言或者ST这样的高级编程语言,变量函数的命名也是讲究技术的,在变量命名上可以做文章。但是在小型PLC中梯形图元件并没有太多特殊性,好在我们的H3U小型PLC挺好用,每个元件都可以添加元件注释。这里元件注释,我给大家提供一种比较好的梯形图注释经验。

以下“v”开头代表变量,“c”开头代表常量,“h”开头代表HMI数据。“s”16位整形数据,“i”32位整形数据,“f”代表浮点型数据,“b”代表bool布尔型数据(开关量)

以下是我常用的注释前缀:
vb_布尔变量 vs_16位整形变量 vi_32位整形变量 vf_浮点变量
cb_布尔变量 cs_16位整形常量 ci_32位整形常量 cf_浮点常量
hb_HMI布尔变量 hs16位HMI整形 hi   hf_

加上前缀之后,只要看到前缀就能很容易知道这个元件是变量还是HMI中的数据,是整形还是浮点型,是32位还是16位。这样一来注释就额外增加了很多重要提示信息。加上前缀可能会让注释变长,所以大家一定要精练一下注释,如果太长,不适合看。

元件注释
图2.1元件注释举例

3.网络注释

网络注释
图3.1元件注释举例
汇川编程软件,有网络注释功能,很好用。大家一定要善于利用,网络注释是对整个网络内容的注释,好的网络注释便于程序接手人快速入手。

4.功能解耦

大家来对比一下下面俩个图,我接手过不少几个小型PLC写的程序。有个别项目代码让我痛不欲生,我算是积累经验了,遇到这种代码,就自己花点时间重写吧,不要修修补补了……


4.1接手的坑爹程序

接手的时候,程序能正常跑,就是偶尔蹦个bug出来。程序根本没有框架而言,就依噶main函数,里面代码乱七八糟……维护这个程序,增加个别功能,真是费了老大劲……

这项目写出来,估计也就项目作者自己好改一点,交接给别人绝对都是坑人的……

给大家看一下我自己做项目的一个框架:

将整个设备分解,独立解耦成一个个子程序。每个子程序只干“同类型”的事情。将项目分解开来,模块化编程。


本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

会员中心
搜索
«    2024年4月    »
1234567
891011121314
15161718192021
22232425262728
2930
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 点击查阅微信群二维码
  • 扫描加勇哥的非标自动化群,验证答案:C#/C++/VB勇哥的非标自动化群
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:
  • 留言板:

Powered By Z-BlogPHP 1.7.2

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864