什么是编程思路?如何训练提升自己的编程思路?

哈喽,大家上午好呀!又和大家如期见面了!

今天给大家分享改变编程思路的9条技巧。

1.拆分项目,再编程

先按大类写子程序,例如自动,手动,报警,然后子程序中写FB块,FC程序,如伺服的使能,控制,变频器的控制FC,气缸控制FB,然后在main中把各个子程序根据基本逻辑串起来,基本可以很顺利的完成一个工程了,而且后期维护方便,一定要建立系统的FB块,前期痛苦,后期太香了。

DB块也要分门别类的建立好,后期人机交互,数据调试,都很方便的。日系的PLC这些都不太友好,欧系的比较好,codesys,twincat3,TIA多多练习。

改变无从下手编程问题,很多人看着很麻烦,但是套用之后,检查很方便!不要为了节省时间而选择效率低下的捷径方式。

2.业主新要求,没思路,善于查资料

百度,知乎,哪款plc找相应的论坛问老哥,哔哩哔哩,找培训机构的老师白嫖。

3.考虑到维护及一定写注释

第一条写了考虑到后期可能出现问题,更要考虑维护,所以程序一定要记得写注释,程序庞大臃,别人看不懂还行,自己看不懂才是最惨的。

4.经常用到的程序可以打包成块

博途平台块可太方便了。对于麻烦且经常使用的程序,打包成块并命名,之后任何程序都能立刻无限调用,只需要改引脚就行。

5.系统化学习

很多人发展到后期,会遇到编程瓶颈,遇到太多不懂的概念,很多东西会但是不理解,就是理论系统欠缺。可以去咸鱼类似的二手平台淘书,我本人很不爱看书,但是坚持看书的习惯,直到后来看到最基础的电工大全,突然懂了技术里为什么这么做。学习是需要循序渐进且脚踏实地的。对于刚入行的小白,一定要实操练习。同理可以去二手平台淘设备练习。或者去培训机构系统学习

6.学习用户自定义的数据类型(UDT)。

创建UDT允许构建结构。从一个应用程序导出的结构可以应用到另一个程序中。允许使用通用术语来描述组件。例如:“开始”。。。。UDT不需要使用基于标签的系统,但是它们确实需要更有效的利用符号。

7.搞清需求再动手

很多人一上来就开始写程序,因为他们觉得写程序是最难的。但恰恰相反,写程序是简单的,拿到项目第一件事就是搞清楚业主需求,我们是拿钱办事的,服务态度端上来。把需求全部列出来,然后挨个解决,脑子里有框架,先想好用到多少点,一个个列出来....

以前遇到一个业主非要花里胡哨搞一堆,你不弄,还说你不行,期间又一直改需求,不然做完了让你改,就很难办。所以一定要一直沟通理清需求,善于沟通。

8.逛大品牌论坛

很多大佬都会分享在项目上遇到的问题,而且详细附录自己解决方法,主要去学的是解决思维诊断方式。多跟大佬思维碰撞,沉淀自己,切记工作经历≠经验。多积累经验才能在工控领域拥有核心竞争力。

9.明知有bug,不要抱侥幸心理

比如小编觉得可以写九条技巧,但第九条属实没想起来。。有人可以留言补充吗?

最后祝你们拥有美好的未来呀~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/309530.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【算法每日一练]-练习篇 #Tile Pattern #Swapping Puzzle # socks

