第十章 PMAC2通用I
- 格式:doc
- 大小:96.00 KB
- 文档页数:7
第十章PMAC2通用I/O使用JIO端口JIO端口有32条独立的数字I/O线用于通用设置,这些线按照字节配置成输入(DSPGATE2 I/O芯片上,这些线单个地配置为输入或输出,但缓冲区芯片只能按字节配置),并且可进行单个反相或非方相格式使用.硬件结构当作为输出配置时,每一根有一5V CMO互补推驱动,这个驱动器可拉电流到20Ma,在作为输入的每一根线上有10KΩ的上拉电阻到5V但是驱动器芯片不考虑这个电阻只保持高低状态.当作为输入配置时,缓冲区芯片有一个高阻抗输入既可以拉电流,也可以灌电流不会产生有效电流,在线上的上拉电阻将不管任何有效的上拉线而偏置成交状态.在线处于低态时保持较低的阻抗.注意:由于所有这些线在上电/复位的缺省设置为输入状态,作为输出使用的任何线将上拉到5Y,直到软件配置它们作为输出.推荐的M变量这32个I/O线内存映射到PMAC的地址空间在寄存器Y:$C080和Y:$C081,一般地这些I/O可通过M 变量单独访问,下面是使用这些数据建议对M变量的定义:M0---Y:$C080,0; I/O 00数据线, J3P1M1---Y:$C080,1; I/O 01数据线, J3P2M2---Y;$CO80,2; I/O 02数据线, J3P3M3---Y:$C080,3; I/O 03数据线; J3P4M4---Y:$C080,4 I/O 04数据线 J3P5M5---Y:$C080,5 I/O 05数据线 J3P6M6---Y:$C080,6 I/O 06数据线 J3P7M7---Y:$CO8O,7 I/O 07数据线 J3P8M8---Y:$CO80,8 I/O 08数据线 J3P9M9---Y:$C080 9 I/O 09数据线 J3P10M10---Y:$C080,10; I/O 10数据线 J3P11M11---Y:$C080,11; I/O 11数据线 J3912M12---Y:$C080,12; I/O 12数据线 J3P13M13---Y:$C080,13; I/O 13数据线 J3P14M14---Y:$C080,14; I/O 14数据线 J3P15M15---Y:$C080,15; I/O 15数据线 J3P16M16---Y:$C080,16; I/O 16数据线 J3P17M17---Y:$C080,17; I/O 17数据线 J3P18M18---Y:$C080,18; I/O 18 数据线 J3P19M19---Y;$C080,19; I/O 19数据线 J3P20M20---Y:$C080,20; I/O 20数据线 J3P21M21---Y:$C080,21; I/O 21数据线 J3P22M22---Y:$C080,22; I/O 22数据线 J3P23M23---Y:$C081,23; I/O 23数据线 J3P24M24---Y:$C081,0; I/O 24数据线 J3025M25---Y;$C081,1; I/O 25数据线 J3P26M26---Y;$C081,2; I/O 26数据线 J3P27M27---Y:$C081,3; I/O 27数据线 J3P28M28---Y:$C081,4; I/O 28数据线 J3P29M29---Y:$C081,5; I/O 29数据线 J3P30M30---Y:$C081,6; I/O 30数据线 J3P31M31---Y:$C081,7; I/O 31数据线 J3P32方向控制这些I/O位的方向控制位对应于X寄存器中枢配的相对应的位例如:I/O 03的方向控制位在X:$C080,I/O30的方向控制位在X:$C081,6中,由于缓冲区芯片仅能按字节切换,最好8位M变量用于方向控制,建议定义如下:M32—X:$C080,0,8; I/O00到 I/O 07 方向控制M34—X:$C080,8,8; I/O08到 I/O 15 方向控制M36—X:$C080,16,8;I/O16到 I/O23 方向控制M38—X:$C081,0,8; I/O24到 I/O31 方向控制这些M变量的值只能是O或55(SFF);O设置为输入字节,255设置为输出字节.此外,对于每一个字节有一个双向缓冲区芯片通过软件访问控制方向线,这些控制线和位必须同ASIC 的方向位匹配,这个缓冲区的方向控制位在PMAC的地址Y:$E800,位0到3控制JIO的四个字节,为0的位指示为输入,1为输出,建立的M变量定义如下:M33—Y:$E800,0;I/O00到I/O07缓冲区方向控制M35—Y:$E800,1;I/O08到I/O15缓冲区方向控制M37—Y:$E800,2;I/O16到I/O23缓冲区方向控制M39—Y;$E800,3;I/O24到I/O24缓冲区方向控制在上电/复位时,I/O00到I/O31自动缺省设置为输入(M32到M39=0).这是最大范围的安全保护,没有线令处于不期望高或低状态,任何这些线用于输出必经通过用户程序改变(通常这是通过作为复位PLC的PLCI 的执行完成,在上电/复位时执行一次,然后自己禁止再执行.)JI/O端口的每一根线可单独控制是否是反相(0为+5V, 1为0V)或者不反相(0为0V, 1为+5V),这些反相控制位在寄存器X:$C084和X:$C085里.X:$C084 0到23位相应地控制I/O 00到I/O 23X:$C085 0到7位相应地控制 I/O 24到 I/O 31控制位为0设置相应的I/O点不反相,为1设置相应的I/O点反相控制,在上电/复位时,PMAC自动设置JIO端口的所有I/O点为不反相控制方式.交替使用JIO端口的每一个通用I/O点可作为辅助机床接口通道(18或28)上辅助定点使用的I/O点的交替使用,通过寄存器Y;$C084和Y$C085)可作为通用或定点使用这些点,参考这些寄存器的I/O映射可参见每根线的交替使用,在上电/复位时,PMAC2自动设置I/O端口的所有点为通用I/O注意:对于I/O点的交替使用必经正确设置缓冲区芯片的方向控制就象通用I/O端口那么使用。
多路拨码关口(JTHW)JTHW多路拨码开关口有6个独立的数字I/O线用于通用I/O这些点可按字节配置为输入或输出(在DSPGATE2 I/O芯片只能按字节配置).和单独反相或非反相格式设置。
硬件结构当设置为输出时,每个点有5V CM0S互补推免驱动,这个驱动可拉电流或灌电流到20Ma,用于输入的每个点有10个的上拉电阻,但是驱动器芯片可以不考虑这些电阻而保持高或低状态;当设置为输入时缓冲区芯片有一个高阻抗输入即可拉电流,也可以灌电流;但不会流过足够的电流,在每个点时不管有效的上来电阻可在点为交时偏呈为上拉电阻,在点为低时偏置为低阻抗。
建议的M变量16个I/O线映射到PMAC的地址空间的寄存器地址为Y:$C082这些线一般用于作为指定的I/O附件及相应的M变量的整体(如TWB,TWD,和TWS格式),不论哪一种格式PMAC2对这些I/O自动直接进行处理,此时,这些线也可以通过M变量单独访问,下面是使用这些数据线推荐的M变量访问,下面是使用这些数据或推荐的M变量的定义:方向控制在上电/复位时自动进入缺省设置,DATO到DATT设置为非常反相输入,SELO到SEL7设置为带零值非反相输出.假如使用该口的任一附件,这一配置不必改变.M40---Y:$C082, 8; SELO;线J2第4脚M41---Y:$C082, 9; SEL1:线J2第6脚.M42---Y:$C082, 10; SEL2;线J2第8脚M43---Y:$C082, 11; SEL3;线J2第10脚M44---Y:$C082, 12; SEL4;线J2第12脚M45---Y:$CO82, 13; SEL5;线J2第14脚M46---Y:$C082, 14; SEL6 线J2第16脚M47---Y:$C082, 15; SEL7线J2第18脚M48---Y:$C082,8,8,U; SELO线按字节处理M50---Y:$C082, 0; 数据线0; J2口第3脚M51---Y:$C082, 1; 数据线1; J2口第5脚M52---Y:$C082, 2; 数据线2; J2口第7脚M53---Y:$C082, 3; 数据线3; J2口第9脚M54---Y:$C082, 4; 数据线4; J2口第11脚M55---Y:$C082, 5; 数据线5; J2口第13脚M56---Y:$C082, 6; 数据线6; J2口第15脚M57---Y:$C082, 7; 数据线7; J2口第17脚M58—-Y:$C082, 0,8,V; 数据线0到7按字节处理方向控制在上电/复位时自动进入缺省设置,DATO到DATT设置为非反相输入,SEL0到SEL7设置为带零值非反相输出。
假如使用该口的任一附件,这一配置不必改变。
这些I/O位的每一位的方向控制同相对应的X寄存器中,例如:对于DAT3的方向控制位为:X;$C082,3;对于SEL6的方向控制位为:X:$C082,14由于缓冲区芯片仅只能作为字节切换.对于方向控制最好定义8位M变量.推荐的定义如下:M60---X:$C082,0,8; DATO到DATT方向控制M62---X:$C082,8,8; SELO到SELT方向控制这些M变量的值只能为0或255(FF);O设置字节为输入,255设置字节为输入.此外,对于每一字节的双向缓冲区芯片有一个方向控制线可作为软件控制位访问,这些控制线和位必须同ASIC方向位匹配,在PMAC2的PC总线版本,在PMAC2的缓冲区方向控制位地址为Y:$E800,它的第4位和第5位控制JTHW口的两个字节,该位值为0对应输入,1对应输出,推荐的M变量定义如下: M61---Y:$E800,4; DATO到DAT7缓冲区方向控制M62---Y:$E800,5; SELO到SEL7缓冲区方向控制假如想随意改动这些I/O字节,必须通过用户程序完成(通常是作为复位PLCI实现,在上电/复位扫描一次,然后自动禁止)反相控制JTHW口的每一根线即可单独反相(0=+5V,1=0V),也可以反相(O=0V,1=+5V)控制,寄存器X:$CO86包含这些反相控制位:X:$C086 位0到7控制,1为反相控制,在上电/复位时,PMAC自动设置JTHW口的I/O口为非反相控制,使用JTHW口的任一附件板,所有的I/O必须按非反相设置.交替使用JTHW口的每一个通用的I/O可作为辅助机床接口通道(1*或2*)辅助固定I/O交替使用,这些点可象通用I/O交替使用,这些点可象通用I/O一样独立控制,或者通过寄存器Y:$C086专门使用,参照这个寄存器在内存I/O映射对每一根线的使用,在上电/复位时,PMAC2自动设置所有的I/O的为通用I/O.注意:由于缓冲区芯片是按字节宽度进行方向控制,JTHW.口的所有I/O不可能作交替使用.JANA口对于PMAC 如果选项口订购JANA口才存在,选项12提供8路12位某拟输入(ANAIOO—ANAI07),选项12A提供8路附加的12位模拟输入(ANAI08---ANAI15),总共16路输入硬件结构:模拟输入能够用于单极性输入0V到+5V范围,或者双极性输入-2.5Y到+2.5Y范围,每一个输入有一个在线的470电阻,和0.033WF电容到地,这给每一个输入提供16US的时间常数.在PMAC2上摸数转换需要+5V到-12V电源,如果PMAC2插在在总线上(PC或VME),这些电源同PMAC的+5V 数字电源没有光隔,这些电源来自于总线电源,在脱机应用中,这些电源必须通过TBI端子进入.-12V和匹配的+12V电源用于J1连接器上提供模拟电路电源,PMAC2本身不使用+12V电源,它仅仅通过J112转换使用希望假如希望使这一电源,必须通过PMAC2的总线连接,或从TB1提供.多路转换原理:在任何时间PMAC2只有一对模数转换寄存器可用,数据到处理器的地址为Y:$FFCO,数据来自于选择的模拟输入O到7(ANAIOO—ANAI07)的低12位,数据来自于选择的模拟输入8到15(ANAI08—ANAI15)的高12位(假如选项12A已订购这些数据才可用)输入的选择和开始转换是通过向相同的地址字写值Y:$FFCO实现值0到7写到高12位表示选择大于8的模拟输入(ANAI08---ANAI15)转换为单极性模式,如果值既写到低12位或者高12位大于8(8到15).相同的模拟输入通道被选择,但是转换为双极性模式(-2.5X到+2.5V)模拟数据表:PMAC2固件通过循环的方式自动地选择和读取A/D转换通道这一功能是通过象处理编码器转换表的在寄存器$0708到$070F的数据表来控制的.八个X寄存器包含选择道道的信息.八个Y寄存器包含A/D转换的结果.每一个X和Y字分割为两个12位.较低的12位用于第一个A/D转换设置(选项12).较高的12位用于第二个A/D转换设置(选项12A.)表10—1A/D转换数据表CONFIG—W2选择第二个A/D转换设置字(选项12A)CONFIG—W1选择第一个A/D转换设置字(选项12)DATA—W2 从第二个A/D转换设置相匹配的A/D数据(选择12A)DATA—W1 从第一个A/D转换设置相匹配的A/D数据(选择12)CONFIG—W1 的值0到7告诉PMAC2读取通道ANAT08—07,0,到+5V输入.CONFIG-W2的值0到7告诉PMAC2读取通道ANAI08—15,0到-5V输入CONFIG—W1的值8到15告诉PMAC2读取通道ANAI08—15,-2.5到+2.5V输入.在每一个周期(缺省9KHE),PMAC2增加表中的一行,将上一个周期选择的ACM,读数考别拷贝到RAM,然片将以下一个配置写到ADCS,通常处理ADC共需要8个周期(参照表10—2)表10—2在无符模式下8个ADCD周期表建议这些M变量如下:MPP0—X:$0708,0,24,U; 1st CONFIG—W1 AND COFIG---W2MPP1—X:$0709,0,24,U; 2nd CONFIG—W1 AND COMIG—W2MPP2—X:$070A,0,24,U; 3rd CONFIG—W1 AND CONFIG—W2MPP3—X:$070B,0,24,U; 4th CONFIG—W1 AND CONFIG—W2MPP4—X:$070C,0,24,U; 5th CONFIG—W1 AND CONFIG—W2MPP5—X:$070D,0,24,U; 6th CONFIG—W1 AND CONFIG—W2MPP6—X:$070E,0,24,U; 7th CONFIG—W1 ANG CONFIG—W2MPP7—X:$070F,0,24,U; 8th CONFIG—W1 AND CONGIG—W2通常,这些配置写在上电/复位时写入一次,比较好的办法是在PLC程序中执行一次扫描然后自动禁止,程序如下:OPEN PLC I CLEAR ; PLDI 的上电/复位后首先运行的MPP0=$000000 ; 选择ANAIOO及ANAIO8(如存在)单端方式MPP1= $001001; 选择ANAI01及ANAI09 单端方式MPP2=$002002; 选择ANAI02及ANAI10单端方式MPP3=$003003; 选择ANAI03及ANAI11单端方式MPP4=$004004; 选择ANAI04及ANAI12单端方式MPP5=$005005; 选择ANAI05及ANAI13单端方式MPP6=$006006; 选择ANAI06及ANAI14单端方式MPP7=$007007; 选择ANAI07及ANAI15单端方式DISABLE PLCI 程序不会再次运行Close设置配置写为双极性模拟输入, PLC程序如下:OPEN PLC I CLEAR; PLCI 是上电/复位时最先运行的MPP0=$008008; 选择ANAI00及ANAI08 (如存在)双极性模式MPP1=$009009; 选择ANAI01及ANAI09 双极性模式MPP2=$00A00A; 选择ANAI02及ANAI10 双极性模式MPP3=$00B00B; 选择ANAI03及ANAI11 双极性模式MPP4=$00C00C; 选择ANAI04及ANAI12 双极性模式MPP5=$00D00D; 选择ANAI05及ANAI13 双极性模式MPP6=$00E00E; 选择ANAI06及ANAI14 双极性模式MPP7=$00F00F; 选择ANAI07及ANAI15 双极性模式DISABLE PLCI; 程序只运行一次CLOSE这些模式一旦建立,PMAC2将周期性地自动读入模拟输入,将转换的数值拷贝到RAM,如果是实际的A/D转换,这些映射寄存器可以进行读操作,对于用户程序使用,这些映射寄存器用M变量定义,建议如下: M1000---Y:$0708,0,12,U; ANAI00 映射寄存器, J1口的P1M1001---Y:$0709,0,12,U; ANAIO1 映射寄存器, J1口的P2M1002---Y:$070A,0,12,U; ANAI02映射寄存器, J1 口的P3M1003---Y:$070B,0,12,U; ANAI03映射寄存器, J1 口的P4M1004---Y:$070C,0,12,U; ANAI04映射寄存器, J1 口的P5M1005---Y:$070D,0,12,U; ANAI05映射寄存器, J1 口的P6M1006---Y:$070E,0,12,U; ANAI06映射寄存器, J1 口的P7M1007---Y:$070F,0,12,U; ANAI07映射寄存器, J1口的P8M1008---Y:$0708,12,12,U; ANAI08映射寄存器, J1口的P9M1009---Y:$0709,12,12,U; ANAI09映射寄存器, J1口的P10M1010---Y:$070A,12,12,U; ANAI10映射寄存器, J1口的P11M1011---Y:$070B,12,12,U; ANAI11映射寄存器, J1口的P12M1012---Y:$070C,12,12,U; ANAI12映射寄存器, J1口的P13M1013---Y:$070D,12,12,U; ANAI13映射寄存器, J1口的P14M1014---Y:$070E,12,12,U; ANAI14映射寄存器, J1口的P15M1015---Y:$070F,12,12,U; ANAI15映射寄存器, J1 口的P16伺服反馈使用映射字ANAI00到ANAI07可通过转换表处理用于何服反馈,在转换表中,他们看起来如12位并行编码器,他们通过并行Y字带滤波处理格式($30)有叙位用$000FFF指定为低12位,最大速度(每个何服周期位置的变化)可设置为最大的实际速度稍大一点.比如,设置编码器转换表处理ANAI07的ADC数据,每个何服周期最大变化为16LSBS,用下面的直接写寄存器指令:WY:$0720,$300708,$000FFF,16; ANAI00并行读取WY:$0723,$300709,$000FFF,16; ANAI01并行读取WY:$0726,$30070A,$000FFF,16; ANAI02并行读取WY:$0729,$30070B,$000FFF,16; ANAI03并行读取WY:$072C,$30070C,$000FFF,16; ANAI04并行读取WY:$072F,$30070D,$000FFF,16; ANAI05并行读取WY:$0732,$30070E,$000FFF,16; ANAI06并行读取WY:$0735,$30070F,$000FFF,16;ANAI07并行读取.转换ANAI08到ANAI15,并行X字带滤波格式$70替换$30如下:转换的结果值放在下列寄存器中;电机变量IX03,IX04包含ADC张换结果的地址用于位置和速度反馈.电机变量,用于位置和速度反馈.警告:当使用某些ADC作为何服反馈,在每一个何服周期要得到新得收据它必须比更新率低8倍(I902>=7.或者扩展单个电机的何复更新率,通过IX60实现,因此实际的更新率低1/8上电绝对位置.PMAC2可以使用这些ADC输入并使用IX10变量作为上电时的绝对位置IX10告诉读取映射字用于作为12位并行的模拟输入.0-15位包含映射寄存器的地址,16-21位包含12十进制值(HOC)指定宽度,22位为O指定ANAI00-07用Y到寄存器,为1指定ANAI08-15在X列寄存器,表10-3为IX10用于每一个输入的烈表.表10-3用于每一个输入的Ix10。