总数:145 | 当前第10/15 首页 上一页 6 7 8 9 10 11 12 13 14 15 下一页 尾页
EtherCAT 功能原理示意Functional Principle
EtherCAT技术突破了其他以太网解决方案的系统限制:通过该项技术,无需接收以太网数据包,将其解码,之后再将过程数据复制到各个设备。EtherCAT从站设备在报文经过其节点时处理以太网帧:嵌入在每个从站中的FMMU(现场总线存储管理单元)在帧经过该节点时读取相应的编址数据,并同时将报文传输到下一个设备。同样,输入数据也是在报文经过时插入至报文中。整个过程中,报文只有几纳秒的时间延迟。 主站方面也非常经济,商用的标准网卡(NIC)或任何主板集成的以太网控制器可以用作硬件接口。这些接口的共性就是数据通过DMA(直接内存读取)传输至PC,即网络读取时无需占用CPU资源。 协议 EtherCAT协议在以太网帧内采用官方指定的以太类型。采用这种以太类型即可允许在以太网帧内直接传输控制数据,而无需重新定义标准以太网帧。该以太网帧可由多种子报文组成,每个子报文服务于逻辑过程映像区的特定内存区,该区域最大可达4GB。数据序列是独立于物理顺序的,所以以太网端子模块的编址可以随意排序。从站之间的广播,多播和通讯也可得以实现。 当EtherCAT组件与主站控制器运行在同一个子网,或者在控制软件直接读取以太网控制器时,可以使用以太网帧直接传输数据。 然而,EtherCAT不仅限于单个子网的应用。EtherCAT UDP将EtherCAT协议封装为UDP/IP数据报文,这就意味着,任何以太网协议堆栈的控制均可编址到EtherCAT系统之中,甚至通讯还可以通过路由器跨接到其它子网中。
  1. 2010/5/28
  2. 人气(6907)
  3. 星级(10)
  4. 评论(0)
PLC基础与实际应用讲座
PLC(即可编程逻辑控制器,Programmable Logic Controller)是用来取代用于电机控制的顺序继电器电路的一 种器件。PLC 通过检查输入的状态来控制它的输出点的闭合与打开。用户输入一段程序(通常是通过软件),PLC 就 给出相应的结果。 PLC 在实际中用的很多。只要有工业的地方,就有 PLC 存在的机会。如果你就在机器制造、包装、物料输送、自 动装配等行业中工作,那么你可能已经在使用它了。如果没有的话,你就是正在浪费金钱和时间。几乎所有需要电气 控制的地方都需要 PLC。例如,我们假设当一个开关闭合时,我们想让一个电磁阀先开启 5 秒钟,然后闭合,而不管 开关处于什么状态。我们用一个简单的外部定时器就可心完成这一动作。但是,如果该过程有 10 个开关和 10 个电磁 阀呢?我们需要 10 个外部定时器。如果在这一应用中也需要对开关的打开次数单独计量呢?我们需要大量的外部计 数器。 可以看出,一个控制过程越复杂,我们就越需要使用 PLC。使用 PLC,我们可以很容易地对它的输入计数,并且 在指定的时刻开启电磁阀。 了解一下 PLC 的发展史,或许对学习有很大的帮助。在上个世纪 60 年代末期,PLC 第一次被提出。设计这样一个 器件的主要目的是为了降低当时使用复杂的继电器控制的电机控制系统的巨额成本。Bedford 联盟(Bedford,MA)向 美国一家大型汽车制造商提议制作模块化数字控制器(MODICON,Modular Digital Controller)。当时,其它公司 提出基于计算机的计划,其中一项是基于 PDP-8。MODICON 084 是世界上第一块成为商品的 PLC。 当生产要求变化的时候,对控制系统的要求也在变化。当变化非常频繁的时候,成本是非常高的。因为继电器是 机械元件,它们的寿命都是有限的,这就需要定制一份非常严格的保养计划。当使用的继电器非常多的时候,故障诊 断也是非常令人头痛的事情。现在想像一下:一块电机控制面板,上面布满了许多,或许是成百成千的独立的继电器。 单其尺寸也要让人考虑半天。这么多的独立元件,其最初的接线是多么的复杂!这些继电器必须按规定用导线接在一 起才能产生要求的输出结果。这样会有问题吗?你打赌:会有!
  1. 2010/5/20
  2. 人气(116287)
  3. 星级(7)
  4. 评论(7)
