今天我想来谈一谈我们在写程序的一个框架,无论什么项目,思路和框架是我们首先应该考虑的事情。一个好的框架有助于我们前期的调试和后期的修改。

我的思路如下:

1.把设备功能化,每个功能独立成一个子程序,每个子程序之间进行交互。这样做,当程序比较大的时候,我们的思路不容易混乱。而且后期也有利于我们优化代码。例如设备需要添加某个功能,我们只需要判断这个功能和哪个子程序有关系,我们就修改对应的子程序即可。

2.刚开始写程序时,一定是先把手动的调试好,不要添加太多的条件,这样不有利于我们调试。等设备调试稳定后,我们再慢慢优化代码,添加保护程序。但是在写手动程序的时候,最重要的是先把停止写好,再写动的程序段,保证一定能停。

3.报警代码在调试初期最好也先写好,例如调试带刹车的垂直轴伺服,我们首先不是先写如何让伺服动作,而是,在伺服报警的时候,我们要把刹车杀住,不然垂直轴可能会由于我们操作不当而报警进而砸下来。

4.使用PLC的地址的时候,我们要预先分配好,不能因为地址很多,所以我们可以随便使用。合理的划分有两个好处,一是,写代码初期不容易占用已经使用的地址,例如V100.0已经使用,我们可能会使用VW100.二是,我们养成良好的习惯,后期在添加代码的时候,我们也不用担心地址的乱用问题。

S7-200SMART案例分析——程序框架相关推荐

  1. Python图像处理与分析程序框架(包含源代码)

    ImageProcessing 整合常用图像处理方法和技术,设计精美 UI 界面,开发出一套基于 OpenCV 的图像处理系统 主界面 实现功能 文件操作 打开.关闭.保存一幅图像 亮度对比度调节 调 ...

  2. Hadoop大数据平台开发与案例分析

    关于举办"Hadoop大数据平台开发与案例分析 "高级工程师 一.课程介绍 1. 需求理解 Hadoop 设计之初的目标就定位于高可靠性.高可拓展性.高容错性和高效性,正是这些设计 ...

  3. mba案例分析_MBA小组面试案例分析你会吗?打开这份攻略让你一招制胜

    MBA面试包括个人面试和小组面试,虽然今年大部分学校取消了小组面试,但还是有部分学校是有小组面试的,小组面试(又称无领导小组讨论)这种杀伤力极强的群面形式总会秒杀大片,既考验团队的配合又考察个人表现, ...

  4. .NET平台C/S架构应用程序开发核心技术总结(MyKTV点歌系统案例分析)

    .NET平台C/S架构应用程序开发核心技术总结(MyKTV点歌系统案例分析) 总结日期:2019年10月10日                                             ...

  5. c语言程序大型案例分析,C语言程序设计习题解析与应用案例分析(第2版)

    摘要: <C语言程序设计习题解析与应用案例分析(第2版)>从C语言程序设计的基本原理及程序设计的基本思想出发,贯穿"基础-应用"这一主线.<C语言程序设计习题解析 ...

  6. DL之Keras:基于Keras框架建立模型实现【预测】功能的简介、设计思路、案例分析、代码实现之详细攻略(经典,建议收藏)

    DL之Keras:基于Keras框架建立模型实现[预测]功能的简介.设计思路.案例分析.代码实现之详细攻略(经典,建议收藏) 目录 Keras框架使用分析 Keras框架设计思路 案例分析 代码实现 ...

  7. VS2010/MFC编程入门之四(MFC应用程序框架分析)

    上一讲鸡啄米讲的是VS2010应用程序工程中文件的组成结构,可能大家对工程的运行原理还是很模糊,理不出头绪,毕竟跟C++编程入门系列中的例程差别太大.这一节鸡啄米就为大家分析下MFC应用程序框架的运行 ...

  8. (转载)VS2010/MFC编程入门之四(MFC应用程序框架分析)

    上一讲鸡啄米讲的是VS2010应用程序工程中文件的组成结构,可能大家对工程的运行原理还是很模糊,理不出头绪,毕竟跟C++编程入门系列中的例程差别太大.这一节鸡啄米就为大家分析下MFC应用程序框架的运行 ...

  9. binder 从c到java_Android系统进程间通信Binder机制在应用程序框架层的Java接口源代码分析...

    在前面几篇文章中,我们详细介绍了Android系统进程间通信机制Binder的原理,并且深入分析了系统提供的Binder运行库和驱动程序的源代码.细心的读者会发现,这几篇文章分析的Binder接口都是 ...

最新文章

  1. ConcurrentHashMap实现原理及源码分析
  2. 你当年没玩好的《愤怒的小鸟》,AI现在也犯难了
  3. CodeProject 文章概览:ASP.NET 模板相关内容
  4. How to access the folder of Android
  5. VTK:简单操作之ProjectPointPlane
  6. 移动端页面滑动事件穿透问题及其解决方案
  7. IntelliJ IDEA查看方法在哪里被调用(Usage Search/Call Hierarchy)
  8. 信号时频图的横纵坐标对调
  9. 去除网页上图片的虚框和a文字链接上的虚框
  10. Ubuntu18.04之国内常用源
  11. 【Spring 5】响应式Web框架实战(上) 1
  12. 产品经理的段位——说说腾讯的产品职级
  13. Python3安装turtle库(已成功安装)
  14. md5加盐(MySQL,PHP)
  15. 在Mac上将移动磁盘格式化为FAT32分区
  16. Excel同时打开两个窗口的方法
  17. 几种编程语言的优缺点
  18. 洛谷 P1598 垂直柱状图(输入带空格的字符串)
  19. Matlab中传递函数的几种输入方式
  20. 【system verilog】继续探究IC前端仿真中的“时间”,timescale,timeunit/timeprecision设置

热门文章

  1. 做技术要有一颗平常心
  2. 【ZJOI2015】醉醺醺的幻想乡 题解
  3. 旺店通·企业版与金蝶云星空对接集成查询货品档案连通物料新增(WK货品同步)
  4. ATOM基础教程一分屏操作(15)
  5. 职场没有白走的路,我听过最扯的一句话,就是“学这没用”!
  6. 时间序列早期分类问题定义和基本思想以及具体方法简述
  7. 我看电商(作者近三十年从事零售及电子商务管理的总结和分享)
  8. 精品微信小程序ssm的自驾游拼团旅游网站自由行+后台vuejs
  9. 第三章 嵌入式Python概述(三)
  10. JUC-9.“锁”事(显式锁与隐式锁/悲观锁与乐观锁/公平锁与非公平锁/可重入锁/读写锁(独占/共享/降级)/邮戳锁/死锁)、锁升级