西门子6SL3000-0CE15-0AA0详细说明
μC/OS-II核心代码很小,程序开发人员要把它移植到自己的目标板中只需做少量的工作。图1是μC/OS-II硬件和软件的体系结构。
虽然μC/OS-II大部分源代码是用C语言写的,但是完成和处理器一些有关的代码时,还是必须要用汇编语言来实现的。寄存器的读、写只能通过汇编语言的存储和加载指令来实现。要使μC/OS-II能够正常工作, 处理器必须满足以下要求:
① 处理器的C编译器能产生可重入代码;
② 用C语言可以打开和关闭中断;
③ 处理器支持中断,并且能够产生定时中断(通常在10~100Hz之间);
④ 处理器能够支持容纳一定量数据的硬件堆栈;
⑤ 处理器有将堆栈指针和其它寄存器读出和存储到堆栈或内存中的指令。
μC/OS-II的移植包括以下几个部分。
(1)设置与编译器有关的代码[OS_CPU.H]
在不同的处理器中有不同的字长,所以必须定义一系列数据类型以确保移植的正确性。另外,在μC/OS-II中,不使用C的short、int和long等数据类型,这些都是和编译器相关的。下面就是μC/OS-II定义的一部分数据类型。
typedef unsigned char BOOLEAN;
typedef unsigned char INT8U;
typedef signed char INT8S;
typedef unsigned int INT16U;
typedef signed int INT16S;
typedef unsigned long INT32U;
typedef signed long INT32S;
typedef float FP32;
typedef double FP64;
μC/OS-II需要先禁止中断访问代码的临界区,并且在访问完毕后重新允许中断。μC/OS-II定义了两个宏来禁止和允许中断
(3)用C语言编写6个与操作系统有关的函数[OS_CPU_C.C]
这6个函数是:
OSTaskStkInit()
OSTaskCreatHook()
[NextPage]
OSTaskDelHook()
OSTaskSwHook()
OSTaskStatHook()
OSTaskTickHook()
这6个函数只对OSTaskStkInit()编写代码,后5个函数必须声明,但是内部并没有代码。OSTaskCreate()和OSTaskCreateExt()通过调用OSTaskStkInit()来初始化任务的堆栈结构。这个函数的移植代码,可参考文献[3]。
3 测试、编写驱动和应用程序
做完以上工作以后,就要测试移植的是否正确。测试一个μC/OS-II实时内核并不复杂,就是让这个实时内核在自己的目标板上跑起来。开始时,可以运行一些简单的任务和时钟节拍中断任务,如果调试成功就可以在上面添加应用程序。
μC/OS-II移植完成以后,就要在这个实时内核之上编写接口驱动程序。由于嵌入式操作系统体积更小,功能更强,且快速、稳定,更具有针对性,因此不像其它操作系统那样,对系统的所有接口设备都需要驱动、管理、调度和监视。由于嵌入式产品是针对特殊的用途而设计的,有很强的专一性,因此,在编写驱动程序时内容更精简,更具有稳定性,编写出的驱动模块更小。编写驱动程序应完成以下基本功能:①对设备初始化和释放;②把数据从内核传送到硬件和从硬件读取数据;③读取应用程序传送给设备文件的数据和回送应用程序请求的数据;④检测和处理设备出现的错误。实现了以上功能以后,一个嵌入式操作系统就基本构成了。
完成了μC/OS-II的移植和驱动程序的编写以后,利用操作系统提供的API函数编写应用程序,调用μC/OS-II中与应用程序相关的系统服务。调试通过后,固化到目标板上,这个嵌入式应用软件就完成了
西门子CP 5611 A2 可在不同的软件包下进行操作,并允许用户通过 PROFI-BUS 和多点接口(MPI)执行编程设备的功能和 PC 函数。
每台编程器或PC上只能使用一个通讯处理器。 每个CP 只能使用一个相同的协议 (PROFIBUS DP, S7 通讯或者 FDL)。
下面的软件包支持 CP 5611 A2:
STEP 7 V3.2 及以上;
CP 5611 A2 驱动程序在供货 STEP 7 范围之内 。
SOFTNET-S7 V3.2 及以上
使用该软件包,S7 编程接口
SOFTNET-DP V3.2 及以上
CP 5611 可用作带这种软件包的 Class 1 或 2 PROFIBUS DP主站。
SOFTNET DP V3.2 及以上
用于使用 CP 5611 作为 PROFIBUS DP 从站。
COM PROFIBUS V3.3 及以上;
使用本软件包,CP 5611 A2 可用于PROFIBUS DP系统的调试或诊断(DP在线功能。)
STEP 7-Micro/WIN V2.1 及以上;
用作 SIMATIC S7-200 的编程软件的硬件基础。
ProTool,ProTool/Pro;
CP 5611 A2 可用作所有 SIMATIC 操作员面板,触摸屏和文件显示等组态工具的硬件基础
NCM PC;
RS485总线连接器
用于将 PROFIBUS 节点连接到 PROFIBUS 总线电缆
安装方便
FastConnect 插头采用绝缘刺破连接技术,可确保极短的组装时间
集成端接电阻 (6ES7 972-0BA30-0XA0 中不具有)
通过带 Sub-D 接口的连接器可以连接编程器,无需额外安装网络节点
用于 PROFIBUS 的 RS485 总线连接器,可用于连接 PROFIBUS 节点或 PROFIBUS 网络部件到 PROFIBUS 总线电缆。
提供有各种类型的总线连接器,可优化用于连接的设备:
总线连接器具有轴向电缆引出线(180°),可用于如 PC 和 SIMATIC HMI OP,传输速率高达 12 Mbit/s,带集成的总线端接电阻
带垂直电缆引出线的总线连接器(90°);
这种接头采用垂直电缆引出线(有或没有编程器接口),数据传输速率高达 12 Mbit/s,带集成的终端电阻。传输速率为 3、6 或12 Mbit/s 时,在带编程器接口的总线接头和编程器之间,需要使用 SIMATIC S5/S7 连接电缆。
有 30°电缆引出线的总线接头(经济型),无编程器接口,数据传输速率zui大为 1.5 Mbit/s,无集成的总线端接电阻。
PROFIBUS 快速连接 RS485 总线接头(90°或 180°电缆引出线),传输速率zui大为 12Mbit/s,采用绝缘刺破技术可实现快速简单安装(用于硬线和软线)。
总线连接器可直接插入到 PROFIBUS 站或 PROFIBUS 网络组件的 PROFIBUS 接口(9 针 Sub-D 接口)中。
可使用 4 个端子在插头中连接进入和离开的 PROFIBUS 电缆。
通过从外部清晰可见的便于接触的开关,可以连接总线连接器中集成的总线端接器(不适用于 6ES7 972-0BA30-0XA0)。在此过程中,连接器中的进线和出线总线电缆是分开的(隔离功能)。
必须在 PROFIBUS 网段的两端进行这种连接。
6ES7972-0BB50-0XA0接头
STEP 7 - Micro/WIN 的标准库中不包含格雷码转换。使用下载的附件可以转换成8位、16位和32位二进制数。
格雷码指令库的描述
"graycode.mwl" 指令库包括用于字节、字和双字格式的编码和解码的功能块。
图 1
从二进制码转换到格雷码(BIN_GRAY)
功能块 BIN_GRAY_B、BIN_GRAY_W 和 BIN_GRAY_DW 把输入的字节、字和双字类型的二进制码编码成格雷码。
图 2
表 1
从格雷码转换到二进制码(GRAY_BIN)
功能块 GRAY_BIN_B、GRAY_BIN_W 和 GRAY_BIN_DW 把输入的格雷码解码成字节、字和双字类型的二进制码。
图 3
表 2
定义范围
没有使用范围的限制,因为此转换是针对二进制和所有终被解析为二进制的数据(十进制、十六进制和有符号数)。
将格雷码转换为二进制码的附加功能
子程序 GRAY_BIN 和 XOR 用来将格雷码解码为二进制代码。
STEP 7 Micro/WIN 库是 zip 文件
复制 "graycode.zip" 文件到单独的目录并解压缩这个文件。您可以添加这个 "graycode.mwl" 库指令到 S7-200项目,这个库指令可用于 V3.2.4.27 和更高版本的 STEP 7 Micro/WIN 中。
注意
这些格雷码编码和解码块不能用于连接串行 SSI 编码器,因为这些编码器需要通信速率大于 187.5 K bit/s 并且需要两对电缆( 用于时钟和数据 )因此不能连接到 S7-200 CPU 的通信接口。
配电箱漏保和空开该如何装呢? 下面给出几种安装方式,一起分析下。 第一种:全部安装的空气开关。这种安装方式气势安全隐患很大,只能起短路保护作用,而不能防漏电触电。 第二种:漏保作为总开关,其他支路用空气开关。其实,理论上当然是漏电做总闸好,但是实际上如果插座,卫生间或灯的线路有漏电的情况的时候,**是让单独控制它们的开关跳闸,不要让全家没有电。而且只有一个漏电保护器,损坏的几率也较高。 第三种:空开做总开关,各分支用漏保;很多人家都选用的这种,防漏电、防短路功能齐全,而且不会因为一有漏电全家没电尴尬; 第四种:总开关与空调、照明用空气开关,其他房间、厨房插座用漏电保护开关。这种方式被认为比较科学,因为它分具体情况来安装开关,能够满足不同用电的需求,很多十年老电工也是比较认可的。 在实际应用中,小编发现:有些人家是漏保做总闸,空开做分支开关;也有些人家是空开做总开关,各分支用漏保;还有人为了安全,进线用先经空开,然后通过总漏保,再然后再用分路漏保去控制分线,每条分线都安装了两个漏保来防漏电,双重保险。
|