前几天写过一个《PLC设计思考》,

里面提到了西门子博途,这几天我又查了一下资料,觉得西门子的smartplc比较好,或者说比较适合我目前的情况。

smartplc里面也有查询网络上的cpu功能。

对于《PLC设计思考》提到的”对固件和对用户程序的不同处理",我我特意问了安富莱的老大,老大说直接刷用户程序没问题。

安福莱老大是很猛的,我也是偶然才在论坛发现他以前曾经开发过一款PLC,属于编译器那种级别的开发。

现在想起来,安福莱说过他以前就玩过编译器,看样子我目前是已经找到进一步的佐证了。

关于普通PLC里面的RUN和STOP模式,基本上我是无法用到的。因为我的用户包括本司底层开发人员(他们需要初始化底层驱动,根本原因还是在于板卡太多,太乱),售后人员,以及非本司“用户程序”开发人员。

这就决定了我如果采用RUN和STOP模式的话,就会极其复杂。

因为一般情况下市面上的PLC不会让用户初始化底层驱动的。

所以基本上只能这样,整个flash区域分为几个块:

1是bootloader;

2是中间件,就是一些通用函数的实现,也有一些常用的底层驱动。

3是用户程序,包括用户自己写的应用程序,调用中间件的程序,新增加的初始化底层驱动程序

4是一些参数配置以及指纹等

这样的话,每次更新中间件或者用户程序或者参数配置都需要调用bootloader。

这样做,可操作性就比较强了,也比较容易做的稳定。

另外PLC的一些流程还是要学习一下,比如在bootloader启动的时候可以考虑检查bootloader以及中间件的完整性,检查各种参数的有效性。对于驱动初始化不成功的情况如何处理,都是需要考虑的。对电源的监测。

任何软件的开发都要做到隔离。

市面上的PLC都用通过固件来刷新用户程序的,咋一看,似乎好复杂,风险好大,但是好好想想,通过STOP模式进行了“隔离”,一切就都那么清晰。

又一次我在东芝的控制器上看到了一个开关,现在想来,就是用来进入STOP模式的开关了。

即便用户程序崩溃了,只要重启后进入了STOP模式,一切就都在掌握之中了。

2018.05.03------

还是可以考虑弄RUN-STOP模式的。

这样一旦刷新用户程序失败,就可以“很方便的”利用固件再次刷入用户程序。

PLC设计思考[2]相关推荐

  1. 面试必备:一个秒杀系统的设计思考

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:阿哲 segmentfault.com/a/11900000 ...

  2. 用thinkphp进行微信开发的整体设计思考

    用thinkphp进行微信开发的整体设计思考 http://www.2cto.com/weixin/201504/388423.html 2015-04-09      0个评论       作者:明 ...

  3. 一个秒杀系统的设计思考

    简介:从架构视角来看,秒杀系统本质是一个高性能.高一致.高可用的三高系统.而打造并维护一个超大流量的秒杀系统需要进行哪些关注,就是本文讨论的话题. 秒杀大家都不陌生.自2011年首次出现以来,无论是双 ...

  4. 【忘川风华录】雅社——公会社交系统交互设计思考

    GameTube邀请忘川交互团队分享设计中的经验和感受.本次为<忘川风华录>交互设计师[丸子]分享公会系统的设计思考.此篇为忘川设计复盘系列完结篇~ 期待之后会有更多交互同学分享设计的经历 ...

  5. 高老师架构设计思考短句集(1)

    高老师<架构&设计思考>短句集(1) << FEB 2014 >> 俗语说:「授之以渔,而非授之以鱼.」 所以,高老师教你如何思考和创新你自己的架构技术,而 ...

  6. 31号2场直播预告丨下一代分布式数据库设计思考、Greenplum 7新特性和进展

    1.下一代分布式数据库设计思考-03.31 自从 E.F.Codd 于 1970 年提出关系模型,到今天为止,关系数据库已经有 50 多年的发展历史.通过抽象出关系模型和事务模型,以及 SQL 语言, ...

  7. 主流物联网平台的架构设计思考

    主流物联网平台的架构设计思考 物联网平台的总体架构 物联网平台的技术架构 用户级物联网平台的解决方案: 车联网平台的主流解决方案:

  8. RESTful API 设计思考

    RESTful API 设计思考,内容来源网络加自己的思考 1.RESTful Web API采用面向资源的架构:同一的接口,所以其成员体现为针对同一资源的操作 2.SOAP Web API采用RPC ...

  9. 高老师架构设计思考短句集(2)

    高老师<架构&设计思考>短句集(2) << FEB 2014 >> 为什么要思考呢?  因为许多古典的架构思维视角,都已经不符合智能化&大数据时代的 ...

最新文章

  1. WPAD原理介绍暨故障排查:ISA2006系列之三
  2. 基于zeromq的高性能分布式RPC框架Zerorpc 性能测试
  3. [C# 基础知识梳理系列]专题四:事件揭秘
  4. 【转】Redis的各项功能解决了哪些问题?
  5. 【C语言】谭浩强C语言程序设计第五版135页例5.11译密码题的新解
  6. JAVA基于J2ME的手机游戏开发免费
  7. Dosbox安装Windows 95图文教学
  8. 动手学深度学习环境安装
  9. 向量的数量函数的导数
  10. ftp打开方式更改为资源管理器方法
  11. eclipse 换背景图片
  12. maven 本地仓库配置
  13. htonl ntohl htons ntohs
  14. 【项目】健康项目day6总结
  15. 计算机组装配件选择,组装电脑选配件时需要注意哪几方面?
  16. 【TSCH概述/CONTIKI】
  17. Arcgis栅格裁剪批处理工具
  18. matlab离散点范围外云图,matlab利用m_map工具包画中国地图及散点云图
  19. 华为8年女硕离职:多么痛的领悟...
  20. java计算机毕业设计昆明市人民医院血库管理系统源码+数据库+lw文档+系统

热门文章

  1. python客户端通过代理发送请求
  2. Lightoj_1422
  3. python pandas读取数据报错:Traceback (most recent call last):anaconda3/lib/python3.7/site-packages/pandas/i
  4. APP上架应用宝外显流程
  5. php表白情话,情人节这些表白文案都帮你准备好了,就怕你还没对象(捂脸)
  6. 为什么编译tiny工程出错,提示不兼容的类型
  7. JFrame和Frame的区别
  8. 203计算机毕业设计
  9. urlopen中文路径报错from urllib.request import urlopen from urllib.parse import quote from bs4 import Beaut
  10. Linux学习总结(10)——Linux查看CPU和内存使用情况