fanuc程序传输软件的PMC中软元件E是指什么类型的

关于FANUC系统PMC的介绍
您现在的位置:
关于FANUC系统PMC的介绍当前位置: >>
FANUC PMC功能详细介绍
PMC 功能PMC 功能讲述 PMC 功能和 PMC 程序编写的基本事项 这里讲述以下内容: ● PMC 的基本功能 ● 功能指令一览PMC 的基本功能? 种类项目 编程语言 级数 第一级执行周期 基本指令处理速度 I/O Link 最大信号点数 0i-D 0i-Mate D T 地址范围 C 地址范围 K 地址范围 D 地址范围 A 地址范围 符号 基本规格 扩展规格 基本规格 扩展规格? ? ? “○B”为软件包 B 包的标准配置。 I/O Link 第二通道功能,为选项功能,需要指定。 使用符号和指令扩展规格时,需要使用 FANUC LADDER-III 软件。0i-D PMC 梯形图 3 4/8msec 25nsec/step
○ ― T0~T499,T C0~C399,C K0~K99,K900~K999 D0~D9,A0i-D PMC/L 0i Mate-D PMC/L31μsec/step
○B ○ T0~T79,T C0~C79,C K0~K19,K900~K999 D0~D9,A16 字符 40 字符 30 字符 255 字符指令- 151 - PMC 功能? 系统信号#7 地址 R9091 FL FL2 RUN ON OFF #6 FL :1 秒周期信号 :0.2 秒周期信号 :PMC 运行 :常 1 信号 :常 0 信号 #5 FL2 #4 #3 #2 RUN (ON/OFF 比 1:1) (ON/OFF 比 1:1) #1 ON #0 OFF#7 地址 R9015 STPR RUNR#6#5#4#3#2#1#0STPR RUNR :梯形图停止信号 :梯形图运行信号梯形图 运行状态 扫描周期 梯形图运行开始信号 R9015.0 梯形图停止信号 R9015.1 梯形图运行状态 R9091.2- 152 - PMC 功能PMC 的数据形式PMC 的数据形式分为二进制形式、BCD 码形式和位型三种。? CNC 和 PMC 间的接口信号为二进制形式。一般来说,PMC 数据也采用二进制形式。? 带符号的二进制形式(Binary)? ? 可进行 1 字节,2 字节,4 字节的二进制处理 可使用的数值范围如下数据长度 1 字节 2 字节 4 字节数据范围(十进制换算) -128~+127 -3 -~+备注采用 2 的补码表示? ?在顺序程序中指令数据的长度和初始地址 在诊断画面(PMCDGN)确认 2 字节,4 字节的地址数据时,地址号大的为高位地址。? 由 R100 指定 4 字节长的数据时地址和位的对应关系如下:#7 地址 地址 地址 地址 R100 R101 R102 R103 27 215 223 ±#6 26 214 222 230#5 25 213 221 229#4 24 212 220 228#3 23 211 219 227#2 22 210 218 226#1 21 29 217 225#0 20 28 216 224?用 2 字节表示-100 和+100 时十进制数 +0 2 进制 +1 +2 +3100 00 -100 11
最高位数 为 1 时为负数- 153 - PMC 功能? BCD 形式:Binary Coded Decimal? ? 在十进制数的二-十进制中,用 4 位的二进制码表示十进数的各位。 可处理 2 位或 4 位的十进制数,符号用其他信号进行处理。#7 +0 80 +1 8000#6 10 位 40#5#4#3#2 个位#1#0201084 100 位211000 位 00 800400200100?例:63 和 1234 的 BCD 码表示。 十进制数 BCD 码 +0 +1 63
― 0 ?BCD 码和二进制数的变换通过 DCNV,DCNVB 指令来进行。? 位型:Bit? 处理 1 位信号和数据时,在地址之后指令小数点的位号#7 地址 xxxxx#6#5 V#4#3#2#1#0?例:X0001.2(地址 X0001 的第二位)? 可以以位为单位来读写数据表的部分数据部分。- 154 - PMC 功能? 格雷码? 0~15 的 4 位二进制表示如下。 如果旋钮开关的触点信号使用二进制代码来表示, 在切换 触点时,存在有 2 位数据同时变化的情况,造成变化的不连续性。 0 b3 b2 b1 b0 0 0 0 0 1 0 0 0 1 2 0 0 1 0 3 0 0 1 1 4 0 1 0 0 5 0 1 0 1 6 0 1 1 0 7 0 1 1 1 8 1 0 0 0 9 1 0 0 1 10 1 0 1 0 11 1 0 1 1 12 1 1 0 0 13 1 1 0 1 14 1 1 1 0 15 1 1 1 1?如下所示,如果采用 4 位格雷码表示,在旋钮开关触点进行切换时,相邻的触点只有一 位数据进行变化,不存在不连续的现象。 0 1 0 0 0 1 2 0 0 1 1 3 0 0 1 0 4 0 1 1 0 5 0 1 1 1 6 0 1 0 1 7 0 1 0 0 8 1 1 0 0 9 1 1 0 1 10 1 1 1 1 11 1 1 1 0 12 1 0 1 0 13 1 0 1 1 14 1 0 0 1 15 1 0 0 0g3 g2 g1 g00 0 0 0?把由旋钮开关输入的格雷码信号转换为二进制数据,可成为正常处理用数值,这样程序 更容易书写。| g3(Xxxx.x) b3(Rxxx.x)| *----||-------------------------------------------------------------()---* | | | b3 g2 b2 | *----||-------|/|--*------------------------------------------------()---* | | | b3 g2 | | *----|/|------||---* | | | | b2 g1 b1 | *----||-------|/|--*------------------------------------------------()---* | | | b2 g1 | | *----|/|------||---* | | | | b1 g0 b0 | *----||-------|/|--*------------------------------------------------()---* | | | b1 g0 | | *----|/|------||---* | | |?格雷码和二进制按照上述规律进行变换,使用格雷码旋钮开关,可以提高安全性。- 155 - PMC 功能程序级别和输入输出信号处理? 第1级程序的开头到 END1 命令之间为第一级程序,系统每 4/8msec 执行一次。 主要是处理急停、跳转、超程等信号。?第 1 级程序中,如果没有输入信号,只需要编写 END1 功能指令。? 第2级END1 命令之后,END2 命令之前的顺序程序为第二级程序。 第二级程序通常包括机床操作面板、ATC(自动换刀装置)程序等。? ?sequence 是“顺序”的意思。 在第二级程序上因为有同步输入信号存储器,所以输入脉冲信号时,其信号宽带应大于扫描 信号时间。 扫描时间显示在 PMC 诊断画面的标题栏上。? 第3级END2 命令和 END3 命令之间的程序为第三级程序。 第三级程序主要处理低速响应的信号。?在编写顺序程序时可选择是否使用第 3 级程序,本教材不使用第 3 级。- 156 - PMC 功能? 子程序? ? 将重复执行处理和模块化的程序作为子程序登录。 子程序功能指令登录在 END3 命令和 END 命令之间。 子程序顺序程序, 从 SP 命令开始到 SPE 命令结束, 作为 1 组。 可以登录 5000 或者 512 个子程序。? ? 不使用第 3 级时,子程序在 END 和 END2 之间进行编辑。 顺序程序为附加选择功能,可选择将子程序用梯形图语言或顺序程序任意一种进行记述。?在第 2 级程序中可使用条件调用命令 CALL 或无条件调用命令 CALLU 来调用子程序。? 第 1 级程序中不能调用子程序。第一级 ? 急停 ? 超程 ? 跳转 END1 第二级 ? 运行转备 ? 运行方式切换 ? 手动进给 ? 手轮进给 ? 自动运行 ? MST 功能 ? CALL 命令 ? 信息显示 END2 SP P10 子程序 SP ? ? SPE ENDCALL CALLU 命令SPE- 157 - PMC 功能功能指令一览表功能名 定时器 TMR TMRB TMRC TMRBF 计数器 CTR CTRB CTRC 数据传送 MOVB MOVW MOVD MOVN MOVE MOVOR XMOVB XMOV 数值比较 COMPB COMP COIN EQB EQW EQD NEB NEW NED GTB GTW GTD LTB LTW LTD SUB32 SUB15 SUB16 SUB200 SUB201 SUB202 SUB203 SUB204 SUB205 SUB206 SUB207 SUB208 SUB209 SUB210 SUB211 - 158 二进制数据比较 BCD 数据比较 BCD 一致性判断 1 字节长二进制比较(=) 2 字节长二进制比较(=) 4 字节长二进制比较(=) 1 字节长二进制比较(≠) 2 字节长二进制比较(≠) 4 字节长二进制比较(≠) 1 字节长二进制比较(>) 2 字节长二进制比较(>) 4 字节长二进制比较(>) 1 字节长二进制比较(<) 2 字节长二进制比较(<) 4 字节长二进制比较(<) SUB43 SUB44 SUB47 SUB45 SUB8 SUB28 SUB35 SUB18 1 字节数据传送 2 字节数据传送 4 字节数据传送 任意字节数据传送 逻辑乘后数据传送 逻辑加后数据传送 二进制变址修改数据传送 BCD 变址修改数据传送 SUB5 SUB56 SUB55 计数器 追加计数器 追加计数器 SUB3 SUB24 SUB54 SUB77 延时定时器(上升沿触发) 固定延时定时器(上升沿触发) 延时定时器(上升沿触发) 固定延时定时器(下降沿触发) 命令号 处理内容 PMC 功能功能名 GEB GEW GED LEB LEW LED RNGB RNGW RNGD 数据处理 DSCHB DSCH DIFU DIFD EOR AND OR NOT PARI SFT COD CODB DCNV DCNVB DEC DECB 演算命令 ADDB SUBB MULB DIVB ADD SUB MUL DIV NUMEB命令号 SUB212 SUB213 SUB214 SUB215 SUB216 SUB217 SUB218 SUB219 SUB220处理内容 1 字节长二进制比较(≥) 2 字节长二进制比较(≥) 4 字节长二进制比较(≥) 1 字节长二进制比较(≤) 2 字节长二进制比较(≤) 4 字节长二进制比较(≤) 1 字节长二进制比较(范围) 2 字节长二进制比较(范围) 4 字节长二进制比较(范围) 二进制数据检索 BCD 数据检索 上升沿输出 下降沿输出 异或 逻辑乘 逻辑和 逻辑非 奇偶校验 移位寄存器 BCD 码变换 二进制码变换 数据转换 扩展数据转换 BCD 译码 二进制译码 二进制加法运算 二进制减法运算 二进制乘法运算 二进制除法运算 BCD 加法运算 BCD 减法运算 BCD 乘法运算 BCD 除法运算 二进制常数赋值SUB34 SUB17 SUB57 SUB58 SUB59 SUB60 SUB61 SUB62 SUB11 SUB33 SUB7 SUB27 SUB14 SUB31 SUB4 SUB25SUB36 SUB37 SUB38 SUB39 SUB19 SUB20 SUB21 SUB22 SUB40- 159 - PMC 功能功能名 NUME CNC 相关 DISPB EXIN WINDR WINDW AXCTL PSGNL PSGN2 程序控制 COM COME JMP JMPE JMPB JMPC LBL CALL CALLU CS CM CE SP SPE END1 END2 END3 END NOP 回转控制 ROT ROTB命令号 SUB23处理内容 BCD 常数赋值 信息显示 外部数据输入 CNC 数据读取 CNC 数据写入 PMC 轴控制指令 位置信号 位置信号SUB41 SUB42 SUB51 SUB52 SUB53 SUB50 SUB63SUB9 SUB29 SUB10 SUB30 SUB68 SUB73 SUB69 SUB65 SUB66 SUB74 SUB75 SUB76 SUB71 SUB72 SUB1 SUB2 SUB48 SUB64 SUB公共线控制开始 公共线控制结束 跳转 跳转结束 标号跳转 1 标号跳转 2 标号 有条件子程序调用 无条件子程序调用 选择调用开始 选择子程序调用 选择调用结束 子程序开始 子程序结束 第 1 级程序结束 第 2 级程序结束 第 3 级程序结束 程序结束 无操作SUB6 SUB26BCD 回转控制 二进制回转控制?上述功能指令仅为 0i-D 系统的部分常用功能指令,且均为 0i-D 系统和 0i-Mate D 系统的标 准功能,其余的功能指令详见相关说明书。- 160 - PMC 功能定时器命令? 延时定时器(上升沿触发) :SUB3/TMRACT 为 1 并经过设定的时间后,输出 W1 为 1。时间在 PMC 参数画面进行设定,所以 顺序程序编写完成后,用户也可以变更设定时间。ACT 为 0 后,W1 马上变为 0。ACTSUB3 TMRW1 定时器号ACT 设定时间 W1 【控制条件】 ACT =0 : 定时器输出 W1 为 0=1 : 启动定时器【定时器号】 (初始状态) 1~8 9 以上?: :以 48ms 为单位,最大设定时间 1572.8 秒 以 8ms 为单位,最大设定时间 262.1 秒在定时器命令中指定定时器号。定时器设定时间在 PMC 维修画面的定时器画面进行设定。 所以顺序程序在编写完成之后,也可以方便的变更时间。?定时器的个数根据 PMC 不同而不同。定时器初始设定时间 48ms 定时器 8ms 定时器? ?0i-D PMC 1到8 9 到 2500i-D/0i Mate-D PMC/L 1到8 9 到 40使用定时器号的自动分配功能时,可将没有使用的定时器号自动分配,非常方便。 上述的定时器设定时间为原始值。软件操作时,可以根据下表的单位进行转换。- 161 - PMC 功能种类 1msec 8msec 10msec 48msec 100msec 1秒 1分?设定时间范围 1msec~32.7 秒 8msec~262.1 秒 10msec~327.7 秒 48msec~1572.8 秒 100msec~54.6 分 1 秒~546 分 1 分~546 小时备注定时器 9 以上初始值定时器 1~8 初始值定时器的定时器精度,对应存储在 T 中,设值含义如下: 0 1 2 3 4 5 : : : : : : 缺省(8msec/48msec) 1msec 10msec 100msec 1秒 1分【输出】 W1 : ACT 接通后,经过定时器设定的时间后,输出即接通为 1。【使用范例】X0.0 接通后再经过 100ms,R0.0 就接通为 1。?“精度”由 T 来决定,每个计数器占两个字节,同时也对应 T 的 相应两字节为“精度”设定地址,依次类推。对于 1 号计数器,对应为 T 设定 精度,如果 T 为 0,则精度按缺省处理,为 48ms。范例中 T9000=3,即精度 等级为 100,在此条件下, “设定时间”必须是 100 的倍数。- 162 - PMC 功能? 固定延时定时器(上升沿触发) :SUB24/TMRBACT 为 1 后经过设定的时间,接通 W1 为 1。在命令控制参数中指定设定时间。 主要用于程序编写完成之后,用户无需变更设定时间的情况。 ACT 为 0 时,输出 W1 为 0。ACTSUB24 TMRBW1 定时器号 设定时间ACT 设定时间 W1 【控制条件】 ACT =0 : =1 : 定时器输出 W1 为 0 启动定时器【控制参数】 定时器号 设定时间?: 1~500 : 以毫秒为单位进行设定(最大 32,767,000)定时器的个数根据 PMC 类型不同而不同。定时器初始设定数据 定时器号 设定时间0i-D PMC 1 到 5000i-D/0i Mate-D PMC/L 1 到 1001 到 32,760,000(毫秒) 1 到 32,760,000(毫秒)?固定延时定时器(上升沿触发)TMRB 和固定延时定时器(下降沿触发)TMRBF 共用定时 器号,注意不要重复。建议使用自动分配功能,更加方便。?固定延时定时器 TMRB 和延时定时器 TMR 不共用定时器号,故不产生冲突。【输出】 W1 : ACT 接通后,经过定时器设定的时间后,输出即接通为 1。 - 163 - PMC 功能【使用范例】?X0.0 接通 3 秒之后,R0.0 输出为 1。 ?在任意时间一旦 X0.0 为 0,R0.0 马上为 0。? 延时定时器(上升沿触发) :SUB54/TMRC定时器精度范围扩展为以分为单位,可作为长时间定时器使用。 在控制参数中可以自由的指定定时器设定时间地址,所以没有定时器个数限制。ACTSUB54 TMRCW1 定时器精度 定时器设定时间地址 定时器寄存器地址ACT 设定时间 W1 【控制条件】 ACT =0 : =1 : 【控制参数】 定时器精度 : 种类 1msec 8msec 10msec 48msec 100msec 1秒 10 秒 1分 定时器精度 5 0 6 1 7 2 3 4 - 164 设定时间范围 1msec~32.7 秒 8msec~262.1 秒 10msec~327.7 秒 48msec~1572.8 秒 100msec~54.6 分 1 秒~546 分 10 秒~91 小时 1 分~546 小时 定时器输出 W1 为 0 启动定时器 PMC 功能【定时器设定时间地址】 : 指定用于存储定时器设定值 2 字节长地址的首地址。 (通常使用 D 地址) 【定时器寄存器地址】 : 【输出】 W1 : ACT 为 1 经过定时器设定的时间后,输出即接通为 1。 指定使用该命令时的 4 字节长地址的首地址。 (通常使用 R 地址)【使用范例】?本例定时器精度为 8ms ?假设 D100 中数据为 100,则定时器定时时间为 100*8=800ms ?即 X0.0 接通经过 800ms 之后,R0.0 接通为 1. ?同样,在任意时间如果 X0.0 为 0,则输出 R0.0 立即为 0 ?R100 为系统作业区域- 165 - PMC 功能? 固定延时定时器(下降沿触发) :SUB77/TMRBF固定延时定时器设定的时间是固定的,因此定时器的设定时间和顺序程序一同写入到 F-ROM 中。ACTSUB77 TMRBFW1 定时器号 设定时间设定时间 ACTW1 【控制条件】 ACT =0 : 定时器输出 W1 为 0 =1 : 启动定时器【控制参数】 定时器号 设定时间?:1~500: 以 msec 为单位进行设定(最大 32,767,000)定时器的个数根据 PMC 类型不同而不同定时器初始设定数据 定时器号 设定时间0i-D PMC 1 到 5000i-D/0i Mate-D PMC/L 1 到 1001 到 32,760,000(毫秒) 1 到 32,760,000(毫秒)?固定延时定时器(上升沿触发)TMRB 和固定延时定时器(下降沿触发)TMRBF 共用定时 器号,注意不要重复。建议使用自动分配功能,更加方便。【输出】 W1 : ACT 为 1 后输出 W1 马上变为 1. ACT 为 0 后经过设定时间,输出 W1 才为 0。- 166 - PMC 功能计数器命令? 计数器:SUB5/CTR是进行加减计数的计数器。作为预置型计数器时,首先设定计数器的计数上限,当计数 值和设定值相同的时候,输出信号。此外还可作为环形计数器,重复计数。?PMC 参数画面的计数器数值为十进制表示,当内部数据形式为 BCD 和二进制形式时, 可通过系统参数画面进行选择。CN0 UPDOWN RST ACT SUB5 CTRW1计数器号【控制条件】 CN0 =0 : =1 : UPDOWN =0 : =1 : RST =1 : 为加计数器 为减计数器 将计数器复位为初始值 计数器的初始值为 0 计数器的初始值为 1?加计数器时,复位为 CN0 设定的初始值;减计数器时,复位为计数器预置值。ACT=1 : 收到信号的上升沿时进行 1 次计数,并更新计数值。【控制参数】 计数器号 : 指定计数器号。 计数器的最大值和当前值均在 PMC 参数画面进行显示和设定。- 167 - PMC 功能?计数器号的最大值,根据 PMC 类型不同而不同。0i-D PMC 计数器号 1 到 1000i-D/0i Mate-D PMC/L 1 到 20? ?计数器的数据形式为二进制时, 计数范围为 0~32767。 为 BCD 形式时, 计数范围为 0~9999。 计数器号使用自动分配功能时,将未使用的计数器号进行分配,十分方便。【输出】 W1 =1 : 为计数器输出信号。 加计数到最大值,减计数到最小值时输出为 1。【使用范例】?从 1 到 20 进行计数的计数器(设定值即为预置值) ?在 X0.0 的上升沿, “现在值”加 1,当“现在值”到 20 时,R0.0 输出为 1 ?当 F1.1 为 1 时, “现在值”复位为 1?每个计数器占据 4 个字节,前两个字节为“设定值” ,后两个字节为“现在值” 。 如上例中,1 号计数器地址为 C0~C3,其中设定值地址为 C0~C1,现在值地址为 C2~C3。- 168 - PMC 功能? 固定计数器:SUB56/CTRB在控制参数中指定预置值的计数器。计数值为二进制形式。CN0 UPDOWN RST ACT SUB56 CTRBW1计数器号(1~100) 预置值【控制条件】 CN0 =1 : =0 : UPDOWN =0 : =1 : RST?计数器的初始值为 1 计数器的初始值为 0为加计数器 为减计数器 将计数器复位为初始值=1 :加计数器时,复位为 CN0 设定的初始值;减计数器时,复位为计数器预置值。ACT=1 : 收到信号的上升沿时进行 1 次计数,并更新计数值。【控制参数】 计数器号 : 0i-D PMC 计数器号 预置值?0i-D/0i Mate-D PMC/L 1 到 201 到 100:在 0~32767 内进行预置值指定。CTRB 命令的计数值,在地址 C5000 以内,均占用 2 个字节。【输出】 W1 =1 : 为计数器结束输出。 加计数到最大值,减计数到最小值时输出为 1。- 169 - PMC 功能? 计数器:SUB55/CTRC为标准计数器的扩展形式。可利用数据表进行设置的计数器,计数值为二进制形式。CN0 UPDOWN RST ACT SUB55 CTRCW1计数器预置值地址 计数器寄存器地址【控制条件】 CN0 =1 : 计数器的初始值为 1 =0 : UPDOWN =0 : =1 : RST?计数器的初始值为 0为加计数器 为减计数器 将计数器复位为初始值=1 :加计数器时,复位为 CN0 设定的初始值;减计数器时,复位为计数器预置值。ACT=1 : 为 1 时进行计数。【控制参数】 计数器预置值地址 : 指定 2 字节的存储器的首地址。 (通常指令为 D 地址)计数器寄存器地址 : 指定连续的 4 字节存储器的起始地址。 电源关断时仍需保存计数值,使用 D 地址指定; 无需保存时,使用 R 地址。? 使用 R 地址指令计数器寄存器地址时,当电源接通时,计数器的累计值为 0【输出】 W1 =1 : 为计数器输出。加计数到最大值,减计数到最小值时输出为 1。- 170 - PMC 功能数据传送命令? 1 字节长数据传送:SUB43/MOVB把 1 字节的数据从被指令的传出位置地址传送到指定的传入位置地址。ACTSUB43 MOVB传出位置地址 传入位置地址【控制条件】 ACT =1 : 执行命令【控制参数】 传出位置地址 : 传入位置地址 : 1 字节数据的传入位置地址 1 字节数据的存储位置地址【使用范例】当 X0.0 为 1 时,将 D100 的数据传送给 R200? 2 字节长数据传送:SUB44/MOVW把 2 字节的数据从被指令的传出位置地址传送到指定的传入位置地址。- 171 - PMC 功能ACTSUB44 MOVW传出位置地址 传入位置地址【控制条件】 ACT 【控制参数】 传出位置地址 : 传入位置地址 : 2 字节数据的传入位置地址 2 字节数据的存储位置地址 =1 : 执行命令【使用范例】当 X0.0 为 1 时,将 D100~D101 的数据传送给 R200~R201? 4 字节长数据传送:SUB47/MOVD把 4 字节长的数据从被指令的传出位置地址传送到指定的传入位置地址。ACTSUB47 MOVD传出位置地址 传入位置地址【控制条件】 ACT =1 : 执行命令- 172 - PMC 功能【控制参数】 传出位置地址 : 传入位置地址 : 4 字节数据的传入位置地址 4 字节数据的存储位置地址? 任意字节长数据传送:SUB45/MOVN传送指定长度(1~200)的数据从指令源地址到目的地址。ACTSUB45 MOVN传送字节数(1~200) 传送源地址 传送目的地址【控制条件】 ACT 【控制参数】 传送字节数 : 传送源地址 : 传送目的地址 : 【使用范例】 传送字节数据的传入位置地址。 指令需要传送的字节长度(1~200) 传送字节数据的存储位置地址。 =1 : 执行命令当 X0.0 为 1 时,将 D100~D104 的数据传送给 R100~R104- 173 - PMC 功能? 逻辑乘后数据传送:SUB8/MOVE将逻辑乘数据和输入数据进行逻辑乘(AND)运算,并将结果输出至指定地址。 还可以用来从指定地址中排除不需要的位数。ACT SUB8 MOVE逻辑乘数据的高 4 位 逻辑乘数据的低 4 位 输入数据地址 输出地址【控制条件】 ACT =1 : 执行命令【控制参数】 逻辑乘数据 : 输入数据地址 : 进行逻辑乘操作的数据 输出地址 : 指定输入数据进行逻辑乘运算之后的结果输出地址 逻辑乘【使用范例】X10:0 1 0 0 1 0 1 0逻辑乘数据 :0 0 0 1 1 1 1 1 R100 :0 0 0 0 1 0 1 0 - 174 - PMC 功能? 逻辑和后数据传送:SUB28/MOVOR将指定的 1 个字节的输入数据和逻辑和数据根据控制参数进行逻辑和(OR)运算, 并将结果输出至指定地址。ACT SUB28 MOVOR逻辑和数据的高 4 位 逻辑和数据的低 4 位 输入数据地址 输出地址【控制条件】 ACT =1 : 执行命令【控制参数】 逻辑和数据 : 输入数据地址 : 输出地址 : 指定输入数据地址 指定输入数据进行逻辑和运算之后的结果输出地址 指定进行逻辑和运算的常数【使用范例】X10 R200 R100:0 1 0 0 1 0 1 0 :0 0 0 1 1 1 1 1 :0 1 0 1 1 1 1 1- 175 - PMC 功能? 二进制变址数据传送:SUB35/XMOVB对指定地址的数据表的数据进行读取或写入操作。数据形式为二进制。此外,数据表的 数据个数使用地址进行指定,程序完成之后,数据个数可进行变更。控制参数的设定, 分为基本规格和扩展规格 2 种。使用扩展规格时,1 个命令可一次操作多个数据。RW RST ACT SUB35 XMOVB 0 n n dW1(错误输出) 格式指令 数据表容量存储地址 数据表首地址 输入/输出数据存储地址 表内号存储地址【控制条件】 RW =0 : =1 : RST ACT =1 : =1 : 从数据表中读出数据 向数据表中读入数据 复位并输出 W1=0 执行指令【控制参数】 格式指定 n n : 索引表内数据数(00~99) 设定 00 或 01,默认为标准设置一致 设定 02 及以上, 作为扩展规格, 读取 nn 长度的数据到数据表中。 d : 指定数据长度(1,2,4)数据表容量存储地址 : 用于存储数据表的数据数目,所占用的字节数需符合格式指定中 的设定,数据表的数据数有效范围由 d 指定的数据长度决定。 数据表首地址 : 设定数据表的表头地址输入/输出数据存储地址 : 输入输出时,设定输入数据或读出结果的存放地址。 表内号存储地址 : 【输出】 W1 : 表内号超过“数据表容量存储地址”中的值时,输出 W1=1。 - 176 用于存储被读取或写入的数据的表内号。 PMC 功能【使用范例】?该功能模块使用了扩展规格,每次从数据表中读取出 2 字节长度的数据 ?该数据表式以 D150 为表头地址的数据表(即 D150 的表内号为 0,D151 表内号 为 1,D152 表内号为 2,以下逐一递增)?R300 指令数据表的长度,如果 R300 中数据为 5,则数据表范围从 D150~D159 ?R200 中指定要从数据表中读取的连续 2 个字节长度的第一个数据的表内号 ?R100 为读取的连续两个字节长度数据的存储地址的首地址,即存储地址为 R100~R101 ?如果 R300 中数据为 10,R200 中数据为 2,按图例,当 X0.0 为 1 时,则读取 D152~D153 中存储的数据至 R100~R101 中,也即 R100~R101 数据为 10- 177 - PMC 功能? 变址数据传送:SUB18/XMOV对指定地址的数据表的数据进行读取或写入操作,适用于 2 或者 4 字节 BCD 数据。BYT RW RST ACT SUB18 XMOVW1(错误输出)数据表容量 数据表首地址 输入/输出数据存储地址 表内号存储地址【控制条件】 BYT =0 : =1 : RW 数据表中存储的数据为 BCD 两位。 数据表中存储的数据为 BCD 四位。=0 : 从数据表中读取数据。 =1 : 向数据表中写入数据。 复位,输出 W1=0。 执行命令。RST ACT=1 : =1 :【控制参数】 数据表容量 : 指定数据表的数据数目。 如果表头为 0,表尾为 n,则数据表容量设定为 n+1。 数据表首地址 : 设定数据表的表头地址输入/输出数据存储地址 : 表内号存储地址 : 用于存储被读取或写入的数据的表内号。 输入输出时,设定输入数据或读出结果的存放地址。【输出】 W1 : 如果表内号超过编程指定的数据表容量,产生错误输出,W1=1。- 178 - PMC 功能数值比较命令? 二进制大小比较:SUB32/COMPB1~4 字节长的二进制数据之间的大小比较。ACT SUB32 COMPB 00格式指定 输入数据 (常数/地址) 比较数据地址【控制条件】 ACT =1 : 执行命令。【控制参数】 输入数据格式指定 □ =0 : =1 : △ 输入数据 输入数据为常数。 输入数据为地址指定。:指定数据长度(1,2,4) : 用于比较的基准数据,输入数据的形式取决于上述的指定。比较数据地址 : 指定用于存放比较数据的地址。【输出】 比较结果输出至 R9000 寄存器,直接进行运算结果确认。 #7 R9000 N =1:输入数据<比较数据 =0:输入数据=比较数据 #6 #5 #4 #3 #2 #1 N #0 Z【使用范例】 假设在 D100 中存储的数据值为十进制数 20, 在 R100 中位十进制数 25, 指令如下:- 179 - PMC 功能当 X0.0 为 1 时,比较指令生效,由于 D100 小于 R100,则输出 R? 大小比较:SUB15/COMP2 位或 4 位 BCD 数据的数值比较,比较结果输出到 W1。BYT SUB15 ACT COMPW1 (比较结果输出)输入数据格式指定 输入数据 (常数/地址) 比较数据地址【控制条件】 BYT =0 : =1 : ACT 【控制参数】 输入数据格式指定 =0 : 输入数据用常数来指定。 =1 : 输入和比较数据均为 BCD 两位数据。 输入和比较数据均为 BCD 四位数据。 执行指令。=1 : 输入数据用地址来指定。 输入数据 : 比较用的基准数据,格式取决于上述的指定。比较数据地址 : 【输出】 W1 =0 : =1 : 输入数据>比较数据 输入数据≤比较数据 指定用于存放比较数据的地址。- 180 - PMC 功能? 一致性判断:SUB16/COIN2 位或 4 位 BCD 数据的数值比较。BYT SUB16 ACT COINW1 (比较结果输出)输入数据格式指定 输入数据 (常数/地址) 比较数据地址【控制条件】 BYT =0 : 输入和比较数据均为 BCD 两位数据。 =1 : 输入和比较数据均为 BCD 四位数据。 ACT =1 : 执行指令。【控制参数】 输入数据格式指定 =0 : 输入数据用常数来指定。 =1 : 输入数据 : 输入数据用地址来指定。 比较用的基准数据,格式取决于上述的指定。比较数据地址 : 指定用于存放比较数据的地址。【输出】 W1 =0 : =1 : 输入数据≠比较数据 输入数据=比较数据- 181 - PMC 功能? 带符号的二进制数据比较(=) : SUB200/EQB SUB201/EQW SUB202/EQD 带符号的二进制数据比较(≠) : SUB203/NEB SUB204/NEW SUB205/NED 带符号的二进制数据比较(>) : SUB206/GTB SUB207/GTW SUB208/GTD 带符号的二进制数据比较(<) : SUB209/LTB SUB210/LTW SUB211/LTD 带符号的二进制数据比较(≥) : SUB212/GEB SUB213/GEW SUB214/GED 带符号的二进制数据比较(≤) : SUB215/LEB SUB216/LEW SUB217/LED- 182 - PMC 功能1~4 字节长度的二进制数据数值比较。ACTSUB200 EOBW1 数据 1(常数/地址) 数据 2(常数/地址)【控制条件】 ACT =1 : 执行指令。【控制参数】 数据 1 数据 2 : 指定进行比较的 1 号数据的地址或者常数值 : 指定进行比较的 2 号数据的地址或者常数值?数据 1 和数据 2 可以为常数或用地址指定,编辑梯形图程序时,输入用数字构成的字符时, 视为数值,可用地址进行输入。【输出】 如下条件时,W1 输出为 1 EQB,EQW ,EQD NEB,NEW ,BED GTB,GTW ,GTD LTB,LTW ,LTD GEB,GEW ,GED LEB,LEW ,LED 1= 数据 1=数据 2 1= 数据 1≠数据 2 1= 数据 1>数据 2 1= 数据 1<数据 2 1= 数据 1≥数据 2 1= 数据 1≤数据 2- 183 - PMC 功能? 带符号的二进制数据比较(范围) : SUB218/RNGB SUB219/RNGW SUB220/RNGD判断 1~4 字节长度的二进制数据是否在指定范围内。ACT SUB218 RNGBW1数据 1(常数/地址) 数据 2(常数/地址) 输入数据 (常数/地址)【控制条件】 ACT =1 : 执行命令。【控制参数】 数据 1 数据 2 输入数据?: : :指定进行比较的 1 号数据的地址或者常数值。 指定进行比较的 1 号数据的地址或者常数值。 指定进行比较的数据的地址或者常数数据 1 和数据 2 可以为常数或用地址指定,编辑梯形图程序时,输入用数字构成的字符时, 视为数值,可用地址进行输入。【输出】 W1 =1: 比较数据 1≤输入数据≤比较数据 2 比较数据 2≤输入数据≤比较数据 1 =0: 除上以外- 184 - PMC 功能? 二进制数据检索:SUB34/DSCHB检索指定数据表的数据,检索到后输出首地址。 和 DSCH 命令不同,数据值为二进制形式,数据表的数据用地址进行指定。 即使程序完成之后,也可以变更表容量。RST SUB34 ACT DSCHBW1 (检索结果输出)数据长度 数据表容量存储地址 数据表首地址 检索数据地址 检索结果输出地址【控制条件】 RST ACT =1 : =1 : 检索结果 W1 输出为 0 执行命令。【控制参数】 数据长度 : 指定检索数据长度(1,2,4)数据表容量存储地址 : 指定存储数据表容量的地址。 根据指定字节长度分配所需字节数的存储区。 数据表首地址 : 设定数据表的表头地址 检索数据地址 : 设定检索数据输入地址 检索结果输出地址 : 经过检索,如果找到被检索数据,输出表内号至检索结果的地址。【输出】 W1 : 没有找到待检索数据时输出 W1 为 1。- 185 - PMC 功能? 数据检索:SUB17/DSCH数据检索指令仅适用于 PMC 的数据表,DSCH 指令在数据表中检索指定的数据,并输 出其表内号,如未找到指定数据,则输出 W1 为 1。BYT SUB17 RST ACT DSCHW1 (检索结果输出)数据表容量 数据表首地址 检索数据地址 检索结果输出地址【控制条件】 BYT =0 : 数据表中存储的数据为 BCD 两位 =1 : RST ACT =1 : =1 : 数据表中存储的数据为 BCD 四位 检索结果 W1 输出为 0 执行指令。【控制参数】 数据表容量 : 数据表首地址 : 指定数据表的表头地址。 检索数据地址 : 设定检索数据输入地址。 检索结果输出地址 : 经过检索,如果找到被检索数据,输出表内号至检索结果的地址。 指定检索对象数据表大小。【输出】 W1 : 如若没有找到待检索数据,输出为 1- 186 - PMC 功能演算命令? 上升沿输出:SUB57/DIFU取输入信号的上升沿,并在 1 个扫描周期内输出信号 W1 为 1。ACTSUB57 DIFUW1(脉冲)上升沿号 (1~1000)【控制条件】 ACT 【控制参数】 上升沿号?:上升沿输出信号指定。:指定上升沿输出指令的上升沿号上升沿号的个数,根据 PMC 的不同而不同。PMC 类型 0i-D PMC 0i-D/0i Mate-D PMC/L?上升沿号 1 到 1000 1 到 256上升沿输出 DIFU 和下降沿输出 DIFD 双方共用沿号,注意不要重复。 使用自动分配功能,可以将未使用的沿号自动分配,十分方便。? 下降沿输出:SUB58/DIFD取输入信号的上升沿,并在 1 个扫描周期内输出信号 W1 为 1。ACTSUB58 DIFDW1(脉冲)下降沿号 (1~1000)【控制条件】 ACT 【控制参数】 下降沿号 : 指定下降沿输出指令的下降沿号。 : 下降沿输出信号指定。- 187 - PMC 功能?下降沿号的个数,根据 PMC 的不同而不同。PMC 类型 0i-D PMC 0i-D/0i Mate-D PMC/L下降沿号 1 到 1000 1 到 256?上升沿输出 DIFU 和下降沿输出 DIFD 双方共用沿号,注意不要重复。 使用自动分配功能,可以将未使用的沿号自动分配,十分方便。? 异或运算:SUB59/EOR(XOR)对指定的 2 个数据进行异或运算(XOR) 。ACT SUB59 EOR 00格式指定 被运算数据地址 运算数据(常数/地址) 运算结果输出地址【控制条件】 ACT 【控制参数】 格式指定 □ =0 : =1 : △ : 运算数据为常数 运算数据为地址指定 指令运算数据字节长度(1,2,4) =1 : 执行指令。被运算输入数据 : 由此地址开始并且数据长度和格式指定中一致的数据作为输入数 据,是被异或的数据。 运算数据 : 由地址或者参数直接给出。运算结果输出地址 : 用来存储异或操作后结果的地址。数据长度在格式指定中给出。- 188 - PMC 功能? 逻辑乘:SUB60/AND将指定的的 2 种数据进行逻辑和 AND 操作,输出。ACT SUB60 AND 00格式指定 被运算数据地址 运算数据(常数/地址) 运算结果输出地址【控制条件】 ACT 【控制参数】 格式指定 □ =0 : =1 : △ 运算数据为常数 运算数据为地址指定 =1 : 执行指令。: 指令运算数据字节长度(1,2,4)被运算输入数据 : 由此地址开始并且数据长度和格式指定一致的数据作为输入数 据,是被逻辑乘的数据。 运算数据 : 由地址或者参数直接给出。运算结果输出地址 : 用来存储逻辑乘操作后结果的地址。 数据长度在格式指定中给出。? 逻辑或:SUB61/OR将指定的的 2 种数据进行 OR 操作,输出。ACT SUB61 OR 00格式指定 被运算数据地址 运算数据(常数/地址) 运算结果输出地址 - 189 - PMC 功能【控制条件】 ACT =1 : 执行指令。【控制参数】 格式指定 □ =0 : 运算数据为常数=1 : 运算数据为地址指定 △ : 指令运算数据字节长度(1,2,4)被运算输入数据 : 由此地址开始并且数据长度和格式指定一致的数据作为输入数 据,是被逻辑或的数据。 运算数据 : 由地址或者参数直接给出。运算结果输出地址 :用来存储逻辑或操作后结果的地址。数据长度在格式指定中给出。? 逻辑非:SUB62/NOT将指定地址的数据进行 NOT 运算,输出到运算结果输出地址。ACT SUB62 NOT 0 0 0格式指定 被运算数据地址 运算结果输出地址【控制条件】 ACT 【控制参数】 格式指定 : 指令运算数据字节长度(1,2,4) =1 : 执行指令。被运算数据地址 : 被逐位取反的输入数据。 运算结果输出地址 : 用来存储逻辑非操作后结果的地址。 数据长度在格式指定中给出。- 190 - PMC 功能? 奇偶校验:SUB11/PARI对 1 个字节的指定数据进行奇偶校验,检测到不正常时输出错误报警。O. E SUB11 RST ACT PARIW1(错误输出)校验数据地址【控制条件】 OE =0 : 偶校验 =1 : 奇校验 RST ACT =1 : 发生奇偶校验错误时,若 RST=1,则输出 W1=0 =1 : 执行奇偶校验命令。【控制参数】 校验数据地址 : 指定进行奇偶校验的数据的存储地址。【输出】 W1 : 在执行指令之后如果结果不正常,输出 W1 为 1。【使用范例】?X0.0 接通时,该功能模块起效,且为奇效验。 ?假设 X10 为 ,由于 1 的数量为 4 个(偶数个) ,输出 R0.0 为 1。 ?假设 X10 为 ,由于 1 的数量为 3 个(奇数个) ,输出 R0.0 为 0。- 191 - PMC 功能? 寄存器移位:SUB33/SFT该指令可使 2 个字节长的数据左移或者右移 1 位。当数据“1”在最左方(第 15 位)时 如果执行左移指令,或者数据“1”在最右方(第 0 位)执行右移指令时,输出 W1 为 1。DIRW1CONT RST ACTSUB33 SFT移位数据地址【控制条件】 DIR =0 : =1 : CONT =0 : =1 : RST ACT =1 : 左移 右移 向指令的方向偏移 1 位,每位的状态都被相邻位取代。 向指令的方向偏移 1 位,保留原本状态是 1 的位状态。 复位输出数据 W1=0。=1 : 执行移位指令。【控制参数】 移位数据地址 : 指定连续 2 个字节移位数据的首地址。【输出】 W1 =0 : =1 : 移位操作后,没有“1”状态移出 移位操作后,有“1”状态移出- 192 - PMC 功能代码变换命令? 代码变换:SUB7/COD在该命令的内置变换表中设置数值,表号(0~99)用 2 位 BCD 码指定,数据值写入变 换数据输出地址。所用数据均为 BCD 码表示。BYT SUB7 RST ACT CODW1(错误输出)变换数据数(0~99) 变换数据输入地址 变换数据输出地址【控制条件】 BYT =0 : 指定变换表中数据位 BCD 两位 =1 : RST ACT =1 : =1 : 指定变换表中数据位 BCD 四位 复位输出 W1=0 执行 COD 指令【控制参数】 变化数据数 : 指定变换的数据容量,范围为 0~99。变换数据输入地址 : 存储变换表数据,需要指定为 1 字节(2 位 BCD 码)数据。变换数据输出地址 : 变换完成之后,存储由数据表输出的数据。【输出】 W1 : 执行 COD 指令时,如果转换输入地址出现错误,输出为 1。【使用范例】 如范例中所示: 当 R100=0 时,R200=10, 当 R100=1 时,R200=3,依次类推。- 193 - PMC 功能? 二进制代码转换:SUB27/CODB在该命令的内置变换表中设置数值,表号(0~255)用二进制数据指定。 数据值写入变换数据输出地址。所用数据均为二进制码表示。RST SUB27 ACT CODBW1(错误输出) 格式指定 变换数据数(0~256) 变换数据输入地址 变换数据输出地址【控制条件】 RST ACT =1 : =1 : 复位输出 W1=0 执行 COD 指令。【控制参数】 格式指定 : 指定变换数据长度(1,2,4 字节) 指定变换的数据容量,范围为 0~256。变化数据数 :变换数据输入地址 : 变换表的数据可以根据指定表号取出,存储变换表表号的地址称 为变换数据输入地址,需要指定为 1 字节数据。 变换数据输出地址 : 变换完成之后,存储由数据表输出的数据。【输出】 W1 : 执行 CODB 指令时,如果转换输入地址出现错误,输出为 1。 - 194 - PMC 功能? 数据转换:SUB14/DCNV1 或者 2 个字节的二进制数据和 BCD 数据间的互相转换。BYTW1(错误输出)CNV RST ACTSUB14 DCNV输入数据地址 转换数据输出地址【控制条件】 BYT =0 : 处理数据长度为 1 个字节 =1 : CNV =0 : =1 : RST ACT =1 : =1 : 处理数据长度为 2 个字节 二进制代码转换为 BCD 代码 BCD 代码转换为二进制代码 复位错误输出线圈 W1,即此时 W1=0 执行 DNCV 指令【控制参数】 输入数据地址 : 指定待转换数据的存储地址转换数据输出地址 : 指定转换完成之后数据的输出地址【输出】 W1 : 当被转换数据应为 BCD 码数据但实际是二进制数据时, 或者二进 制转换为 BCD 码数据转换数据超过预先指定的数据大小时, 输出 W1=1。- 195 - PMC 功能? 扩展数据变换:SUB31/DCNVB1~4 字节长度的二进制代码和 BCD 代码之间的相互转换。SIN CNV RST ACT SUB31 DCNVBW1(错误输出) 数据长度 输入数据地址 转换数据输出地址【控制条件】 SIN =0 : 输入的 BCD 代码数据符号为正 =1 : CNV =0 : =1 : RST ACT 【控制参数】 数据长度 : 指定待转换数据的数据长度(1,2,4 字节) =1 : =1 : 输入的 BCD 代码数据符号为负 二进制代码转换为 BCD 代码 BCD 代码转换为二进制代码 复位错误输出线圈 W1,即此时 W1=0 执行 DNCV 指令输入数据地址: 指定待转换数据的存储地址 转换数据输出地址 : 【输出】 W1 【运算结果】 确认二进制代码和 BCD 码转换时的符号和溢出状况。 #7 R9000 V N =1:溢出 =0:符号为正 =1:符号为负 #6 #5 V #4 #3 #2 #1 N #0 : 转换结果出错时输出 指定转换完成之后数据的输出地址- 196 - PMC 功能? BCD 译码:SUB4/DEC两位 BCD 代码和给定定数据进行判定,一致时输出 W1 为 1,不一致时输出为 0。ACTSUB4 DECW1(结果) BCD 译码数据地址(1 字节长) 译码指令nndd【控制条件】 ACT=0 : 译码输出结果 W1 为 0 =1 : 执行译码指令【控制参数】 BCD 译码数据地址 : 译码指令 : 指定 1 字节长 BCD 译码数据的存储地址 指定译码相关的数据和译码位数 nndd nn 指定译码值 dd 译码位数指定 01 = 只译低位,高位为 0 10 = 只译高位,低位为 0 11 = 高低位均译【输出】 W1 : ACT 为 1 时,当指定的 BCD 译码数据地址中的数据和译码值相 同时,输出 W1 为 1,不相同时输出为 0。? ACT 为 0 时,输出 W1 为 0【使用范例】- 197 - PMC 功能范例中为对 M 代码进行译码操作,当 NC 执行 M 辅助功能指令时,F7.0 为 1 时, 该指令生效。 ?该指令同时只能对一个给定数据进行译码 ?范例为对 M3 进行译码的梯形图 ?当执行 M3 指令时,此时译码输出 F10 中为 3,输出 R0.0=1 ?DEC 功能代码中的数据位 BCD 码,所以如果对 M10 及其以上的 M 代码进 行译码时,由于 F10 为二进制形式,所以必须先进行数据转换,将 F10 转 换为 BCD 码格式,再进行译码操作。? 二进制译码:SUB25/DECB1~4 字节的二进制代码数据译码,所指令的连续 8 位数据之一与待译码数据相同时, 输出对应位为 1。ACT SUB25 DECB 0 n n d格式指令 译码数据地址 译码指定 转换数据输出地址【控制条件】 ACT =0 : =1 : 将所有输出复位为 0 执行译码指令【控制参数】 格式指定 : 指定 1~4 字节长二进制译码数据的存储首地址 0nnd d 代表待译码数据的字节长度(1,2,4 字节)nn 代表组数(指定为 0 时,视为 1 组 8 个) 译码数据地址 : 译码指定 : 指定 1~4 字节二进制译码数据的首地址 给出要译码的连续 8 个数字的第一个译码数据输出地址 : 指定译码数据的输出地址 每组使用 1 个字节 - 198 - PMC 功能#7 输出地址+0 +1 +2 ? ? +98 +7 +15 +23 ? ? +791#6 +6 +14 +22 ? ? +790#5 +5 +13 +21 ? ? +789#4 +4 +12 +20 ? ? +788#3 +3 +11 +19 ? ? +787#2 +2 +10 +18 ? ? +786#1 +1 +9 +17 ? ? +785#0 +0 +8 +16 ? ? +784【使用范例】范例为对 M 代码进行译码操作,当系统收到 M 辅助功能指令时,F7.0 为 1 时,该 指令生效。 ?F10 为系统 M 代码输出地址 ?该译码指令对从 M3~M10 的连续 8 个 M 代码进行译码 ?译码输出地址位为 R10,且 R10 同时仅有一位为 1 ?比如当指令 M3 时,R10.0=1,指令 M4 时,R10.1=1,对应关系如下:#7 R10 M10#6 M9#5 M8#4 M7#3 M6#2 M5#1 M4#0 M3- 199 - PMC 功能运算命令? 二进制加法运算:SUB36/ADDB用于 1~4 字节长的二进制数据的加法运算。RST ACT SUB36 ADDB 00加法运算格式指定 被加数地址 加数(常数/地址) 运算结果输出地址【控制条件】 RST ACT =1 : =1 : 复位 W1 输出为 0 执行指令【控制参数】 加法运算格式指定 □ =0 : =1 : △ : 加数直接用常数指定 加数用地址指定 参与加法运算的数据长度指定(1,2,4 字节) 指定存储加法运算的被加数的地址 指定加数的存储地址或常数值。被加数地址 : 加数 :运算结果输出地址 : 指定加法运算的输出数据存储地址#7 R9000 V#6#5 V#4#3#2#1#0=1:加法运算的结果产生溢出。- 200 - PMC 功能? 二进制减法运算:SUB37/SUBB用于 1~4 字节长度的二进制数据减法运算。RST ACT SUB37 SUBB 00减法运算格式指定 被减数地址 减数(常数/地址) 运算结果输出地址【控制条件】 RST ACT =1 : =1 : 复位 W1 输出为 0 执行指令【控制参数】 减法运算格式指定 □ =0 : =1 : △ : 减数直接用常数指定 减数用地址指定 参与减法运算的数据长度指定(1,2,4 字节) 指定存储减法运算的被减数的地址 指定减数的存储地址或常数值。被减数地址 : 减数 :运算结果输出地址 : 指定减法运算的输出数据存储地址#7 R9000 V#6#5 V#4#3#2#1#0=1:减法运算结果产生溢出- 201 - PMC 功能? 二进制乘法:SUB38/MULB用于 1~4 字节长的二进制数据的乘法运算。RST ACT SUB38 MULB 00乘法运算格式指定 被乘数地址 乘数(常数/地址) 运算结果输出地址【控制条件】 RST ACT =1 : =1 : 复位 W1 输出为 0 执行指令【控制参数】 乘法运算格式指定 □ =0 : =1 : △ : 乘数直接用常数指定 乘数用地址指定 参与乘法运算的数据长度指定(1,2,4 字节) 指定存储乘法运算的被乘数的地址 指定乘数的存储地址或者常数值。被乘数地址 : 乘数 :运算结果输出地址 : 指定乘法运算的输出数据存储地址 #7 R9000 V #6 #5 V =1:乘法运算结果产生溢出 #4 #3 #2 #1 #0- 202 - PMC 功能? 二进制除法:SUB39/DIVB用于 1~4 字节长的二进制数据的除法运算。RST ACT SUB39 DIVB 00除法运算格式指定 被除数地址 除数(常数/地址) 运算结果输出地址【控制条件】 RST ACT =1 : =1 : 复位 W1 输出为 0 执行指令【控制参数】 除法运算格式指定 □ =0 : =1 : △ 被除数地址 除数 : : 除数直接用常数指定 除数用地址指定 参与除法运算的数据长度指定(1,2,4 字节) 指定存储除法运算的被除数的地址 指定除数的存储地址或者常数值运算结果输出地址 : 指定除法运算的输出数据存储地址#7 R9000 V#6#5 V#4#3#2#1#0=1:除法运算的结果产生溢出。- 203 - PMC 功能? BCD 加法:SUB19/ADDBCD 两位或者 4 位数据的加法运算。BYT SUB19 RST ACT ADDW1 加法运算格式指定 被加数地址 加数(常数/地址) 运算结果输出地址【控制条件】 BYT =0 : =1 : RST ACT 【控制参数】 加法运算格式指定 =0 : =1 : 被加数地址 : 加数 : 加数为常数 加数用地址进行指定 指定存储参与加法运算的被加数地址 指定加数的存储地址或者常数值 =1 : =1 : 处理数据为 BCD 两位 处理数据为 BCD 四位 复位 W1 输出为 0 执行指令运算结果输出地址 : 【输出】 W1 : 在加法运算中,当运算结果超出了指定的数据长度,输出 W1=1 指定加法运算的结果输出地址? BCD 减法:SUB20/SUBBCD 两位或者 4 位数据的加法运算。BYT SUB20 RST ACT SUBW1 减法运算格式指定 被减数地址 减数(常数/地址) 运算结果输出地址- 204 - PMC 功能【控制条件】 BYT =0 : =1 : RST ACT 【控制参数】 减法运算格式指定 =0 : =1 : 被减数地址 : 减数 : 减数用常数指定 减数用地址指定 指定参与减法运算的被减数的存储地址 指定参与减法运算的减数的存储地址或者常数值 =1 : =1 : 处理数据为 BCD 两位 处理数据为 BCD 四位 复位输出 W1 为 0 执行命令运算结果输出地址 : 【输出】 W1 : 在减法运算中,当运算结果为负时,输出 W1=1 指定减法运算结果的输出地址。? BCD 乘法:SUB21/MULBCD 两位或者 4 位数据的加法运算。BYT SUB21 RST ACT MULW1 乘法运算格式指定 被乘数地址 乘数(常数/地址) 运算结果输出地址【控制条件】 BYT =0 : =1 : RST ACT 【控制参数】 乘法运算格式指定 =0 : 乘数为常数 =1 : 乘数为地址指定 被乘数地址 : 指定参与乘法运算的被乘数的存储地址 - 205 =1 : 处理数据为 BCD 两位 处理数据为 BCD 四位 复位输出 W1 为 0=1 : 执行命令 PMC 功能乘数:指定参与乘法运算的乘数的存储地址或者常数值运算结果输出地址 : 【输出】 W1 : 在乘法运算中,当运算结果超出了指定的数据长度,输出 W1=1 指定乘法运算的结果输出地址? BCD 除法:SUB22/DIVBCD 两位或者 4 位数据的加法运算。BYT SUB22 RST ACT DIVW1 除法运算格式指定 被除数地址 除数(常数/地址) 运算结果输出地址【控制条件】 BYT =0 : =1 : RST ACT =1 : 处理数据为 BCD 两位 处理数据为 BCD 四位 复位输出 W1 为 0=1 : 执行命令【控制参数】 除法运算格式指定 =0 : 除数为常数 =1 : 除数用地址进行指定 被除数地址 : 除数 : 指定参与除法运算的被除数的存储地址 指定参与除法运算的除数的存储地址或常数值运算结果输出地址 : 指定除法运算的结果输出地址【输出】 W1 : 在除法运算中,当运算结果超出了指定的数据长度,输出 W1=1- 206 - PMC 功能? 二进制常数定义:SUB40/NUMEB1~4 字节长度的二进制常数定义。ACTSUB40 NUMEB数据长度 常数 常数输出地址【控制条件】 ACT =1 : 执行命令【控制参数】 数据长度 常数 : 指令二进制数据长度(1,2,4 字节): 用十进制指定常数常数输出地址 : 定义二进制常数赋值输出的首地址? BCD 常数定义:SUB23/NUME两位或 4 位 BCD 常数赋值。BYT ACTSUB23 NUME常数 常数输出地址【控制条件】 BYT =0 : =1 : ACT BCD 两位数据 BCD 四位数据=1 : 执行命令【控制参数】 常数 : 定义 BCD 常数常数输出地址 : 定义 BCD 常数的输出地址- 207 - PMC 功能CNC 关联指令? 扩展信息显示:SUB41/DISPB在 CNC 画面显示在 PMC 信息画面登录的文字信息。ACTSUB41 DISPB信息数【控制条件】 ACT =1 : 执行 DISPB 指令【控制参数】 信息数 : 指定为非 0 的数? 外部数据输入:SUB42/EXIN外部数据输入功能使用于:外部刀具补偿,外部信息功能,外部程序号检索,外部工件坐标 系偏移,外部原点偏移等。?当信息显示命令和外部数据输入命令同时使用时,必须使用此命令。ACTSUB42 EXINW1 控制数据地址【控制条件】 ACT?=1 :执行指令结束信号 W1 为 1 之前 ACT 一直为 1。【控制参数】 控制数据地址 : 指定 4 字节或者 6 字节长外部输入数据的首地址? 当控制数据地址使用 6 字节长度的扩展规格时,需要设定 CNC 参数 6300#7 为 1。- 208 - PMC 功能控制数据地址+0 +1 +2 +3 +4 +5Head(0=主,1=子) ED7~ED0 ED15~ED8 STB,EAxHead(0=主,1=子) ED7~ED0 ED15~ED8 ED23~ED16 ED31~ED24 STB,EAx?控制数据地址 EAx 的地址为 G0000,ED0~ED15 的地址为 G, ED16~ED31 的地址对应为 G。功能 外部程序号检索 外部刀具补偿 外部工件坐标系偏移 外部机床坐标系偏移 置入所需零件数 置入加工零件数EAx s000 xxxx s001 xxxx s010 aaaa s011 aaaa s110 01ED15~ED0 程序号(BCD 4 位) 补偿量(带符号 BCD 4 位) 偏移量(带符号 BCD 4 位) 偏移量(带符号 BCD 4 位) 所需数(BCD 4 位) 加工数(BCD 4 位)?表中的 s 为选通信号 ESTB,aaaa 为轴号,如下表:第1轴 第2轴 第3轴 aaaa:轴 第4轴 第5轴 第6轴 第7轴 第8轴10 01 - 209 - PMC 功能? 读 CNC 窗口数据:SUB51/WINDR读取机械坐标信息或刀具信息等 CNC 信息。ACTSUB51 WINDRW1 控制数据地址【控制条件】 ACT?=1 :读取 CNC 相应数据低速响应功能时,结束信号 W1 为 1 后需要复位 ACT 的状态为 0。【控制参数】 控制数据地址 : 指定存储 CNC 读窗口功能的控制数据的首地址 控制数据 +0 +2 +4 +6 +8 +10 以上?数据 功能代码 结束代码 数据长度 数据号 数据属性 读入数据备注 数据种类参数号 轴号读取数据的数据长度,因数据类型的不同而不同。【输出】 W1 =1 : 数据读取完成之后输出为 1【运算结果】 执行 WINDR 命令后,确认命令是否正常执行 #7 R9000 E =1:WINDR 命令执行发生错误时为 1 #6 #5 #4 #3 #2 #1 #0 E- 210 - PMC 功能? 写 CNC 窗口数据:SUB52/WINDW执行对 CNC 参数等可变数据的写入操作。ACTSUB52 WINDWW1 控制数据地址【控制条件】 ACT?=1 :执行 CNC 数据写入操作低速响应功能时,结束信号 W1 为 1 后需要复位 ACT 的状态为 0。【控制参数】 控制数据地址 : 指定存储 CNC 读窗口功能的控制数据的首地址 控制数据 +0 +2 +4 +6 +8 +10 以上?数据 功能代码 结束代码 数据长度 数据号 数据属性 写入数据备注 数据种类参数号 轴号读取数据的数据长度,因数据类型的不同而不同。【输出】 W1 =1 : 数据写入完成之后输出为 1【运算结果】 执行 WINDW 命令后,确认命令是否正常执行 #7 R9000 E =1:WINDW 命令执行发生错误时为 1 #6 #5 #4 #3 #2 #1 #0 E- 211 - PMC 功能? PMC 轴控制:SUB53/AXCTLPMC 轴控制功能命令简化了 PMC 控制轴控制信号的处理。RST ACTSUB53 AXCTLW1 DI/DO 信号的组号 轴控制指令数据地址【控制条件】 RST ACT =1 : =1 : 将复位信号 ECLRx 置为 1,停止执行中的命令 执行 AXCTL 命令【控制参数】 DI/DO 信号的组号 : 指定 PMC 控制轴信号的组号。 轴控制信号组的选择在参数 8010 中进行设定。? DI/DO 信号的组号不正确时,输出 R9000.0 为 1。轴控制指令数据地址 : 控制数据 +0 +1 +2 +4 数据 常为 0 轴控制指令 指令数据 1 指令数据 2 指令的详细说明请参 照连接功能说明书中 的 PMC 轴控制 备注【输出】 W1 =1 : PMC 控制轴命令写入完成后输出为 1,之后立即处理 ACT 为 0- 212 - PMC 功能? 位置信号:SUB50/PSGNL机械坐标的坐标值划分为 8 个区域,判断当前位置所处区域。ACTSUB50 PSGNL控制数据地址 输出地址【控制条件】 ACT =1 : 执行指令【控制参数】 控制数据地址 : 指定控制数据(29 字节)的首地址控制数据 +0 +1(4 字节) +5(4 字节) +9(4 字节) +13(4 字节) +17(4 字节) +21(4 字节) +25(4 字节)数据 轴号 位置数据 a 位置数据 b 位置数据 c 位置数据 d 位置数据 e 位置数据 f 位置数据 g备注机械坐标 机械坐标 机械坐标 机械坐标 机械坐标 机械坐标 机械坐标- 213 - PMC 功能输出地址:指定 1 个字节的结果输出地址 当控制地址在指定范围内,输出所处区域的对应位为 1。#7 地址 Xxxx ― #7 #6 #5 #4 #3 #2 #1 #0 (1) a#6 (2) b#5 (3) c#4 (4) d#3 (5) e#2 (6) f#1 (7) g#0 (8) +? ?位置数据位于临界点时,低位输出为 1。例如信号(2) ,a<机械坐标≤b 时输出为 1. 命令执行时,如果出现错误,输出信号 R9000.0 为 1.- 214 - PMC 功能? 位置信号 2:SUB63/PSGN2机械坐标的坐标值在控制数据地址指定的范围内时,输出 W1 为 1。ACTSUB63 PSGN2W1(范围内) 控制数据地址【控制条件】 ACT =1 : 执行指令【控制参数】 控制数据地址: 指定控制数据的首地址 1 系统用 控制数据 +0 +1(4 字节) +5(4 字节) 数据 轴号 位置数据 a 位置数据 b 机械坐标 机械坐标 备注多系统用 控制数据 +0(2 字节) +2(1 字节) +3(1 字节) +1(4 字节) +5(4 字节)?数据 常为 0 系统号 轴号 位置数据 a 位置数据 b备注机械坐标 机械坐标a<b 时设定位置数据,因此,以设定的单位输入机械坐标的值。【输出】 W1?=1 :a≤机械坐标≤b命令执行时,如果出现错误,输出 R9000.0 为 1。- 215 - PMC 功能程序控制命令? 公共线控制:SUB9/COMACT 为 0 时,COM 命令和 COME 命令之间的线圈均输出为 0。ACTSUB9 COM 0断开的线圈数(必须指定为 0)【控制条件】 ACT =0 : 无条件执行 COM 指令 =1 : 什么都不做【控制参数】 断开的线圈数 : 必须指定为 0?COM 指定的范围内的功能命令的运行情况,由 COM 命令的 ACT 的状态来决定。 当 COM 命令的 ACT 为 0 时,功能指令的运行结果无条件的输出为 0。?COM 指令的范围内,不允许再使用别的 COM 命令。? 公共线控制结束:SUB29/COME指令公共线命令 COM 强制线圈输出为 0 的控制范围。SUB29 COME- 216 - PMC 功能? 跳转:SUB10/JMP和 JMPE 指令搭配使用。ACTSUB10 JMP 0跳过的线圈数(必须指定为 0)【控制条件】 ACT =0 : 不执行跳转,程序从 JMP 的下一段开始执行=1 : 执行跳转,程序从 JMPE 指令后开始执行 【控制参数】 跳过的线圈数 : 指定为 0? 跳转结束:SUB30/JMPEJMP 命令结束指令。SUB30 JMPE? 标号跳转:SUB68/JMPB指定跳入位置的目标标号。ACTSUB68 JMPB L跳转目的标号【控制条件】 ACT =0 : =1 : 【控制参数】 跳转目的标号 :?不跳转,执行下面的命令 跳转到指定的标号执行指定范围为 L1~L9999向前跳转时可以使用该指令,但是要注意无限循环的产生。- 217 - PMC 功能? 跳转标号 2:SUB73/JMPC指定进行跳转的程序的目标标号ACTSUB73 JMPC L跳转目的标号【控制条件】 ACT =0 :不跳转,执行 JMPC 指令后的程序 =1 :跳转到指定标号后执行标号之后程序【控制参数】 跳转目的标号 : 指定跳转的目的标号,跳转的标号必须以 L 地址的形式指定, 指定范围为 L1~L9999? ? 向前跳转时可以使用该指令,但是要注意无限循环的产生。 该指令不单独使用,请配合 SUB69/LBL 指令使用。? 标号:SUB69/LBL定义标号。ACTSUB69 LBL L标号【控制参数】 标号 ; 指定 L1~L9999- 218 - PMC 功能? 条件调用子程序:SUB65/CALL在控制条件为 1 的情况下,调用指定的子程序。ACTSUB65 CALL子程序号(P1~)【控制条件】 ACT =1 : 调用指定的子程序【控制参数】 子程序号 : 指定被调用的子程序号? 无条件调用子程序:SUB66/CALLU无条件调用指定的子程序。SUB66 CALLU子程序号(P1~)【控制条件】 子程序号 : 指定被调用的子程序号? 选择调用开始:SUB74/CS功能指令 CS,CM,CE 组合起来,构成条件调用子程序。 条件调用子程序开始命令 CS 中,指令条件调用的子程序号。SUB74 CS程序号地址(0~255)- 219 - PMC 功能【控制参数】 程序号地址 : 选择一个使得 CM 指令有效的程序号,对应的子程序将被调用。 子程序号可以在 0~255 中进行指定。执行条件调用子程序功能时,在 CS 功能模块的控制参数中指定调用子程序号的存 储地址。指令一个使得 CM 指令有效的程序号,选择命令 CM 调用指令的程序。SUB74 CS R100指定程序号地址SUB75 CM P10指定 0 号程序号SUB75 CM P20指定 1 号程序号SUB75 CM P123指定 2 号程序号SUB75 CM P321指定 3 号程序号SUB76 CE- 220 - PMC 功能? SUB75/CMSUB75 CM子程序号(P1~) 【控制条件】 子程序号 : 指定被调用的子程序号? SUB76/CE调用结束命令。SUB76 CE? 子程序开始:SUB71/SPSUB71 SP子程序号(P1~) 【控制条件】 子程序号 : 指定被调用子程序号? 子程序结束:SUB72/SPESUB72 SPE- 221 - PMC 功能? 第一级程序结束:SUB1/END1第 1 级 PMC 顺序程序结束。SUB1 END1? 第二级程序结束:SUB2/END2第 2 级 PMC 顺序程序结束。SUB2 END2? 第三级程序结束:SUB48/END3第 3 级 PMC 顺序程序结束。SUB48 END3? 梯形图程序结束:SUB64/ENDPMC 顺序程序结束。SUB64 END?通常来说,在顺序程序结尾会自动的添加上该命令。- 222 - PMC 功能回转体控制? 回转体控制:SUB6/ROT用于旋转部件控制,如 ATC,旋转工作台等。可以计算出由当前位置到目标位置的旋转 步数,并给出旋转方向。 可以用来做回转方向判断,计算目标前一位置的位置到目标位置前一位置的步数。数据 格式为 BCD 格式。RN0W1(回转方向)BYT DIR POS INC ACTSUB6 ROT转台位置数地址 当前位置地址 目标位置地址 计算结果输出地址【控制条件】 RN0 =0 : =1 : BYT =0 : =1 : DIR 转台的最小位置号从 0 开始 转台的最小位置号从 1 开始 位置数据为 2 位 BCD 码 位置数据为 4 位 BCD 码=0 : 不选择最短路径旋转方向(旋转方向仅为正向) =1 : 选择最短路径旋转方向(方向由 W1 输出) 计算目标位置 计数目标前一位置的位置 计算位置号 计算步数 执行 ROT 指令POS=0 : =1 :INC=0 : =1 :ACT=1 :- 223 - PMC 功能【控制参数】 转台位置数地址 : 指定回转体的转台位置总数 当前位置地址 : 目标位置地址 : 指定目标位置的存储地址 指定当前位置的存储地址计算结果输出地址 : 指定计算步数结果输出的地址【输出】 W1 : =0 : =1 : DIR 为 1 时选择最短路径回转方向,输出至 W1. 正方向旋转 负方向旋转【使用范例】举 8 工位刀塔为例,如图例,R100 中为刀塔的当前刀号,执行 T**代码找寻目标刀 号(T 代码译码输出地址 F26) ,将当前刀号距离目标刀号的步数输出至 R102,旋 转方向 输出至 R0.0,以供具体梯形图使用。? ROT 功能指令为 BCD 码回转控制指令,如果本例中刀塔号超过 10,则必须先将二进制数 F26 转化为 BCD 码数据或者使用 ROTB 功能。- 224 - PMC 功能? 二进制回转体控制:SUB26/ROTB用于旋转部件控制,如 ATC,旋转工作台等。可以计算出由当前位置到目标位置的旋转 步数,并给出旋转方向。 可以用来做回转方向判断,计算目标前一位置的位置到目标位置前一位置的步数。 数据形式为二进制形式,其余功能和 ROT 命令一样。RN0W1DIR POS INC ACTSUB26 ROTB格式指定 转台位置数地址 当前位置地址 目标位置地址 计算结果输出地址【控制条件】 RN0 =0 : 转台的最小位置号从 0 开始=1 : 转台的最小位置号从 1 开始 DIR =0 : =1 : POS =0 : =1 : INC =0 : =1 : ACT =1 : 不选择最短路径旋转方向(旋转方向仅为正向) 选择最短路径旋转方向(方向由 W1 输出) 计算目标位置 计数目标前一位置的位置 计算位置号 计算步数 执行 ROT 指令【控制参数】 格式指定 : 指定二进制数据长度(1,2,4 字节)转台位置数地址 : 当前位置地址 - 225 指定回转体的转台位置总数 PMC 功能: 指定当前位置的存储地址 目标位置地址 : 指定目标位置的存储地址 计算结果输出地址 : 指定计算步数结果输出的地址【输出】 W1 : DIR 为 1 时选择最短路径回转方向,输出至 W1.=0 : 正方向旋转 =1 : 负方向旋转【使用范例】以斗笠刀库找刀为例。如图,R100 中为当前刀号,D10 中为斗笠刀库的刀套总数(例 如在 D10 中的数位 24,即为 24 把刀斗笠刀库) ,同样,执行 T**代码找寻目标刀号,可 将当前刀号距离目标刀号的步数输出至 R102,旋转方向 输出至 R0.0,以供使用。- 226 -
赞助商链接
FANUC M功能简介_机械/仪表_工程科技_专业资料。 关于 FANUC M 代码的...这种 M 代码每台机床都会有,是通过 PMC 功能实现的, 在梯形图汇中 一般是...FANUC数控系统PMC功能的妙用FANUC数控系统PMC功能的妙用隐藏&& FANUC 数控系统 PMC...查阅机床说明书 , 意思 是&加工区侧托盘着座异常 &, 检测信号的 PMC 地址是...1. 了解 G、F、X、Y 信号的意义 G:PMC 输出至 CNC 的信号(CNC 输入) 是 FANUC 公司设计 CNC 时根据机床操作的要求及 CNC 系统本身应具备的功能而 设计好...关于FANUC系统PMC的介绍_机械/仪表_工程科技_专业资料。关于FANUC系统PMC的介绍于...顺序程序的 编制步骤如下 : (1) 根据机床的功能确定 I/0 点的分配情况 ; ...1. 了解 G、F、X、Y 信号的意义 G:PMC 输出至 CNC 的信号(CNC 输入) 是 FANUC 公司设计 CNC 时根据机床操作的要求及 CNC 系统本身应具备的功能而 设计好...FANUC PMC讲义_电力/水利_工程科技_专业资料。选填,简要介绍文档的主要内容,方便...它和 0i-B 系列内置的 I/O 有 96/64 数 单元 卡具有相同的功能 模块 ...FANUC PMC培训课件_机械/仪表_工程科技_专业资料。FANUC...信号点 手轮 装置名 说明 连接 0i 用 I/O 单元...卡具有相同的功能 有 96/64 输入/输 出数 带有...FANUC系统PMC(M L)的介绍_机械/仪表_工程科技_专业资料。FANUC系统PMC-M PMC...顺序程序的编制步骤如下 : (1) 根据机床的功能确定 I/0 点的分配情况 ; (...FANUC数控系统 PMC培训_机械/仪表_工程科技_专业资料...O 单元的种类很多,下面将比较常用的模块介绍一下。...卡具有相同的功能 是装在机床操作面板上带有矩阵开关...如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 FANUC 0i系列PMC参数的输入 比较有用的知识比较有用的知识隐藏&& FANUC...
All rights reserved Powered by
www.tceic.com
copyright &copyright 。文档资料库内容来自网络,如有侵犯请联系客服。

我要回帖

更多关于 fanuc程序传输软件 的文章

 

随机推荐