西门子6FC5203-0AB12-0AA0
我公司主营西门子各系列PLC (S7-200 SMART S7-300 S7-400) 触摸屏 变频器 (MM系列 G120 G120C G110) 伺服 (V80 V60) 数控备件 (PCU50 NCU CCU 轴卡) 等 价格优势 产品为西门子原装正版产品 我公司售出的产品 按西门子标准质保 产品本身有质量问题 质保一年 公司秉承:以信待人 以诚待人 质量如生命 客户至上的经营理念 竭诚为您服务 您的肯定是我们*大的动力 我们将期待与您长期持久的合作
1)CU320 6SL3040-0MA00-0AA1
(2)非调节型电源模块5kW 6SL3130-6AE15-0AA0
(3)双电机模块3A 6SL3120-2TE13-0AA0
(4)同步电机(1FK7022-5AK71-1AG3),通过SMC20(6SL3055-0AA00-5BA1)接增量型编码器(2048,Sin/Cos,1Vpp)
(5)同步电机(1FK7022-5AK71-1LG3),通过DRIVE-CLIQ接值编码器(512 ppr,EnDat)
(6)CompactFlash Card 6SL3054-0CG01-1AA0
μ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; /*无符号8位整数 */
typedef signed char INT8S; /*有符号8位整数 */
typedef unsigned int INT16U; /*无符号16位整数 */
typedef signed int INT16S; /*有符号16位整数 */
typedef unsigned long INT32U; /*无符号32位整数 */
typedef signed long INT32S; /*有符号32位整数 */
typedef float FP32; /*单精度浮点数 */
typedef double FP64; /*双精度浮点数 */
μC/OS-II需要先禁止中断访问代码的临界区,并且在访问完毕后重新允许中断。μC/OS-II定义了两个宏来禁止和允许中断:OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()。
#define OS_ENTER_CRITICAL() IRQFIQDE
#define IRQFIQDE __asm
{
mrs r0, CPSR;
stmfd sp!, {r0};
orr r0, r0, #NOINT;
msr CPSR_c, r0;
}
#define OS_EXIT_CRITICAL() IRQFIQRE
#define IRQFIQRE __asm
{
ldmfd sp!, {r0};
msr CPSR_c, r0;
}
#Endif
(2)编写4个汇编语言函数[OS_CPU_A.S]
μC/OS-II的移植实例要求用户编写4个简单的汇编语言函数:
OSStartHighRdy()
OSCtxSw()
OSIntCtxSw()
UCOS_IRQHandler
详细内容见本刊网络补充版(http://www.dpj。。com.cn)。
(3)用C语言编写6个与操作系统有关的函数[OS_CPU_C.C]
这6个函数是:
OSTaskStkInit()
OSTaskCreatHook()
[NextPage]
OSTaskDelHook()
OSTaskSwHook()
OSTaskStatHook()
OSTaskTickHook()
这6个函数只对OSTaskStkInit()编写代码,后5个函数必须声明,但是内部并没有代码。OSTaskCreate()和OSTaskCreateExt()通过调用OSTaskStkInit()来初始化任务的堆栈结构。这个函数的移植代码,可参考文献[3
西门子6FC5203-0AB12-0AA0
- 西门子6FC5203-0AB11-0AA2 2024-11-30
- 西门子6FC5203-0AB11-0AA1 2024-11-30
- 西门子6FC5203-0AB11-0AA0 2024-11-30
- 西门子6FC5203-0AB10-0AA1 2024-11-30
- 西门子6FC5203-0AB10-0AA0 2024-11-30
- 西门子6FC5203-0AB00-0AA0 2024-11-30
- 西门子代理6SL3255-0AA00-4HA1 2024-11-30
- 西门子代理6SL3255-0AA00-4JA2 2024-11-30
- 西门子代理6SL3255-0AA00-5AA0 2024-11-30
- 西门子G120X变频器6SL3220-3YD48-0UB0 2024-11-30