目录 今日知识点: 二维前缀和 逆序对 袜子配对(感觉挺难的,又不知道说啥) Tile Pattern Swapping Puzzle socks Tile Pattern 331 题意:有一个10^9*10^9的方格。W表示白色方格,B表示黑色方格。每个(i,j)方的颜色由(i…

Python-12-正则

当然内容不是很全,可以参考: 正则表达式学习资料 https://blog.csdn.net/weixin_40907382/article/details/79654372

RAG:让大语言模型拥有特定的专属知识

作为一个在Chatbot领域摸爬滚打了7年的从业者,笔者可以诚实地说,在大语言模型的推动下,检索增强生成(Retrieval Augmented Generation,RAG)技术正在快速崛起。 RAG的搜索请求和生成式AI技术,为搜…

[足式机器人]Part3 机构运动学与动力学分析与建模 Ch00-3(2) 刚体的位形 Configuration of Rigid Body

本文仅供学习使用,总结很多本现有讲述运动学或动力学书籍后的总结,从矢量的角度进行分析,方法比较传统,但更易理解,并且现有的看似抽象方法,两者本质上并无不同。 2024年底本人学位论文发表后方可摘抄 若有…

QT上位机开发(属性页面的设计)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 窗口设计的时候,如果很多内容一个page放不下,那么这个时候我们一般都会选择使用tab来进行处理。安装了tab之后,…

IPv6路由协议---IPv6动态路由(OSPFv3-5)

OSPFv3各链路状态通告类型 4.Inter-Area-Router-LSA区域间路由器(4类LSA) 边界路由器(ABR)产生的第4类LSA,在Area 范围内泛洪,描述了到本AS内其他区域的ASBR路由器信息; 每各Inter-Area-Router-LSA包含一个ASBR路由器信息,LSA中的能力选项(Options)与所描述的ASBR …

Aloha 机械臂的学习记录3——AWE:Pycharm运行代码记录

之前的博客创作了三偏关于Aloha_AWE的liunx终端指令运行代码的示例: Aloha 机械臂的学习记录——AWE:Bimanual Simulation Suite: https://blog.csdn.net/qq_54900679/article/details/134889183?spm1001.2014.3001.5502 Aloha 机械臂的学习记录1——AWE&#x…

少儿编程 2023年12月中国电子学会图形化编程等级考试Scratch编程三级真题解析(判断题)

2023年12月scratch编程等级考试三级真题 判断题 19、下列两段程序的运行效果相同 答案:对 考点分析:考查积木综合使用,重点考查循环积木的使用;左边属于有条件的循环,由变量的值控制,当变量值大于50时,循环停止,而变量始终为零,不满足条件,所以一直循环,和右边的…

python 文本内容随机生成器

这段代码是一个用于生成指定长度的随机文本的函数。主要包括两个函数:generate_text()和generate_other_content()。 generate_text(original_text, length)函数接受两个参数:原始文本和生成文本的长度。该函数的作用是根据原始文本生成指定长度的文本。…

expected initializer before ‘XXXX’,但是明明有分号,而且在vs里面也能运行,但是在linux上就会报错

错误一:忘记加分号了; 解决:加分号;具体很简单,自己看看,多瞅瞅https://zhuanlan.zhihu.com/p/102627362 如果修改之后,成功的话那就太恭喜你了,下面的就别看了 错误二&#xff1…

064:vue中一维数组的全选、全不选、反选(图文示例)

第061个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下,本专栏提供行之有效的源代码示例和信息点介绍,做到灵活运用。 (1)提供vue2的一些基本操作:安装、引用,模板使…

用可视化案例讲Rust编程2. 编码的核心组成:函数

从第一天学习编程,可能大家就听说这样的组成公式: 程序算法数据结构 ——该公式出自著名计算机科学家沃思(Nikiklaus Wirth) 实际上,程序除了以上两个主要要素之外,还应当采用结构化程序设计方法进行程序设计,并且用…

Redis性能大挑战:深入剖析缓存抖动现象及有效应对的战术指南

在实际应用中,你是否遇到过这样的情况,本来Redis运行的好好的,响应也挺正常,但突然就变慢了,响应时间增加了,这不仅会影响用户体验,还会牵连其他系统。 那如何排查Redis变慢的情况呢&#xff1f…

nginx配置 请求静态文件时带上额外的响应头信息

注意:这种方式添加的额外信息会出现在响应头中。 例如在location{}中,try_files之前添加如下信息: add_header X-Extra-Header "Value"; add_header X-Forwarded-For $proxy_add_x_forwarded_for; …

Gitlab-ci:从零开始的前端自动化部署

一.概念介绍 1.1 gitlab-ci && 自动化部署工具的运行机制 以gitlab-ci为例: (1) 通过在项目根目录下配置.gitlab-ci.yml文件,可以控制ci流程的不同阶段,例如install/检查/编译/部署服务器。gitlab平台会扫描.gitlab-ci.yml文件&…

【Python】Sigmoid和Hard Sigmoid激活函数对比总结及示例

Sigmoid和Hard Sigmoid是两种常用的激活函数,它们在神经网络中起到非线性变换的作用。以下是它们之间的对比和优缺点总结: Sigmoid激活函数: 优点: 输出范围是0到1之间,可以用于二分类问题。函数形状相对平滑&#…

【LeetCode】组合两个表(mysql)

题目 编写解决方案,报告 Person 表中每个人的姓、名、城市和州。如果 personId 的地址不在 Address 表中,则报告为 null 。 以 任意顺序 返回结果表。 结果格式如下所示。 答 select firstName ,lastName,city,state from Person left join Address …

使用pygame.draw绘制基本图形

import pygame# 初始化pygame pygame.init()# 创建显示窗口 screen pygame.display.set_mode((640, 480)) pygame.display.set_caption("绘制基本图形")# 定义颜色 BLACK (0, 0, 0) WHITE (255, 255, 255) RED (255, 0, 0) GREEN (0, 255, 0) BLUE (0, 0, 255)…

Mac安装nvm以及使用nvm安装node

1. 安装nvm命令 git clone https://gitee.com/mirrors/nvm.git ~/.nvm && cd ~/.nvm && git checkout git describe --abbrev0 --tags2. 配置环境变量 vi ~/.bash_profileexport NVM_DIR"$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] &&…

网络安全工具:通过监控分析日志数据保护企业网络

由于混合工作模式的兴起以及业务运营向云环境的迁移,企业网络变得更加分散和复杂,仅安装外围安全解决方案只会创建一个基本的防御层,系统、服务器和其他网络实体会生成记录所有网络活动的日志。集中式日志管理系统可以帮助管理员自动监控网络…