编辑推荐
1、针对三菱、西门子PLC的开关量输入/输出及其与PC的数据通信,贴近工程实践。
2、应用实例丰富,指导性强。
3、光盘中包括实例源程序、程序运行录屏、系统测试录像,容易上手。
内容简介
《工控技术精品丛书:PLC开关量与通信控制应用实例详解》从应用的角度系统地介绍了三菱FX系列PLC、西门子S7-200 PLC开关量输入/输出及其与PC的数据通信技术。内容包括 PLC的硬件、软件结构,三菱/西门子PLC的组成与特点,PLC开关量控制基础,计数制与编码,PC串行通信概述,PLC数据通信基础,PLC与PC数据通信协议,三菱/西门子PLC开关量输入、输出及PC通信控制。其中,PC与PLC通信同时采用VB、VC++、LabVIEW和组态软件实现。
为方便读者学习,《工控技术精品丛书:PLC开关量与通信控制应用实例详解》提供配套光盘,内容包括实例源程序、程序运行录屏、系统测试录像等。
作者简介
石河子大学教授,任电气工程实验中心主任。测试技术学会西北分会、机械工程学会会员。参与过多项国家自然科学基金、国家科技支撑计划项目。编著有多本贴近实战的科技图书,深受刚进入工作岗位的年轻人及一线技术人员欢迎。
内页插图
目录
第1章 PLC概述
1.1 PLC的硬件结构
1.1.1 PLC的硬件组成
1.1.2 PLC的工作原理
1.1.3 PLC的常用外设
1.2 PLC的软件结构
1.2.1 PLC的软件组成
1.2.2 PLC的编程语言
1.2.3 PLC的程序结构
1.3 三菱FX系列PLC的组成与特点
1.3.1 FX系列PLC的组成
1.3.2 FX系列PLC的特点
1.3.3 FX2N系列PLC简介
1.4 S7-200系列PLC的组成与特点
1.4.1 S7-200系列PLC的组成
1.4.2 S7-200 PLC的特点
1.4.3 S7-200系列PLC的CPU模块
1.4.4 S7-200系列PLC的数字量扩展模块
第2章 PLC开关量控制概述
2.1 控制系统的信号类型
2.1.1 模拟量信号
2.1.2 开关量信号
2.1.3 脉冲量信号
2.2 控制系统的过程通道
2.2.1 开关量输入通道
2.2.2 开关量输出通道
2.3 PLC开关量输入/输出连接
2.3.1 开关量输入连接
2.3.2 开关量输出连接
2.4 PLC控制系统设计概述
2.4.1 PLC控制系统的设计原则与步骤
2.4.2 PLC控制系统的总体设计
2.4.3 PLC控制系统主回路与控制回路设计
2.4.4 PLC控制系统的安全电路设计
2.4.5 PLC控制系统的可靠性设计
2.4.6 PLC控制系统的安装与连接设计
第3章 PLC数据通信基础
3.1 PLC数据通信概述
3.1.1 数据通信系统组成
3.1.2 PLC数据通信的目的
3.1.3 PLC数据通信的类型
3.1.4 PLC数据通信的连接方式
3.1.5 数据在PLC存储器中存取的方式
3.1.6 PLC数据通信介质
3.2 个人计算机与PLC的通信
3.2.1 计算机与PLC通信的方法与条件
3.2.2 计算机与PLC的通信内容
3.2.3 计算机与PLC通信程序的设计要点与方法
3.2.4 PLC串口通信调试软件及其应用
第4章 PC串行通信概述
4.1 串行通信技术简介
4.1.1 串行通信的基本概念
4.1.2 串行通信协议
4.1.3 串行通信的接口标准
4.1.4 计算机中的串行端口
4.1.5 串行通信线路连接
4.1.6 串口调试工具
4.2 串行通信控件MSComm
4.2.1 MSComm控件处理通信的方式
4.2.2 MSComm控件的使用
4.2.3 MSComm 控件的常用属性
4.2.4 MSComm 控件的OnComm事件
4.2.5 MSComm控件通信步骤
4.3 PLC组态王串口通信设置
4.3.1 三菱FX系列PLC组态王通信设置
4.3.2 西门子S7-200PLC组态王通信设置
4.4 LabVIEW与串口通信
4.4.1 LabVIEW中的串口通信功能模块
4.4.2 LabVIEW串口通信步骤
第5章 计数制与编码
5.1 计数制
5.1.1 计数制概述
5.1.2 十进制与二进制
5.1.3 八进制与十六进制
5.2 计数制转换及其程序设计
5.2.1 二进制与十进制的转换
5.2.2 二进制与八进制的转换
5.2.3 二进制与十六进制的转换
5.2.4 八进制与十进制的转换
5.2.5 十六进制与十进制的转换
5.2.6 八进制与十六进制的转换
5.3 字符编码
5.3.1 BCD码
5.3.2 格雷码
5.3.3 ASCII编码
第6章 PLC与PC数据通信协议
6.1 通信协议的基本知识
6.1.1 通信网络开放系统互连模型OSI
6.1.2 通信协议基本概念
6.2 三菱FX系列PLC与PC的通信协议简介
6.2.1 FX系列PLC的通信协议类型
6.2.2 计算机链接通信协议
6.2.3 无协议通信
6.3 西门子S7-200系列PLC与PC的通信协议简介
6.3.1 PPI通信及应用
6.3.2 自由口通信及应用
6.4 三菱FX2N系列PLC与PC通信编程口协议
6.4.1 命令帧格式
6.4.2 响应帧格式
6.4.3 地址计算
6.4.4 强制置位与复位
6.4.5 读写指令示例
6.5 西门子S7-200系列PLC与计算机通信PPI协议
6.5.1 通信过程
6.5.2 命令格式
6.5.3 命令类型
第7章 三菱PLC与PC通信之开关量输入
7.1 系统设计说明
7.1.1 设计任务
7.1.2 线路连接
7.1.3 指令获取与串口通信调试
7.2 PC端程序设计
7.2.1 VB程序设计详解
7.2.2 VC++程序设计详解
7.2.3 LabVIEW程序设计
7.2.4 监控组态程序设计
第8章 西门子PLC与PC通信之开关量输入
8.1 系统设计说明
8.1.1 设计任务
8.1.2 线路连接
8.1.3 串口通信调试
8.2 PC端程序设计
8.2.1 VB程序设计详解
8.2.2 VC++程序设计详解
8.2.3 LabVIEW程序设计
8.2.4 监控组态程序设计
第9章 三菱PLC与PC通信之开关量输出
9.1 系统设计说明
9.1.1 设计任务
9.1.2 线路连接
9.1.3 指令获取与串口通信调试
9.2 PC端程序设计
9.2.1 VB程序设计详解
9.2.2 VC++程序设计详解
9.2.3 LabVIEW程序设计
9.2.4 监控组态程序设计
第10章 西门子PLC与PC通信之开关量输出
10.1 系统设计说明
10.1.1 设计任务
10.1.2 线路连接
10.1.3 串口通信调试
10.2 PC端程序设计
10.2.1 VB程序设计详解
10.2.2 VC++程序设计详解
10.2.3 LabVIEW程序设计
10.2.4 监控组态程序设计
参考文献
前言/序言
好的,这是一本名为《嵌入式系统设计与实践:基于ARM Cortex-M系列微控制器的高效开发指南》的图书简介,该书内容完全不涉及“工控技术精品丛书:PLC开关量与通信控制应用实例详解(附CD光盘1张)”中的任何技术点,如PLC、开关量、特定通信协议(如Modbus等)的应用实例等。 --- 嵌入式系统设计与实践:基于ARM Cortex-M系列微控制器的高效开发指南 导言:迈向深度嵌入式开发的基石 在物联网(IoT)、智能硬件、消费电子乃至先进医疗设备飞速发展的今天,嵌入式系统已成为信息技术的神经中枢。掌握高效、稳定且资源优化的嵌入式开发技术,是现代电子工程师的核心竞争力。本书《嵌入式系统设计与实践:基于ARM Cortex-M系列微控制器的高效开发指南》,专注于为读者提供一套系统化、工程化、紧贴行业前沿的开发方法论。我们避开传统工业控制领域特定的应用实例,将全部篇幅聚焦于微控制器底层架构的理解、高效软件设计范式的建立,以及现代嵌入式工具链的深度应用。 本书选择当前市场占有率最高、生态系统最成熟的 ARM Cortex-M系列微控制器(如M3、M4、M7内核)作为核心载体,旨在帮助读者跨越“点亮LED”的初级阶段,直达复杂的实时操作系统(RTOS)应用、内存管理优化以及电源管理策略的实战层面。 第一部分:Cortex-M微控制器架构的深度解析 本部分旨在为读者打下坚实的硬件底层认知基础,这是进行任何高效开发的前提。我们不会讨论任何关于可编程逻辑控制器(PLC)的结构、输入/输出(I/O)点的逻辑配置或工业现场总线协议。 1. Cortex-M内核基础原理与汇编视角 深入剖析ARMv7-M/ARMv8-M架构的特有设计,包括: 寄存器集与程序流控制: 详细解析通用寄存器、特殊功能寄存器(SFRs)的用途,以及异常向量表、堆栈帧的建立与恢复过程。 内存模型与地址映射: 阐述Cortex-M的内存空间划分(Code, SRAM, Peripheral Space),理解哈佛结构对指令和数据访问的影响。 汇编语言的初步接触: 学习核心指令集(如LDR, STR, MOV, BX, BLX),掌握如何使用汇编语言编写极简的启动代码(Startup Code),为后续的链接器脚本优化做准备。 2. 启动序列与初始化:从上电到C语言环境 系统启动是嵌入式开发的“第一道关卡”。本书详细讲解: 复位流程: 从硬件复位信号产生到向量表的读取,再到C语言`main()`函数被调用的完整链条。 系统初始化步骤: 重点解析时钟树的配置(HSE/HSI/PLL的锁定与分频),看门狗(WDT)的关闭或预设,以及Flash存储器的配置(如Cache和预取缓冲)。 链接器脚本(Linker Script)精通: 教授如何自定义`.ld`文件,精确控制代码段、数据段(初始化数据与未初始化数据)在Flash和SRAM中的物理布局,这是实现代码紧凑化和数据安全的关键技术。 第二部分:裸机开发的高效编程范式与中断管理 本章聚焦于不依赖复杂操作系统的底层驱动编写,强调代码的效率、可移植性与可靠性。 3. 高级时钟与定时器应用 本书不涉及工业控制中的时间精度要求,而是侧重于通用时序控制与信号生成: 通用定时器(GPT): 配置输入捕获、输出比较模式,用于精确测量脉冲宽度或实现PWM信号的生成。 SysTick: 利用Cortex-M内置的SysTick定时器实现高精度的软件延时和基础的节拍中断服务。 低功耗模式的实践: 详解Sleep、Deep Sleep等不同休眠模式的触发机制,以及如何通过外部事件或定时器唤醒系统,实现电池供电设备的节能策略。 4. 中断服务程序(ISR)的优化与上下文切换 中断处理是嵌入式实时性的核心。本书强调: NVIC(嵌套向量中断控制器)精细化配置: 讲解中断优先级分组(PriGroup)、抢占优先级与子优先级(Preemption vs. Sub-priority)的配置原则。 ISR编写规范: 强调ISR内部代码的最小化原则,如何快速保存和恢复上下文,并将复杂计算转移至主循环或软件定时器中处理。 原子操作与临界区: 使用`__disable_irq()`和`__enable_irq()`指令族,实现对共享数据的安全访问,确保数据一致性,避免竞态条件。 第三部分:实时操作系统(RTOS)与多任务管理 本部分是本书的核心,深入讲解如何使用FreeRTOS或其他主流RTOS来构建复杂、可维护的嵌入式软件架构。 5. FreeRTOS核心机制与资源管理 我们聚焦于RTOS提供的抽象层,而不是特定的I/O操作: 任务(Task)的生命周期: 任务的创建、就绪、运行、阻塞、删除的全过程分析。讲解TICKless模式对功耗的影响。 内存池(Heap Management): 深入比较FreeRTOS提供的四种堆管理方案(如heap_1到heap_5),分析其内存碎片化倾向和性能开销,指导开发者根据应用场景选择最优方案。 任务间通信(IPC): 重点讲解消息队列(Queue)和信号量(Semaphore)的使用,用于实现任务间安全、可靠的数据传递和事件同步。 6. 高级RTOS主题:时间片调度与内存保护 软件定时器(Software Timer): 讲解如何利用RTOS的机制实现周期性、非中断触发的定时任务,从而简化ISR设计。 内存保护单元(MPU): 对于Cortex-M3/M4/M7内核,详细介绍MPU的配置,如何为不同任务分配独立的内存访问权限,防止一个任务的错误操作破坏其他任务的数据或系统关键区,提升系统健壮性。 任务调试与跟踪: 利用RTOS提供的Trace/Profiling工具链,分析任务切换延迟、阻塞时间,找出系统性能瓶颈。 第四部分:现代嵌入式通信接口与数据流设计 本书侧重于通用的数据传输协议栈实现,而非特定的现场总线或工业级协议。 7. 高速异步通信与DMA高效传输 UART/USART深度应用: 聚焦于如何通过DMA(直接内存访问)模式配置,实现大块数据的连续接收与发送,将CPU从繁琐的字节搬运中解放出来。 SPI/I2C总线的高级应用: 讲解如何配置主设备(Master)模式,实现多设备轮询与仲裁机制,重点关注时序要求与错误处理。 8. USB Device协议栈的实现与应用(非HID/CDC特定) 针对Cortex-M系列广泛集成的USB控制器: 端点(Endpoint)的理解: 分析控制、批量(Bulk)、中断(Interrupt)和同步(Isochronous)端点的区别及其在数据流中的角色。 自定义协议栈的构建: 引导读者理解USB描述符(Descriptor)的结构,如何基于标准框架实现一个自定义的USB数据传输协议,例如用于数据采集或固件升级(FOTA)的通道。 结语:面向未来的嵌入式工程思维 《嵌入式系统设计与实践》旨在培养工程师的“系统思维”和“性能导向”的编程习惯。本书的实践案例将围绕传感器数据融合、低功耗设备状态机管理和基于RTOS的任务调度优化展开,彻底避免了对工控场景中特定硬件接口或传统控制算法的依赖。通过本书的学习,读者将能独立构建起高性能、资源受限环境下的复杂嵌入式应用。 --- 目标读者: 具备C语言基础,希望深入理解ARM Cortex-M底层工作原理,并掌握现代RTOS应用技巧的电子工程师、软件开发者及电子专业高年级学生。