ICADCS同学的上位机科普

受到实验室指导老师的邀请,给学弟学妹们科普上位机。

由于上位机软件开发中会涉及到大量英语文档,因此在基本概念中,有些使用的英文介绍。

基本概念

上位机/下位机

上位机是指可以直接发出操控命令的计算机,一般是PC,屏幕上显示各种信号变化(液压,水位,温度等)。下位机是直接控制设备获取设备状况的计算机,一般是PLC/单片机之类的。上位机发出的命令首先给下位机,下位机再根据此命令控制相应设备。下位机不时读取设备状态数据(一般为模拟量),转换成数字信号反馈给上位机。

I/O

​ Input/output

IDE

  • Integrated development environment
  • An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editor, build automation tools, and a debugger.
  • Android StudioVisual Studio

SDK

  • Software development kit
  • A software development kit (SDK or devkit) is typically a set of software development tools that allows the creation of applications for a certain software package, software framework, hardware platform, computer system, video game console, operating system, or similar development platform.
  • Java Development Kit(JDK)、.NET Framework SDK、iOS SDK

API

  • Application programming interface
  • In computer programming, an application programming interface (API) is a set of subroutine definitions, communication protocols, and tools for building software.
  • 百度地图API

.NET Framework

  • .NET is an open source developer platform, created by Microsoft, for building many different types of applications
  • You can write .NET apps in C#, F#, or Visual Basic.
    • C# is a simple, modern, object-oriented, and type-safe programming language.

Windows Forms

  • Windows Forms (WinForms) is a graphical (GUI) class library included as a part of Microsoft .NET Framework providing a platform to write rich client applications for desktop, laptop, and tablet PCs.

项目处理

完整应用程序的组成

  • 源程序文件
  • GUI界面文件
  • 资源文件
  • 配置文件

项目处理过程

  1. 学习对应的编程语言
  2. 分析功能
  3. 拆分功能
  4. 明确输入输出
  5. 建立初版GUI界面
  6. 查找功能对应的库或源代码
  7. 弄懂对应库或源代码的使用方法
  8. 完成功能模块
  9. Debug
  10. 完善GUI界面

编程学习

Windows

​ 我们编写的的是 Windows Forms 程序,使用 C# 这种编程语言编程。C# 是一种面对对象编程语言,与面对过程的 C 有很大的区别,因此我们需要把这个当作一种全新的编程语言来学习,一定要把完整的视频过一遍。这里提供两个教程网址

Android(选修)

​ 安卓情况比较复杂,这里推荐 Google 制作的一套官方教程,可以不用先学Java,零基础入门。

Bug&Debug

  • 检查配置是否匹配
  • 边写边测试
  • 单位测试
  • 注意查看报错信息
  • Google一下/Bing一下/百度一下

版本控制

Github注册

​ Github是一个基于git的代码托管平台,付费用户可以建无数个私人仓库,我们一般的免费用户只能使用最多5个私人仓库及无数个公共仓库,其中公共仓库代码公开。

请自行搜索注册教程

Github使用

​ 现场演示

相关资源


Learning By Sharing,2019©Fu_Qingchen,Markdown,$\LaTeX$


ICADCS同学的上位机科普
https://fu-qingchen.github.io/2019/08/04/WHUT/CodingLesson/
作者
FU Qingchen
发布于
2019年8月4日
许可协议