贵州大学本科毕业论文(设计) 第 30 页
图3.4 三菱FX2N-48MT-D PLC接线图
1.三菱FX2N-48MT-D型PLC 2. ST-2HB02X型步进电机动驱动器
3. 42HS003两相混合式步进电机
3.3 程序设计
3.3.1 存储区域分配
脉冲计数存储区域分为统计区、暂存区和存储区三个部分。
统计区:对保存数据的组数进行统计,确定有效区域范围,配备16位断电保持数
贵州大学本科毕业论文(设计) 第 31 页
据寄存器D200和D327。
暂存区:临时存储脉冲信息,进行数据的基本处理,执行数据计算功能。由于脉冲
数据值较大采用32位断电保持数据寄存器D201~D206。
存储区:又分为脉冲数据存储区和其他存储区。长期存储自动程序数据值。 脉冲数据存储区:存储暂存区经处理后的有效脉冲数。采用32位断电保持数据寄
存器。初设计20组控制点位即D207~D326。
其他存储区:运动方向存储和机械手手爪状态。采用断电保持辅助继电器存储位状
态。与脉冲数据存取区相匹配20组控制点位即M500~M579。运动方向存储分区为D500~D559,机械手手爪状态存储分区为D560~D579。
表3.1 脉冲计数存储区
D200 D327 统计区 D201 D202 D203 D204 D205 D206 X方向脉冲信息 D207 D208 Y方向脉冲信息 暂存区 D209 D210 旋转脉冲信息 D211 D212 1 X方向脉冲信息 D213 D214 Y方向脉冲信息 储存区 D215 D216 旋转脉冲信息 D217 D218 2 X方向脉冲信息 D219 D220 Y方向脉冲信息 储存区 D221 D222 旋转脉冲信息 D223 D224 3 X方向脉冲信息 Y方向脉冲信息 储存区 … … … … … … 旋转脉冲信息 D314 19 D315 D316 D317 D318 D319 X方向脉冲信息 D320 D321 Y方向脉冲信息 储存区 D323 D324 旋转脉冲信息 D325 D326 20
X方向脉冲信息 Y方向脉冲信息 储存区 旋转脉冲信息 贵州大学本科毕业论文(设计) 第 32 页
表3.2其他存储区
M500 1 X运动方向 M503 2 X运动方向 M506 3 X运动方向 M501 Y运动方向 M504 Y运动方向 M507 Y运动方向 M502 旋转运动方向 M505 旋转运动方向 M518 旋转运动方向 M560 手爪状态 M561 手爪状态 M562 手爪状态 其他存储区 其他存储区 其他存储区 … … … … … … M554 19 X运动方向 M557 20
X运动方向 M555 Y运动方向 M558 Y运动方向 M556 旋转运动方向 M559 旋转运动方向 M578 手爪状态 M579 手爪状态 其他存储区 其他存储区 3.3.2 程序指令 [6][7][11]
1) 子程序调用和返回指令 ? 指令编号及助记符:
? 子程序调用功能指令FNC01 CALL ,CALL(P)。 ? 子程序返回功能指令 FNC02 SRET。
? 指令的目标操作元件是指针号P0~P62(允许变址修改)。 ? 子程序与标号的位置:
? CALL指令必须和FEND,SRET一起使用。 ? 子程序标号要写在主程序结束指令FEND之后。
? 标号P0和子程序返回指令SRET间的程序构成了P0子程序的内容。
贵州大学本科毕业论文(设计) 第 33 页
? 当主程序带有多个子程序时,子程序要依次放在主程序结束指令FEND之后, 并用不同的标号相区别。
? 子程序标号范围为P0~P62,这些标号与条件转移中所用的标号相同,而且在条件转移中已经使用了标号,子程序也不能再用。
? 同一标号只能使用一次,而不同的CALL指令可以多次调用同一标号的子程序。
图3.5 CALL指令举例
2) 传送指令 ? 指令格式
? 指令编号及助记符:传送指令FNC12 MOV [S·] [D·] 其中: [S·] 为源数据;[D·]为目标软组件 ? 目标操作数为T、C、V、Z、D、KnY、KnM、KnS
? 源操作数的软组件有T、C、V、Z、D、K、H、KnX、KnY、KnM、KnS ? 指令用法
? 传送指令是将源操作数传送到指定的目标操作数,即[S·] → [D·]。
贵州大学本科毕业论文(设计) 第 34 页
图3.6 传送指令MOV举例
? 当常开触点X000闭合为ON时,每扫描到MOV指令时,就把存入[S·]源数据中操作数100(K100)转换成二进制数,再传送到目标操作数D10中去。 ? 当X000为OFF时,则指令不执行,数据保持不变。 3) 块传递指令 ? 指令格式
? 指令编号及助记符:块传送指令FNC15 BMOV [S·][D·]n
其中:[S·]为源软组件,[D·]为目标软组件,n为数据块个数。 ? 源操作数可取KnX、 KnY、KnM、KnS、T、C、D、K、H。 ? 目标操作数可取. KnY、KnM、KnS、T、C和D。 ? 数据块个数常数K、H。
? 块传送指令的功能是将源操作数组件中n个数据组成的数据块传送到指定的目标软组件中去。如果组件号超出允许组件号的范围,数据仅传送到允许范围内。
(a)
图3.7 块传送指令BMOV举例 (a)块传送指令;(b)块传送示意
(b)
? 如果X000断开,则不执行块传送指令,源、目数据均不变。 ? 如果X000接通,则将执行块传送指令。
? 根据K3指定数据块个数为3,则将D5~D7中的内容传送到D10~D12中去,如图6.30(b)所示。
? 传送后D5~D7中的内容不变,而D10~D12内容相应被D5~D7内容取代。 ? 当源、目软组件的类型相同时,传送顺序自动决定。