第5章(1):八路彩灯控制程序
(1)D1~D8八个彩灯按规定顺序依次点亮(间隔1秒),最后全亮; (2)按规定顺序依次熄灭(间隔1秒),最后全灭; (3)八个灯同时点亮,保持1秒; (4)八个灯同时熄灭,保持0.5秒; 再将第3、4步重复4遍,最后整个程序再重复N遍 程序如下: ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV R7,#7 LOOP: MOV R6,#16 MOV R5,#4 MOV DPTR,#TABLE MOV R4,#0 LOOP1: MOV A,R4 MOVC A,@A+DPTR MOV P1,A INC R4 LCALL DELAY LCALL DELAY DJNZ R6,LOOP1 LOOP2: MOV P1,#0FFH LCALL DELAY LCALL DELAY MOV P1,#00H LCALL DELAY DJNZ R5,LOOP2 DJNZ R7,LOOP DELAY: MOV R1,#4 A1: MOV R2,#0FFH A2: MOV R3,#0FFH DJNZ R3,$ DJNZ R2,A2 DJNZ R1,A1 RET TABLE: DB 0FEH,0FCH,0F8H,0F0H,0E0H,0C0H,080H,000H ;逐个叠加 DB 080H,0C0H,0E0H,0F0H,0F8H,0FCH,0FEH,0FFH ;逐个递减 SJMP $ END
  1. 2010/5/18
  2. 人气(7045)
  3. 星级(10)
  4. 评论(1)
第4章(7):汇编语言程序设计
散转程序:散转程序是分支程序的一种,使用指令JMP @A+DPTR,可实现多分支转移。它是根据某种输入或运算的结果,分别转向各个处理程序段取执行程序。下面以根据R2的内容转向各处理程序为例介绍几种散转程序的设计方法。 (1)转移指令表法(在2KB范围内转移) 把转移指令AJMP(或LJMP)顺序写入转移表。根据累加器A中的分支序号,通过JMP指令转向表中的某一条JMP指令,然后再执行AJMP指令,把程序转移到指定的分支入口。这种分支方法实际上是通过两次转移实现的。
  1. 2010/5/7
  2. 人气(6393)
  3. 星级(10)
  4. 评论(3)
第4章(8):汇编语言程序设计
散转程序:散转程序是分支程序的一种,使用指令JMP @A+DPTR,可实现多分支转移。它是根据某种输入或运算的结果,分别转向各个处理程序段取执行程序。下面以根据R2的内容转向各处理程序为例介绍几种散转程序的设计方法。 (1)转移指令表法(在2KB范围内转移) 把转移指令AJMP(或LJMP)顺序写入转移表。根据累加器A中的分支序号,通过JMP指令转向表中的某一条JMP指令,然后再执行AJMP指令,把程序转移到指定的分支入口。这种分支方法实际上是通过两次转移实现的。
  1. 2010/5/7
  2. 人气(5794)
  3. 星级(10)
  4. 评论(0)
第3章(11):单片机硬件系统MCS51指令系统
寻址方式 寻找操作数存放单元的地址的方式,共6种方式。 1、立即数寻址 所要找的操作数是一二进制数或十进制数,出现在指令中,用“#”作前缀 MOV A,#20H 2、寄存器寻址 操作数存放在工作寄存器R0 ~ R7中,或寄存器B中。 MOV A,R2 3、直接寻址 指令中直接给出操作数的地址。 MOV A,30H MOV 30H,DPH 4、寄存器间接寻址 指令中寄存器的内容作为操作数存放的地址,指令中间接寻址寄存器前用 “@”表示前缀。 举“两个抽屉,两把钥匙”的例子。 MOV R0,#30H MOV A,@R0 MOV A,#20H MOV R1,#40H MOV @R1,A 5、变址寻址 操作数地址 = 变地址 + 基地址 基地址寄存器 DPTR 或 PC 变址寄存器 @A 该寻址方式常用于访问程序存储器,查表。 MOV A,@A + DPTR 6、相对寻址 把指令中给定的地址偏移量与本指令所在单元地址(PC内容)相加得到真正有效的操作数所存放的地址。 举“李同学20岁,张同学比李同学大3岁”的例子。 JC 60H ;设(PC) = 2000H, 则当C = 1时, 转移的目的地址 = (PC)+ 2 + 60H
  1. 2010/4/26
  2. 人气(7329)
  3. 星级(10)
  4. 评论(2)
第3章(12):单片机硬件系统MCS51指令系统
寻址方式 寻找操作数存放单元的地址的方式,共6种方式。 1、立即数寻址 所要找的操作数是一二进制数或十进制数,出现在指令中,用“#”作前缀 MOV A,#20H 2、寄存器寻址 操作数存放在工作寄存器R0 ~ R7中,或寄存器B中。 MOV A,R2 3、直接寻址 指令中直接给出操作数的地址。 MOV A,30H MOV 30H,DPH 4、寄存器间接寻址 指令中寄存器的内容作为操作数存放的地址,指令中间接寻址寄存器前用 “@”表示前缀。 举“两个抽屉,两把钥匙”的例子。 MOV R0,#30H MOV A,@R0 MOV A,#20H MOV R1,#40H MOV @R1,A 5、变址寻址 操作数地址 = 变地址 + 基地址 基地址寄存器 DPTR 或 PC 变址寄存器 @A 该寻址方式常用于访问程序存储器,查表。 MOV A,@A + DPTR 6、相对寻址 把指令中给定的地址偏移量与本指令所在单元地址(PC内容)相加得到真正有效的操作数所存放的地址。 举“李同学20岁,张同学比李同学大3岁”的例子。 JC 60H ;设(PC) = 2000H, 则当C = 1时, 转移的目的地址 = (PC)+ 2 + 60H
  1. 2010/4/26
  2. 人气(6907)
  3. 星级(10)
  4. 评论(1)
第3章(9):单片机硬件系统MCS51指令系统
MCS-51系列单片机的指令系统 111条指令,共分五大类: 数据传送类;(29条) 算术运算类;(24条) 逻辑运算类;(24条) 控制转移类;(17条) 位操作类。(17条) 指令中操作数的描述符号: Rn —— 工作寄存器R0 ~ R7 Ri —— 间接寻址寄存器R0、R1 Direct —— 直接地址,包括内部128B RAM单元地址、26个SFR地址。 #data —— 8位常数 #data 16 —— 16位常数 addr 16 —— 16位目的地址 addr 11 —— 11位目的地址 rel —— 8位带符号的偏移地址 DPTR —— 16位外部数据指针寄存器 bit —— 可直接位寻址的位 A —— 累加器 B —— 寄存器B C —— 进、借位标志位,或位累加器 @ —— 间接寄存器或基址寄存器的前缀 / —— 指定位求反 (x)—— x中的内容 ((x))—— x中的地址中的内容 $ —— 当前指令存放的地址
  1. 2010/4/23
  2. 人气(8340)
  3. 星级(10)
  4. 评论(3)
第3章(10):单片机硬件系统MCS51指令系统
MCS-51系列单片机的指令系统 111条指令,共分五大类: 数据传送类;(29条) 算术运算类;(24条) 逻辑运算类;(24条) 控制转移类;(17条) 位操作类。(17条) 指令中操作数的描述符号: Rn —— 工作寄存器R0 ~ R7 Ri —— 间接寻址寄存器R0、R1 Direct —— 直接地址,包括内部128B RAM单元地址、26个SFR地址。 #data —— 8位常数 #data 16 —— 16位常数 addr 16 —— 16位目的地址 addr 11 —— 11位目的地址 rel —— 8位带符号的偏移地址 DPTR —— 16位外部数据指针寄存器 bit —— 可直接位寻址的位 A —— 累加器 B —— 寄存器B C —— 进、借位标志位,或位累加器 @ —— 间接寄存器或基址寄存器的前缀 / —— 指定位求反 (x)—— x中的内容 ((x))—— x中的地址中的内容 $ —— 当前指令存放的地址
  1. 2010/4/23
  2. 人气(7217)
  3. 星级(10)
  4. 评论(3)
第3章(8):单片机硬件系统MCS51指令系统
7].堆栈操作类指令(2条) 这4类指令的作用是把直接寻址单元的内容传送到堆栈指针SP所指的单元中,以及把SP所指单元的内容送到直接寻址单元中。这类指令只有两条,下述的第一条常称为入栈操作指令,第二条称为出栈操作指令。需要指出的是,单片机开机复位后,(SP)默认为07H,但一般都需要重新赋值,设置新的SP首址。入栈的第一个数据必须存放于SP+1所指存储单元,故实际的堆栈底为SP+1所指的存储单元。 PUSH data ;(SP)+1→(SP),(data)→(SP)堆栈指针首先加1,直接寻址单元中的数据送到堆栈指针SP所指的单元中 POP data ;(SP)→(data)(SP)-1→(SP),堆栈指针SP所指的单元数据送到直接寻址单元中,堆栈指针SP再进行减1操作 [8].交换指令(5条) 这5条指令的功能是把累加器A中的内容与源操作数所指的数据相互交换。 XCH A,Rn ;(A)←→(Rn)累加器与工作寄存器Rn中的内容互换 XCH A,@Ri ;(A)←→((Ri))累加器与工作寄存器Ri所指的存储单元中的内容互换 XCH A,data ;(A)←→(data)累加器与直接地址单元中的内容互换 XCHD A,@Ri ;(A3-0)←→((Ri)3-0)累加器与工作寄存器Ri所指的存储单元中的内容低半字节互换 SWAP A ;(A3-0)←→(A7-4)累加器中的内容高低半字节互换 [9]. 16位数据传送指令(1条) 这条指令的功能是把16位常数送入数据指针寄存器。 MOV DPTR,#data16 ;#dataH→(DPH),#dataL→(DPL)16位常数的高8位送到DPH,低8位送到DPL算术运算指令共有24条,算术运算主要是执行加。减。乘。除法四则运算。另外MCS-51指令系统中有相当一部分是进行加。减1操作,BCD码的运算和调整,我们都归类为运算指令。虽然MCS-51单片机的算术逻辑单元ALU仅能对8位无符号整数进行运算,但利用进位标志C,则可进行多字节无符号整数的运算。同时利用溢出标志,还可以对带符号数进行补码运算。需要指出的是,除加。减1指令外,这类指令大多数都会对PSW(程序状态字)有影响。这在使用中应特别注意。
  1. 2010/4/21
  2. 人气(7426)
  3. 星级(10)
  4. 评论(1)
总数:145 | 当前第10/15 首页 上一页 6 7 8 9 10 11 12 13 14 15 下一页 尾页